X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=8cbf7e8f8d17d90bcf7edeb5b1ab513bef1284c2;hb=e63d6982d60339ccded3baccb23a8db049592840;hp=213e0993c7c465f49a0afe7fa81da83418a415fe;hpb=935f6776fcbd1ee502cb4096781049dd45ad75f2;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 213e099..8cbf7e8 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,161 @@ Also see Moose::Manual::Delta for more details of, and workarounds for, noteworthy changes. +NEXT + + [ENHANCEMENTS] + + * Almost every native delegation method which changes the attribute value + now has an explicitly documented return value. In general, this return + value matches what Perl would return for the same operation. (Dave Rolsky) + + * Lots of work on native delegation documentation, including documenting + 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) + + [BUG FIXES] + + * A number of native trait methods which expected strings as arguments did + not allow the empty string. This included Array->join, String->match, + String->replace, and String->substr. Reported by Whitney Jackson. RT + #61962. (Dave Rolsky) + + * 'no Moose' no longer inadvertently removes imports it didn't create + itself. RT #60013. (Florian Ragwitz, doy) + + * Roles now support passing an array reference of method names to method + modifier sugar functions. (doy) + + * Native traits no longer use optimized inlining routines if the instance + requests it (in particular, if inline_get_slot_value doesn't return + something that can be assigned to). This should fix issues with + KiokuDB::Class. (doy) + + * 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. (Dave + Rolsky) + + * 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. (Dave + Rolsky) + + * 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 + + [API CHANGES] + + * Major changes to Native Traits, most of which make them act more like + "normal" attributes. This should be mostly compatible with existing code, + but see Moose::Manual::Delta for details. + + * A few native traits (String, Counter, Bool) provide default values of "is" + and "default" when you created an attribute. Allowing them to provide + these values is now deprecated. Supply the value yourself when creating + the attribute. + + * New option 'trait_aliases' for Moose::Exporter, which will allow you to + generate non-global aliases for your traits (and allow your users to + rename the aliases, etc). (doy) + + * 'use Moose' and 'use Moose::Role' now accept a '-meta_name' option, to + determine which name to install the 'meta' name under. Passing 'undef' + to this option will suppress generation of the meta method entirely. (doy) + + * Moose now warns if it overwrites an existing method named "meta" in your + class when you "use Moose". (doy) + + [ENHANCEMENTS] + + * Native Trait delegations are now all generated as inline code. This should + be much faster than the previous method of delegation. In the best case, + native trait methods will be very highly optimized. + + * Reinitializing a metaclass no longer removes the existing method and + attribute objects (it instead fixes them so they are correct for the + reinitialized metaclass). This should make the order of loading many + MooseX modules less of an issue. (doy) + + * The Moose::Manual docs have been revised and updated. (Dave Rolsky) + + [BUG FIXES] + + * If an attribute was weak, setting it to a non-ref value after the object + was constructed caused an error. Now we only call weaken when the new + value is a reference. + + * t/040_type_constraints/036_match_type_operator.t failed on 5.13.5+. Fixed + based on a patch from Andreas Koenig. + +1.14 Tue, Sep 21, 2010 + + [BUG FIXES] + + * Work around what looks like a bug in List::MoreUtils::any. This bug caused + a weird error when defining the same union type twice, but only when using + MooseX::Types. Reported by Curtis Jewell. RT #61001. (Dave Rolsky) + +1.13 Mon, Sep 13, 2010 + + [API CHANGES] + + * The deprecation warnings for alias and excludes are back, use -alias and + -excludes instead. (Dave Rolsky) + + [ENHANCEMENTS] + + * When composing one role into another and there is an attribute conflict, + the error message now includes the attribute name. Reported by Sam + Graham. RT #59985. (Dave Rolsky) + + * When a class is made immutable, the does_role method is overridden with a + much faster version that simply looks role names up in a hash. Code which + uses lots of role-based type constraints should be faster. (Dave Rolsky) + +1.12 Sat, Aug 28, 2010 + + [BUG FIXES] + + * Fix the MANIFEST. Fixes RT #60831, reported by Alberto Simões. + +1.11 Fri, Aug 27, 2010 + + [API CHANGES] + + * An attribute in a subclass can now override the value of "is". (doy) + + * The deprecation warnings for alias and excludes have been turned back off + for this release, to give other module authors a chance to tweak their + code. (Dave Rolsky) + + [BUG FIXES] + + * mro::get_linear_isa was being called as a function rather than a method, + which caused problems with Perl 5.8.x. (t0m) + + * Union types always created a type constraint, even if their constituent + constraints did not have any coercions. This bogus coercion always + returned undef, which meant that a union which included Undef as a member + always coerced bad values to undef. Reported by Eric Brine. RT + #58411. (Dave Rolsky) + + * Union types with coercions would always fall back to coercing the value to + undef (unintentionally). Now if all the coercions for a union type fail, + the value returned by the coercion is the original value that we attempted + to coerce. (Dave Rolsky). + 1.10 Sun, Aug 22, 2010 [API CHANGES] @@ -1122,7 +1277,7 @@ for, noteworthy changes. vetting on names created via the sugar functions, so that they can only contain alphanumerics, ":", and ".". (Dave Rolsky) -0.65 Thu, January 22, 2008 +0.65 Thu, January 22, 2009 * Moose and Moose::Meta::Method::Overridden - If an overridden method called super(), and then the superclass's method (not overridden) _also_ called super(),