Changes for version 2.002_001 - 2016-06-17
- added Sub::Quote::sanitize_identifier to generate an identifier from an arbitrary string.
- Sub::Defer::defer_info is now exportable.
- improved documentation for Sub::Quote.
- fix quoted subs with no_defer ignoring no_install option. (RT#114605)
- internals of Sub::Quote were refactored.
- error message when @ISA changes now includes the location that the constructor was generated.
- original invoker will be used when calling a non-Moo parent constructor. (RT#115189)
- added testing for preserving context into quote_sub subs. (RT#114511)
- quote_sub context options will be used even when zero. (RT#114512)
- Sub::Defer::defer_sub gained attributes option to specify sub attributes.
- Sub::Quote::quote_sub gained attributes option to specify sub attributes.
Changes for version 2.002_000 - 2016-05-18
- Use Carp::croak rather than die to improve reported error locations (RT#109844, RT#109632, RT#102622)
- removed Method::Inliner module. It was never intended to ship with Moo, and was undocumented, untested, and unused on CPAN.
- require Role::Tiny 2.000002 for fixes to method modifiers being applied via multiple role composition paths (RT#106668)
- Delay loading Class::Method::Modifiers until we actually need it
- Fix an explosion that could happen if meta inflation was attempted part way through Moo's bootstrapping process, which was possible via a CORE::GLOBAL::bless override (RT#113743)
- Accessor subs will be generated immediately, rather than being partially deferred. The deferal added extra sub layers and the delayed compilation didn't provide any real benefit for them.
- Numeric values used as defaults will be inlined as numbers rather than strings.
- Numerous test cleanups and additional test coverage
- Fixed a typo in Sub::Defer docs (RT#113416)
- Deferred subs (including constructors) will always be named properly, even if neither Sub::Name nor Sub::Util are available. This improves compatibility with namespace::autoclean, among other things. Once the sub is undeferred, it may not be given a correct name if Sub::Name or Sub::Util aren't available.
- Method::Generate::Accessor in lib/Method/Generate/Accessor.pm
- Method::Generate::BuildAll in lib/Method/Generate/BuildAll.pm
- Method::Generate::Constructor in lib/Method/Generate/Constructor.pm
- Method::Generate::DemolishAll in lib/Method/Generate/DemolishAll.pm
- Moo::HandleMoose in lib/Moo/HandleMoose.pm
- Moo::HandleMoose::FakeConstructor in lib/Moo/HandleMoose.pm
- Moo::HandleMoose::FakeMetaClass in lib/Moo/HandleMoose/FakeMetaClass.pm
- Moo::HandleMoose::_TypeMap in lib/Moo/HandleMoose/_TypeMap.pm
- Moo::Object in lib/Moo/Object.pm
- Moo::_Utils in lib/Moo/_Utils.pm
- Moo::_mro in lib/Moo/_mro.pm
- Moo::_strictures in lib/Moo/_strictures.pm
- Moo::sification in lib/Moo/sification.pm