it documented here, or think we missed an important feature, please
send us a patch.
- =head1 Version 0.85
+ =head1 Version 0.89
+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.
+
+ C<< use Moose -metaclass => 'Foo' >> now does alias resolution, just like
+ C<-traits> (and the C<metaclass> and C<traits> options to C<has>).
+
+ Added two functions C<meta_class_alias> and C<meta_attribute_alias> to
+ L<Moose::Util>, to simplify aliasing metaclasses and metatraits. This is
+ a wrapper around the old
+
+ package Moose::Meta::Class::Custom::Trait::FooTrait;
+ sub register_implementation { 'My::Meta::Trait' }
+
+ way of doing this.
+
=head1 Version 0.84
When an attribute generates I<no> accessors, we now warn. This is to help