X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FManual%2FDelta.pod;h=72e21ab1c2319f10fc3eec65a7a40406811ccd2e;hb=76c890567fd0f02cde934f5199736b447fc72a58;hp=79b8397e30c2ab1f06ca0c5ba86ba6e541517c3c;hpb=ad233fd3f0755aad844c5c24030470520a93cc19;p=gitmo%2FMoose.git diff --git a/lib/Moose/Manual/Delta.pod b/lib/Moose/Manual/Delta.pod index 79b8397..72e21ab 100644 --- a/lib/Moose/Manual/Delta.pod +++ b/lib/Moose/Manual/Delta.pod @@ -16,6 +16,41 @@ feature. If you encounter a problem and have a solution but don't see it documented here, or think we missed an important feature, please send us a patch. +=head1 0.93 + +=over 4 + +=item Calling $object->new() is no longer deprecated + +We decided to undeprecate this. Now it just works. + +=back + +=head1 0.90 + +=over 4 + +=item Added Native delegation for Code refs + +See L for details. + +=item Calling $object->new() is deprecated + +Moose has long supported this, but it's never really been documented, and we +don't think this is a good practice. If you want to construct an object from +an existing object, you should provide some sort of alternate constructor like +C<< $object->clone >>. + +Calling C<< $object->new >> now issues a warning, and will be an error in a +future release. + +=item Moose no longer warns if you call C for a class with mutable ancestors + +While in theory this is a good thing to warn about, we found so many +exceptions to this that doing this properly became quite problematic. + +=back + =head1 Version 0.89_02 =over 4 @@ -38,15 +73,21 @@ of its subclasses in the middle of its class definition, so pointing out that this may cause issues should be helpful. Metaclasses (classes that inherit from L) are currently exempt from this check, since at the moment we aren't very consistent about which metaclasses we immutabilize. -Anonymous classes are also exempt, since they are often created automatically, -and the user is never given a choice about whether or not to make them -immutable. If you're sure you know what you're doing, you also can pass the -C option to make_immutable to silence the warning -(but be aware that modifying those mutable ancestors can still lead to -incorrect behavior in your subclass). -=back +=item C and C now take arrayrefs for all forms + +Previously, calling these functions with a list would take the first element of +the list as the type constraint name, and use the remainder as the enum values +or method names. This makes the interface inconsistent with the anon-type forms +of these functions (which must take an arrayref), and a free-form list where +the first value is sometimes special is hard to validate (and harder to give +reasonable error messages for). These functions have been changed to take +arrayrefs in all their forms - so, C<< enum 'My::Type' => [qw(foo bar)] >> is +now the preferred way to create an enum type constraint. The old syntax still +works for now, but it will hopefully be deprecated and removed in a future +release. +=back =head1 Version 0.89_01 @@ -98,6 +139,10 @@ See L for the new documentation. =back +The C and C role parameters have been renamed to C<-alias> +and C<-excludes>. The old names still work, but new code should use the new +names, and eventually the old ones will be deprecated and removed. + =head1 Version 0.89 C<< use Moose -metaclass => 'Foo' >> now does alias resolution, just like @@ -112,10 +157,6 @@ a wrapper around the old way of doing this. -The C and C role parameters have been renamed to C<-alias> -and C<-excludes>. The old names still work, but new code should use the new -names, and eventually the old ones will be deprecated and removed. - =head1 Version 0.84 When an attribute generates I accessors, we now warn. This is to help