Revision history for Constant::Export::Lazy
0.10 2014-11-05 10:44:33
- The symbol exporter we were using was too eager and would export
the entire *GLOB of a given constant we were exporting. So as an
unintended side-effect exporting the constant CONST would also
defined $FOO, @FOO, %FOO etc. in that package. Now instead we'll
only export &FOO.
Upgrading to this release could cause compile-time errors in
existing code that implicitly relies on Constant::Export::Lazy
to define these package-level symbols, but those cases should
reveal genuine bugs. Code that doesn't rely on that side-effect
should work as before.
0.09 2014-11-01 18:24:11
- Attempt to future-proof how we define the constant subs for
possible future perl core changes, see the "Is it time to
separate pad names from SVs?" thread on perl5-porters. No
functional changes for currently released perls.
- Minor POD fixes from a couple of patches sent in via RT #99956
and pull request #1 on GitHub.
0.08 2014-08-29 10:57:41
- Improve the error message we show when we can't find a constant,
now actually mention the constant we can't find.
- This module actually worked on 5.8, but I recently broke 5.8
support by adding a test that used 5.10 features, that's now
fixed and we'll skip that test on <5.10 (it's just for testing
the synopsis, not core functionality).
0.07 2014-05-06 21:51:39
- No code changes at all. Just added tests to show that defining
constant subs like I'm doing it doesn't work under 5.19.x (see
"Re: How about having a recommended way to add constant subs
dynamically?" on perl5-porters) --
http://code.activestate.com/lists/perl5-porters/206929/
I'll fix that in future releases, but first I want to get some
test coverage on how defining constants works (or doesn't work)
on different perl versions.
0.06 2014-03-10 21:14:32
- Test & documentation for the API of private_name_munger
- Trivial POD formatting error fix, no code changes at all.
- Other POD rewording/documentation fixes / additions.
0.05 2014-02-23 16:37:00
- Fix a minor failing test failing due to making an assumption
about the internal workings of constant.pm that worked in 5.19.*
but not in earlier perl versions.
0.04 2014-02-22 14:28:35
- This is a major release
- Add support for a buildargs callback. This can be used to add
support for export tags, or to map the parameters to import() in
any other way you can think of.
- A new private_name_munger option is now available both globally
and locally per-constant. This can be used to obscure the
internal names of generated constants, to avoid hard to track
down errors related to using lazy constants someone else might
define for you (and then suddenly stop doing so).
- When using the wrap_existing_import option the $ctx->call()
method wouldn't work with some constant.pm-generated
subroutines. This has now been exhaustively fixed.
- After a lot of playing around with test coverage the test
coverage of this module is now 100%. A few minor bugs were fixed
in the process of achieving this.
- Some minor documentation improvements, mainly rewording existing
sentences.
0.03 2013-09-15 15:36:42
- Fix trivial POD errors I didn't spot in the 0.02 release.
0.02 2013-09-15 15:28:10
- Huge release with lots of new features and bugfixes.
- Added an 'after' callback.
- Added a 'stash' method / option.
- Don't re-generate constants if someone subclasses the consatnt
exporter.
- Only export constant when explicitly requested, not everything
we $ctx->call(...). Removes leaks in the API.
- Correct behavior for skipping the interning of constants in the
stash during override *only* for those constants we're
overriding, not everything else.
- Add tests for interop with constant.pm
- Huge POD rewrite and lots of tests / examples added.
0.01 2013-08-30 12:32:23
- Initial version