Revision history for Perl extension Moose
-0.09_03
+0.23
+ * Moose::Meta::Class
+ - Modify make_immutable to work with the new Class::MOP immutable
+ mechanism + POD + very basic test (groditi)
+
+0.22 Thurs. May 31, 2007
+ * Moose::Util::TypeConstraints
+ - fix for prototype undeclared issue when Moose::Util::TypeConstraints
+ loaded before consumers (e.g. Moose::Meta::Attribute) by predeclaring
+ prototypes for functions
+ - added the ClassName type constraint, this checks for strings
+ which will respond true to ->isa(UNIVERSAL).
+ - added tests and docs for this
+ - subtyping just in name now works correctly by making the
+ default for where be { 1 }
+ - added test for this
+
+ * Moose::Meta::Method::Accessor
+ - coerce and lazy now work together correctly, thanks to
+ merlyn for finding this bug
+ - tests added for this
+ - fix reader presedence bug in Moose::Meta::Attribute + tests
+
+ * Moose::Object
+ - Foo->new(undef) now gets ignored, it is assumed you meant to pass
+ a HASH-ref and missed. This produces better error messages then
+ having it die cause undef is not a HASH.
+ - added tests for this
+
+0.21 Thursday, May 2nd, 2007
+ * Moose
+ - added SUPER_SLOT and INNER_SLOT class hashes to support unimport
+ - modified unimport to remove super and inner along with the rest
+ - altered unimport tests to handle this
+
+ * Moose::Role
+ - altered super export to populate SUPER_SLOT
+
+ * Moose::Meta::Class
+ - altered augment and override modifier application to use *_SLOT
+ - modified tests for these to unimport one test class each to test
+
+ * Moose::Meta::Role
+ - fixed issue where custom attribute metaclasses
+ where not handled correctly in roles
+ - added tests for this
+
+ * Moose::Meta::Class
+ - fixed issue where extending metaclasses with
+ roles would blow up. Thanks to Aankhen`` for
+ finding this insidious error, and it's solution.
+
+ ~~ lots of spelling and grammer fixes in the docs,
+ many many thanks to rlb3 and Aankhen for these :)
+
+0.20 Friday, April 6th, 2007
+ >> I messed up the SKIP logic in one test
+ so this release is just to fix that.
+
+ * Moose
+ - 'has' now also accepts an ARRAY ref
+ to create multiple attrs (see docs)
+ (thanks to konobi for this)
+ - added tests and docs
+
+0.19 Thurs. April 5th, 2007
+ ~~ More documentation updates ~~
+
+ * Moose::Util::TypeConstraints
+ - 'type' now supports messages as well
+ thanks to phaylon for finding this
+ - added tests for this
+ - added &list_all_type_constraints and
+ &list_all_builtin_type_constraints
+ functions to facilitate introspection.
+
+ * Moose::Meta::Attribute
+ - fixed regexp 'handles' declarations
+ to build the list of delegated methods
+ correctly (and not override important
+ things like &new) thanks to ashleyb
+ for finding this
+ - added tests and docs for this
+ - added the 'documentation' attributes
+ so that you can actually document your
+ attributes and inspect them through the
+ meta-object.
+ - added tests and docs for this
+
+ * Moose::Meta::Class
+ - when loading custom attribute metaclasses
+ it will first look in for the class in the
+ Moose::Meta::Attribute::Custom::$name, and
+ then default to just loading $name.
+ - added tests and docs for this
+
+ * Moose::Meta::TypeConstraint
+ - type constraints now stringify to their names.
+ - added test for this
+
+ * misc.
+ - added tests to assure we work with Module::Refresh
+ - added stricter test skip logic in the Moose POOP
+ test, ask Rob Kinyon why.
+ - *cough* DBM::Deep 1.0 backwards compatability sucks *cough* ;)
+
+0.18 Sat. March 10, 2007
+ ~~ Many, many documentation updates ~~
+
+ * misc.
+ - We now use Class::MOP::load_class to
+ load all classes.
+ - added tests to show types and subtypes
+ working with Declare::Constraints::Simple
+ and Test::Deep as constraint engines.
+
+0.18_001
+ !! You must have Class::MOP 0.37_001 !!
+ !! for this developer release to work !!
+
+ This release was primarily adding the immutable
+ feature to Moose. An immutable class is one which
+ you promise not to alter. When you set the class
+ as immutable it will perform various bits of
+ memoization and inline certain part of the code
+ (constructors, destructors and accessors). This
+ minimizes (and in some cases totally eliminates)
+ one of Moose's biggest performance hits. This
+ feature is not on by default, and is 100% optional.
+ It has several configurable bits as well, so you
+ can pick and choose to your specific needs.
+
+ The changes involved in this were fairly wide and
+ highly specific, but 100% backwards compatible, so
+ I am not going to enumerate them here. If you are
+ truely interested in what was changed, please do
+ a diff :)
+
+0.17 Tues. Nov. 14, 2006
+ * Moose::Meta::Method::Accessor
+ - bugfix for read-only accessors which
+ are have a type constraint and lazy.
+ Thanks to chansen for finding it.
+
+0.16 Tues. Nov. 14, 2006
+ ++ NOTE ++
+ There are some speed improvements in this release,
+ but they are only the begining, so stay tuned.
+
+ * Moose::Object
+ - BUILDALL and DEMOLISHALL no longer get
+ called unless they actually need to be.
+ This gave us a signifigant speed boost
+ for the cases when there is no BUILD or
+ DEMOLISH method present.
+
+ * Moose::Util::TypeConstraints
+ * Moose::Meta::TypeConstraint
+ - added an 'optimize_as' option to the
+ type constraint, which allows for a
+ hand optimized version of the type
+ constraint to be used when possible.
+ - Any internally created type constraints
+ now provide an optimized version as well.
+
+0.15 Sun. Nov. 5, 2006
+ ++ NOTE ++
+ This version of Moose *must* have Class::MOP 0.36 in order
+ to work correctly. A number of small internal tweaks have
+ been made in order to be compatible with that release.
+
+ * 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)
+ - moved Moose::Meta::Method::Overriden into
+ its own file.
+
+ * Moose::Meta::Role
+ - moved Moose::Meta::Role::Method into
+ its own file.
+
+ * Moose::Meta::Attribute
+ - changed how we do type checks so that
+ we reduce the overall cost, but still
+ retain correctness.
+ *** API CHANGE ***
+ - moved accessor generation methods to
+ Moose::Meta::Method::Accessor to
+ conform to the API changes from
+ Class::MOP 0.36
+
+ * Moose::Meta::TypeConstraint
+ - changed how constraints are compiled
+ so that we do less recursion and more
+ iteration. This makes the type check
+ faster :)
+ - moved Moose::Meta::TypeConstraint::Union
+ into its own file
+
+ * Moose::Meta::Method::Accessor
+ - created this from methods formerly found in
+ Moose::Meta::Attribute
+
+ * Moose::Meta::Role::Method
+ - moved this from Moose::Meta::Role
+
+ * Moose::Meta::Method::Overriden
+ - moved this from Moose::Meta::Class
+
+ * Moose::Meta::TypeConstraint::Union
+ - moved this from Moose::Meta::TypeConstraint
+
+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
- as with Moose, strict and warnings are
automatically turned on for you.
- added tests for this
-
- * Moose::Meta::Class
- - now handles some moose-specific options in
- &create
* 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
full fledges meta-objects
0.01 Wed. March 15, 2006
- - Moooooooooooooooooose!!!
\ No newline at end of file
+ - Moooooooooooooooooose!!!