Sub-HandlesVia
==============
Created: 2020-01-18
Home page: <https://metacpan.org/release/Sub-HandlesVia>
Bug tracker: <https://github.com/tobyink/p5-sub-handlesvia/issues>
Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org>
0.050000 2023-04-05
[ Documentation ]
- Add a few missing references to the
Sub::HandlesVia::HandlerLibrary::Enum module to the documentation.
- Mention potential load-order bugs when importing multiple extensions for
Moo into the same package.
- Update Sub::HandlesVia::Manual::Comparison.
[ Packaging ]
- Change versioning scheme.
0.046 2022-12-16
- Added: Sub::HandlesVia::HandlerLibrary::Enum module.
- Handler libraries can now provide constants for shortcuts.
- Updated: Rebuild with latest Mite.
0.045 2022-11-08
[ Bug Fixes ]
- Fix for `with qw(Role1 Role2)` in Moose where at least one role uses
Sub::HandlesVia.
Bartosz Jarzyna++
<https://github.com/tobyink/p5-sub-handlesvia/issues/6>
- Support attributes declared with `has '+name'`.
Bartosz Jarzyna++
<https://github.com/tobyink/p5-sub-handlesvia/issues/7>
[ Documentation ]
- Document that `with qw(Role1 Role2)` in Mouse is currently broken if
either role uses Sub::HandlesVia.
<https://github.com/tobyink/p5-sub-handlesvia/issues/9>
[ Test Suite ]
- Test that `with qw(Role1 Role2)` in Moo works if either role uses
Sub::HandlesVia.
[ Other ]
- Added: Add a `generator_for_prelude` attribute to
Sub::HandlesVia::CodeGenerator.
<https://github.com/tobyink/p5-sub-handlesvia/issues/8>
0.044 2022-10-31
[ Documentation ]
- Moved a lot of pod out of Sub::HandlesVia and into
Sub::HandlesVia::Manual::*.
0.043 2022-10-31
- Added: Sub::HandlesVia::HandlerLibrary methods: handler_names,
has_handler, and get_handler.
- Added: Sub::HandlesVia::HandlerLibrary::Blessed.
0.042 2022-10-30
- Added: Sub::HandlesVia::Declare for compile-time declaration of
Sub::HandlesVia delegations.
- Improved support for Object::Pad, including support for non-scalar
fields.
0.041 2022-10-29
- Added: Experimental support for Object::Pad.
0.040 2022-10-27
[ Bug Fixes ]
- Stricter detection of Moo::Role roles to prevent some false positives
when given Mouse::Role and Moose::Role roles.
Bartosz Jarzyna++
<https://github.com/tobyink/p5-sub-handlesvia/issues/4>
[ Test Suite ]
- Add a test using Sub::HandlesVia when Beam::Wire is loaded.
Bartosz Jarzyna++
<https://github.com/tobyink/p5-sub-handlesvia/issues/5>
0.039 2022-10-26
[ Bug Fixes ]
- Fix application of Sub::HandlesVia Moose/Mouse traits to metaobjects
that have other traits applied to them.
Bartosz Jarzyna++
<https://github.com/tobyink/p5-sub-handlesvia/issues/3>
[ Test Suite ]
- Mite has supported Perl 5.8.x for a while now, so Mite-related tests
shouldn't be restricted to running on Perl 5.10.1+.
0.038 2022-10-21
[ Documentation ]
- Minor changes to documentation for Hash:accessor and Array:accessor.
0.037 2022-09-26
[ Bug Fixes ]
- Fix test case broken by Type::Tiny v2.
Peter Mottram++
<https://github.com/tobyink/p5-sub-handlesvia/issues/2>
- Hash:set shouldn't hardcode use of Carp::croak. Instead a CodeGenerator
should decide how to deal with error messages.
0.036 2022-08-26
[ Bug Fixes ]
- Fix integration issues with newer versions of Mite.
[ Documentation ]
- Examples for a few methods.
- More tests for a few methods.
[ Other ]
- Added: Add a delete_where method for hashes.
- Added: Add execute_list, execute_scalar, execute_void, and corresponding
_method variants for coderefs.
- Added: The flatten_deep, natatime, and first_index methods for arrayrefs
no longer use callbacks.
0.035 2022-08-12
- Sub::HandlesVia::CodeGenerator method_installer is now a rw attribute as
Sub::Accessor::Small was relying on that.
0.034 2022-08-07
- Sub::HandlesVia::CodeGenerator now handles generating code for type
assertions and coercions instead of relying on handlers to do it.
- Sub::HandlesVia::CodeGenerator now has a configurable sandbox package.
- Updated: Sub::HandlesVia::Toolkit::Mite supports recent Mite features
such as lvalue accessors and new ways of specifying defaults.
0.033 2022-07-12
- Optimizations to Sub::HandlesVia::CodeGenerator.
- Updated: Recompile with newer Mite.
0.032 2022-07-12
[ Packaging ]
- Require newer version of Role::Hooks.
0.031 2022-07-09
[ Packaging ]
- Add dependencies on MRO::Compat and Devel::GlobalDestruction, but only
on very old Perls.
0.030 2022-07-09
[ Packaging ]
- Drop dependency on Scope::Guard.
0.029 2022-07-09
[ Packaging ]
- Use Mite internally, dropping the dependency on Class::Tiny.
0.028 2022-07-02
[ Test Suite ]
- Lots more tests for using Sub::HandlesVia with Mite.
[ Other ]
- Updated: Support for Mite roles.
0.027 2022-06-30
[ Test Suite ]
- Skip Mite test on Perl < 5.10.1
0.026 2022-06-30
- Added: Support classes built with Mite.
0.025 2022-06-16
- Internally shift off the method invocant sometimes as benchmarking shows
that to be faster.
0.024 2022-06-15
[ Documentation ]
- Explicitly document that Sub::HandlesVia needs to be imported AFTER
Moo/Moose/Mouse so that it can detect the class/role builder being used.
[ Test Suite ]
- Test that Sub::HandlesVia works okay with MooseX::Extended.
0.023 2022-06-14
[ Documentation ]
- Minor documentation improvements.
[ Packaging ]
- Changed minimum required Perl from 5.8.0 to 5.8.1.
[ Other ]
- Major Sub::HandlesVia::CodeGenerator cleanups.
- Move some code from Sub::HandlesVia::Toolkit::Plain to its base class.
- Removed: Sub::HandlesVia::CodeGenerator's simple_set concept has been
removed; this was vestigial and had no effect.
0.022 2022-06-14
[ Documentation ]
- Additional Array example: push and shift.
- Document Sub::HandlesVia::Handler and Sub::HandlesVia::CodeGenerator.
- Other documentation improvements.
[ Other ]
- Cleaned up Sub::HandlesVia::Handler and moved a lot of code into a new
class Sub::HandlesVia::CodeGenerator, which replaces the big hash of
callbacks which was passed around everywhere.
0.021 2022-06-12
[ Documentation ]
- Provide extended examples in HandlerLibrary pod.
[ Test Suite ]
- Additional tests based on extended examples.
0.020 2022-06-11
[ Documentation ]
- Improve and document the Sub::HandlesVia::HandlerLibrary::Scalar module.
[ Test Suite ]
- Additional tests based on pod examples.
0.019 2022-06-11
[ Documentation ]
- Include more examples in pod for HandlerLibrary modules.
0.018 2022-06-11
[ Documentation ]
- Generated pod for the HandlerLibrary modules.
[ Other ]
- Added: Sub::HandlesVia::Handler objects now have a `documentation`
attribute.
0.017 2022-06-11
- Added: Case-insensitive versions of string comparison methods.
- Added: Numeric comparison methods.
- Added: String comparison methods.
- Added: String match_i method.
- Added: String starts_with, ends_with, and contains methods, plus
case-insensitive versions of them.
- Added: String uc, lc, and fc methods.
0.016 2020-09-20
[ Bug Fixes ]
- Fix load order issue where handles_via is used in a Moo::Role when
Moo.pm isn't loaded yet.
0.015 2020-09-12
- Added: `reset` method for Array.
- Added: `reset` method for Hash.
- Plain toolkit (used by non-Moo/Moose/Mouse classes) now supports
defaults/builders.
0.014 2020-08-25
[ Bug Fixes ]
- Fix compilation errors caused by value coercions under some
circumstances.
0.013 2020-02-04
[ Test Suite ]
- Skip Moo tests on very old Moo.
0.012 2020-02-02
- Added: Add missing methods from List::Util to Array. (These are mostly
untested, but probably don't have bugs as they are simple non-mutator
methods.)
0.011 2020-01-27
[ Documentation ]
- Document which aliases MouseX::NativeTraits provides.
[ Other ]
- Added: `any` method for Array.
0.010 2020-01-27
- Added: `apply` method for Array.
- Added: `for_each_key` method for Hash.
- Added: `for_each_pair` method for Array.
- Added: `for_each_pair` method for Hash.
- Added: `for_each_value` method for Hash.
- Added: `for_each` method for Array.
- Added: `pick_random` method for Array.
0.009 2020-01-27
[ Test Suite ]
- Revert MooX::TypeTiny test verbosity from 0.008_xxx.
- Skip Array trait tests under Mouse if Mouse is not using XS due to
Mouse::PurePerl bug.
[ Packaging ]
- Revert testing dependency additions from 0.008_xxx.
0.008_003 2020-01-27
[ Test Suite ]
- Skip t/03moo_mxtt/trait_hash.t if Type::Tiny is not using XS.
0.008_002 2020-01-27
[ Test Suite ]
- Spew even more output in t/03moo_mxtt/trait_hash.t.
0.008_001 2020-01-26
[ Test Suite ]
- Load Carp::Always for failing test case.
0.008_000 2020-01-26
[ Test Suite ]
- Spew some output in t/03moo_mxtt/trait_hash.t.
[ Packaging ]
- Require MooX::TypeTiny and Moo.
0.007 2020-01-25 Bond... James Bond
[ Bug Fixes ]
- Better handling for non-hashref-based Moose instances.
[ Other ]
- Added: `scalar_ref` method for Scalar.
0.006 2020-01-23
[ Test Suite ]
- Output some version numbers and environment variables in test suite.
0.005 2020-01-23
[ Bug Fixes ]
- Stop accidentally setting coerce=>'' for some Moo attributes. It
confuses Moo.
[ Other ]
- Added: `head` method for Array.
- Added: `tail` method for Array.
0.004 2020-01-22
- Support for Moo::Role, Moose::Role, and Mouse::Role.
0.003 2020-01-21
[ Documentation ]
- Document API for how Sub::HandlesVia interacts with OO frameworks.
[ Other ]
- A lot of refactoring, reducing duplication in Moo, Moose, and Mouse
integration.
0.002 2020-01-21
[ Documentation ]
- Fix some typos.
- Remove some outdated information.
[ Packaging ]
- Add missing dependency on Class::Tiny.
[ Other ]
- Drop dependency on List::MoreUtils by including our own copies of
`natatime` and `firstidx`.
0.001 2020-01-21 Initial release