X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=7a9abc6f0e8069e773a2e99ab3ed026c516e177e;hb=fafec530033f11e06254e679be7e3910f5881095;hp=350a6c0df1b8b51a7fb5349fea0069329d72c593;hpb=6ae2afc2e3813eb361d4784be0976bc15137359b;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 350a6c0..7a9abc6 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,194 @@ Revision history for Perl extension Moose +0.59 + * 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 !! + + * Roles and role application + ! Roles now add methods by calling add_method, not + alias_method. They make sure to always provide a method + object, which will be cloned internally. This means that it is + now possible to track the source of a method provided by a + role, and even follow its history through intermediate roles. + + 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 + exporting package re-exports. Moose re-exports the + Carp::confess function, among others. The reasoning is that we + cannot know whether you have also explicitly imported those + functions for your own use, so we err on the safe side and + 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) + - 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 + - A new bit of doc intended to introduce folks familiar with + "standard" Perl 5 OO to Moose concepts. (Dave Rolsky) + + * Moose::Unsweetened + - Shows examples of two classes, each done first with and then + without Moose. This makes a nice parallel to + Moose::Intro. (Dave Rolsky) + + * Moose::Util::TypeConstraints + - Fixed a bug in find_or_parse_type_constraint so that it + accepts a Moose::Meta::TypeConstraint object as the parent + type, not just a name (jnapiorkowski) + - added tests (jnapiorkowski) + + * Moose::Exporter + - If Sub::Name was not present, unimporting failed to actually + remove some sugar subs, causing test failures (Dave Rolsky) + +0.56 Mon September 1, 2008 + For those not following the series of dev releases, there are + several major changes in this release of Moose. + ! Moose::init_meta should now be called as a method. See the + docs for details. + + - Major performance improvements by nothingmuch. + + - New modules for extension writers, Moose::Exporter and + Moose::Util::MetaRole by Dave Rolsky. + + - Lots of doc improvements and additions, especially in the + cookbook sections. + + - Various bug fixes. + + * Removed all references to the experimental-but-no-longer-needed + Moose::Meta::Role::Application::ToMetaclassInstance. + + * Require Class::MOP 0.65. + 0.55_04 Sat August 30, 2008 * Moose::Util::MetaRole * Moose::Cookbook::Extending::Recipe2 @@ -327,7 +516,7 @@ Revision history for Perl extension Moose 0.45 Saturday, May 24, 2008 * Moose - - Because of work in Class::MOP 0.56, 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 @@ -364,7 +553,7 @@ Revision history for Perl extension Moose * Moose::Meta::Class - added same 'add_package_symbol' fix as in - Class::MOP 0.56 + Class::MOP 0.57 * Moose::Util - does_role now handles non-Moose classes @@ -1181,7 +1370,7 @@ Revision history for Perl extension Moose - 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* ;) + - *cough* DBM::Deep 1.0 backwards compatibility sucks *cough* ;) 0.18 Sat. March 10, 2007 ~~ Many, many documentation updates ~~ @@ -1462,7 +1651,7 @@ Revision history for Perl extension Moose - 'with' now checks Role validaity and accepts more than one Role at a time - 'extends' makes metaclass adjustments as - needed to ensure metaclass compatability + needed to ensure metaclass compatibility * Moose::Role - refactored the keyword exports