sometimes the stash doesn't exist at all
[gitmo/Moose.git] / Changes
diff --git a/Changes b/Changes
index 8b4b933..90a0b59 100644 (file)
--- a/Changes
+++ b/Changes
@@ -3,6 +3,378 @@ for, noteworthy changes.
 
 {{$NEXT}}
 
+  [NEW FEATURES]
+
+  * Class::MOP::Class now has methods for introspecting and modifying the
+    overloaded operators for a class. (doy)
+
+  [ENHANCEMENTS]
+
+  * The cookbook recipes have all been renamed. Instead of numbered recipes
+    (Basics::Recipe1), we now have descriptive names
+    (Basics::Point_AttributesAndSubclassing). This makes it easier for us to
+    add and remove recipes in the future, and makes it a little easier to
+    converse about them, since the name gives us some clue of what they
+    contain.
+
+  [BUG FIXES]
+
+  * Re-declaring a class_type or role_type constraint that has already been
+    declared now just returns the original type constraint, rather than
+    replacing the original constraint and ergo losing any coercions that were
+    on the original constraint. Fixes RT #73289. (t0m)
+
+  * Moose::Exporter now calls init_meta methods in the correct order, when
+    multiple levels of 'also' parameters are specified. Reported by Rocco
+    Caputo. (doy, perigrin)
+
+  * Moose::Exporter no longer generates init_meta methods in order to apply
+    metaroles, since the metaclass itself isn't guaranteed to exist yet at that
+    point. Metaroles are now applied at the end of import, after all
+    user-defined init_meta methods have been called. Fixes RT #51561. (doy)
+
+  * Fixed two memory leaks: One occurred when a given role was applied to
+    the same object more than once; attempting to do this is now a no-op. The
+    other occurred when creating an anonymous class. Note that the
+    immutabilizing an anonymous class still leaks memory, as the anon class
+    will never be destroyed in this case. Based on code and bug report from
+    Carlos Lima. RT #74650.
+
+2.0402 Sat, Feb 04, 2012
+
+  [OTHER]
+
+  * Minor documentation fixes.
+
+  * Fix test failure on blead (test was unnecessarily strict). Reported by
+    Nicholas Clark. (doy)
+
+2.0401 Thu, Nov 17, 2011
+
+  [BUG FIXES]
+
+  * Attributes with weak_ref now weaken their associated slot when they are
+    initialized through a lazy default or builder. Reported by tome. (doy)
+
+2.0400 Tue, Nov 15, 2011
+
+  [OTHER]
+
+  * No changes from 2.0302 (other than a few minor documentation tweaks).
+
+2.0302 Wed, Nov 02, 2011
+
+  [BUG FIXES]
+
+  * Fix test failure on 5.8. (Dave Rolsky)
+
+  * Make make_immutable return value consistent and document it to be true.
+    (mst)
+
+2.0301 Fri, Oct 21, 2011
+
+  [BUG FIXES]
+
+  * Fix compilation on 5.8. Reported by ether. (doy)
+
+  * A custom error class caused a warning when the class that used it was made
+    immutable. Reported by Maroš Kollár. RT #71514. (Dave Rolsky)
+
+  [ENHANCEMENTS]
+
+  * The enum type will now allow single value enumerations. Previously, two or
+    more values were required. (rjbs)
+
+2.0300 Fri, Sep 23, 2011
+
+  [DEPRECATIONS]
+
+  * The optimize_as option for type constraints has been deprecated. Use the
+    inline_as option to provide inlining code instead. (Dave Rolsky)
+
+  [API CHANGES]
+
+  * Methods to introspect a class's methods will now return methods defined in
+    UNIVERSAL (isa, can, etc.). This also means that you can wrap these
+    methods with method modifiers. RT #69839. Reported by Vyacheslav
+    Matyukhin. (Dave Rolsky)
+
+  * The ->parent and ->parents method for a union now return the nearest
+    common ancestor of that union's component types. See Moose::Manual::Delta
+    for more details. (Dave Rolsky)
+
+  * The ->parents method used to return an arrayref for union types, and a
+    list of one or more types for all other types. Now they all return
+    lists. (Dave Rolsky)
+
+  * The ->is_subtype_of and ->is_a_type_of methods have changed their behavior
+    for union types. Previously, they returned true if any of their member
+    types returned true for a given type. Now, all of the member types must
+    return true. RT #67731. (Dave Rolsky)
+
+  [ENHANCEMENTS]
+
+  * The Moose::Exporter module now has a "meta_lookup" option when creating an
+    importer. This allows you to specify an alternate method for determining
+    the metaclass of a caller. This is useful for modules like
+    MooseX::Role::Parameterized which generate new metaclasses on the
+    fly. (sartak)
+
+  * Added a Moose::Meta::Method->is_stub method. (Dave Rolsky)
+
+  [BUG FIXES]
+
+  * A subtype of a union type did not return the right results when you called
+    ->is_subtype_of or ->is_a_type_of on it. This has been fixed. RT
+    #70322. (Dave Rolsky)
+
+  * An attribute accessor or delegation method can overwrite a stub method and
+    this will no longer throw an error. Reported by Mark-Jason Dominus. RT
+    #69988. (Dave Rolsky)
+
+  * The error generated by unfulfilled method requirements during role
+    composition now mentions how to work around imported methods not being
+    recognized. Reported by Michael Schwern. RT #60583. (doy)
+
+  * class_type and role_type will now throw errors if you attempt to use them
+    to override existing types, just like type and subtype have always done.
+    (doy)
+
+  * Implicitly creating class or role types by using them as the 'isa' or
+    'does' parameter to attribute construction will now register the type. This
+    means that it cannot later be redefined as something else. (doy)
+
+  * $class_type->is_subtype_of no longer returns true if passed the name of the
+    class that the class type represents when the class type wasn't registered.
+    (doy)
+
+  * Removing anonymous metaclasses prematurely no longer prevents reaping of
+    the associated stash. (doy)
+
+  [OTHER]
+
+  * The Class::MOP::load_class and Class::MOP::is_class_loaded subroutines are
+    no longer documented, and will cause a deprecation warning in the
+    future. Moose now uses Class::Load to provide this functionality, and you
+    should as well. (Dave Rolsky)
+
+2.0205 Tue, Sep 06, 2011
+
+  [NEW FEATURES]
+
+  * The Array and Hash native traits now provide a "shallow_clone" method,
+    which will return a reference to a new container with the same contents as
+    the attribute's reference.
+
+  [ENHANCEMENTS]
+
+  * Specifying an invalid value in a hashref 'handles' value now throws a
+    sensible error. Reported by Mark-Jason Dominus. RT #69990. (Dave
+    Rolsky)
+
+  [BUG FIXES]
+
+  * When specifying an attribute trait, passing options for the trait besides
+    -alias or -excludes caused a warning. However, passing other options is
+    totally valid when using MooseX::Role::Parameterized. Fixes RT
+    #70419. (sartak)
+
+  * Allow regexp objects in duck_type constraints (to bring this in line with
+    the Object constraint).
+
+2.0204 Thu, Aug 25, 2011
+
+  [BUG FIXES]
+
+  * Validating duck_type type constraint turned out to work only by accident,
+    and only when not running under the debugger. This has been fixed.
+    (Florian Ragwitz)
+
+  [OTHER]
+
+  * Loosen the dependency on ExtUtils::ParseXS.
+
+2.0203 Tue, Aug 23, 2011
+
+  [BUG FIXES]
+
+  * is_class_loaded now properly detects packages which have a version object
+    in their $VERSION.
+
+  * Fix XS compilation under blead.
+
+2.0202 Tue, Jul 26, 2011
+
+  [BUG FIXES]
+
+  * Be more consistent about how type constraint messages are handled.
+
+2.0201 Fri, Jul 22, 2011
+
+  [BUG FIXES]
+
+  * Moose::Util::does_role shouldn't call ->does on things that don't inherit
+    from Moose::Object.
+
+  * Make ->does initialize the metaclass, so that calling it as a class method
+    on a class which sets up inheritance via some method other than extends
+    works properly (this fixes an issue with MooseX::Types).
+
+  * Make Dist::CheckConflicts a runtime requirement, so moose-outdated always
+    works.
+
+2.0200 Mon, Jul 18, 2011
+
+  [OTHER]
+
+  * No changes from 2.0105 (other than a few minor documentation tweaks).
+
+2.0105-TRIAL Mon, Jun 27, 2011
+
+  [ENHANCEMENTS]
+
+  * Moose::Util::does_role now respects overridden ->does methods. (doy)
+
+2.0104-TRIAL Mon, Jun 20, 2011
+
+  [OTHER]
+
+  * Include changes from 2.0010.
+
+2.0103-TRIAL Mon, Jun 20, 2011
+
+  [DEPRECATIONS]
+
+  * Several things that have been deprecated for a while have been removed. See
+    the 2.0000 section in Moose::Manual::Delta for details.
+
+  [NEW FEATURES]
+
+  * New Moose::Util::TypeConstraints::union function for creating union type
+    constraints without having to rely on the string type constraint parsing.
+    This also allows for creating unions of anonymous type constraints.
+    (kentnl)
+
+  [OTHER]
+
+  * Include changes from Moose 2.0009.
+
+2.0102-TRIAL Sat, Jun 18, 2011
+
+  [ENHANCEMENTS]
+
+  * The native Array trait now has a 'first_index' method, which works just
+    like the version in List::MoreUtils. (Karen Etheridge)
+
+  * Clean up some internal code to help out extensions.
+
+  [OTHER]
+
+  * Include changes from Moose 2.0008.
+
+2.0101-TRIAL Mon, Jun 06, 2011
+
+  [OTHER]
+
+  * Various packaging issues.
+
+2.0100-TRIAL Mon, Jun 06, 2011
+
+  [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.
+
+  [NEW FEATURES]
+
+  * Type constraints can now provide inlined versions, which should make
+    inlined code which uses type constraints (such as accessors) faster. This
+    replaces the existing hand-optimized constraint feature.  (Dave Rolsky)
+
+  [ENHANCEMENTS]
+
+  * Remove a lot of cases where generated methods closed over meta objects.
+    Most simple cases should now only close over simple data types and
+    coderefs. This should make deparsing simpler.
+
+2.0010 Mon, Jun 20, 2011
+
+  [BUG FIXES]
+
+  * Fix regression in 2.0009 and 2.0103 when applying roles during init_meta in
+    an exporter that also re-exports Moose or Moose::Role. (t0m, ilmari)
+
+2.0009 Sun, Jun 19, 2011
+
+  [BUG FIXES]
+
+  * duck_type type constraints now report reasonable errors when given
+    something which isn't an instance of an object. (t0m)
+
+  * Moose::Util::apply_all_roles now works even if the applicant is a non-Moose
+    class. (perigrin)
+
+  * When an object is reblessed, triggers are called on attributes that are
+    set during the reblessing. (Karen Etheridge).
+
+  [OTHER]
+
+  * Better error message if Moose->init_meta is called with a 'metaclass'
+    option when that metaclass hasn't been loaded. (jasonmay)
+
+2.0008 Thu, Jun 16, 2011
+
+  [BUG FIXES]
+
+  * The 'accessor' native delegation for hashrefs now allows setting the value
+    to undef. (sugoik, doy)
+
+  [ENHANCEMENTS]
+
+  * Various generated methods have more useful context information. (doy)
+
+2.0007 Sun, May 15, 2011
+
+  [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]