X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=15defb40adb4c208ca0b0d6940ce13e214c1c8b4;hb=84b56df2d53b1735aa20cac925233700f03fb129;hp=857e0b3a0c0c76230a2f6f034496a650af3251d5;hpb=c84f324f828ad00e6ccf2ace23d56d6bedecdfa3;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 857e0b3..15defb4 100644 --- a/Changes +++ b/Changes @@ -1,12 +1,320 @@ Revision history for Perl extension Moose -0.24 - ~ doc updates ~ +0.34 + ~~~ more misc. doc. fixes ~~~ + ~~ updated copyright dates ~~ + + * 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) + +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