show the first line here when testing with a harness
[gitmo/Moose.git] / Changes
diff --git a/Changes b/Changes
index 18efeaf..8ec8923 100644 (file)
--- a/Changes
+++ b/Changes
@@ -3,6 +3,505 @@ for, noteworthy changes.
 
 {{$NEXT}}
 
+  [ENHANCEMENTS]
+
+  * The super() subroutine now carps if you pass it arguments. These arguments
+    are always ignored, but we used to ignore them silently. RT #77383.
+
+  * Roles can now override methods from other roles they consume directly,
+    without needing to manually exclude them (just like classes can). (mst)
+
+  [BUG FIXES]
+
+  * Fix false positive when checking for circular references for modules that
+    use the "also" parameter with Moose::Exporter. Reported by Jon
+    Swartz. Fixed by Matthew Wickline. RT #63818.
+
+  * Fix test failure in blead. RT #78085.
+
+2.0602 Mon, May 07, 2012
+
+  [BUG FIXES]
+
+  * Ensure that the Moose::Exporter-generated init_meta returns the same value
+    that it did previously. This isn't really a bug, since the return value has
+    never been tested or documented, but since the generated init_meta is
+    nothing more than a compatibility shim at this point, there's no reason to
+    not make it as compatible as possible. Reported by Moritz Onken. (doy)
+
+2.0601 Tue, May 01, 2012
+
+  [BUG FIXES]
+
+  * Fix init_meta order when multiple also packages are specified (this matters
+    when one of them is being used to actually initalize the metaclass,
+    typically with also => 'Moose'). Reported by Randy Stauner. (doy)
+
+2.0600 Sun, Apr 29, 2012
+
+  [OTHER]
+
+  * Releasing 2.0502 as stable.
+
+2.0502-TRIAL Wed, Apr 25, 2012
+
+  [OTHER]
+
+  * The Test::DependentModules test now covers a much wider range of downstream
+    dependents (all of them in fact, for some definition of "all"). This should
+    allow us to track inadvertent backwards compatibility breakages much more
+    effectively. (doy)
+
+  * A few test tweaks to avoid spurious failures. (doy)
+
+2.0501-TRIAL Tue, Apr 03, 2012
+
+  [BUG FIXES]
+
+  * Avoid syntax errors on pre-5.14. (doy)
+
+2.0500-TRIAL Tue, Apr 03, 2012
+
+  [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 a memory leak. This occurred when creating an anonymous
+    class. Immutabilizing an anonymous class still leaks memory due to a bug in
+    Eval::Closure (which should hopefully be fixed soon). Based on code and bug
+    report from Carlos Lima. RT #74650.
+
+  * Fix a segfault when adding a method to a class which was defined in a
+    package which was deleted. (doy)
+
+2.0403 Tue, Apr 03, 2012
+
+  [OTHER]
+
+    * No changes, reupload to fix indexing.
+
+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-TRIAL 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-TRIAL 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-TRIAL 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]
+
+  * 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)
+
+  [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
@@ -21,7 +520,7 @@ for, noteworthy changes.
     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 originall defined
+    with the applied_attribute metaclass of the role which originally defined
     them. (Dave Rolsky)
 
 1.9904-TRIAL Fri, Mar 04, 2011
@@ -38,6 +537,11 @@ for, noteworthy changes.
 
   [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)
 
@@ -92,14 +596,23 @@ for, noteworthy changes.
     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)
+    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
@@ -115,7 +628,8 @@ for, noteworthy changes.
 
   * 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)
+    modules end up reinitializing your class or role. (Dave Rolsky) (backported
+    from 1.9903)
 
 1.21 Wed, Nov 24, 2010