Sub-HandlesVia
==============
Created: 2020-01-18
Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org>
0.050002 2025-03-23
[ SECURITY ]
-
Fix: Rebuild using Mite 0.013000.
0.050001 2025-03-23
[ Documentation ]
-
Update documentation which is out of date due to Object::Pad dropping
the `has` keyword.
[ Other ]
-
Updated: Fix test cases which failed due to Object::Pad dropping the
`has` keyword.
-
Updated: Fix test cases which will fail due to changed error messages in
next release of Type::Tiny.
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++
-
Support attributes declared with `has '+name'`.
Bartosz Jarzyna++
[ Documentation ]
-
Document that `with qw(Role1 Role2)` in Mouse is currently broken if
either role uses Sub::HandlesVia.
[ 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.
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++
[ Test Suite ]
-
Add a test using Sub::HandlesVia when Beam::Wire is loaded.
Bartosz Jarzyna++
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++
[ 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++
-
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