Revision history for Perl extension Moose
0.05 Thurs. April 27, 2006
* Moose
- keywords are now exported with Sub::Exporter
thanks to chansen for this commit
- has keyword now takes a 'metaclass' option
to support custom attribute meta-classes
on a per-attribute basis
- added tests for this
- the 'has' keyword not accepts inherited slot
specifications (has '+foo'). This is still an
experimental feature and probably not finished
see t/038_attribute_inherited_slot_specs.t for
more details, or ask about it on #moose
- added tests for this
* Moose::Role
- keywords are now exported with Sub::Exporter
* Moose::Utils::TypeConstraints
- reorganized the type constraint hierarchy, thanks
to nothingmuch and chansen for his help and advice
on this
- added some tests for this
- keywords are now exported with Sub::Exporter
thanks to chansen for this commit
* Moose::Meta::Class
- due to changes in Class::MOP, we had to change
construct_instance (for the better)
* Moose::Meta::Attribute
- due to changes in Class::MOP, we had to add the
initialize_instance_slot method (it's a good thing)
* Moose::Meta::TypeConstraint
- added type constraint unions
- added tests for this
- added the is_subtype_of predicate method
- added tests for this
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!!!