Revision history for Sub-Protected
0.03 Mon Oct 5 10:32:25 AM EDT 2026
[ Bug Fixes ]
- Subs were left unprotected when Sub::Protected and the package using
it were loaded at run time (require, plugin loader, string eval), and
Perl warned "Too late to run CHECK block". Both the :Protected
attribute and the declarative form are now wrapped after CHECK
(needs Perl 5.14 or later)
- import() no longer clears the caller's $@
- A plain list passed to import() is always a list of names:
qw(subs _x) used to protect only _x. A single arrayref or
{ subs => [...] } is still accepted
- The minimum Perl is now correctly declared as 5.10: the module
already used //, so it never ran on 5.8
[ Enhancements ]
- Warn when another module has already defined UNIVERSAL::Protected
[ Documentation ]
- Documented how access is decided (immediate caller, subclasses,
SUPER:: and can(), caller() transparency, croak location)
- import(): documented the arrayref and hashref argument forms and
added a FORMAL SPECIFICATION
- Clarified thread safety
[ Testing ]
- Added t/runtime_load.t
- Rewrote t/unit.t around a ledger of documented messages and return
states, with global-state checks
- Added author tests in xt/ (POD, POD coverage, Changes, version)
- Test::Mockingbird is now optional (it needs Perl 5.16.3); tests that
use it skip without it
- CI also runs on Perl 5.10 and 5.14
[ Dependencies ]
- Added B::Hooks::EndOfScope and Sub::Identify
- Removed autodie (unused; it pulled in IPC::System::Simple at run
time), Scalar::Util and Test::Exception
- Licence metadata is now gpl_2, matching LICENSE
0.02 Tue Jun 9 08:56:25 EDT 2026
[ Enhancements ]
- Added test dashboard
[ Testing ]
- Added t/extended_tests.t
[ Bug Fixes ]
- Bump to latest Params::Validate::Strict to fix https://www.cpantesters.org/cpan/report/58c2b428-63e3-11f1-bd38-57396e8775ea
0.01 Mon Jun 8 20:31:18 EDT 2026
First draft
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)