Merge branch 'master' into attribute_helpers
[gitmo/Moose.git] / lib / Moose / Manual / Delta.pod
index 2450b7d..4cfe14a 100644 (file)
@@ -16,6 +16,76 @@ 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>
+
+Method providers are only available via traits.
+
+=item C<handles>, not C<provides> or C<curries>
+
+The 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 how it is used for
+other 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> 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
 
 Calling C<subtype> with a name as the only argument now throws an
@@ -25,6 +95,16 @@ exception. If you want an anonymous subtype do:
 
 This is related to the changes in version 0.71_01.
 
+The C<is_needed> method in L<Moose::Meta::Method::Destructor> is now
+only usable as a class method. Previously, it worked as a class or
+object method, with a different internal implementation for each
+version.
+
+The internals of making a class immutable changed a lot in Class::MOP
+0.78_02, and Moose's internals have changed along with it. The
+external C<< $metaclass->make_immutable >> method still works the same
+way.
+
 =head1 Version 0.72
 
 A mutable class accepted C<< Foo->new(undef) >> without complaint,
@@ -135,12 +215,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
 
@@ -195,7 +275,7 @@ So that you can do:
 
 =head1 Version 0.51
 
-Added C<BUILDARGS>, a new step in C<< Moose::Object->new() >.
+Added C<BUILDARGS>, a new step in C<< Moose::Object->new() >>.
 
 =head1 Version 0.49
 
@@ -246,8 +326,8 @@ just officially support it.
 
 The C<< Moose::Meta::Class->create >> method now supports roles.
 
-It is now possible to make anononymous enum types by passing C<enum>
-an array reference instead of the C<< enum $name => @values >>.
+It is now possible to make anonymous enum types by passing C<enum> an
+array reference instead of the C<< enum $name => @values >>.
 
 =head1 Version 0.37