X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FManual%2FDelta.pod;h=a804cd22af58de5473a399aad81079ebf59c8dca;hb=1e62ec3bf60b5f85bc0a567958dda1be8df93e84;hp=77acf928c4b5e28ebc4a867ae285b3889edf71dc;hpb=2aae65a7581be007c43556d8aa774e7d6634c14b;p=gitmo%2FMoose.git diff --git a/lib/Moose/Manual/Delta.pod b/lib/Moose/Manual/Delta.pod index 77acf92..a804cd2 100644 --- a/lib/Moose/Manual/Delta.pod +++ b/lib/Moose/Manual/Delta.pod @@ -19,10 +19,62 @@ 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 2.0300 +=head1 2.0600 =over 4 +=item C<< ->init_meta >> is even less reliable at loading extensions + +Previously, calling C<< MooseX::Foo->init_meta(@_) >> (and nothing else) from +within your own C had a decent chance of doing something useful. +This was never supported behavior, and didn't always work anyway. Due to some +implementation adjustments, this now has a smaller chance of doing something +useful, which could break code that was expecting it to continue doing useful +things. Code that does this should instead just call +C<< MooseX::Foo->import({ into => $into }) >>. + +=item All the Cookbook recipes have been renamed + +We've given them all descriptive names, rather than numbers. This makes it +easier to talk about them, and eliminates the need to renumber recipes in +order to reorder them or delete one. + +=back + +=head1 2.0400 + +=over 4 + +=item The parent of a union type is its components' nearest common ancestor + +Previously, union types considered all of their component types their parent +types. This was incorrect because parent types are defined as types that must +be satisfied in order for the child type to be satisfied, but in a union, +validating as any parent type will validate against the entire union. This has +been changed to find the nearest common ancestor for all of its components. For +example, a union of "Int|ArrayRef[Int]" now has a parent of "Defined". + +=item Union types consider all members in the C and C methods + +Previously, a union type would report itself as being of a subtype of a type if +I of its member types were subtypes of that type. This was incorrect +because any value that passes a subtype constraint must also pass a parent +constraint. This has changed so that I of its member types must be a +subtype of the specified type. + +=item Enum types now work with just one value + +Previously, an C type needed to have two or more values. Nobody knew +why, so we fixed it. + +=item Methods defined in UNIVERSAL now appear in the MOP + +Any method introspection methods that look at methods from parent classes now +find methods defined in UNIVERSAL. This includes methods like C<< +$class->get_all_methods >> and C<< $class->find_method_by_name >>. + +This also means that you can now apply method modifiers to these methods. + =item Hand-optimized type constraint code causes a deprecation warning If you provide an optimized sub ref for a type constraint, this now causes a @@ -32,6 +84,13 @@ L object directly. Use the inlining feature (C) added in 2.0100 instead. +=item C and C have been removed + +The C and C subroutines +are no longer documented, and will cause a deprecation warning in the +future. Moose now uses L to provide this functionality, and you +should do so as well. + =back =head1 2.0205 @@ -46,7 +105,7 @@ attribute's reference. =back -=head1 2.0100 +=head1 2.0200 =over 4 @@ -62,6 +121,8 @@ L. Use C instead. This will start warning in the 2.0300 release. +=back + =head1 2.0002 =over 4