Update Changes for default is warning
[gitmo/Moose.git] / Changes
diff --git a/Changes b/Changes
index 53bfcb3..8de2ff6 100644 (file)
--- a/Changes
+++ b/Changes
 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)
+
+  [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.
+
+  * The deprecated "default is" warning no longer happens is the attribute has
+    any accessor method defined (accessor, reader, writer). Also, this warning
+    only happens when a method generated because of the default is is actually
+    called, rather than when the attribute is defined.
+
+  * The "default default" code for some native delegations no longer issues a
+    deprecation warning when the attribute is required or has a builder.
+
+  * 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.
+
+1.15 Tue, Oct 5, 2010
+
   [API CHANGES]
 
-  * You can no longer pass "coerce => 1" for an attribute unless its type
-    constraint has a coercion defined. If it doesn't, an error will be thrown
-    when the attribute is defined. (Dave Rolsky)
+  * 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.
 
-  * has '+foo' now has a blacklist rather than a whitelist for options which
-    can be legally inherited (doy, Tuomas Jormola).
+  * 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.
 
-  * Removed the long-deprecated Moose::Meta::Role->alias_method metohd. (Dave
-    Rolsky).
+  * 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)
 
-  * All features which have been declared deprecated now issue a warning using
+  * 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]
+
+  * The long-deprecated alias and excludes options for role applications now
+    issue a deprecation warning. Use -alias and -excludes instead. (Dave
+    Rolsky)
+
+  [BUG FIXES]
+
+  * Inlined code no longer stringifies numeric attribute defaults. (vg, doy)
+
+  * default => undef now works properly. (doy)
+
+  * Enum type constraints now throw errors if their values are nonsensical.
+    (Sartak)
+
+  [ENHANCEMENTS]
+
+  * Optimizations that should help speed up compilation time (Dave Rolsky).
+
+1.09 Tue, Jul 25, 2010
+
+  [API CHANGES]
+
+  * You can no longer pass "coerce => 1" for an attribute unless its type
+    constraint has a coercion defined. Doing so will issue a deprecation
+    warning. (Dave Rolsky)
+
+  * Previously, '+foo' only allowed a specific set of options to be
+    overridden, which made it impossible to change attribute options related
+    to extensions. Now we blacklist some options, and anything else is
+    allowed. (doy, Tuomas Jormola)
+
+  * Most features which have been declared deprecated now issue a warning using
     Moose::Deprecated. Warnings are issued once per calling package, not
     repeatedly. See Moose::Deprecated for information on how you can shut
     these warnings up entirely. Note that deprecated features will eventually
     be removed, so shutting up the warnings may not be the best idea. (Dave
     Rolsky)
 
+  * Removed the long-deprecated Moose::Meta::Role->alias_method method. (Dave
+    Rolsky).
+
   [NEW FEATURES]
 
   * We no longer unimport strict and warnings when Moose, Moose::Role, or
@@ -33,16 +207,16 @@ for, noteworthy changes.
 
   [BUG FIXES]
 
-  * Accessors will now not be inlined if the instance metaclass isn't
-    inlinable (doy).
+  * Accessors will no longer be inlined if the instance metaclass isn't
+    inlinable. (doy)
 
   * Use Perl 5.10's new recursive regex features, if possible, for the type
-    constraint parser (doy, nothingmuch).
+    constraint parser. (doy, nothingmuch)
 
   [ENHANCEMENTS]
 
-  * Attributes now warn if their accessors overwrite a locally defined function
-    (not just method) (doy).
+  * Attributes now warn if their accessors overwrite a locally defined
+    function (not just method). (doy)
 
   [OTHER]
 
@@ -1097,7 +1271,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(),