X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=9e28841697d9ec964ee131e737c4ae345deb339d;hb=5d399b5d404f98d2c5351c2f66e121372ac41c47;hp=3213563d0d72eaa4e61c38d449b6b90cc958bb76;hpb=bf3b0c87ca3edb74ba752ba84ba699e20ceeacc7;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 3213563..9e28841 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,322 @@ -Revision history for Perl extension Moose +Also see Moose::Manual::Delta for more details of, and workarounds +for, noteworthy changes. -0.69 +0.77 + * Moose::Object + - pass a boolean to DEMOLISHALL and DEMOLISH indicating whether or not + we are currently in global destruction (doy) + + * Moose::Cookbook::FAQ + - Reworked much of the existing content to be more useful to modern + Moose hackers (Sartak) + +0.76 Mon, April 27, 2009 + * Moose::Meta::TypeConstraint + - Do not run coercions in coerce() if the value already passes the type + constraint (hdp) + + * Moose::Meta::TypeConstraint::Class + - In validation error messages, specifically say that the value is not + an instance of the class. This should alleviate some frustrating + forgot-to-load-my-type bugs. rt.cpan.org #44639 (Sartak) + + * Moose::Meta::Role::Application::ToClass + - Revert the class-overrides-role warning in favor of a solution outside + of the Moose core (Sartak) + + * Tests + - Make Test::Output optional again, since it's only used in a few files + (Sartak) + +0.75_01 Thu, April 23, 2009 + * Moose::Meta::Role::Application::ToClass + - Moose now warns about each class overriding methods from roles it + consumes (Sartak) + + * Tests + - Warnings tests have standardized on Test::Output which is now an + unconditionally dependency (Sartak) + + * Moose::Meta::Class + - Changes to immutabilization to work with Class::MOP 0.82_01+. + +0.75 Mon, April 20, 2009 + * 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) + + * Moose::Exporter + - Users can now select a different metaclass with the "-metaclass" + option to import, for classes and roles (Sartak) + + * Moose::Meta::Role + - Make method_metaclass an attr so that it can accept a metarole + application. (jdv) + +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. + + * Moose::Util + - Bold the word 'not' in the POD for find_meta (t0m) + +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) @@ -221,7 +537,7 @@ Revision history for Perl extension Moose - Passing "-traits" when loading Moose caused the Moose.pm exports to be broken. Reported by t0m. (Dave Rolsky) - Tests for this bug. (t0m) - + * Moose::Util - Change resolve_metaclass alias to use the new load_first_existing_class function. This makes it a lot @@ -237,7 +553,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 @@ -246,7 +562,7 @@ Revision history for Perl extension Moose * Moose::Meta::TypeConstraint::Union - Type constraint names are sorted as strings, not numbers. (jnapiorkowski) - + * Moose::Meta::TypeConstraint::Parameterizable - New parameterize method. This can be used as a factory method to make a new type constraint with a given parameterized @@ -256,7 +572,7 @@ Revision history for Perl extension Moose 0.59 Tue October 14, 2008 * Moose - Add abridged documentation for builder/default/initializer/ - predicate, and link to more details sections in + predicate, and link to more details sections in Class::MOP::Attribute. (t0m) * Moose::Util::TypeConstraints @@ -332,7 +648,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 @@ -351,7 +667,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) @@ -467,16 +783,16 @@ Revision history for Perl extension Moose - explicitly require Perl 5.8.0+ (Dave Rolsky) * Moose::Util::TypeConstraints - - Fix warnings from find_type_constraint if the type is not + - Fix warnings from find_type_constraint if the type is not found (t0m). - + * Moose::Meta::TypeConstraint - Predicate methods (equals/is_a_type_of/is_subtype_of) now return false if the type you specify cannot be found in the type registry, rather than throwing an unhelpful and coincidental exception. (t0m). - added docs & test for this (t0m) - + * Moose::Meta::TypeConstraint::Registry - add_type_constraint now throws an exception if a parameter is not supplied (t0m). @@ -491,7 +807,7 @@ Revision history for Perl extension Moose method when that method was provided by another role being composed at the same time. (Dave Rolsky) - test and bug finding (tokuhirom) - + 0.55_01 Wed August 20, 2008 !! Calling Moose::init_meta as a function is now !! @@ -599,32 +915,32 @@ Revision history for Perl extension Moose 0.54 Thurs. July 3, 2008 ... this is not my day today ... - + * Moose::Meta::Attribute - - fixed legal_options_for_inheritance such that - clone_and_inherit options still works for - Class::MOP::Attribute objects and therefore + - fixed legal_options_for_inheritance such that + clone_and_inherit options still works for + Class::MOP::Attribute objects and therefore does not break MooseX::AttributeHelpers (stevan) 0.53 Thurs. July 3, 2008 - * Whoops, I guess I should run 'make manifest' before - actually releasing the module. No actual changes + * Whoops, I guess I should run 'make manifest' before + actually releasing the module. No actual changes in this release, except the fact that it includes - the changes that I didn't include in the last + the changes that I didn't include in the last release. (stevan--) 0.52 Thurs. July 3, 2008 * Moose - added "FEATURE REQUESTS" section to the Moose docs to properly direct people (stevan) (RT #34333) - - making 'extends' croak if it is passed a Role since - this is not ever something you want to do + - making 'extends' croak if it is passed a Role since + this is not ever something you want to do (fixed by stevan, found by obra) - added tests for this (stevan) * Moose::Object - - adding support for DOES (as in UNIVERSAL::DOES) + - adding support for DOES (as in UNIVERSAL::DOES) (nothingmuch) - added test for this @@ -633,12 +949,12 @@ Revision history for Perl extension Moose - added tests for this (wreis) * Moose::Cookbook::Snacks::* - - removed some of the unfinished snacks that should + - removed some of the unfinished snacks that should not have been released yet. Added some more examples to the 'Keywords' snack. (stevan) * Moose::Cookbook::Style - - added general Moose "style guide" of sorts to the + - added general Moose "style guide" of sorts to the cookbook (nothingmuch) (RT #34335) * t/ @@ -694,9 +1010,9 @@ Revision history for Perl extension Moose !! faster with new Class::MOP 0.59 !! * Moose::Meta::Attribute - - fixed how the is => (ro|rw) works with + - fixed how the is => (ro|rw) works with custom defined reader, writer and accessor - options. + options. - added docs for this (TODO). - added tests for this (Thanks to Penfold) - added the custom attribute alias for regular @@ -710,15 +1026,15 @@ Revision history for Perl extension Moose Moose::Meta::Role Moose::Meta::Role::Composite Moose::Util::TypeConstraints - - switched usage of reftype to ref because + - switched usage of reftype to ref because it is much faster - + * Moose::Meta::Role - changing add_package_symbol to use the new HASH ref form - + * Moose::Object - - fixed how DEMOLISHALL is called so that it + - fixed how DEMOLISHALL is called so that it can be overrided in subclasses (thanks to Sartak) - added test for this (thanks to Sartak) @@ -738,7 +1054,7 @@ Revision history for Perl extension Moose 0.47 Thurs. May 29, 2008 (late night release engineering)-- - - fixing the version is META.yml, no functional + - fixing the version is META.yml, no functional changes in this release 0.46 Wed. May 28, 2008 @@ -747,153 +1063,153 @@ Revision history for Perl extension Moose * Moose::Meta::Class - some optimizations of the &initialize method - since it is called so often by &meta - + since it is called so often by &meta + * Moose::Meta::Class Moose::Meta::Role - - now use the get_all_package_symbols from the - updated Class::MOP, test suite is now 10 seconds + - now use the get_all_package_symbols from the + updated Class::MOP, test suite is now 10 seconds faster - + * Moose::Meta::Method::Destructor - - is_needed can now also be called as a class - method for immutablization to check if the - destructor object even needs to be created + - is_needed can now also be called as a class + method for immutablization to check if the + destructor object even needs to be created at all - + * Moose::Meta::Method::Destructor Moose::Meta::Method::Constructor - - added more descriptive error message to help + - added more descriptive error message to help keep people from wasting time tracking an error that is easily fixed by upgrading. 0.45 Saturday, May 24, 2008 * Moose - - Because of work in Class::MOP 0.57, all + - Because of work in Class::MOP 0.57, all XS based functionality is now optional and a Pure Perl version is supplied - the CLASS_MOP_NO_XS environment variable - can now be used to force non-XS versions - to always be used + can now be used to force non-XS versions + to always be used - several of the packages have been tweaked to take care of this, mostly we added - support for the package_name and name + support for the package_name and name variables in all the Method metaclasses - - before/around/after method modifiers now + - before/around/after method modifiers now support regexp matching of names (thanks to Takatoshi Kitano) - tests added for this - - NOTE: this only works for classes, it - is currently not supported in roles, + - NOTE: this only works for classes, it + is currently not supported in roles, but, ... patches welcome - All usage of Carp::confess have been replaced by Carp::croak in the "keyword" functions since the stack trace is usually not helpful - + * Moose::Role - All usage of Carp::confess have been replaced by Carp::croak in the "keyword" functions since - the stack trace is usually not helpful - - The 'has' keyword for roles now accepts the - same array ref form that Moose.pm does + the stack trace is usually not helpful + - The 'has' keyword for roles now accepts the + same array ref form that Moose.pm does (has [qw/foo bar/] => (is => 'rw', ...)) - added test for this - + * Moose::Meta::Attribute - trigger on a ro-attribute is no longer an error, as it's useful to trigger off of the constructor * Moose::Meta::Class - - added same 'add_package_symbol' fix as in + - added same 'add_package_symbol' fix as in Class::MOP 0.57 * Moose::Util - - does_role now handles non-Moose classes + - does_role now handles non-Moose classes more gracefully - added tests for this - - added the 'add_method_modifier' function + - added the 'add_method_modifier' function (thanks to Takatoshi Kitano) * Moose::Util::TypeConstraints - - subtypes of parameterizable types now are + - subtypes of parameterizable types now are themselves parameterizable types * Moose::Meta::Method::Constructor - - fixed bug where trigger was not being - called by the inlined immutable - constructors + - fixed bug where trigger was not being + called by the inlined immutable + constructors - added test for this (thanks to Caelum) - + * Moose::Meta::Role::Application::ToInstance - now uses the metaclass of the instance (if possible) to create the anon-class (thanks Jonathan Rockway) - + * Moose::Cookbook::Recipe22 - added the meta-attribute trait recipe (thanks to Sartak) - + * t/ - - fixed hash-ordering test bug that was + - fixed hash-ordering test bug that was causing occasional cpantester failures - - renamed the t/000_recipe/*.t tests to be - more descriptive (thanks to Sartak) + - renamed the t/000_recipe/*.t tests to be + more descriptive (thanks to Sartak) 0.44 Sat. May 10, 2008 * Moose - - made make_immutable warning cluck to + - made make_immutable warning cluck to show where the error is (thanks mst) - + * Moose::Object - - BUILDALL and DEMOLISHALL now call - ->body when looping through the + - BUILDALL and DEMOLISHALL now call + ->body when looping through the methods, to avoid the overloaded method call. - fixed issue where DEMOLISHALL was - eating the $@ values, and so not + eating the $@ values, and so not working correctly, it still kind of - eats them, but so does vanilla perl + eats them, but so does vanilla perl - added tests for this - + * Moose::Cookbook::Recipe7 - - added new recipe for immutable + - added new recipe for immutable functionality (thanks Dave Rolsky) - + * Moose::Cookbook::Recipe9 - - added new recipe for builder and + - added new recipe for builder and lazy_build (thanks Dave Rolsky) - + * Moose::Cookbook::Recipe11 - - added new recipe for method aliasing + - added new recipe for method aliasing and exclusion with Roles (thanks Dave Rolsky) * t/ - fixed Win32 test failure (thanks spicyjack) - ~ removed Build.PL and Module::Build compat + ~ removed Build.PL and Module::Build compat since Module::Install has done that. 0.43 Wed. April, 30, 2008 * NOTE TO SELF: - drink more coffee before + drink more coffee before doing release engineering - - - whoops, forgot to do the smolder tests, + + - whoops, forgot to do the smolder tests, and we broke some of the custom meta-attr modules. This fixes that. 0.42 Mon. April 28, 2008 - - some bad tests slipped by, nothing else + - some bad tests slipped by, nothing else changed in this release (cpantesters++) - - - upped the Class::MOP dependency to 0.55 - since we have tests which need the C3 + + - upped the Class::MOP dependency to 0.55 + since we have tests which need the C3 support 0.41 Mon. April 28, 2008 ~~ numerous documentation updates ~~ - + - Changed all usage of die to Carp::croak for better error reporting (initial patch by Tod Hagan) @@ -910,8 +1226,8 @@ Revision history for Perl extension Moose any method/@ISA cache penalty (nothingmuch) * Moose::Meta::Class - - fixing &new_object to make sure trigger gets the - coerced value (spotted by Charles Alderman on the + - fixing &new_object to make sure trigger gets the + coerced value (spotted by Charles Alderman on the mailing list) - added test for this @@ -921,23 +1237,23 @@ Revision history for Perl extension Moose found by Jesse Luehrs, fixed by Dave Rolsky) - added tests for this (Dave Rolsky) - fix typo in initialize_body method (nothingmuch) - + * Moose::Meta::Method::Destructor - fix typo in initialize_body method (nothingmuch) * Moose::Meta::Method::Overriden Moose::Meta::Method::Augmented - - moved the logic for these into their own + - moved the logic for these into their own classes (nothingmuch) * Moose::Meta::Attribute - - inherited attributes may now be extended without + - inherited attributes may now be extended without restriction on the type ('isa', 'does') (Sartak) - added tests for this (Sartak) - - when an attribute property is malformed (such as lazy without - a default), give the name of the attribute in the error + - when an attribute property is malformed (such as lazy without + a default), give the name of the attribute in the error message (Sartak) - - added the &applied_traits and &has_applied_traits methods + - added the &applied_traits and &has_applied_traits methods to allow introspection of traits - added tests for this - moved 'trait' and 'metaclass' argument handling to here from @@ -945,14 +1261,14 @@ Revision history for Perl extension Moose - clone_and_inherit_options now handles 'trait' and 'metaclass' (has '+foo' syntax) (nothingmuch) - added tests for this (t0m) - - * Moose::Object - - localize $@ inside DEMOLISHALL to avoid it + + * Moose::Object + - localize $@ inside DEMOLISHALL to avoid it eating $@ (found by Ernesto) - added test for this (thanks to Ernesto) * Moose::Util::TypeConstraints - - &find_type_constraint now DWIMs when given an + - &find_type_constraint now DWIMs when given an type constraint object or name (nothingmuch) - &find_or_create_type_constraint superseded with a number of more specific functions: @@ -965,19 +1281,19 @@ Revision history for Perl extension Moose Moose::Meta::TypeConstraint::Enum Moose::Meta::TypeConstraint::Union Moose::Meta::TypeConstraint::Parameterized - - added the &equals method for comparing two type + - added the &equals method for comparing two type constraints (nothingmuch) - added tests for this (nothingmuch) * Moose::Meta::TypeConstraint - - add the &parents method, which is just an alias to &parent. + - add the &parents method, which is just an alias to &parent. Useful for polymorphism with TC::{Class,Role,Union} (nothingmuch) * Moose::Meta::TypeConstraint::Class - added the class attribute for introspection purposes (nothingmuch) - added tests for this - + * Moose::Meta::TypeConstraint::Enum Moose::Meta::TypeConstraint::Role - broke these out into their own classes (nothingmuch) @@ -996,70 +1312,70 @@ Revision history for Perl extension Moose 0.39 Fri. March 14, 2008 * Moose - - documenting the use of '+name' with attributes + - documenting the use of '+name' with attributes that come from recently composed roles. It makes - sense, people are using it, and so why not just + sense, people are using it, and so why not just officially support it. - - fixing the 'extends' keyword so that it will not + - fixing the 'extends' keyword so that it will not trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763) - + * oose - - added the perl -Moose=+Class::Name feature to allow + - added the perl -Moose=+Class::Name feature to allow monkeypatching of classes in one liners - + * Moose::Util - - fixing the 'apply_all_roles' keyword so that it will not - trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763) - + - fixing the 'apply_all_roles' keyword so that it will not + trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763) + * Moose::Meta::Class - added ->create method which now supports roles (thanks to jrockway) - added tests for this - - added ->create_anon_class which now supports roles and caching of + - added ->create_anon_class which now supports roles and caching of the results (thanks to jrockway) - added tests for this - made ->does_role a little more forgiving when it is checking a Class::MOP era metaclasses. - + * Moose::Meta::Role::Application::ToInstance - - it is now possible to pass extra params to be used when + - it is now possible to pass extra params to be used when a role is applied to an the instance (rebless_params) - added tests for this - + * Moose::Util::TypeConstraints - class_type now accepts an optional second argument for a custom message. POD anotated accordingly (groditi) - - added tests for this - - it is now possible to make anon-enums by passing 'enum' an - ARRAY ref instead of the $name => @values. Everything else + - added tests for this + - it is now possible to make anon-enums by passing 'enum' an + ARRAY ref instead of the $name => @values. Everything else works as before. - added tests for this - + * t/ - - making test for using '+name' on attributes consumed - from a role, it works and makes sense too. + - making test for using '+name' on attributes consumed + from a role, it works and makes sense too. - * Moose::Meta::Attribute - - fix handles so that it doesn't return nothing - when the method cannot be found, not sure why + * Moose::Meta::Attribute + - fix handles so that it doesn't return nothing + when the method cannot be found, not sure why it ever did this originally, this means we now - have slightly better support for AUTOLOADed + have slightly better support for AUTOLOADed objects - added more delegation tests - - adding ->does method to this so as to better + - adding ->does method to this so as to better support traits and their introspection. - added tests for this - + * Moose::Object - - localizing the Data::Dumper configurations so + - localizing the Data::Dumper configurations so that it does not pollute others (RT #33509) - made ->does a little more forgiving when it is passed Class::MOP era metaclasses. 0.38 Fri. Feb. 15, 2008 - * Moose::Meta::Attribute - - fixed initializer to correctly do - type checking and coercion in the - callback + * Moose::Meta::Attribute + - fixed initializer to correctly do + type checking and coercion in the + callback - added tests for this * t/ @@ -1067,62 +1383,62 @@ Revision history for Perl extension Moose 0.37 Thurs. Feb. 14, 2008 * Moose - - fixed some details in Moose::init_meta + - fixed some details in Moose::init_meta and its superclass handling (thanks thepler) - added tests for this (thanks thepler) - - 'has' now dies if you don't pass in name + - 'has' now dies if you don't pass in name value pairs - added the 'make_immutable' keyword as a shortcut to make_immutable * Moose::Meta::Class Moose::Meta::Method::Constructor - Moose::Meta::Attribute + Moose::Meta::Attribute - making (init_arg => undef) work here too (thanks to nothingmuch) - - * Moose::Meta::Attribute + + * Moose::Meta::Attribute Moose::Meta::Method::Constructor - Moose::Meta::Method::Accessor + Moose::Meta::Method::Accessor - make lazy attributes respect attr initializers (rjbs) - added tests for this - + * Moose::Util::TypeConstraints Moose::Util::TypeConstraints::OptimizedConstraints Moose::Meta::TypeConstraints Moose::Meta::Attribute Moose::Meta::Method::Constructor - Moose::Meta::Method::Accessor - - making type errors use the + Moose::Meta::Method::Accessor + - making type errors use the assigned message (thanks to Sartak) - added tests for this * Moose::Meta::Method::Destructor - - making sure DESTROY gets inlined properly + - making sure DESTROY gets inlined properly with successive DEMOLISH calls (thanks to manito) - * Moose::Meta::Attribute - Moose::Meta::Method::Accessor - - fixed handling of undef with type constraints - (thanks to Ernesto) + * Moose::Meta::Attribute + Moose::Meta::Method::Accessor + - fixed handling of undef with type constraints + (thanks to Ernesto) - added tests for this - + * Moose::Util - - added &get_all_init_args and &get_all_attribute_values + - added &get_all_init_args and &get_all_attribute_values (thanks to Sartak and nothingmuch) 0.36 Sat. Jan. 26, 2008 * Moose::Role Moose::Meta::Attribute - - role type tests now support when roles are + - role type tests now support when roles are applied to non-Moose classes (found by ash) - added tests for this (thanks to ash) - couple extra tests to boost code coverage - * Moose::Meta::Method::Constructor + * Moose::Meta::Method::Constructor - improved fix for handling Class::MOP attributes - - added test for this - + - added test for this + * Moose::Meta::Class - handled the add_attribute($attribute_meta_object) case correctly @@ -1130,12 +1446,12 @@ Revision history for Perl extension Moose 0.35 Tues. Jan. 22, 2008 * Moose::Meta::Method::Constructor - - fix to make sure even Class::MOP attributes + - fix to make sure even Class::MOP attributes are handled correctly (Thanks to Dave Rolsky) - added test for this (also Dave Rolsky) - + * Moose::Meta::Class - - improved error message on _apply_all_roles, + - improved error message on _apply_all_roles, you should now use Moose::Util::apply_all_roles and you shouldnt have been using a _ prefixed method in the first place ;) @@ -1146,27 +1462,27 @@ Revision history for Perl extension Moose Moose is now a postmodern object system :) - (see the POD for details) - - * <> - - this release contains a major reworking and - cleanup of the role system + + * <> + - this release contains a major reworking and + cleanup of the role system - 100% backwards compat. - Role application now restructured into seperate classes based on type of applicants - Role summation (combining of more than one role) - is much cleaner and anon-classes are no longer + is much cleaner and anon-classes are no longer used in this process - - new Composite role metaclass + - new Composite role metaclass - runtime application of roles to instances is now more efficient and re-uses generated classes when applicable - + * <> - - methods can now be excluded from a given role + - methods can now be excluded from a given role during composition - - methods can now be aliased to another name (and - still retain the original as well) - + - methods can now be aliased to another name (and + still retain the original as well) + * Moose::Util::TypeConstraints::OptimizedConstraints - added this module (see above) @@ -1183,20 +1499,20 @@ Revision history for Perl extension Moose * Moose::Meta::Method::Accessor Moose::Meta::Method::Constructor Moose::Meta::Attribute - Moose::Meta::TypeConstraint - Moose::Meta::TypeCoercion - - lots of cleanup of such things as: + Moose::Meta::TypeConstraint + Moose::Meta::TypeCoercion + - lots of cleanup of such things as: - generated methods - type constraint handling - - error handling/messages - (thanks to nothingmuch) - + - error handling/messages + (thanks to nothingmuch) + * Moose::Meta::TypeConstraint::Parameterizable - - added this module to support the refactor + - added this module to support the refactor in Moose::Meta::TypeConstraint::Parameterized * Moose::Meta::TypeConstraint::Parameterized - - refactored how these types are handled so they + - refactored how these types are handled so they are more generic and not confined to ArrayRef and HashRef only