Revision history for Perl extension Moose
-0.03
+0.15
+
+ * Moose::Util::TypeConstraints
+ - added &unimport so that you can clean out
+ your class namespace of these exported
+ keywords
+
+ * Moose::Meta::Class
+ - fixed minor issue which occasionally
+ comes up during global destruction
+ (thanks omega)
+
+ * Moose::Meta::Attribute
+ - changed how we do type checks so that
+ we reduce the overall cost, but still
+ retain correctness.
+
+ * Moose::Meta::TypeConstraint
+ - changed how constraints are compiled
+ so that we do less recursion and more
+ iteration. This makes the type check
+ faster :)
+
+0.14 Mon. Oct. 9, 2006
+
+ * Moose::Meta::Attribute
+ - fixed lazy attributes which were not getting
+ checked with the type constraint (thanks ashley)
+ - added tests for this
+ - removed the over-enthusiastic DWIMery of the
+ automatic ArrayRef and HashRef defaults, it
+ broke predicates in an ugly way.
+ - removed tests for this
+
+0.13 Sat. Sept. 30, 2006
+ ++ NOTE ++
+ This version of Moose *must* have Class::MOP 0.35 in order
+ to work correctly. A number of small internal tweaks have
+ been made in order to be compatible with that release.
+
+ * Moose
+ - Removed the use of UNIVERSAL::require to be a better
+ symbol table citizen and remove a dependency
+ (thanks Adam Kennedy)
+
+ **~~ removed experimental & undocumented feature ~~**
+ - commented out the 'method' and 'self' keywords, see the
+ comments for more info.
+
+ * Moose::Cookbook
+ - added a FAQ and WTF files to document frequently
+ asked questions and common problems
+
+ * Moose::Util::TypeConstraints
+ - added GlobRef and FileHandle type constraint
+ - added tests for this
+
+ * Moose::Meta::Attribute
+ - if your attribute 'isa' ArrayRef of HashRef, and you have
+ not explicitly set a default, then make the default DWIM.
+ This will also work for subtypes of ArrayRef and HashRef
+ as well.
+ - you can now auto-deref subtypes of ArrayRef or HashRef too.
+ - new test added for this (thanks to ashley)
+
+ * Moose::Meta::Role
+ - added basic support for runtime role composition
+ but this is still *highly experimental*, so feedback
+ is much appreciated :)
+ - added tests for this
+
+ * Moose::Meta::TypeConstraint
+ - the type constraint now handles the coercion process
+ through delegation, this is to support the coercion
+ of unions
+
+ * Moose::Meta::TypeConstraint::Union
+ - it is now possible for coercions to be performed
+ on a type union
+ - added tests for this (thanks to konobi)
+
+ * Moose::Meta::TypeCoercion
+ - properly capturing error when type constraint
+ is not found
+
+ * Build.PL
+ - Scalar::Util 1.18 is bad on Win32, so temporarily
+ only require version 1.17 for Win32 and cygwin.
+ (thanks Adam Kennedy)
+
+0.12 Sat. Sept. 1, 2006
+ * Moose::Cookbook
+ - Recipe5 (subtypes & coercion) has been written
+
+ * Moose
+ - fixed "bad meta" error message to be more descriptive
+ - fixed &unimport to not remove the &inner and &super
+ keywords because we need to localize them.
+ - fixed number of spelling/grammer issues, thanks Theory :)
+
+ **~~ experimental & undocumented feature ~~**
+ - added the method and self keywords, they are basically
+ just sugar, and they may not stay around.
+
+ * Moose::Object
+ - added &dump method to easily Data::Dumper
+ an object
+
+ * Moose::Meta::TypeConstraint
+ - added the &is_a_type_of method to check both the current
+ and the subtype of a method (similar to &isa with classes)
+
+ * Moose::Meta::Role
+ - this is now a subclass of Class::MOP::Module, and no longer
+ creates the _role_meta ugliness of before.
+ - fixed tests to reflect this change
+
+0.11 Wed. July 12, 2006
+ * Moose
+ - added an &unimport method to remove all the keywords
+ that Moose will import, simply add 'no Moose' to the
+ bottom of your class file.
+
+ * t/
+ - fixed some test failures caused by a forgotten test
+ dependency.
+
+0.10 Thurs. July 6, 2006
+ * Moose
+ - improved error message when loading modules so
+ it is less confusing when you load a role.
+ - added &calculate_all_roles method to
+ Moose::Meta::Class and Moose::Meta::Role
+
+ NOTE:
+ This module has been tested against Class::MOP 0.30
+ but it does not yet utilize the optimizations
+ it makes available. Stay tuned for that ;)
+
+0.09_03 Fri. June 23, 2006
+ ++ DEVELOPER RELEASE ++
+ * Moose
+ - 'use strict' and 'use warnings' are no longer
+ needed in Moose classes, Moose itself will
+ turn them on for you.
+ - added tests for this
+ - moved code from exported subs to private methods
+ in Moose::Meta::Class
+
+ * Moose::Role
+ - as with Moose, strict and warnings are
+ automatically turned on for you.
+ - added tests for this
+
+ * Moose::Meta::Role
+ - now handles an edge case for override errors
+ - added tests for this
+ - added some more edge case tests
+
+0.09_02 Tues. May 16, 2006
+ ++ DEVELOPER RELEASE ++
+ * Moose
+ - added prototypes to the exported subs
+ - updated docs
+
+ * Moose::Role
+ - added prototypes to the exported subs
+ - updated docs
+
+ * Moose::Util::TypeConstraints
+ - cleaned up prototypes for the subs
+ - updated docs
+
+0.09_01 Fri. May 12, 2006
+ ++ DEVELOPER RELEASE ++
+ - This release works in combination with
+ Class::MOP 0.29_01, it is a developer
+ release because it uses the a new
+ instance sub-protocol and a fairly
+ complete Role implementation. It has
+ not yet been optimized, so it slower
+ the the previous CPAN version. This
+ release also lacks good updated docs,
+ the official release will have updated docs.
+
+ * Moose
+ - refactored the keyword exports
+ - 'with' now checks Role validaity and
+ accepts more than one Role at a time
+ - 'extends' makes metaclass adjustments as
+ needed to ensure metaclass compatability
+
+ * Moose::Role
+ - refactored the keyword exports
+ - 'with' now checks Role validaity and
+ accepts more than one Role at a time
+
+ * Moose::Util::TypeConstraints
+ - added the 'enum' keyword for simple
+ string enumerations which can be used as
+ type constraints
+ - see example of usage in t/202_example.t
+
+ * Moose::Object
+ - more careful checking of params to new()
+
+ * Moose::Meta::Role
+ - much work done on the role composition
+ - many new tests for conflict detection
+ and composition edge cases
+ - not enough documentation, I suggest
+ looking at the tests
+
+ * Moose::Meta::Instance
+ - added new Instance metaclass to support
+ the new Class::MOP instance protocol
+
+ * Moose::Meta::Class
+ - some small changes to support the new
+ instance protocol
+ - some small additions to support Roles
+
+ * Moose::Meta::Attribute
+ - some improvements to the accessor generation code
+ by nothingmuch
+ - some small changes to support the new
+ instance protocol
+ - (still somewhat) experimental delegation support
+ with the 'handles' option
+ - added several tests for this
+ - no docs for this yet
+
+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::Meta::Attribute
- read-only attributes now actually enforce their
- read-only-ness
+ read-only-ness (this corrected in Class::MOP as
+ well)
0.02 Tues. March 21, 2006
* Moose