Revision history for Perl extension Moose
-0.5x
+0.62
+ * Moose::Meta::Role::Application::ToClass
+ Moose::Meta::Role::Application::ToRole
+ - fixed issues where excluding and aliasing the
+ same methods for a single role did not work
+ right (worked just fine with multiple
+ roles) (stevan)
+ - added test for this (stevan)
+ * Moose::Meta::Role::Application::RoleSummation
+ - fixed the error message when trying to compose
+ a role with a role it excludes (Sartak)
+ * Moose::Exporter
+ - Catch another case where recursion caused the value
+ of $CALLER to be stamped on (t0m)
+ - added test for this (t0m)
+ * Moose
+ - Remove the make_immutable keyword, which has been
+ deprecated since April. It breaks metaclasses that
+ use Moose without no Moose (Sartak)
+ * Moose::Meta::Role
+ - create method for constructing a role
+ dynamically (Sartak)
+ - added test for this (Sartak)
+ - anonymous roles! (Sartak)
+ - added test for this (Sartak)
+ * Moose::Role
+ - more consistent error messages (Sartak)
+ * Moose::Cookbook::Roles::Recipe1
+ - attempt to explain why a role that just requires
+ methods is useful (Sartak)
+
+0.61 Fri November 7, 2008
+ * Moose::Meta::Attribute
+ - When passing a role to handles, it will be loaded if necessary
+ (perigrin)
+
+ * Moose::Meta::Class
+ - Method objects returned by get_method (and other methods)
+ Could end up being returned without an associated_metaclass
+ attribute. Removing get_method_map, which is provided by
+ Class::MOP::Class, fixed this. The Moose version did nothing
+ different from its parent except introduce a bug. (Dave Rolsky)
+ - added tests for this (jdv79)
+
+ * Various
+ - Added a $VERSION to all .pm files which didn't have one. Fixes
+ RT #40049, reported by Adam Kennedy. (Dave Rolsky)
+
+ * Moose::Cookbook::Basics::Recipe4
+ * Moose::Cookbook::Basics::Recipe6
+ - These files had spaces on the first line of the SYNOPSIS, as
+ opposed to a totally empty line. According to RT #40432, this
+ confuses POD parsers. (Dave Rolsky)
+
+0.60 Fri October 24, 2008
+ * Moose::Exporter
+ - 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
+ simpler, and also around 5 times faster. (t0m)
+ - Add caching to resolve_metaclass_alias, which gives an order
+ of magnitude speedup to things which repeatedly call the
+ Moose::Meta::Attribute->does method, notably MooseX::Storage
+ (t0m)
+
+ * Moose::Util::TypeConstraint
+ - Put back the changes for parameterized constraints that
+ shouldn't have been removed in 0.59. We still cannot parse
+ 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
+ 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
+ future. (jnapiorkowski)
+
+ * 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
+ type. (jnapiorkowski)
+ - added tests (jnapiorkowski)
+
+0.59 Tue October 14, 2008
+ * Moose
+ - Add abridged documentation for builder/default/initializer/
+ predicate, and link to more details sections in
+ Class::MOP::Attribute. (t0m)
+
+ * Moose::Util::TypeConstraints
+ - removed prototypes from all but the &-based stuff (mst)
+
+ * Moose::Util::TypeConstraints
+ - Creating a anonymous subtype with both a constraint and a
+ message failed with a very unhelpful error, but should just
+ work. Reported by t0m. (Dave Rolsky)
+
+ * Tests
+ - Some tests that used Test::Warn if it was available failed
+ with older versions of Test::Warn. Reported by Fayland. (Dave
+ Rolsky)
+ - Test firing behavior of triggers in relation to builder/default/
+ lazy_build. (t0m)
+ - Test behavior of equals/is_a_type_of/is_a_subtype_of for all
+ kinds of supported type. (t0m)
+
+ * Moose::Meta::Class
+ - In create(), do not pass "roles" option to the superclass
+ - added related test that creates an anon metaclass with
+ a required attribute
+
+ * Moose::Meta::TypeConstraint::Class
+ * Moose::Meta::TypeConstraint::Role
+ - Unify behavior of equals/is_a_type_of/is_a_subtype_of with
+ other types (as per change in 0.55_02). (t0m)
+
+ * Moose::Meta::TypeConstraint::Registry
+ - Fix warning when dealing with unknown type names (t0m)
+
+ * Moose::Util::TypeConstraints
+ - Reverted changes from 0.58 related to handle parameterized
+ types. This caused random failures on BSD and Win32 systems,
+ apparently related to the regex engine. This means that Moose
+ can no longer parse structured type constraints like
+ ArrayRef[Int,Int] or HashRef[name=>Str]. This will be
+ supported in a slightly different way via MooseX::Types some
+ time in the future. (Dave Rolsky)
+
+0.58 Sat September 20, 2008
!! This release has an incompatible change regarding !!
- how roles add methods to a class !!
+ !! how roles add methods to a class !!
* Roles and role application
! Roles now add methods by calling add_method, not
This means that methods added by a role now show up when
looking at a class's method list/map. (Dave Rolsky)
+ * Makefile.PL
+ - From this release on, we'll try to maintain a list of
+ conflicting modules, and warn you if you have one
+ installed. For example, this release conflicts with ...
+ - MooseX::Singleton <= 0.11
+ - MooseX::Params::Validate <= 0.05
+ - Fey::ORM <= 0.10
+
+ In general, we try to not break backwards compatibility for
+ most Moose users, but MooseX modules and other code which
+ extends Moose's metaclasses is often affected by very small
+ changes in the Moose internals.
+
* Moose::Meta::Method::Delegation
* Moose::Meta::Attribute
- Delegation methods now have their own method class. (Dave
Rolsky)
+ * Moose::Meta::TypeConstraint::Parameterizable
+ - Added a new method 'parameterize' which is basically a factory
+ for the containing constraint. This makes it easier to create
+ new types of parameterized constraints. (jnapiorkowski)
+
+ * Moose::Meta::TypeConstraint::Union
+ - Changed the way Union types canonicalize their names to follow
+ the normalized TC naming rules, which means we strip all
+ whitespace. (jnapiorkowski)
+
+ * Moose::Util::TypeConstraints
+ - Parameter and Union args are now sorted, this makes Int|Str
+ the same constraint as Str|Int. (jnapiorkowski)
+ - Changes to the way Union types are parsed to more correctly
+ stringify their names. (jnapiorkowski)
+ - When creating a parameterized type, we now use the new
+ parameterize method. (jnapiorkowski)
+ - Incoming type constraint strings are now normalized to remove
+ 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
+ constraint implementations.
+
+ * Tests and docs for all the above. (jnapiorkowski)
+
* Moose::Exporter
* Moose
- Moose::Exporter will no longer remove a subroutine that the
always keep them. (Dave Rolsky)
- added tests for this (rafl)
- * Moose::Meta::Class
- - Changes to how we fix metaclass compatibility that are much
- too complicated to go into. The summary is that Moose is much
- less likely to complain about metaclass incompatibility
- now. In particular, if two metaclasses differ because
- Moose::Util::MetaRole was used on the two corresponding
- classes, then the difference in roles is reconciled for the
- subclass's metaclass. (Dave Rolsky)
+ * Moose::Meta::Class
+ - Changes to how we fix metaclass compatibility that are much
+ too complicated to go into. The summary is that Moose is much
+ less likely to complain about metaclass incompatibility
+ now. In particular, if two metaclasses differ because
+ Moose::Util::MetaRole was used on the two corresponding
+ classes, then the difference in roles is reconciled for the
+ subclass's metaclass. (Dave Rolsky)
+ - Squashed an warning in _process_attribute (thepler)
+
+ * Moose::Meta::Role
+ - throw exceptions (sooner) for invalid attribute names (thepler)
+ - added tests for this (thepler)
+
+ * Moose::Util::MetaRole
+ - If you explicitly set a constructor or destructor class for a
+ metaclass object, and then applied roles to the metaclass,
+ that explicitly set class would be lost and replaced with the
+ default.
+
+ * Moose::Meta::Class
+ * Moose::Meta::Attribute
+ * Moose::Meta::Method
+ * Moose
+ * Moose::Object
+ * Moose::Error::Default
+ * Moose::Error::Croak
+ * Moose::Error::Confess
+ - All instances of confess() changed to use overridable
+ C<throw_error> method. This method ultimately calls a class
+ constructor, and you can change the class being called. In
+ addition, errors now pass more information than just a string.
+ The default C<error_class> behaves like C<Carp::confess>, so
+ the behavior is not visibly different for end users.
0.57 Wed September 3, 2008
* Moose::Intro