X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=32ef3a09a1aeaea06bf6a9876ee51d2a8d28a223;hb=19fabdd362b0d39023e2359b59701c4fc42247de;hp=f13d620c306ce617b1a90aa934759a2ed655355c;hpb=3285fae9bbb607d017c000b71fa138def7fb37d2;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index f13d620..32ef3a0 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,491 @@ Revision history for Perl extension Moose +0.52 + + +0.51 Thurs. Jun 26, 2008 + * Moose::Role + - add unimport so "no Moose::Role" actually does + something (sartak) + + * Moose::Meta::Role::Application::ToRole + - when RoleA did RoleB, and RoleA aliased a method from RoleB in + order to provide its own implementation, that method still got + added to the list of required methods for consumers of + RoleB. Now an aliased method is only added to the list of + required methods if the role doing the aliasing does not + provide its own implementation. See Recipe 11 for an example + of all this. (Dave Rolsky) + - added tests for this + + * Moose::Meta::Method::Constructor + - when a single argument that wasn't a hashref was provided to + an immutabilized constructor, the error message was very + unhelpful, as opposed to the non-immutable error. Reported by + dew. (Dave Rolsky) + - added test for this (Dave Rolsky) + + * Moose::Meta::Attribute + - added support for meta_attr->does("ShortAlias") (sartak) + - added tests for this (sartak) + - moved the bulk of the `handles` handling to the new + install_delegation method (Stevan) + + * Moose::Object + - Added BUILDARGS, a new step in new() + + * Moose::Meta::Role::Application::RoleSummation + - fix typos no one ever sees (sartak) + + * Moose::Util::TypeConstraints + * Moose::Meta::TypeConstraint + * Moose::Meta::TypeCoercion + - Attempt to work around the ??{ } vs. threads issue + - Some null_constraint optimizations + +0.50 Thurs. Jun 11, 2008 + - Fixed a version number issue by bumping all modules + to 0.50. + +0.49 Thurs. Jun 11, 2008 + !! This version now approx. 20-25% !! + !! faster with new Class::MOP 0.59 !! + + * Moose::Meta::Attribute + - fixed how the is => (ro|rw) works with + custom defined reader, writer and accessor + options. + - added docs for this (TODO). + - added tests for this (Thanks to Penfold) + - added the custom attribute alias for regular + Moose attributes which is "Moose" + - fix builder and default both being used + (groditi) + + * Moose + Moose::Meta::Class + Moose::Meta::Attribute + Moose::Meta::Role + Moose::Meta::Role::Composite + Moose::Util::TypeConstraints + - 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 + can be overrided in subclasses (thanks to Sartak) + - added test for this (thanks to Sartak) + + * Moose::Util::TypeConstraints + - move the ClassName type check code to + Class::MOP::is_class_loaded (thanks to Sartak) + + * Moose::Cookbook::Recipe11 + - add tests for this (thanks to tokuhirom) + +0.48 Thurs. May 29, 2008 + (early morning release engineering)-- + + - fixing the version in Moose::Meta::Method::Destructor + which was causing the indexer to choke + +0.47 Thurs. May 29, 2008 + (late night release engineering)-- + + - fixing the version is META.yml, no functional + changes in this release + +0.46 Wed. May 28, 2008 + !! This version now approx. 20-25% !! + !! faster with new Class::MOP 0.57 !! + + * Moose::Meta::Class + - some optimizations of the &initialize method + 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 + 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 + at all + + * Moose::Meta::Method::Destructor + Moose::Meta::Method::Constructor + - 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.56, 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 + - several of the packages have been tweaked + to take care of this, mostly we added + support for the package_name and name + variables in all the Method metaclasses + - 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, + 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 + (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 + Class::MOP 0.56 + + * Moose::Util + - does_role now handles non-Moose classes + more gracefully + - added tests for this + - added the 'add_method_modifier' function + (thanks to Takatoshi Kitano) + + * Moose::Util::TypeConstraints + - 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 + - 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 + causing occasional cpantester failures + - 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 + show where the error is (thanks mst) + + * Moose::Object + - 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 + working correctly, it still kind of + eats them, but so does vanilla perl + - added tests for this + + * Moose::Cookbook::Recipe7 + - added new recipe for immutable + functionality (thanks Dave Rolsky) + + * Moose::Cookbook::Recipe9 + - added new recipe for builder and + lazy_build (thanks Dave Rolsky) + + * Moose::Cookbook::Recipe11 + - 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 + since Module::Install has done that. + +0.43 Wed. April, 30, 2008 + * NOTE TO SELF: + drink more coffee before + doing release engineering + + - 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 + changed in this release (cpantesters++) + + - 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) + + ** IMPORTANT NOTE ** + - the make_immutable keyword is now deprecated, don't + use it in any new code and please fix your old code + as well. There will be 2 releases, and then it will + be removed. + + * Moose + Moose::Role + Moose::Meta::Class + - refactored the way inner and super work to avoid + 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 + mailing list) + - added test for this + + * Moose::Meta::Method::Constructor + - immutable classes which had non-lazy attributes were calling + the default generating sub twice in the constructor. (bug + 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 + classes (nothingmuch) + + * Moose::Meta::Attribute + - 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 + message (Sartak) + - 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 + Moose::Meta::Class + - 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 + eating $@ (found by Ernesto) + - added test for this (thanks to Ernesto) + + * Moose::Util::TypeConstraints + - &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: + - find_or_create_{isa,does}_type_constraint + - find_or_parse_type_constraint + + * Moose::Meta::TypeConstraint + Moose::Meta::TypeConstraint::Class + Moose::Meta::TypeConstraint::Role + Moose::Meta::TypeConstraint::Enum + Moose::Meta::TypeConstraint::Union + Moose::Meta::TypeConstraint::Parameterized + - 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. + 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) + + * Moose::Cookbook::Recipe* + - fixed references to test file locations in the POD + and updated up some text for new Moose features + (Sartak) + + * Moose::Util + - Added &resolve_metaclass_alias, a helper function for finding an actual + class for a short name (e.g. in the traits list) + +0.40 Fri. March 14, 2008 + - I hate Pod::Coverage + +0.39 Fri. March 14, 2008 + * Moose + - 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 + officially support it. + - 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 + 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) + + * 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 + 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 + 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 + 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. + + * 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 + objects + - added more delegation tests + - 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 + 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 + - added tests for this + + * t/ + - fixed some finicky tests (thanks to konobi) + +0.37 Thurs. Feb. 14, 2008 + * Moose + - 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 + value pairs + - added the 'make_immutable' keyword as a shortcut + to make_immutable + + * Moose::Meta::Class + Moose::Meta::Method::Constructor + Moose::Meta::Attribute + - making (init_arg => undef) work here too + (thanks to nothingmuch) + + * Moose::Meta::Attribute + Moose::Meta::Method::Constructor + 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 + assigned message (thanks to Sartak) + - added tests for this + + * Moose::Meta::Method::Destructor + - 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) + - added tests for this + + * Moose::Util + - 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 + 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 + - improved fix for handling Class::MOP attributes + - added test for this + + * Moose::Meta::Class + - handled the add_attribute($attribute_meta_object) + case correctly + - added test for this + 0.35 Tues. Jan. 22, 2008 * Moose::Meta::Method::Constructor - fix to make sure even Class::MOP attributes @@ -18,61 +504,26 @@ 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 - - with 'My::Role' => { excludes => [qw/method1 method2/] }; - - - methods can now be aliased to another name (and - still retain the original as well) - - with 'My::Role' => { - alias => { - method1 => method1_aliased - } - }; - - * <> - - allows arbitrary roles to be applied to attribute metaobjects - to allow better combination of custom attribute features. Docs - are coming soon for this feature. - - * <> - - added this new type which basically means the value is - of $type or it is undef - - ==== - - * Moose - Moose::Role - - now uses the Moose::Util::apply_all_roles to deal - with role application - - * Moose::Util - - added the &apply_all_roles function - - * Moose::Util::TypeConstraints - - all optimized type constraint subs are now - pulled from the Moose::Util::TypeConstraints::OptimizedConstraints - module (thanks to nothingmuch) - - improved support for the IO:: family of modules within the - FileHandle type constraint + - methods can now be aliased to another name (and + still retain the original as well) * Moose::Util::TypeConstraints::OptimizedConstraints - added this module (see above) @@ -90,13 +541,13 @@ 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