How much do I hate curly-less blocks in C? A lot.
[gitmo/Moose.git] / Changes
diff --git a/Changes b/Changes
index 5ca063b..2511928 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,7 +1,350 @@
 Also see Moose::Manual::Delta for more details of, and workarounds
 for, noteworthy changes.
 
-NEXT
+{{$NEXT}}
+
+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]
+
+  * 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)
+
+  * 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
+    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]
 
@@ -377,7 +720,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
@@ -1179,7 +1522,7 @@ NEXT
         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(),