Revision history for Sub-Private

0.06	Sun Oct  4 09:09:09 PM EDT 2026
	[ Bug Fixes ]
	Private subs are now protected when Sub::Private and the packages that
	    use it are loaded after CHECK (run-time require, plugin loaders,
	    string eval).  Previously such subs were left callable by anyone,
	    and Perl warned "Too late to run CHECK block"
	The declarative form (use Sub::Private qw(...)) in a file loaded after
	    CHECK now wraps the named subs at the end of the enclosing scope,
	    so the use line can come before the subs it names.  If a named sub
	    is never defined, the error is reported at the use line
	No longer warns "Too late to run CHECK block" when loaded at run time
	Removed "use autodie qw(:all)", which was unused
	IPC::System::Simple is now a runtime prerequisite: Params::Get <= 0.17
	    (loaded by Return::Set) needs it at load time but does not declare it

	[ Enhancements ]
	The :Private attribute handler also runs in the BEGIN phase so subs
	    compiled after CHECK are wrapped (or removed in namespace mode)

	[ Documentation ]
	Documented run-time loading, and the behaviour of wrapped subs (caller
	    transparency, context and $_ preservation, no AUTOLOAD fallthrough,
	    Moo/Moose)
	Rewrote the import() formal specification for the after-CHECK paths
	    and moved it under FORMAL SPECIFICATION
	Added B::Hooks::EndOfScope to DEPENDENCIES
	Replaced the dead search.cpan.org link with MetaCPAN

	[ Testing ]
	Added t/runtime.t: run-time loading of the attribute and declarative
	    forms, string eval, namespace mode, and no warnings
	Moo, Moose, Test::Mockingbird and Test::Returns are now test
	    recommends rather than requirements
	CI also tests Perl 5.14, 5.22 and 5.30

	[ Build ]
	Minimum Perl is now 5.14 (the code already needed 5.10 for //=)
	Added B::Hooks::EndOfScope to PREREQ_PM
	Removed META.json from MANIFEST (generated by make dist)
	Repository URL uses https:// instead of git://

0.05	Wed Jun 10 08:32:26 EDT 2026
	[ Enhancements ]
	Added enforce mode for OO-safe private access ($config{mode} = 'enforce')
	Added declarative form: use Sub::Private qw(_helper) (enforce mode only)
	Added $BYPASS and %config public variables
	Added _wrap/_check_access/_process_one/_assert_private_caller internals
	Subclasses are blocked in enforce mode (private = owner only, no isa check)
	Updated POD: SYNOPSIS, both modes, CONFIGURATION, BYPASS, MESSAGES, FORMAL SPEC
	Fixed http => https in SUPPORT links
	Added SEE ALSO entry for Sub::Protected
	Added Test Dashboard

	[ Testing ]
	Added test suite: basic.t, enforce.t, bypass.t, declarative.t, edge_cases.t,
	    function.t, unit.t, integration.t

	[ Build ]
	Migrated build system from Module::Build (Build.PL) to ExtUtils::MakeMaker (Makefile.PL)
	Updated CI: .travis.yml and .appveyor.yml use perl Makefile.PL && make && make test

0.04	Mon Jul 15 07:57:40 EDT 2024
	Added dependency on Test::More (RT#154368)

0.03	Fri Jul 12 08:29:42 EDT 2024
	Added SEE ALSO link to Sub::Deprecated (thanks to neilb)
        fixed typo in doc (thanks to neilb)
	http=>https (GitHub PR#1, thanks to szabgab)

0.02	Thu Sep 17 10:38:31 EDT 2020
	New maintainer

0.01    2009-08-13 
        First version, released on an unsuspecting world.
