Merge branch 'topic/native-trait-bugfix'
[gitmo/Moose.git] / Changes
diff --git a/Changes b/Changes
index 813d2e9..a99d871 100644 (file)
--- a/Changes
+++ b/Changes
@@ -3,10 +3,82 @@ for, noteworthy changes.
 
 NEXT
 
+  [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)
+
+  [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. (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]
 
-  * Wrap inline_get_value results in parentheses when dereferencing them,
-    because perl goes crazy trying to parse @{do {...}}. (Scott, doy)
+  * 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