X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=051c6588abd02f3ca266f4777f84ca4bf87560eb;hb=8f30b86e09b01c3bad5e08a6e64242619bdd057f;hp=7e4b3cbcd5335614e68d841d10385858ae066e7a;hpb=583efe85dd27b320e056b35ec93bf86e1d50bd25;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 7e4b3cb..051c658 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,291 @@ -Revision history for Perl extension Moose +Also see Moose::Manual::Delta for more details of, and workarounds +for, noteworthy changes. + +0.75 + * Moose + * Moose::Meta::Class + - Move validation of not inheriting from roles from Moose::extends to + Moose::Meta::Class::superclasses (doy) + + * Moose::Util + - add ensure_all_roles() function to encapsulate the common "apply this + role unless the object already does it" pattern (hdp) + +0.74 Tue, April 7, 2009 + * Moose::Meta::Role + * Moose::Meta::Method::Destructor + - Include stack traces in the deprecation warnings. + (Florian Ragwitz) + + * Moose::Meta::Class + - Removed the long-deprecated _apply_all_roles method. + + * Moose::Meta::TypeConstraint + - Removed the long-deprecated union method. + + +0.73_02 Mon, April 6, 2009 + * More deprecations and renamings + - Moose::Meta::Method::Constructor + - initialize_body => _initialize_body (this is always called + when an object is constructed) + + * Moose::Object + - The DEMOLISHALL method could throw an exception during global + destruction, meaning that your class's DEMOLISH methods would + not be properly called. Reported by t0m. + + * Moose::Meta::Method::Destructor + - Destructor inlining was totally broken by the change to the + is_needed method in 0.72_01. Now there is a test for this + feature, and it works again. + +0.73_01 Sun, April 5, 2009 + * Moose::* + - Call user_class->meta in fewer places, with the eventual goal + of allowing the user to rename or exclude ->meta + altogether. Instead uses Class::MOP::class_of. (Sartak) + + * Moose::Meta::Method::Accessor + - If an attribute had a lazy default, and that value did not + pass the attribute's type constraint, it did not get the + message from the type constraint, instead using a generic + message. Test provided by perigrin. + + * Moose::Util::TypeConstraints + - Add duck_type keyword. It's sugar over making sure an object + can() a list of methods. This is easier than jrockway's + suggestion to fork all of CPAN. (perigrin) + - add tests and documentation (perigrin) + + * Moose + - Document the fact that init_meta() returns the target class's + metaclass object. (hdp) + + * Moose::Cookbook::Extending::Recipe1 + * Moose::Cookbook::Extending::Recipe2 + * Moose::Cookbook::Extending::Recipe3 + * Moose::Cookbook::Extending::Recipe4 + - Make init_meta() examples explicitly return the metaclass and + point out this fact. (hdp) + + * Moose::Cookbook::Basics::Recipe12 + - A new recipe, creating a custom meta-method class. + + * Moose::Cookbook::Meta::Recipe6 + - A new recipe, creating a custom meta-method class. + + * Moose::Meta::Class + * Moose::Meta::Method::Constructor + - Attribute triggers no longer receive the meta-attribute object + as an argument in any circumstance. Previously, triggers + called during instance construction were passed the + meta-attribute, but triggers called by normal accessors were + not. Fixes RT#44429, reported by Mark Swayne. (hdp) + + * Moose::Manual::Attributes + - Remove references to triggers receving the meta-attribute object as an + argument. (hdp) + + * Moose::Cookbook::FAQ + - Remove recommendation for deprecated Moose::Policy and + Moose::Policy::FollowPBP; recommend MooseX::FollowPBP + instead. (hdp) + + * Many methods have been renamed with a leading underscore, and a + few have been deprecated entirely. The methods with a leading + underscore are consider "internals only". People writing + subclasses or extensions to Moose should feel free to override + them, but they are not for "public" use. + + - Moose::Meta::Class + - check_metaclass_compatibility => _check_metaclass_compatibility + + - Moose::Meta::Method::Accessor + - initialize_body => _initialize_body (this is always called + when an object is constructed) + - /(generate_.*_method(?:_inline)?)/ => '_' . $1 + + - Moose::Meta::Method::Constructor + - initialize_body => _initialize_body (this is always called + when an object is constructed) + - /(generate_constructor_method(?:_inline)?)/ => '_' . $1 + - attributes => _attributes (now inherited from parent) + - meta_instance => _meta_instance (now inherited from parent) + + - Moose::Meta::Role + - alias_method is deprecated. Use add_method + +0.73 Fri, March 29, 2009 + * No changes from 0.72_01. + +0.72_01 Thu, March 26, 2009 + * Everything + - Almost every module has complete API documentation. A few + methods (and even whole classes) have been intentionally + excluded pending some rethinking of their APIs. + + * Moose::Util::TypeConstraints + - Calling subtype with a name as the only argument is now an + exception. If you want an anonymous subtype do: + + my $subtype = subtype as 'Foo'; + + * Moose::Cookbook::Meta::Recipe7 + - A new recipe, creating a custom meta-instance class. + + * Moose::Cookbook::Basics::Recipe5 + - Fix various typos and mistakes. Includes a patch from Radu + Greab. + + * Moose::Cookbook::Basics::Recipe9 + - Link to this recipe from Moose.pm's builder blurb + + * Moose::Exporter + - When wrapping a function with a prototype, Moose::Exporter now + makes sure the wrapped function still has the same + prototype. (Daisuke Maki) + + * Moose::Meta::Attribute + - Allow a subclass to set lazy_build for an inherited + attribute. (hdp) + + * Makefile.PL + - Explicitly depend on Data::OptList. We already had this dependency + via Sub::Exporter, but since we're using it directly we're + better off with it listed. (Sartak) + + * Moose::Meta::Method::Constructor + - Make it easier to subclass the inlining behaviour. (Ash + Berlin) + + * Moose::Manual::Delta + - Details significant changes in the history of Moose, along + with recommended workarounds. + + * Moose::Manual::Contributing + - Contributor's guide to Moose. + + * Moose::Meta::Method::Constructor + - The long-deprecated intialize_body method has been removed + (yes, spelled like that). + + * Moose::Meta::Method::Destructor + - This is_needed method is now always a class method. + + * Moose::Meta::Class + - Changes to the internals of how make_immutable works to match + changes in latest Class::MOP. + +0.72 Mon, February 23, 2009 + * Moose::Object + * Moose::Meta::Method::Constructor + - A mutable class accepted Foo->new(undef) without complaint, + while an immutable class would blow up with an unhelpful + error. Now, in both cases we throw a helpful error + instead. Reported by doy. + +0.71_01 Sun, February 22, 2009 + * Moose::Cookbook + - Hopefully fixed some POD errors in a few recipes that caused + them to display weird on search.cpan.org. + + * Moose::Util::TypeConstraints + - Calling type or subtype without the sugar helpers (as, where, + message) is now deprecated. + - The subtype function tried hard to guess what you meant, but + often got it wrong. For example: + + my $subtype = subtype as 'ArrayRef[Object]'; + + This caused an error in the past, but now works as you'd + expect. + + * Everywhere + - Make sure Moose.pm is loaded before calling + Moose->throw_error. This wasn't normally an issue, but could + bite you in weird cases. + +0.71 Thu, February 19, 2009 + * Moose::Cookbook::Basics::Recipe11 + - A new recipe which demonstrates the use of BUILDARGS and + BUILD. (Dave Rolsky) + + * Moose::Cookbook::Roles::Recipe3 + - A new recipe, applying a role to an object instance. (Dave + Rolsky) + + * Moose::Exporter + - Allow overriding specific keywords from "also" packages. (doy) + + * Tests + - Replace hardcoded cookbook tests with Test::Inline to ensure + the tests match the actual code in the recipes. (Dave Rolsky) + + * Moose::Cookbook + - Working on the above turned up a number of little bugs in the + recipe code. (Dave Rolsky) + + * Moose::Util::TypeConstraints::Optimized + - Just use Class::MOP for the optimized ClassName check. (Dave + Rolsky) + +0.70 Sat, February 14, 2009 + * Moose::Util::TypeConstraints + - Added the RoleName type (stevan) + - added tests for this (stevan) + + * Moose::Cookbook::Basics::Recipe3 + - Updated the before qw[left right] sub to be a little more + defensive about what it accepts (stevan) + - added more tests to t/000_recipies/basics/003_binary_tree.t + (stevan) + + * Moose::Object + - We now always call DEMOLISHALL, even if a class does not + define DEMOLISH. This makes sure that method modifiers on + DEMOLISHALL work as expected. (doy) + - added tests for this (EvanCarroll) + + * Moose::Util::MetaRole + - Accept roles for the wrapped_method_metaclass (rafl) + - added tests for this (rafl) + + * Moose::Meta::Attribute + - We no longer pass the meta-attribute object as a final + argument to triggers. This actually changed for inlined code a + while back, but the non-inlined version and the docs were + still out of date. + + * Tests + - Some tests tried to use Test::Warn 0.10, which had bugs. Now + they require 0.11. (Dave Rolsky) + + * Documentation + - Lots of small changes to the manual, cookbook, and + elsewhere. These were based on feedback from various + users, too many to list here. (Dave Rolsky) + +0.69 Thu, February 12, 2009 + * Moose + - Make some keyword errors use throw_error instead of croak + since Moose::Exporter wraps keywords now (Sartak) + + * Moose::Cookbook::* + - Revised every recipe for style and clarity. Also moved some + documentation out of cookbook recipes and into Moose::Manual + pages. This work was funded as part of the Moose docs grant + from TPF. (Dave Rolsky) + + * Moose::Meta::Method::Delegation + - If the attribute doing the delegation was not populated, the + error message did not specify the attribute name + properly. (doy) + +0.68 Wed, February 4, 2009 + * POD + - Many spelling, typo, and formatting fixes by daxim. -0.68 * Moose::Manual::Attributes - The NAME section in the POD used "Attribute" so search.cpan didn't resolve links from other documents properly. @@ -218,7 +503,7 @@ Revision history for Perl extension Moose them, but MooseX modules can create them in some other way. See the 0.58 changes for more details. (jnapiorkowski) - Changed the way subtypes are created so that the job is - delegated to a type constraint parent. This clears up some + delegated to a type constraint parent. This clears up some hardcoded checking and should allow correct subtypes of Moose::Meta::Type::Constraint. Don't rely on this new API too much (create_child_type) because it may go away in the @@ -313,7 +598,7 @@ Revision history for Perl extension Moose * Moose::Meta::TypeConstraint::Parameterizable - Added a new method 'parameterize' which is basically a factory - for the containing constraint. This makes it easier to create + for the containing constraint. This makes it easier to create new types of parameterized constraints. (jnapiorkowski) * Moose::Meta::TypeConstraint::Union @@ -332,7 +617,7 @@ Revision history for Perl extension Moose all whitespace differences. (jnapiorkowski) - Changed the way we parse type constraint strings so that we now match TC[Int,Int,...] and TC[name=>Str] as parameterized type - constraints. This lays the foundation for more flexible type + constraints. This lays the foundation for more flexible type constraint implementations. * Tests and docs for all the above. (jnapiorkowski) @@ -1017,7 +1302,7 @@ Revision history for Perl extension Moose * t/ - making test for using '+name' on attributes consumed - from a role, it works and makes sense too. + from a role, it works and makes sense too. * Moose::Meta::Attribute - fix handles so that it doesn't return nothing