restore documentation for lazy_build and underscore (_) prefixed operators
[gitmo/Moose.git] / lib / Moose / Manual / Delta.pod
index 6aef906..4a147c8 100644 (file)
@@ -20,7 +20,49 @@ send us a patch.
 
 =over 4
 
-=item Native Traits
+=item Roles have their own default attribute metaclass
+
+Previously, when a role was applied to a class, it would use the attribute
+metaclass defined in the class when copying over the attributes in the role.
+This was wrong, because for instance, using L<MooseX::FollowPBP> in the class
+would end up renaming all of the accessors generated by the role, some of which
+may be being called in the role, causing it to break. Roles now keep track of
+their own attribute metaclass to use by default when being applied to a class
+(defaulting to Moose::Meta::Attribute). This is modifiable using
+L<Moose::Util::MetaRole> by passing the C<applied_attribute> key to the
+C<role_metaroles> option, as in:
+
+    Moose::Util::MetaRole::apply_metaroles(
+        for => __PACKAGE__,
+        class_metaroles => {
+            attribute => ['My::Meta::Role::Attribute'],
+        },
+        role_metaroles => {
+            applied_attribute => ['My::Meta::Role::Attribute'],
+        },
+    );
+
+=back
+
+=head1 1.16
+
+=over 4
+
+=item Configurable stacktraces
+
+Classes which use the L<Moose::Error::Default> error class can now have
+stacktraces disabled by setting the C<MOOSE_ERROR_STYLE> env var to C<croak>.
+This is experimental, fairly incomplete, and won't work in all cases (because
+Moose's error system in general is all of these things), but this should allow
+for reducing at least some of the verbosity in most cases.
+
+=back
+
+=head1 1.15
+
+=over 4
+
+=item Native Delegations
 
 In previous versions of Moose, the Native delegations were created as
 closures. The generated code was often quite slow compared to doing the same
@@ -56,7 +98,7 @@ a Native delegation.
 
 These changes are only likely to break code in a few cases.
 
-The inlning code may or may not preserve the original reference when changes
+The inlining code may or may not preserve the original reference when changes
 are made. In some cases, methods which change the value may replace it
 entirely. This will break tied values.
 
@@ -66,7 +108,7 @@ possible that code which previously ran without errors will now cause the
 constraint to fail. However, presumably this is a good thing ;)
 
 If you are passing invalid arguments to a delegation which were previously
-being ignore, these calls will now fail.
+being ignored, these calls will now fail.
 
 If your code relied on the trigger only being called for a regular writer,
 that may cause problems.
@@ -74,6 +116,12 @@ that may cause problems.
 As always, you are encouraged to test before deploying the latest version of
 Moose to production.
 
+=item Defaults is and default for String, Counter, and Bool
+
+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.
+
 =item The C<meta> method
 
 Moose and Class::MOP have been cleaned up internally enough to make the