X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=b5ed29fc5497fcbc5bf42b54b0537818ef4c35b5;hb=d6874ac69c246d951ffa65691060e835511848c4;hp=454df56b14540683e4e0b9bae00e071bf81a3e21;hpb=cfe281b850b3c133dd5d8efcfd3650b4a6bc4248;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 454df56..b5ed29f 100644 --- a/Changes +++ b/Changes @@ -1,7 +1,336 @@ Also see Moose::Manual::Delta for more details of, and workarounds for, noteworthy changes. -NEXT +{{$NEXT}} + + [NEW FEATURES] + + * Type constraints can now provide inlined versions, which should make + inlined code which uses type constraints (such as accessors) faster. + (Dave Rolsky) + + [BUG FIXES] + + * Make sure weak attributes remain weak when cloning. (doy, rafl) + +2.0006 Mon, May 09, 2011 + + [BUG FIXES] + + * Revert the List::MoreUtils version bump, as it breaks backwards + compatibility. The dependency will be bumped with Moose 2.0200. + +2.0005 Mon, May 09, 2011 + + [BUG FIXES] + + * Only sort the alias keys when determining caching. + +2.0004 Mon, May 09, 2011 + + [BUG FIXES] + + * Bump the List::MoreUtils dep to avoid buggy behavior in old versions. + + * Sort the list of roles and the alias and excludes parameters when + determining caching, since their order doesn't matter. + +2.0003 Mon, May 09, 2011 + + [BUG FIXES] + + * Applying multiple role objects (rather than role names) at once no longer + skips every other role. (rjbs) + + * Caching of anon classes now works more sanely in the presence of role + application parameters - alias and excludes options are taken into account, + and caching is disabled entirely if other parameters exist. Asking for + caching (instead of just not weakening) when parameters are given will + begin warning in Moose 2.0200. (doy, autarch) + +2.0002 Thu, Apr 28, 2011 + + [ENHANCEMENTS] + + * Provide definition context information for constructors and destructors, so + that they will show up as something other than "generated method (unknown + origin)". Also, add the package that accessors are defined in to their + definition context. + + * Use Devel::PartialDump in type constraint error messages, if it is + installed. + + [BUG FIXES] + + * Stop hiding warnings produced by throwing errors in DEMOLISH methods. + + * The 'reset' native delegation for Counter attributes will now also respect + builders (previously, it only respected defaults). + +2.0001 Fri, Apr 22, 2011 + + [ENHANCEMENTS] + + * Anonymous classes and roles now have a unified implementation in + Class::MOP::Package. This means that anonymous packages are now also + possible. (Shawn M Moore, doy) + + * Type constraints can now inline their constraint checks. This replaces the + existing hand-optimized constraint feature. + + [DEPRECATIONS] + + * Using a hand-optimized type constraint is now deprecated. In keeping with + our release policy, this won't actually start warning until the 2.0200 + release. + + [BUG FIXES] + + * No longer call XSLoader from multiple places, as this causes issues on + older perls. (doy, ribasushi) + + * Moose::Meta::Role->create now accepts the 'roles' parameter, as it was + documented to. (Chris Weyl) + + * Depend on Eval::Closure 0.04, which fixes some issues in mod_perl + environments. (doy, mateu) + +2.0000 Mon, Apr 11, 2011 + + [API CHANGES] + + * The RegexpRef type constraint now accepts regular expressions blessed into + other classes, such as those found in pluggable regexp engines. + Additionally the 'Object' constraint no longer rejects objects implemented + as a blessed regular expression. (David Leadbeater) + + [OTHER] + + * Moose::Manual::Support now explicitly states when major releases are + allowed to happen (January, April, July, or October). + +1.9906-TRIAL Mon, Apr 04, 2011 + + [OTHER] + + * Update conflicts list. + * Minor pod updates. + +1.9905-TRIAL Mon, Mar 28, 2011 + + [NEW FEATURES] + + * The Moose::Meta::Role::Attribute class now has an original_role method + which returns the role which first defined an attribute. See the docs for + details. (Dave Rolsky) + + * Moose::Util::MetaRole will make sure that the class to which you're + applying metaroles or base class roles can actually have them applied. If + not (it's not a Moose class, it has a non-Moose metaclass, etc.), then it + gives a useful error message. Previously, this would just end up dying in + the MetaRole code without a useful message. (Dave Rolsky) + + [BUG FIXES] + + * When a role had its own applied_attribute metaclass (usually from MetaRole + application), that metaclass would get lost when that role participated in + role composition. It was also lost if that role was consumed by some other + role. Both of these cases have been fixed. Attributes are always applied + with the applied_attribute metaclass of the role which originally defined + them. (Dave Rolsky) + +1.9904-TRIAL Fri, Mar 04, 2011 + + [BUG FIXES] + + * Reinitializing anonymous roles used to accidentally clear out the role's + stash in some circumstances. This is now fixed. (doy) + + * The Int type constraint now rejects integers with trailing newlines. + (Matthew Horsfall) + +1.9903-TRIAL Mon, Feb 28, 2011 + + [BUG FIXES] + + * Reverse the order that Moose::Exporter 'also' exports are dispatched. When + trying to re-export from a package that itself exported a modified set of + Moose sugar, you'd get the original Moose sugar instead of the overrides. + There are also now tests for this. (perigrin) + + * Don't initialize lazy attributes with defaults in the constructor (for + immutable classes). (mo) + + * When reinitializing meta objects for classes and roles, we failed to + preserve roles and role applications. This led to weird bugs. Many MooseX + modules end up reinitializing your class or role. (Dave Rolsky) + +1.9902-TRIAL Mon, Jan 03, 2011 + + [OTHER] + + * Fix generation of CCFLAGS. + + * Add a bit more Dist::Zilla functionality. + +1.9901-TRIAL Mon, Jan 03, 2011 + + [OTHER] + + * Fix some indexing issues. + + * Fix a few issues with the conflict checking stuff. + +1.9900-TRIAL Sat, Jan 01, 2011 + + [OTHER] + + * The entire Class::MOP distribution has been merged with Moose. In the + future, the Class::MOP code itself will be merged into Moose, and + eventually the Class::MOP namespace will disappear entirely. For the + current release, we have simply changed how Class::MOP is + distributed. (Dave Rolsky). + + * Switched to Dist::Zilla for development. However, we still have a minimal + Makefile.PL in the repository that can be used for development. (Dave + Rolsky) + + [API CHANGES] + + * Roles now have their own default attribute metaclass to use during + application to a class, rather than just using the class's + attribute_metaclass. This is also overridable via ::MetaRole, with the + applied_attribute key in the role_metaroles hashref (doy). + + * The internal code used to generate inlined methods (accessor, constructor, + etc.) has been massively rewritten. MooseX modules that do inlining will + almost certainly need to be updated as well. + + [ENHANCEMENTS] + + * We now load the roles needed for native delegations only as needed. This + speeds up the compilation time for Moose itself. (doy) + + +1.25 Fri, Apr 1, 2011 + + [BUG FIXES] + + * Reinitializing anonymous roles used to accidentally clear out the role's + stash in some circumstances. This is now fixed. (doy) (backported from + 1.9904) + + +1.24 Tue, Feb 24, 2011 + + [BUG FIXES] + + * Reverse the order that Moose::Exporter 'also' exports are dispatched. When + trying to re-export from a package that itself exported a modified set of + Moose sugar, you'd get the original Moose sugar instead of the overrides. + There are also now tests for this. (perigrin) (backported from 1.9903) + + +1.23 Sun, Feb 13, 2011 + + [PACKAGING FIX] + + * The 1.22 release had a bad MANIFEST. This has been fixed. + + +1.22 Sun, Feb 13, 2011 + + [BUG FIXES] + + * When reinitializing meta objects for classes and roles, we failed to + preserve roles and role applications. This led to weird bugs. Many MooseX + modules end up reinitializing your class or role. (Dave Rolsky) (backported + from 1.9903) + +1.21 Wed, Nov 24, 2010 + + [ENHANCEMENTS] + + * The Support manual has been updated to reflect our new major/minor version + policy. (Chris Prather) + + * The Contributing manual has been updated to reflect workflow changes based + on this new support policy. (doy) + + [BUG FIXES] + + * The role attribute metaclass did not inherit from Class::MOP::Object, + which could cause errors when trying to resolve metaclass compatibility + issues. Reported by Daniel Ruoso. (doy) + + * The lazy_build feature was accidentally removed from all the docs. Now + it's listed in Moose.pm again. (Chris Prather) + +1.20 Fri, Nov 19, 2010 + + [BUG FIXES] + + * When using native delegations, if an array or hash ref member failed a + type constraint check, Moose ended up erroring out with "Can't call method + "get_message" on unblessed reference" instead of generating a useful error + based on the failed type constraint. Reported by t0m. RT #63113. (Dave + Rolsky) + +1.19 Tue, Nov 2, 2010 + + [BUG FIXES] + + * There was still one place in the code trying to load Test::Exception + instead of Test::Fatal. (Karen Etheridge) + + +1.18 Sun, Oct 31, 2010 + + [ENHANCEMENTS] + + * Type constraint objects now have an assert_coerce method which will either + return a valid value or throw an error. (rjbs) + + * We now warn when an accessor for one attribute overwrites an accessor for + another attribute. RT #57510. (Dave Rolsky) + + [BUG FIXES] + + * The native Array and Hash delegation methods now coerce individual new + members if the _member type_ has a coercion. In other words, if the array + reference is defined as an ArrayRef[DateTime], and you've defined a + coercion from Int to DateTime, then pushing an integer via a delegation + method will coerce the integer to a DateTime object. Reported by Karen + Etheridge. RT #62351. (Dave Rolsky) + + * An attribute using native delegations did not always properly coerce and + type check a lazily set default value. (doy and Dave Rolsky) + + * Using a regexp to define delegations for a class which was not yet loaded + did not actually work, but did not explicitly fail. However, it caused an + error when the class was loaded later. Reported by Max Kanat-Alexander. RT + #60596. (Dave Rolsky) + + * Attempting to delegate to a class or role which is not yet loaded will now + throw an explicit error. (Dave Rolsky) + + * Attempting to set lazy_build in an inherited attribute was ignored. RT + #62057. (perigrin) + + [OTHER] + + * The Moose test suite now uses Test::Fatal instead of + Test::Exception. (rjbs) + +1.17 Tue, Oct 19, 2010 + + [BUG FIXES] + + * Make native delegation inlining work with instance metaclasses where slot + access is an do {} block, like Kioku. This fixes the use of native + delegations together with Kioku. (Scott, doy) + +1.16 Mon, Oct 18, 2010 [ENHANCEMENTS] @@ -13,6 +342,18 @@ NEXT what arguments each native delegation method allows or requires. (Dave Rolsky) + * Passing an odd number of args to ->new() now gives a more useful warning + than Perl's builtin warning. Suggested by Sir Robert Burbridge. (Dave + Rolsky) + + * Allow disabling stack traces by setting an environment variable. See + Moose::Error::Default for details. This feature is considered + experimental, and may change in a future release. (Marcus Ramberg) + + * The deprecation warning for using alias and excludes without a leading + dash now tells you the role being applied and what it was being applied + to. (mst). + [BUG FIXES] * A number of native trait methods which expected strings as arguments did @@ -33,16 +374,21 @@ NEXT * We now ignore all Class::MOP and Moose classes when determining what package called a deprecated feature. This should make the deprecation - warnings saner, and make it possible to turn them off more easily. + warnings saner, and make it possible to turn them off more easily. (Dave + Rolsky) - * The deprecated "default is" warning no longer happens is the attribute has - any accessor method defined (accessor, reader, writer). + * The deprecated "default is" warning no longer happens if the attribute has + any accessor method defined (accessor, reader, writer). Also, this warning + only happens when a method that was generated because of the "default is" + gets called, rather than when the attribute is defined. (Dave Rolsky) * The "default default" code for some native delegations no longer issues a - deprecation warning when the attribute is required or has a builder. + deprecation warning when the attribute is required or has a builder. (Dave + Rolsky) - * Setting a "default default" caused a fatal error if you defined a builder - for the attribute. + * Setting a "default default" caused a fatal error if you used the builder + or lazy_build options for the attribute. Reported by Kent Fredric. RT + #59613. (Dave Rolsky) 1.15 Tue, Oct 5, 2010 @@ -466,7 +812,7 @@ NEXT too. (Dave Rolsky) * Moose::Util::MetaRole::apply_metaclass_roles is now called - apply_metaroles. The old name is deprecated. Dave Rolsky> + apply_metaroles. The old name is deprecated. (Dave Rolsky) * The unimport subs created by Moose::Exporter now clean up re-exported functions like blessed and confess, unless the caller imported them from