X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=b91c65ad5d5506c1957331814f2d27e1ff02ffa3;hb=d71ba374b66efd4eeca044f17fabc1b65f0d0221;hp=3d102b94f9a9b807d954804b9c6687347b1324d9;hpb=db53853c6e04f25ce99fda9c35cc9ec5c2b4ebea;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 3d102b9..b91c65a 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,358 @@ Revision history for Perl extension Moose +0.34 + ~~~ more misc. doc. fixes ~~~ + ~~ updated copyright dates ~~ + + Moose is now a postmodern object system + - (see the POD for details) + + * Moose::Meta::Method::Accessor + - fixed bug when passing a list of values to + an accessor would get (incorrectly) ignored. + Thanks to Sartak for finding this ;) + - added tests for this (Sartak again) + + * Moose::Meta::Method::Accessor + Moose::Meta::Method::Constructor + Moose::Meta::Attribute + Moose::Meta::TypeConstraint + Moose::Meta::TypeCoercion + - lots of cleanup of such things as: + - generated methods + - type constraint handling + - error handling/messages + (thanks to nothingmuch) + + * Moose::Util::TypeConstraints + - all optimized type constraint subs are now + pulled from the Moose::Util::TypeConstraints::OptimizedConstraints + module (thanks to nothingmuch) + + * Moose::Util::TypeConstraints::OptimizedConstraints + - added this module (see above) + +0.33 Fri. Dec. 14, 2007 + !! Moose now loads 2 x faster !! + !! with new Class::MOP 0.49 !! + + ++ new oose.pm module to make command line + Moose-ness easier (see POD docs for more) + + * Moose::Meta::Class + * Moose::Meta::Role + - several tweaks to take advantage of the + new method map caching in Class::MOP + + * Moose::Meta::TypeConstraint::Parameterized + - allow subtypes of ArrayRef and HashRef to + be used as a container (sartak) + - added tests for this + - basic support for coercion to ArrayRef and + HashRef for containers (sartak) + - added tests for this + + * Moose::Meta::TypeCoercion + - coercions will now create subtypes as needed + so you can now add coercions to parameterized + types without having to explictly define them + - added tests for this + + * Moose::Meta::Method::Accessor + - allow subclasses to decide whether we need + to copy the value into a new variable (sartak) + +0.32 Tues. Dec. 4, 2007 + * Moose::Util::TypeConstraints + - fixing how subtype aliases of unions work + they should inherit the parent's coercion + - added tests for this + - you can now define multiple coercions on + a single type at different times instead of + having to do it all in one place + - added tests for this + + * Moose::Meta::TypeConstraint + - there is now a default constraint of sub { 1 } + instead of Moose::Util::TypeConstraints setting + this for us + + * Moose::Meta::TypeCoercion + * Moose::Meta::TypeCoercion::Union + - added the &has_coercion_for_type and + &add_type_coercions methods to support the + new features above (although you cannot add + more type coercions for Union types) + +0.31 Mon. Nov. 26, 2007 + * Moose::Meta::Attribute + - made the +attr syntax handle extending types with + parameters. So "has '+foo' => (isa => 'ArrayRef[Int]')" + now works if the original foo is an ArrayRef. + - added tests for this. + - delegation now works even if the attribute does not + have a reader method using the get_read_method_ref + method from Class::MOP::Attribute. + - added tests for this + - added docs for this + + * Moose::Util::TypeConstraints + - passing no "additional attribute info" to + &find_or_create_type_constraint will no longer + attempt to create an __ANON__ type for you, + instead it will just return undef. + - added docs for this + +0.30 Fri. Nov. 23, 2007 + * Moose::Meta::Method::Constructor + -builder related bug in inlined constructor. (groditi) + + * Moose::Meta::Method::Accessor + - genereate unnecessary calls to predicates and refactor + code generation for runtime speed (groditi) + + * Moose::Util::TypeConstraints + - fix ClassName constraint to introspect symbol table (mst) + - added more tests for this (mst) + - fixed it so that subtype 'Foo' => as 'HashRef[Int]' ... + with work correctly. + - added tests for this + + * Moose::Cookbook + - adding the link to Recipie 11 (written by Sartak) + - adding test for SYNOPSIS code + + * t/ + - New tests for builder bug. Upon instantiation, if an + attribute had a builder, no value and was not lazy the + builder default was not getting run, oops. (groditi) + +0.29 Tues. Nov. 13, 2007 + * Moose::Meta::Attribute + - Fix error message on missing builder method (groditi) + + * Moose::Meta::Method::Accessor + - Fix error message on missing builder method (groditi) + + * t/ + - Add test to check for the correct error message when + builder method is missing (groditi) + +0.28 Tues. Nov. 13, 2007 + - 0.27 packaged incorrectly (groditi) + +0.27 Tues. Nov. 13, 2007 + * Moose::Meta::Attribute + - Added support for the new builder option (groditi) + - Added support for lazy_build option (groditi) + - Changed slot initialization for predicate changes (groditi) + + * Moose::Meta::Method::Accessor + - Added support for lazy_build option (groditi) + - Fix inline methods to work with corrected predicate + behavior (groditi) + + * Moose::Meta::Method::Constructor + - Added support for lazy_build option (groditi) + + * t/ + - tests for builder and lazy_build (groditi) + + * fixing some misc. bits in the docs that + got mentioned on CPAN Forum & perlmonks + + * Moose::Meta::Role + - fixed how required methods are handled + when they encounter overriden or modified + methods from a class (thanks to confound). + - added tests for this + + * Moose::Util::TypeConstraint + - fixed the type notation parser so that + the | always creates a union and so is + no longer a valid type char (thanks to + konobi, mugwump and #moose for working + this one out.) + - added more tests for this + +0.26 Thurs. Sept. 27, 2007 + == New Features == + + * Parameterized Types + We now support parameterized collection types, such as: + ArrayRef[Int] # array or integers + HashRef[Object] # a hash with object values + They can also be nested: + ArrayRef[HashRef[RegExpr]] # an array of hashes with regexpr values + And work with the type unions as well: + ArrayRef[Int | Str] # array of integers of strings + + * Better Framework Extendability + Moose.pm is now "extendable" such that it is now much + easier to extend the framework and add your own keywords + and customizations. See the "EXTENDING AND EMBEDDING MOOSE" + section of the Moose.pm docs. + + * Moose Snacks! + In an effort to begin documenting some of the various + details of Moose as well as some common idioms, we have + created Moose::Cookbook::Snacks as a place to find + small (easily digestable) nuggets of Moose code. + + ==== + ~ Several doc updates/cleanup thanks to castaway ~ + + - converted build system to use Module::Install instead of + Module::Build (thanks to jrockway) + + * Moose + - 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) + - exposed and documented init_meta() to allow better + 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) + + * Moose::Meta::Class + - fixed very odd and very nasty recursion bug with + inner/augment (mst) + - added tests for this (eilara) + + * Moose::Meta::Attribute + Moose::Meta::Method::Constructor + Moose::Meta::Method::Accessor + - fixed issue with overload::Overloaded getting called + on non-blessed items. (RT #29269) + - added tests for this + + * Moose::Meta::Method::Accessor + - fixed issue with generated accessor code making + assumptions about hash based classes (thanks to dexter) + + * Moose::Coookbook::Snacks + - these are bits of documentation, not quite as big as + Recipes but which have no clear place in the module docs. + So they are Snacks! (horray for castaway++) + + * Moose::Cookbook::Recipe4 + - updated it to use the new ArrayRef[MyType] construct + - updated the accompanying test as well + + +++ Major Refactor of the Type Constraint system +++ + +++ with new features added as well +++ + + * Moose::Util::TypeConstraint + - no longer uses package variable to keep track of + the type constraints, now uses the an instance of + Moose::Meta::TypeConstraint::Registry to do it + - added more sophisticated type notation parsing + (thanks to mugwump) + - added tests for this + + * Moose::Meta::TypeConstraint + - some minor adjustments to make subclassing easier + - added the package_defined_in attribute so that we + can track where the type constraints are created + + * Moose::Meta::TypeConstraint::Union + - this is now been refactored to be a subclass of + Moose::Meta::TypeConstraint + + * Moose::Meta::TypeCoercion::Union + - this has been added to service the newly refactored + Moose::Meta::TypeConstraint::Union and is itself + a subclass of Moose::Meta::TypeCoercion + + * Moose::Meta::TypeConstraint::Parameterized + - added this module (taken from MooseX::AttributeHelpers) + to help construct nested collection types + - added tests for this + + * Moose::Meta::TypeConstraint::Registry + - added this class to keep track of type constraints + +0.25 Mon. Aug. 13, 2007 + * Moose + - Documentation update to reference Moose::Util::TypeConstraints + under 'isa' in 'has' for how to define a new type + (thanks to shlomif). + + * Moose::Meta::Attribute + - required attributes now will no longer accept undef + from the constructor, even if there is a default and lazy + - added tests for this + - default subroutines must return a value which passes the + type constraint + - added tests for this + + * Moose::Meta::Attribute + * Moose::Meta::Method::Constructor + * Moose::Meta::Method::Accessor + - type-constraint tests now handle overloaded objects correctly + in the error message + - added tests for this (thanks to EvanCarroll) + + * Moose::Meta::TypeConstraint::Union + - added (has_)hand_optimized_constraint to this class so that + it behaves as the regular Moose::Meta::TypeConstraint does. + + * Moose::Meta::Role + - large refactoring of this code + - added several more tests + - tests for subtle conflict resolition issues + added, but not currently running + (thanks to kolibre) + + * Moose::Cookbook::Recipe7 + - added new recipe for augment/inner functionality + (still in progress) + - added test for this + + * Moose::Spec::Role + - a formal definition of roles (still in progress) + + * Moose::Util + - utilities for easier working with Moose classes + - added tests for these + + * Test::Moose + - This contains Moose specific test functions + - added tests for these + +0.24 Tues. July 3, 2007 + ~ Some doc updates/cleanup ~ + + * Moose::Meta::Attribute + - added support for roles to be given as parameters + to the 'handles' option. + - added tests and docs for this + - the has '+foo' attribute form now accepts changes to + the lazy option, and the addition of a handles option + (but not changing the handles option) + - added tests and docs for this + + * Moose::Meta::Role + - required methods are now fetched using find_method_by_name + so that required methods can come from superclasses + - adjusted tests for this + +0.23 Mon. June 18, 2007 + * Moose::Meta::Method::Constructor + - fix inlined constructor for hierarchy with multiple BUILD methods (mst) + * Moose::Meta::Class + - Modify make_immutable to work with the new Class::MOP immutable + mechanism + POD + very basic test (groditi) + * Moose::Meta::Attribute + - Fix handles to use goto() so that caller() comes out properly on + the other side (perigrin) + 0.22 Thurs. May 31, 2007 * Moose::Util::TypeConstraints - fix for prototype undeclared issue when Moose::Util::TypeConstraints