-Revision history for Perl extension Moose
+Also see Moose::Manual::Delta for more details of, and workarounds
+for, noteworthy changes.
+
+0.77
+ * Moose::Object
+ - pass a boolean to DEMOLISHALL and DEMOLISH indicating whether or not
+ we are currently in global destruction (doy)
+
+ * Moose::Cookbook::FAQ
+ - Reworked much of the existing content to be more useful to modern
+ Moose hackers (Sartak)
+
+0.76 Mon, April 27, 2009
+ * Moose::Meta::TypeConstraint
+ - Do not run coercions in coerce() if the value already passes the type
+ constraint (hdp)
+
+ * Moose::Meta::TypeConstraint::Class
+ - In validation error messages, specifically say that the value is not
+ an instance of the class. This should alleviate some frustrating
+ forgot-to-load-my-type bugs. rt.cpan.org #44639 (Sartak)
+
+ * Moose::Meta::Role::Application::ToClass
+ - Revert the class-overrides-role warning in favor of a solution outside
+ of the Moose core (Sartak)
+
+ * Tests
+ - Make Test::Output optional again, since it's only used in a few files
+ (Sartak)
+
+0.75_01 Thu, April 23, 2009
+ * Moose::Meta::Role::Application::ToClass
+ - Moose now warns about each class overriding methods from roles it
+ consumes (Sartak)
+
+ * Tests
+ - Warnings tests have standardized on Test::Output which is now an
+ unconditionally dependency (Sartak)
+
+ * Moose::Meta::Class
+ - Changes to immutabilization to work with Class::MOP 0.82_01+.
+
+0.75 Mon, April 20, 2009
+ * Moose
+ * Moose::Meta::Class
+ - Move validation of not inheriting from roles from Moose::extends to
+ Moose::Meta::Class::superclasses (doy)
+
+ * Moose::Util
+ - add ensure_all_roles() function to encapsulate the common "apply this
+ role unless the object already does it" pattern (hdp)
+
+ * Moose::Exporter
+ - Users can now select a different metaclass with the "-metaclass"
+ option to import, for classes and roles (Sartak)
+
+ * Moose::Meta::Role
+ - Make method_metaclass an attr so that it can accept a metarole
+ application. (jdv)
+
+0.74 Tue, April 7, 2009
+ * Moose::Meta::Role
+ * Moose::Meta::Method::Destructor
+ - Include stack traces in the deprecation warnings.
+ (Florian Ragwitz)
+
+ * Moose::Meta::Class
+ - Removed the long-deprecated _apply_all_roles method.
+
+ * Moose::Meta::TypeConstraint
+ - Removed the long-deprecated union method.
+
+
+0.73_02 Mon, April 6, 2009
+ * More deprecations and renamings
+ - Moose::Meta::Method::Constructor
+ - initialize_body => _initialize_body (this is always called
+ when an object is constructed)
+
+ * Moose::Object
+ - The DEMOLISHALL method could throw an exception during global
+ destruction, meaning that your class's DEMOLISH methods would
+ not be properly called. Reported by t0m.
+
+ * Moose::Meta::Method::Destructor
+ - Destructor inlining was totally broken by the change to the
+ is_needed method in 0.72_01. Now there is a test for this
+ feature, and it works again.
+
+ * Moose::Util
+ - Bold the word 'not' in the POD for find_meta (t0m)
+
+0.73_01 Sun, April 5, 2009
+ * Moose::*
+ - Call user_class->meta in fewer places, with the eventual goal
+ of allowing the user to rename or exclude ->meta
+ altogether. Instead uses Class::MOP::class_of. (Sartak)
+
+ * Moose::Meta::Method::Accessor
+ - If an attribute had a lazy default, and that value did not
+ pass the attribute's type constraint, it did not get the
+ message from the type constraint, instead using a generic
+ message. Test provided by perigrin.
+
+ * Moose::Util::TypeConstraints
+ - Add duck_type keyword. It's sugar over making sure an object
+ can() a list of methods. This is easier than jrockway's
+ suggestion to fork all of CPAN. (perigrin)
+ - add tests and documentation (perigrin)
+
+ * Moose
+ - Document the fact that init_meta() returns the target class's
+ metaclass object. (hdp)
+
+ * Moose::Cookbook::Extending::Recipe1
+ * Moose::Cookbook::Extending::Recipe2
+ * Moose::Cookbook::Extending::Recipe3
+ * Moose::Cookbook::Extending::Recipe4
+ - Make init_meta() examples explicitly return the metaclass and
+ point out this fact. (hdp)
+
+ * Moose::Cookbook::Basics::Recipe12
+ - A new recipe, creating a custom meta-method class.
+
+ * Moose::Cookbook::Meta::Recipe6
+ - A new recipe, creating a custom meta-method class.
+
+ * Moose::Meta::Class
+ * Moose::Meta::Method::Constructor
+ - Attribute triggers no longer receive the meta-attribute object
+ as an argument in any circumstance. Previously, triggers
+ called during instance construction were passed the
+ meta-attribute, but triggers called by normal accessors were
+ not. Fixes RT#44429, reported by Mark Swayne. (hdp)
+
+ * Moose::Manual::Attributes
+ - Remove references to triggers receving the meta-attribute object as an
+ argument. (hdp)
+
+ * Moose::Cookbook::FAQ
+ - Remove recommendation for deprecated Moose::Policy and
+ Moose::Policy::FollowPBP; recommend MooseX::FollowPBP
+ instead. (hdp)
+
+ * Many methods have been renamed with a leading underscore, and a
+ few have been deprecated entirely. The methods with a leading
+ underscore are consider "internals only". People writing
+ subclasses or extensions to Moose should feel free to override
+ them, but they are not for "public" use.
+
+ - Moose::Meta::Class
+ - check_metaclass_compatibility => _check_metaclass_compatibility
+
+ - Moose::Meta::Method::Accessor
+ - initialize_body => _initialize_body (this is always called
+ when an object is constructed)
+ - /(generate_.*_method(?:_inline)?)/ => '_' . $1
+
+ - Moose::Meta::Method::Constructor
+ - initialize_body => _initialize_body (this is always called
+ when an object is constructed)
+ - /(generate_constructor_method(?:_inline)?)/ => '_' . $1
+ - attributes => _attributes (now inherited from parent)
+ - meta_instance => _meta_instance (now inherited from parent)
+
+ - Moose::Meta::Role
+ - alias_method is deprecated. Use add_method
+
+0.73 Fri, March 29, 2009
+ * No changes from 0.72_01.
+
+0.72_01 Thu, March 26, 2009
+ * Everything
+ - Almost every module has complete API documentation. A few
+ methods (and even whole classes) have been intentionally
+ excluded pending some rethinking of their APIs.
-0.73
* Moose::Util::TypeConstraints
- Calling subtype with a name as the only argument is now an
exception. If you want an anonymous subtype do:
* Moose::Exporter
- When wrapping a function with a prototype, Moose::Exporter now
makes sure the wrapped function still has the same
- prototype. Patch by Daisuke Maki.
+ prototype. (Daisuke Maki)
+
+ * Moose::Meta::Attribute
+ - Allow a subclass to set lazy_build for an inherited
+ attribute. (hdp)
+
+ * Makefile.PL
+ - Explicitly depend on Data::OptList. We already had this dependency
+ via Sub::Exporter, but since we're using it directly we're
+ better off with it listed. (Sartak)
+
+ * Moose::Meta::Method::Constructor
+ - Make it easier to subclass the inlining behaviour. (Ash
+ Berlin)
+
+ * Moose::Manual::Delta
+ - Details significant changes in the history of Moose, along
+ with recommended workarounds.
+
+ * Moose::Manual::Contributing
+ - Contributor's guide to Moose.
+
+ * Moose::Meta::Method::Constructor
+ - The long-deprecated intialize_body method has been removed
+ (yes, spelled like that).
+
+ * Moose::Meta::Method::Destructor
+ - This is_needed method is now always a class method.
+
+ * Moose::Meta::Class
+ - Changes to the internals of how make_immutable works to match
+ changes in latest Class::MOP.
0.72 Mon, February 23, 2009
* Moose::Object
* Moose::Util::TypeConstraints
- Added the RoleName type (stevan)
- added tests for this (stevan)
-
+
* Moose::Cookbook::Basics::Recipe3
- Updated the before qw[left right] sub to be a little more
defensive about what it accepts (stevan)
- Some tests tried to use Test::Warn 0.10, which had bugs. Now
they require 0.11. (Dave Rolsky)
- * Documentation
+ * Documentation
- Lots of small changes to the manual, cookbook, and
elsewhere. These were based on feedback from various
users, too many to list here. (Dave Rolsky)
- Passing "-traits" when loading Moose caused the Moose.pm
exports to be broken. Reported by t0m. (Dave Rolsky)
- Tests for this bug. (t0m)
-
+
* Moose::Util
- Change resolve_metaclass alias to use the new
load_first_existing_class function. This makes it a lot
them, but MooseX modules can create them in some other
way. See the 0.58 changes for more details. (jnapiorkowski)
- Changed the way subtypes are created so that the job is
- delegated to a type constraint parent. This clears up some
+ delegated to a type constraint parent. This clears up some
hardcoded checking and should allow correct subtypes of
Moose::Meta::Type::Constraint. Don't rely on this new API too
much (create_child_type) because it may go away in the
* Moose::Meta::TypeConstraint::Union
- Type constraint names are sorted as strings, not numbers.
(jnapiorkowski)
-
+
* Moose::Meta::TypeConstraint::Parameterizable
- New parameterize method. This can be used as a factory method
to make a new type constraint with a given parameterized
0.59 Tue October 14, 2008
* Moose
- Add abridged documentation for builder/default/initializer/
- predicate, and link to more details sections in
+ predicate, and link to more details sections in
Class::MOP::Attribute. (t0m)
* Moose::Util::TypeConstraints
* Moose::Meta::TypeConstraint::Parameterizable
- Added a new method 'parameterize' which is basically a factory
- for the containing constraint. This makes it easier to create
+ for the containing constraint. This makes it easier to create
new types of parameterized constraints. (jnapiorkowski)
* Moose::Meta::TypeConstraint::Union
all whitespace differences. (jnapiorkowski)
- Changed the way we parse type constraint strings so that we now
match TC[Int,Int,...] and TC[name=>Str] as parameterized type
- constraints. This lays the foundation for more flexible type
+ constraints. This lays the foundation for more flexible type
constraint implementations.
* Tests and docs for all the above. (jnapiorkowski)
- explicitly require Perl 5.8.0+ (Dave Rolsky)
* Moose::Util::TypeConstraints
- - Fix warnings from find_type_constraint if the type is not
+ - Fix warnings from find_type_constraint if the type is not
found (t0m).
-
+
* Moose::Meta::TypeConstraint
- Predicate methods (equals/is_a_type_of/is_subtype_of) now
return false if the type you specify cannot be found in the
type registry, rather than throwing an unhelpful and
coincidental exception. (t0m).
- added docs & test for this (t0m)
-
+
* Moose::Meta::TypeConstraint::Registry
- add_type_constraint now throws an exception if a parameter is
not supplied (t0m).
method when that method was provided by another role being
composed at the same time. (Dave Rolsky)
- test and bug finding (tokuhirom)
-
+
0.55_01 Wed August 20, 2008
!! Calling Moose::init_meta as a function is now !!
0.54 Thurs. July 3, 2008
... this is not my day today ...
-
+
* Moose::Meta::Attribute
- - fixed legal_options_for_inheritance such that
- clone_and_inherit options still works for
- Class::MOP::Attribute objects and therefore
+ - fixed legal_options_for_inheritance such that
+ clone_and_inherit options still works for
+ Class::MOP::Attribute objects and therefore
does not break MooseX::AttributeHelpers
(stevan)
0.53 Thurs. July 3, 2008
- * Whoops, I guess I should run 'make manifest' before
- actually releasing the module. No actual changes
+ * Whoops, I guess I should run 'make manifest' before
+ actually releasing the module. No actual changes
in this release, except the fact that it includes
- the changes that I didn't include in the last
+ the changes that I didn't include in the last
release. (stevan--)
0.52 Thurs. July 3, 2008
* Moose
- added "FEATURE REQUESTS" section to the Moose docs
to properly direct people (stevan) (RT #34333)
- - making 'extends' croak if it is passed a Role since
- this is not ever something you want to do
+ - making 'extends' croak if it is passed a Role since
+ this is not ever something you want to do
(fixed by stevan, found by obra)
- added tests for this (stevan)
* Moose::Object
- - adding support for DOES (as in UNIVERSAL::DOES)
+ - adding support for DOES (as in UNIVERSAL::DOES)
(nothingmuch)
- added test for this
- added tests for this (wreis)
* Moose::Cookbook::Snacks::*
- - removed some of the unfinished snacks that should
+ - removed some of the unfinished snacks that should
not have been released yet. Added some more examples
to the 'Keywords' snack. (stevan)
* Moose::Cookbook::Style
- - added general Moose "style guide" of sorts to the
+ - added general Moose "style guide" of sorts to the
cookbook (nothingmuch) (RT #34335)
* t/
!! faster with new Class::MOP 0.59 !!
* Moose::Meta::Attribute
- - fixed how the is => (ro|rw) works with
+ - fixed how the is => (ro|rw) works with
custom defined reader, writer and accessor
- options.
+ options.
- added docs for this (TODO).
- added tests for this (Thanks to Penfold)
- added the custom attribute alias for regular
Moose::Meta::Role
Moose::Meta::Role::Composite
Moose::Util::TypeConstraints
- - switched usage of reftype to ref because
+ - switched usage of reftype to ref because
it is much faster
-
+
* Moose::Meta::Role
- changing add_package_symbol to use the new
HASH ref form
-
+
* Moose::Object
- - fixed how DEMOLISHALL is called so that it
+ - fixed how DEMOLISHALL is called so that it
can be overrided in subclasses (thanks to Sartak)
- added test for this (thanks to Sartak)
0.47 Thurs. May 29, 2008
(late night release engineering)--
- - fixing the version is META.yml, no functional
+ - fixing the version is META.yml, no functional
changes in this release
0.46 Wed. May 28, 2008
* Moose::Meta::Class
- some optimizations of the &initialize method
- since it is called so often by &meta
-
+ since it is called so often by &meta
+
* Moose::Meta::Class
Moose::Meta::Role
- - now use the get_all_package_symbols from the
- updated Class::MOP, test suite is now 10 seconds
+ - now use the get_all_package_symbols from the
+ updated Class::MOP, test suite is now 10 seconds
faster
-
+
* Moose::Meta::Method::Destructor
- - is_needed can now also be called as a class
- method for immutablization to check if the
- destructor object even needs to be created
+ - is_needed can now also be called as a class
+ method for immutablization to check if the
+ destructor object even needs to be created
at all
-
+
* Moose::Meta::Method::Destructor
Moose::Meta::Method::Constructor
- - added more descriptive error message to help
+ - added more descriptive error message to help
keep people from wasting time tracking an error
that is easily fixed by upgrading.
0.45 Saturday, May 24, 2008
* Moose
- - Because of work in Class::MOP 0.57, all
+ - Because of work in Class::MOP 0.57, all
XS based functionality is now optional
and a Pure Perl version is supplied
- the CLASS_MOP_NO_XS environment variable
- can now be used to force non-XS versions
- to always be used
+ can now be used to force non-XS versions
+ to always be used
- several of the packages have been tweaked
to take care of this, mostly we added
- support for the package_name and name
+ support for the package_name and name
variables in all the Method metaclasses
- - before/around/after method modifiers now
+ - before/around/after method modifiers now
support regexp matching of names
(thanks to Takatoshi Kitano)
- tests added for this
- - NOTE: this only works for classes, it
- is currently not supported in roles,
+ - NOTE: this only works for classes, it
+ is currently not supported in roles,
but, ... patches welcome
- All usage of Carp::confess have been replaced
by Carp::croak in the "keyword" functions since
the stack trace is usually not helpful
-
+
* Moose::Role
- All usage of Carp::confess have been replaced
by Carp::croak in the "keyword" functions since
- the stack trace is usually not helpful
- - The 'has' keyword for roles now accepts the
- same array ref form that Moose.pm does
+ the stack trace is usually not helpful
+ - The 'has' keyword for roles now accepts the
+ same array ref form that Moose.pm does
(has [qw/foo bar/] => (is => 'rw', ...))
- added test for this
-
+
* Moose::Meta::Attribute
- trigger on a ro-attribute is no longer an
error, as it's useful to trigger off of the
constructor
* Moose::Meta::Class
- - added same 'add_package_symbol' fix as in
+ - added same 'add_package_symbol' fix as in
Class::MOP 0.57
* Moose::Util
- - does_role now handles non-Moose classes
+ - does_role now handles non-Moose classes
more gracefully
- added tests for this
- - added the 'add_method_modifier' function
+ - added the 'add_method_modifier' function
(thanks to Takatoshi Kitano)
* Moose::Util::TypeConstraints
- - subtypes of parameterizable types now are
+ - subtypes of parameterizable types now are
themselves parameterizable types
* Moose::Meta::Method::Constructor
- - fixed bug where trigger was not being
- called by the inlined immutable
- constructors
+ - fixed bug where trigger was not being
+ called by the inlined immutable
+ constructors
- added test for this (thanks to Caelum)
-
+
* Moose::Meta::Role::Application::ToInstance
- now uses the metaclass of the instance
(if possible) to create the anon-class
(thanks Jonathan Rockway)
-
+
* Moose::Cookbook::Recipe22
- added the meta-attribute trait recipe
(thanks to Sartak)
-
+
* t/
- - fixed hash-ordering test bug that was
+ - fixed hash-ordering test bug that was
causing occasional cpantester failures
- - renamed the t/000_recipe/*.t tests to be
- more descriptive (thanks to Sartak)
+ - renamed the t/000_recipe/*.t tests to be
+ more descriptive (thanks to Sartak)
0.44 Sat. May 10, 2008
* Moose
- - made make_immutable warning cluck to
+ - made make_immutable warning cluck to
show where the error is (thanks mst)
-
+
* Moose::Object
- - BUILDALL and DEMOLISHALL now call
- ->body when looping through the
+ - BUILDALL and DEMOLISHALL now call
+ ->body when looping through the
methods, to avoid the overloaded
method call.
- fixed issue where DEMOLISHALL was
- eating the $@ values, and so not
+ eating the $@ values, and so not
working correctly, it still kind of
- eats them, but so does vanilla perl
+ eats them, but so does vanilla perl
- added tests for this
-
+
* Moose::Cookbook::Recipe7
- - added new recipe for immutable
+ - added new recipe for immutable
functionality (thanks Dave Rolsky)
-
+
* Moose::Cookbook::Recipe9
- - added new recipe for builder and
+ - added new recipe for builder and
lazy_build (thanks Dave Rolsky)
-
+
* Moose::Cookbook::Recipe11
- - added new recipe for method aliasing
+ - added new recipe for method aliasing
and exclusion with Roles (thanks Dave Rolsky)
* t/
- fixed Win32 test failure (thanks spicyjack)
- ~ removed Build.PL and Module::Build compat
+ ~ removed Build.PL and Module::Build compat
since Module::Install has done that.
0.43 Wed. April, 30, 2008
* NOTE TO SELF:
- drink more coffee before
+ drink more coffee before
doing release engineering
-
- - whoops, forgot to do the smolder tests,
+
+ - whoops, forgot to do the smolder tests,
and we broke some of the custom meta-attr
modules. This fixes that.
0.42 Mon. April 28, 2008
- - some bad tests slipped by, nothing else
+ - some bad tests slipped by, nothing else
changed in this release (cpantesters++)
-
- - upped the Class::MOP dependency to 0.55
- since we have tests which need the C3
+
+ - upped the Class::MOP dependency to 0.55
+ since we have tests which need the C3
support
0.41 Mon. April 28, 2008
~~ numerous documentation updates ~~
-
+
- Changed all usage of die to Carp::croak for better
error reporting (initial patch by Tod Hagan)
any method/@ISA cache penalty (nothingmuch)
* Moose::Meta::Class
- - fixing &new_object to make sure trigger gets the
- coerced value (spotted by Charles Alderman on the
+ - fixing &new_object to make sure trigger gets the
+ coerced value (spotted by Charles Alderman on the
mailing list)
- added test for this
found by Jesse Luehrs, fixed by Dave Rolsky)
- added tests for this (Dave Rolsky)
- fix typo in initialize_body method (nothingmuch)
-
+
* Moose::Meta::Method::Destructor
- fix typo in initialize_body method (nothingmuch)
* Moose::Meta::Method::Overriden
Moose::Meta::Method::Augmented
- - moved the logic for these into their own
+ - moved the logic for these into their own
classes (nothingmuch)
* Moose::Meta::Attribute
- - inherited attributes may now be extended without
+ - inherited attributes may now be extended without
restriction on the type ('isa', 'does') (Sartak)
- added tests for this (Sartak)
- - when an attribute property is malformed (such as lazy without
- a default), give the name of the attribute in the error
+ - when an attribute property is malformed (such as lazy without
+ a default), give the name of the attribute in the error
message (Sartak)
- - added the &applied_traits and &has_applied_traits methods
+ - added the &applied_traits and &has_applied_traits methods
to allow introspection of traits
- added tests for this
- moved 'trait' and 'metaclass' argument handling to here from
- clone_and_inherit_options now handles 'trait' and 'metaclass' (has
'+foo' syntax) (nothingmuch)
- added tests for this (t0m)
-
- * Moose::Object
- - localize $@ inside DEMOLISHALL to avoid it
+
+ * Moose::Object
+ - localize $@ inside DEMOLISHALL to avoid it
eating $@ (found by Ernesto)
- added test for this (thanks to Ernesto)
* Moose::Util::TypeConstraints
- - &find_type_constraint now DWIMs when given an
+ - &find_type_constraint now DWIMs when given an
type constraint object or name (nothingmuch)
- &find_or_create_type_constraint superseded with a number of more
specific functions:
Moose::Meta::TypeConstraint::Enum
Moose::Meta::TypeConstraint::Union
Moose::Meta::TypeConstraint::Parameterized
- - added the &equals method for comparing two type
+ - added the &equals method for comparing two type
constraints (nothingmuch)
- added tests for this (nothingmuch)
* Moose::Meta::TypeConstraint
- - add the &parents method, which is just an alias to &parent.
+ - add the &parents method, which is just an alias to &parent.
Useful for polymorphism with TC::{Class,Role,Union} (nothingmuch)
* Moose::Meta::TypeConstraint::Class
- added the class attribute for introspection purposes
(nothingmuch)
- added tests for this
-
+
* Moose::Meta::TypeConstraint::Enum
Moose::Meta::TypeConstraint::Role
- broke these out into their own classes (nothingmuch)
0.39 Fri. March 14, 2008
* Moose
- - documenting the use of '+name' with attributes
+ - documenting the use of '+name' with attributes
that come from recently composed roles. It makes
- sense, people are using it, and so why not just
+ sense, people are using it, and so why not just
officially support it.
- - fixing the 'extends' keyword so that it will not
+ - fixing the 'extends' keyword so that it will not
trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763)
-
+
* oose
- - added the perl -Moose=+Class::Name feature to allow
+ - added the perl -Moose=+Class::Name feature to allow
monkeypatching of classes in one liners
-
+
* Moose::Util
- - fixing the 'apply_all_roles' keyword so that it will not
- trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763)
-
+ - fixing the 'apply_all_roles' keyword so that it will not
+ trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763)
+
* Moose::Meta::Class
- added ->create method which now supports roles (thanks to jrockway)
- added tests for this
- - added ->create_anon_class which now supports roles and caching of
+ - added ->create_anon_class which now supports roles and caching of
the results (thanks to jrockway)
- added tests for this
- made ->does_role a little more forgiving when it is
checking a Class::MOP era metaclasses.
-
+
* Moose::Meta::Role::Application::ToInstance
- - it is now possible to pass extra params to be used when
+ - it is now possible to pass extra params to be used when
a role is applied to an the instance (rebless_params)
- added tests for this
-
+
* Moose::Util::TypeConstraints
- class_type now accepts an optional second argument for a
custom message. POD anotated accordingly (groditi)
- - added tests for this
- - it is now possible to make anon-enums by passing 'enum' an
- ARRAY ref instead of the $name => @values. Everything else
+ - added tests for this
+ - it is now possible to make anon-enums by passing 'enum' an
+ ARRAY ref instead of the $name => @values. Everything else
works as before.
- added tests for this
-
+
* t/
- - making test for using '+name' on attributes consumed
- from a role, it works and makes sense too.
+ - making test for using '+name' on attributes consumed
+ from a role, it works and makes sense too.
- * Moose::Meta::Attribute
- - fix handles so that it doesn't return nothing
- when the method cannot be found, not sure why
+ * Moose::Meta::Attribute
+ - fix handles so that it doesn't return nothing
+ when the method cannot be found, not sure why
it ever did this originally, this means we now
- have slightly better support for AUTOLOADed
+ have slightly better support for AUTOLOADed
objects
- added more delegation tests
- - adding ->does method to this so as to better
+ - adding ->does method to this so as to better
support traits and their introspection.
- added tests for this
-
+
* Moose::Object
- - localizing the Data::Dumper configurations so
+ - localizing the Data::Dumper configurations so
that it does not pollute others (RT #33509)
- made ->does a little more forgiving when it is
passed Class::MOP era metaclasses.
0.38 Fri. Feb. 15, 2008
- * Moose::Meta::Attribute
- - fixed initializer to correctly do
- type checking and coercion in the
- callback
+ * Moose::Meta::Attribute
+ - fixed initializer to correctly do
+ type checking and coercion in the
+ callback
- added tests for this
* t/
0.37 Thurs. Feb. 14, 2008
* Moose
- - fixed some details in Moose::init_meta
+ - fixed some details in Moose::init_meta
and its superclass handling (thanks thepler)
- added tests for this (thanks thepler)
- - 'has' now dies if you don't pass in name
+ - 'has' now dies if you don't pass in name
value pairs
- added the 'make_immutable' keyword as a shortcut
to make_immutable
* Moose::Meta::Class
Moose::Meta::Method::Constructor
- Moose::Meta::Attribute
+ Moose::Meta::Attribute
- making (init_arg => undef) work here too
(thanks to nothingmuch)
-
- * Moose::Meta::Attribute
+
+ * Moose::Meta::Attribute
Moose::Meta::Method::Constructor
- Moose::Meta::Method::Accessor
+ Moose::Meta::Method::Accessor
- make lazy attributes respect attr initializers (rjbs)
- added tests for this
-
+
* Moose::Util::TypeConstraints
Moose::Util::TypeConstraints::OptimizedConstraints
Moose::Meta::TypeConstraints
Moose::Meta::Attribute
Moose::Meta::Method::Constructor
- Moose::Meta::Method::Accessor
- - making type errors use the
+ Moose::Meta::Method::Accessor
+ - making type errors use the
assigned message (thanks to Sartak)
- added tests for this
* Moose::Meta::Method::Destructor
- - making sure DESTROY gets inlined properly
+ - making sure DESTROY gets inlined properly
with successive DEMOLISH calls (thanks to manito)
- * Moose::Meta::Attribute
- Moose::Meta::Method::Accessor
- - fixed handling of undef with type constraints
- (thanks to Ernesto)
+ * Moose::Meta::Attribute
+ Moose::Meta::Method::Accessor
+ - fixed handling of undef with type constraints
+ (thanks to Ernesto)
- added tests for this
-
+
* Moose::Util
- - added &get_all_init_args and &get_all_attribute_values
+ - added &get_all_init_args and &get_all_attribute_values
(thanks to Sartak and nothingmuch)
0.36 Sat. Jan. 26, 2008
* Moose::Role
Moose::Meta::Attribute
- - role type tests now support when roles are
+ - role type tests now support when roles are
applied to non-Moose classes (found by ash)
- added tests for this (thanks to ash)
- couple extra tests to boost code coverage
- * Moose::Meta::Method::Constructor
+ * Moose::Meta::Method::Constructor
- improved fix for handling Class::MOP attributes
- - added test for this
-
+ - added test for this
+
* Moose::Meta::Class
- handled the add_attribute($attribute_meta_object)
case correctly
0.35 Tues. Jan. 22, 2008
* Moose::Meta::Method::Constructor
- - fix to make sure even Class::MOP attributes
+ - fix to make sure even Class::MOP attributes
are handled correctly (Thanks to Dave Rolsky)
- added test for this (also Dave Rolsky)
-
+
* Moose::Meta::Class
- - improved error message on _apply_all_roles,
+ - improved error message on _apply_all_roles,
you should now use Moose::Util::apply_all_roles
and you shouldnt have been using a _ prefixed
method in the first place ;)
Moose is now a postmodern object system :)
- (see the POD for details)
-
- * <<Role System Refactoring>>
- - this release contains a major reworking and
- cleanup of the role system
+
+ * <<Role System Refactoring>>
+ - this release contains a major reworking and
+ cleanup of the role system
- 100% backwards compat.
- Role application now restructured into seperate
classes based on type of applicants
- Role summation (combining of more than one role)
- is much cleaner and anon-classes are no longer
+ is much cleaner and anon-classes are no longer
used in this process
- - new Composite role metaclass
+ - new Composite role metaclass
- runtime application of roles to instances
is now more efficient and re-uses generated
classes when applicable
-
+
* <<New Role composition features>>
- - methods can now be excluded from a given role
+ - methods can now be excluded from a given role
during composition
- - methods can now be aliased to another name (and
- still retain the original as well)
-
+ - methods can now be aliased to another name (and
+ still retain the original as well)
+
* Moose::Util::TypeConstraints::OptimizedConstraints
- added this module (see above)
* Moose::Meta::Method::Accessor
Moose::Meta::Method::Constructor
Moose::Meta::Attribute
- Moose::Meta::TypeConstraint
- Moose::Meta::TypeCoercion
- - lots of cleanup of such things as:
+ Moose::Meta::TypeConstraint
+ Moose::Meta::TypeCoercion
+ - lots of cleanup of such things as:
- generated methods
- type constraint handling
- - error handling/messages
- (thanks to nothingmuch)
-
+ - error handling/messages
+ (thanks to nothingmuch)
+
* Moose::Meta::TypeConstraint::Parameterizable
- - added this module to support the refactor
+ - added this module to support the refactor
in Moose::Meta::TypeConstraint::Parameterized
* Moose::Meta::TypeConstraint::Parameterized
- - refactored how these types are handled so they
+ - refactored how these types are handled so they
are more generic and not confined to ArrayRef
and HashRef only