Merge branch 'master' into attribute_helpers
[gitmo/Moose.git] / lib / Moose / Manual / Delta.pod
index dfa8486..1e1d712 100644 (file)
@@ -16,11 +16,74 @@ feature.  If you encounter a problem and have a solution but don't see
 it documented here, or think we missed an important feature, please
 send us a patch.
 
+=head1 Version 0.85
+
+L<Moose::AttributeHelpers> has been moved into the Moose core from
+L<MooseX::AttributeHelpers>.  Major changes include:
+
+=over
+
+=item C<traits>, not C<metaclass>
+
+All of the method providers are available via traits only.  The custom
+metaclasses were strictly inferior to applying attribute metaclass traits.
+
+=item C<handles>, not C<provides> or C<curries>
+
+C<provides> syntax was like core Moose C<< handles => HASHREF >> syntax, but
+with the keys and values reversed.  This was confusing, and
+AttributeHelpers now uses C<< handles => HASHREF >> in a way that
+should be intuitive to anyone already familiar with it for normal attributes.
+
+The C<curries> functionality provided by AttributeHelpers has been generalized
+to apply to all cases of C<< handles => HASHREF >>, though not every piece of
+functionality has been ported (currying with a CODEREF is not supported).
+
+=back
+
+See L<Moose::AttributeHelpers> for the new documentation.
+
+=head1 Version 0.84
+
+The C<Role> type has been deprecated. On its own, it was useless,
+since it just checked C<< $object->can('does') >>. If you were using
+it as a parent type, just call C<role_type('Role::Name')> to create an
+appropriate type instead.
+
+=head1 Version 0.78
+
+C<use Moose::Exporter;> now imports C<strict> and C<warnings> into packages
+that use it.
+
+=head1 Version 0.77
+
+C<DEMOLISHALL> and C<DEMOLISH> now receive an argument indicating whether or
+not we are in global destruction.
+
+=head1 Version 0.76
+
+Type constraints no longer run coercions for a value that already matches the
+constraint.  This may affect some (arguably buggy) edge case coercions that
+rely on side effects in the C<via> clause.
+
+=head1 Version 0.75
+
+L<Moose::Exporter> now accepts the C<-metaclass> option for easily
+overriding the metaclass (without L<metaclass>). This works for classes
+and roles.
+
 =head1 Version 0.74
 
-Added a C<duck_type> keyword to L<Moose::Util::TypeConstraints> to make
-integration with non-Moose classes easier. It simply checks if $obj->can() 
-a list of methods.
+Added a C<duck_type> sugar function to L<Moose::Util::TypeConstraints>
+to make integration with non-Moose classes easier. It simply checks if
+C<< $obj->can() >> a list of methods.
+
+A number of methods (mostly inherited from L<Class::MOP>) have been
+renamed with a leading underscore to indicate their internal-ness. The
+old method names will still work for a while, but will warn that the
+method has been renamed. In a few cases, the method will be removed
+entirely in the future. This may affect MooseX authors who were using
+these methods.
 
 =head1 Version 0.73
 
@@ -151,12 +214,12 @@ error thrown now mentions all of the missing methods, as opposed to
 just the first missing method.
 
 Moose will no longer inline a constructor for your class unless it
-inherits its constructor is inherited from Moose::Object, and will
-warn when it doesn't inline. If you want to force inlining anyway,
-pass C<< "replace_constructor => 1 >> to C<make_immutable>.
+inherits its constructor from Moose::Object, and will warn when it
+doesn't inline. If you want to force inlining anyway, pass
+C<< "replace_constructor => 1 >> to C<make_immutable>.
 
 If you want to get rid of the warning, pass C<< inline_constructor =>
-1 >>.
+0 >>.
 
 =head1 Version 0.62