X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=4ec486ae50b7c3bc02cf43109ccc3f3f52565756;hb=6e56c6e09ab419776522759fc65fb0e85af66538;hp=17377881243dac85c278221f50a2e6fa5039b647;hpb=d236872e41bec136e6ac49346743c791dc81e69a;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 1737788..4ec486a 100644 --- a/Changes +++ b/Changes @@ -1,7 +1,386 @@ Also see Moose::Manual::Delta for more details of, and workarounds for, noteworthy changes. -0.74 +0.89_02 Thu, Sep 10, 2009 + * Moose::Meta::Attribute::Native + - Fix Hash, which still had 'empty' instead of 'is_empty'. (hdp) + + * Moose::Meta::Attribute::Native::Trait::Array + - Added a number of functions from List::Util and List::MoreUtils, + including reduce, shuffle, uniq, and natatime. (doy) + + * Moose::Exporter + - This module will now generate an init_meta method for your exporting + class if you pass it options for + Moose::Util::MetaRole::apply_metaclass_roles or + apply_base_class_roles. This eliminates a lot of repetitive + boilerplate for typical MooseX modules. (doy). + - Documented the with_meta feature, which is a replacement for + with_caller. This feature was added by josh a while ago. + - The with_caller feature is now deprecated, but will not issue a + warning yet. (Dave Rolsky) + - If you try to wrap/export a subroutine which doesn't actually exist, + Moose::Exporter will warn you about this. (doy) + + * Moose::Meta::Class + - Warn when calling make_immutable on a class with mutable ancestors. + (doy) + + * Moose::Meta::Role::Application::ToRole + - When a role aliased a method from another role, it was only getting + the new (aliased) name, not the original name. This differed from what + happens when a class aliases a role's methods. If you _only_ want the + aliased name, make sure to also exclue the original name. (Dave + Rolsky) + +0.89_01 Wed Sep 2, 2009 + * Moose::Meta::Attribute + - Added the currying syntax for delegation from AttributeHelpers to the + existing delegation API. (hdp) + + * Moose::Meta::Attribute::Native + - We have merged the functionality of MooseX::AttributeHelpers into the + Moose core with some API tweaks. You can continue to use + MooseX::AttributeHelpers, but it will not be maintained except + (perhaps) for critical bug fixes in the future. See + Moose::Manual::Delta for details. (hdp, jhannah, rbuels, Sartak, + perigrin, doy) + + * Moose::Error::Croak + * Moose::Error::Confess + - Clarify documentation on how to use different error-throwing + modules. (Curtis Jewell) + + * Moose + - Correct POD for builder to point to Recipe8, not 9. (gphat) + + * Moose::Exporter + - When a nonexistent sub name is passed to as_is, with_caller, or + with_meta, throw a warning and skip the exporting, rather than + installing a broken sub. (doy) + +0.89 Thu Aug 13, 2009 + * Moose::Manual::Attributes + - Clarify "is", include discussion of "bare". (Sartak) + + * Moose::Meta::Role::Method::Conflicting + * Moose::Meta::Role::Application::ToClass + - For the first set of roles involved in a conflict, report all + unresolved method conflicts, not just the first method. Fixes #47210 + reported by Ovid. (Sartak) + + * Moose::Meta::TypeConstraint + - Add assert_valid method to use a TypeConstraint for assertion (rjbs) + + * Moose::Exporter + - Make "use Moose -metaclass => 'Foo'" do alias resolution, like -traits + does. (doy) + - Allow specifying role options (alias, excludes, MXRP stuff) in the + arrayref passed to "use Moose -traits" (doy) + + * Moose::Util + - Add functions meta_class_alias and meta_attribute_alias for creating + aliases for class and attribute metaclasses and metatraits. (doy) + + * Moose::Meta::Attribute + * Moose::Meta::Method::Accessor + - A trigger now receives the old value as a second argument, if the + attribute had one. (Dave Rolsky) + + * Moose::Meta::Method::Constructor + - Fix a bug with $obj->new when $obj has stringify overloading. + Reported by Andrew Suffield [rt.cpan.org #47882] (Sartak) + - However, we will probably deprecate $obj->new, so please don't start + using it for new code! + + * Moose::Meta::Role::Application + * Moose::Meta::Role::Application::RoleSummation + - Rename alias and excludes to -alias and -excludes (but keep the old + names for now, for backcompat) (doy) + +0.88 Fri Jul 24, 2009 + * Moose::Manual::Contributing + - Re-write the Moose::Manual::Contributing document to reflect + the new layout and methods of work for the Git repository. All + work now should be done in topic branches and reviewed by a + core committer before being applied to master. All releases + are done by a cabal member and merged from master to + stable. This plan was devised by Yuval, blame him. (perigrin) + + * Moose::Meta::Role + - Create metaclass attributes for the different role application + classes. (rafl) + + * Moose::Util::MetaRole + - Allow applying roles to a meta role's role application + classes. (rafl) + + * Moose::Meta::Attribute + - Add weak_ref to allowed options for "has '+foo'" (mst) + + * Moose::Meta::Method::Accessor + - No longer uses inline_slot_access in accessors, to support + non-lvalue-based meta instances. (sorear) + +0.87 Tue Jul 7, 2009 + * Moose::Meta::Method::Delegation + - Once again allow class names as well as objects for + delegation. This was changed in 0.86. + +0.86 Fri Jul 3, 2009 + * Moose::Meta::Class::Immutable::Trait + - Fixes to work with the latest Class::MOP. + + * Moose::Meta::Method::Delegation + - Delegation now dies with a more useful error message if the + attribute's accessor returns something defined but + unblessed. (hdp) + +0.85 Fri, Jun 26, 2009 + * Moose::Meta::Attribute + - The warning for 'no associated methods' is now split out into + the _check_associated_methods method, so that extensions can + safely call 'after install_accessors => ...'. This fixes a + warning from MooseX::AttributeHelpers. (hdp) + +0.84 Fri, Jun 26, 2009 + * Moose::Role + - has now sets definition_context for attributes defined in + roles. (doy) + + * Moose::Meta::Attribute + - When adding an attribute to a metaclass, if the attribute has + no associated methods, it will give a deprecation + warning. (hdp) + - Methods generated by delegation were not being added to + associated_methods. (hdp) + - Attribute accessors (reader, writer, accessor, predicate, + clearer) now warn if they overwrite an existing method. (doy) + - Attribute constructors now warn very noisily about unknown (or + misspelled) arguments + + * Moose::Util::TypeConstraints + - Deprecated the totally useless Role type name, which just + checked if $object->can('does'). Note that this is _not_ the + same as a type created by calling role_type('RoleName'). + + * Moose::Util::TypeConstraints + * Moose::Meta::TypeConstraint::DuckType + - Reify duck type from a regular subtype into an actual class + (Sartak) + - Document this because Sartak did all my work for me + (perigrin) + + * Moose::Meta::Attribute + - Allow Moose::Meta::TypeConstraint::DuckType in handles, since + it is just a list of methods (Sartak) + + * Moose::Meta::Role + - The get_*_method_modifiers methods would die if the role had + no modifiers of the given type (Robert Buels). + +0.83 Tue, Jun 23, 2009 + * Moose::Meta::Class + - Fix _construct_instance not setting the special __MOP__ object + key in instances of anon classes. (doy) + +0.82 Sun, Jun 21, 2009 + * Moose::Manual::Types + - Mention MooseX::Types early to avoid users falling down the + string parsing rathole (mst) + + * Moose::Manual::MooseX + - Add warnings about class-level extensions and mention considering + using plain objects instead + +0.81 Sun, Jun 7, 2009 + * Bumped our Class::MOP prereq to the latest version (0.85), since + that's what we need. + +0.80 Sat, Jun 6, 2009 + * Moose::Manual::FAQ + - Add FAQ about the coercion change from 0.76 because it came up + three times today (perigrin) + - Win doy $10 dollars because Sartak didn't think anybody + would document this fast enough (perigrin) + + * Moose::Meta::Method::Destructor + - Inline a DESTROY method even if there are no DEMOLISH methods + to prevent unnecessary introspection in + Moose::Object::DEMOLISHALL + + * Moose::* + - A role's required methods are now represented by + Moose::Meta::Role::Method::Required objects. Conflicts are now + represented by Moose::Meta::Role::Method::Conflicting + objects. The benefit for end-users in that unresolved + conflicts generate different, more instructive, errors, + resolving Ovid's #44895. (Sartak) + + * Moose::Role + - Improve the error message of "extends" as suggested by Adam + Kennedy and confound (Sartak) + - Link to Moose::Manual::Roles from Moose::Role as we now have + excellent documentation (Adam Kennedy) + + * Tests + - Update test suite for subname change in Class::MOP + (nothingmuch) + - Add TODO test for infinite recursion in Moose::Meta::Class + (groditi) + +0.79 Wed, May 13, 2009 + * Tests + - More fixes for Win32 problems. Reported by Robert Krimen. + + * Moose::Object + - The DEMOLISHALL method could still blow up in some cases + during global destruction. This method has been made more + resilient in the face of global destruction's random garbage + collection order. + + * Moose::Exporter + - If you "also" a module that isn't loaded, the error message + now acknowledges that (Sartak) + + * Moose + - When your ->meta method does not return a Moose::Meta::Class, + the error message gave the wrong output (Sartak) + +0.78 Tue, May 12, 2009 + * Moose::Cookbook::FAQ and Moose::Cookbook::WTF + - Merged these documents into what is now Moose::Manual::FAQ + + * Moose::Unsweetened + - Moved to Moose::Manual::Unsweetened + + * Moose::Cookbook::Basics::Recipes 9-12 + - Renamed to be 8-11, since recipe 8 did not exist + + * Moose::Exporter + - Make Moose::Exporter import strict and warnings into packages + that use it (doy) + + * Moose::Object + - Fix DEMOLISHALL sometimes not being able to find DEMOLISH + methods during global destruction (doy) + + * Moose::Meta::Class + * Moose::Meta::Role::Application::ToClass + - Track the Role::Application objects created during class-role + consumption (Sartak) + + * Moose::Meta::Class + - Fix metaclass incompatibility errors when extending a vanilla perl + class which isa Moose class with a metaclass role applied (t0m) + + * Moose::Meta::Role + - Add a role-combination hook, _role_for_combination, for the + benefit of MooseX::Role::Parameterized (Sartak) + + * Tests + - Some tests were failing on Win32 because they explicit checked + warning output for newlines. Reported by Nickolay Platonov. + +0.77 Sat, May 2, 2009 + * Moose::Meta::Role + - Add explicit use of Devel::GlobalDestruction and Sub::Name + (perigrin) + + * Moose::Object + - Pass a boolean to DEMOLISHALL and DEMOLISH indicating whether + or not we are currently in global destruction (doy) + - Add explicit use of Devel::GlobalDestruction and Sub::Name + (perigrin) + + * Moose::Cookbook::FAQ + - Reworked much of the existing content to be more useful to + modern Moose hackers (Sartak) + + * Makefile.PL + - Depend on Class::MOP 0.83 instead of 0.82_01. + +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 @@ -30,6 +409,9 @@ for, noteworthy changes. - 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. @@ -40,7 +422,7 @@ for, noteworthy changes. 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) @@ -192,7 +574,7 @@ for, noteworthy changes. * 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) @@ -219,7 +601,7 @@ for, noteworthy changes. - Some tests tried to use Test::Warn 0.10, which had bugs. Now they require 0.11. (Dave Rolsky) - * Documentation + * 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) @@ -445,7 +827,7 @@ for, noteworthy changes. - 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 @@ -470,7 +852,7 @@ for, noteworthy changes. * 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 @@ -480,7 +862,7 @@ for, noteworthy changes. 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 @@ -691,16 +1073,16 @@ for, noteworthy changes. - 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). @@ -715,7 +1097,7 @@ for, noteworthy changes. 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 !! @@ -823,32 +1205,32 @@ for, noteworthy changes. 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 @@ -857,12 +1239,12 @@ for, noteworthy changes. - 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/ @@ -918,9 +1300,9 @@ for, noteworthy changes. !! 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 @@ -934,15 +1316,15 @@ for, noteworthy changes. 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) @@ -962,7 +1344,7 @@ for, noteworthy changes. 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 @@ -971,153 +1353,153 @@ for, noteworthy changes. * 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) @@ -1134,8 +1516,8 @@ for, noteworthy changes. 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 @@ -1145,23 +1527,23 @@ for, noteworthy changes. 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 @@ -1169,14 +1551,14 @@ for, noteworthy changes. - 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: @@ -1189,19 +1571,19 @@ for, noteworthy changes. 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) @@ -1220,70 +1602,70 @@ for, noteworthy changes. 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 + - 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/ @@ -1291,62 +1673,62 @@ for, noteworthy changes. 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 @@ -1354,12 +1736,12 @@ for, noteworthy changes. 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 ;) @@ -1370,27 +1752,27 @@ for, noteworthy changes. 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) @@ -1407,20 +1789,20 @@ for, noteworthy changes. * 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 @@ -1604,16 +1986,16 @@ for, noteworthy changes. - added all the meta classes to the immutable list and set it to inline the accessors - fix import to allow Sub::Exporter like { into => } - and { into_level => } (perigrin) + and { into_level => } (perigrin) - exposed and documented init_meta() to allow better - embedding and extending of Moose (perigrin) + embedding and extending of Moose (perigrin) - * t/ - - complete re-organization of the test suite - - added some new tests as well - - finally re-enabled the Moose::POOP test since - the new version of DBM::Deep now works again - (thanks rob) + * t/ + - complete re-organization of the test suite + - added some new tests as well + - finally re-enabled the Moose::POOP test since + the new version of DBM::Deep now works again + (thanks rob) * Moose::Meta::Class - fixed very odd and very nasty recursion bug with @@ -2332,9 +2714,9 @@ for, noteworthy changes. - Type constraints now survive runtime reloading - added test for this - * Moose::Meta::Class - - fixed the way attribute defaults are handled - during instance construction (bug found by chansen) + * Moose::Meta::Class + - fixed the way attribute defaults are handled + during instance construction (bug found by chansen) * Moose::Meta::Attribute - read-only attributes now actually enforce their @@ -2382,8 +2764,8 @@ for, noteworthy changes. * Moose::Meta::TypeConstraint * Moose::Meta::TypeCoercion - - type constraints and coercions are now - full fledges meta-objects + - type constraints and coercions are now + full fledges meta-objects 0.01 Wed. March 15, 2006 - Moooooooooooooooooose!!!