Revision history for Perl extension Moose 0.05 * Moose::Utils::TypeConstraints - added Bool type and CollectionRef type then made ArrayRef and HashRef into subtypes of the CollectionRef 0.04 Sun. April 16th, 2006 * Moose::Role - Roles can now consume other roles - added tests for this - Roles can specify required methods now with the requires() keyword - added tests for this * Moose::Meta::Role - ripped out much of it's guts ,.. much cleaner now - added required methods and correct handling of them in apply() for both classes and roles - added tests for this - no longer adds a does() method to consuming classes it relys on the one in Moose::Object - added roles attribute and some methods to support roles consuming roles * Moose::Meta::Attribute - added support for triggers on attributes - added tests for this - added support for does option on an attribute - added tests for this * Moose::Meta::Class - added support for attribute triggers in the object construction - added tests for this * Moose - Moose no longer creates a subtype for your class if a subtype of the same name already exists, this should DWIM in 99.9999% of all cases * Moose::Util::TypeConstraints - fixed bug where incorrect subtype conflicts were being reported - added test for this * Moose::Object - this class can now be extended with 'use base' if you need it, it properly loads the metaclass class now - added test for this 0.03_02 Wed. April 12, 2006 * Moose - you must now explictly use Moose::Util::TypeConstraints it no longer gets exported for you automatically * Moose::Object - new() now accepts hash-refs as well as key/value lists - added does() method to check for Roles - added tests for this * Moose::Meta::Class - added roles attribute along with the add_role() and does_role() methods - added tests for this * Moose::Meta::Role - now adds a does() method to consuming classes which tests the class's hierarchy for roles - added tests for this 0.03_01 Mon. April 10, 2006 * Moose::Cookbook - added new Role recipe (no content yet, only code) * Moose - added 'with' keyword for Role support - added test and docs for this - fixed subtype quoting bug - added test for this * Moose::Role - Roles for Moose - added test and docs * Moose::Util::TypeConstraints - added the message keyword to add custom error messages to type constraints * Moose::Meta::Role - the meta role to support Moose::Role - added tests and docs * Moose::Meta::Class - moved a number of things from Moose.pm to here, they should have been here in the first place * Moose::Meta::Attribute - moved the attribute option macros here instead of putting them in Moose.pm * Moose::Meta::TypeConstraint - added the message attributes and the validate method - added tests and docs for this 0.03 Thurs. March 30, 2006 * Moose::Cookbook - added the Moose::Cookbook with 5 recipes, describing all the stuff Moose can do. * Moose - fixed an issue with &extends super class loading it now captures errors and deals with inline packages correctly (bug found by mst, solution stolen from alias) - added super/override & inner/augment features - added tests and docs for these * Moose::Object - BUILDALL now takes a reference of the %params that are passed to &new, and passes that to each BUILD as well. * Moose::Util::TypeConstraints - 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::Attribute - read-only attributes now actually enforce their read-only-ness (this corrected in Class::MOP as well) 0.02 Tues. March 21, 2006 * Moose - many more tests, fixing some bugs and edge cases - &extends now loads the base module with UNIVERSAL::require - added UNIVERSAL::require to the dependencies list ** API CHANGES ** - each new Moose class will also create and register a subtype of Object which correspond to the new Moose class. - the 'isa' option in &has now only accepts strings, and will DWIM in almost all cases * Moose::Util::TypeConstraints - added type coercion features - added tests for this - added support for this in attributes and instance construction ** API CHANGES ** - type construction no longer creates a function, it registers the type instead. - added several functions to get the registered types * Moose::Object - BUILDALL and DEMOLISHALL were broken because of a mis-named hash key, Whoops :) * Moose::Meta::Attribute - adding support for coercion in the autogenerated accessors * Moose::Meta::Class - adding support for coercion in the instance construction * Moose::Meta::TypeConstraint * Moose::Meta::TypeCoercion - type constraints and coercions are now full fledges meta-objects 0.01 Wed. March 15, 2006 - Moooooooooooooooooose!!!