X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=eeae12e4f1ff899c9c121967ffbfb841bc56f47f;hb=b894592117fa84ebc49754ad5695d4b78d136a27;hp=2afed48c687fed517cb1c15e889d6fb19356812c;hpb=da5db96689e8fe8b28908618d59bdd4e584f14b6;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 2afed48..eeae12e 100644 --- a/Changes +++ b/Changes @@ -1,8 +1,135 @@ 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) + - added test for this + * 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) + - begin implementing anonymous roles (Sartak) + * Moose::Role + - more consistent error messages (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 @@ -14,11 +141,50 @@ Revision history for Perl extension Moose 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 @@ -29,14 +195,40 @@ Revision history for Perl extension Moose 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 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 behaves like C, so + the behavior is not visibly different for end users. 0.57 Wed September 3, 2008 * Moose::Intro