Revision history for Perinci-Sub-Wrapper
0.46 2013-10-02 (SHARYANTO)
- Can accept sub_name only instead of sub.
0.45 2013-09-07 (SHARYANTO)
- Handle (ignore) property 'entity_v' (Rinci 1.1.36).
0.44 2013-08-12 (SHARYANTO)
- No functional changes. Remove dependency to Perinci::Util (in 0.35,
get_package_meta_accessor is removed).
0.43 2013-08-07 (SHARYANTO)
- No functional changes. Add 'use experimental smartmatch' for 5.18+.
0.42 2013-08-06 (SHARYANTO)
- Handle (ignore) property 'x' in arg spec.
0.41 2013-04-11 (SHARYANTO)
- Handle (ignore) property 'x' (new in Rinci 1.1.35).
0.40 2013-03-11 (SHARYANTO)
- Allow function arguments in the form of 'abc.def' (e.g. produced by
Perinci::Sub::Gen::AccessTable).
0.39 2013-01-16 (SHARYANTO)
- No functional changes. Move test to Perinci-Sub-PropertyUtil to avoid
circular dependency [RT#82712].
0.38 2013-01-15 (SHARYANTO)
- No functional changes. Update module name in test script [RT#82712].
0.37 2013-01-11 (SHARYANTO)
[ENHANCEMENTS]
- Observe PERINCI_WRAPPER_VALIDATE_ARGS.
- Observe LINENUM.
[BUG FIXES]
- Declare variables needed by validator code.
- Use Data::Sah 0.10.
0.36 2012-11-07 (SHARYANTO)
- No functional changes. Fix handling argument name that is not
alphanum-only (e.g. 'foo.is', 'bar.contains', these are generated by
Perinci::Sub::Gen::AccessTable).
0.35 2012-11-03 (SHARYANTO)
- No functional changes. Minor optimization for generated code, add FAQ
item.
0.34 2012-11-03 (SHARYANTO)
[ENHANCEMENTS]
- Follow Rinci 1.1.32.
- Wrapper code now validates result.
- Wrapper code now rejects invalid args (like 'foo bar') unless new
option 'allow_invalid_args' is turned on.
- Wrapper code now rejects unknown args (those not specified in 'args'
metadata property), unless new option 'allow_unknown_args' is turned
on.
- Add options 'validate_args' to allow skipping validating arguments,
'validate_result' to allow skipping validating result, 'skip' to skip
certain properties, 'allow_unknown_args', 'allow_invalid_args'.
- Most wrapping options can now be specified in the metadata attributes
('_perinci.sub.wrapper.*', e.g.
'_perinci.sub.wrapper.validate_args').
[REMOVED FEATURES]
- Move caller() to Perinci-Util (Perinci::Sub::Util) to reduce startup
overhead modules which only need caller() and not the whole wrapper.
0.33 2012-10-26 (SHARYANTO)
[ENHANCEMENTS]
- Wrapper code now validates arguments!
0.32 2012-08-16 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- Change logger setting variable $Log_{Perinci_,}Wrapper_Code
(convention).
0.31 2012-08-16 (SHARYANTO)
- No functional changes. Remove sub entry/exit log. Users should now
use Log::Any::For::Package for this.
- Wrapper code is only logged if $Log_Perinci_Wrapper_Code is true. You
can set via environment variable LOG_PERINCI_WRAPPER_CODE.
0.30 2012-08-09 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- Now looks for property handler in Perinci::Sub::Property::* instead
of Perinci::Sub::property::* (fix casing).
0.29 2012-08-08 (SHARYANTO)
- Add caller() function.
0.28 2012-08-04 (SHARYANTO)
- Add wrapped() function.
0.27 2012-08-02 (SHARYANTO)
- No functional changes. Update to new Perinci::Role::MetaAccessor
interface (0.26).
0.26 2012-08-01 (SHARYANTO)
[ENHANCEMENTS]
- Add wrap_all_subs().
0.25 2012-07-31 (SHARYANTO)
[FIXES]
- Change handling of 'result_naked' property so that 'dies_on_error'
property can get result status + message properly.
[ENHANCEMENTS]
- Add argument: sub_name (also so that 'dies_on_error' property can
display proper die message showing subroutine name).
- Add argument: forbid_tags.
0.24 2012-07-31 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- Introduce protocol version which must be specified by all property
handlers (assumed to be 1 if unspecified). This is bumped whenever an
incompatible change at the basic structure of wrapper code is
introduced. Bumping the protocol version will force all existing
property handlers to be updated.
- Bump protocol version from 1 to 2: to return result immediately,
handler must now say 'goto RETURN_RES' instead of 'return $res'
directly. This is so that some handlers get the last chance to do
something to $res before it is returned.
[ENHANCEMENTS]
- Introduce section: 'before_return_res'.
0.23 2012-07-29 (SHARYANTO)
[ENHANCEMENTS]
- When encountering an unknown property, automatically try to require
Perinci::Sub::property::PROP first. So you don't have to manually
use() the property modules.
- Add wrap_sub() argument 'debug' to show debugging in generated code.
Currently show the handler from which each line comes from.
- Check known arg spec key.
0.22 2012-06-21 (SHARYANTO)
- features: Require transaction ('-tx_manager' argument) if
features->{tx}{req} is 1.
0.21 2012-06-07 (SHARYANTO)
[FIXES]
- deps: '-undo_trash_dir' argument is not needed when '-tx_manager'
argument is given.
0.20 2012-06-07 (SHARYANTO)
- Update to Rinci 1.1.18 (some new deps introduced: 'tmp_dir',
'trash_dir', 'undo_trash_dir'; some removed: 'undo_storage').
0.19 2012-03-22 (SHARYANTO)
[ENHANCEMENTS]
- 'default_lang' also converts language properties in tag metadata in
'tags'.
0.18 2012-03-21 (SHARYANTO)
- No functional changes. Rebuild with Perinci PodWeaver plugin enabled.
0.17 2012-03-21 (SHARYANTO)
[ENHANCEMENTS]
- Convert 'default_lang' property.
- 'remove_internal_properties' now also removes internal properties in
'result', 'examples', and 'links'.
0.16 2012-03-16 (SHARYANTO)
[ENHANCEMENTS]
- Convert 1.0 - 1.1: Set argument spec's summary from argument schema.
0.15 2012-02-28 (SHARYANTO)
[NEW FEATURES]
- Handle 'cmdline_aliases' (Rinci 1.1.8+)
- Convert 1.0 'arg_aliases' to 'cmdline_aliases'
- Add 'remove_internal_properties' wrap option.
0.14 2012-02-23 (SHARYANTO)
[NEW FEATURES]
- Automatically convert metadata v1.0 to v1.1. Finally all the old
Sub::Spec specs are now usable again.
0.13 2012-02-22 (SHARYANTO)
[NEW FEATURES]
- Sah schemas in 'args' and 'result' are now normalized in the new
metadata, this is to make it simpler for other code to use the schema
(e.g. Perinci-Access when completing args). New metadata is now a
deep clone of the old (instead of just a shallow copy), this might
increase memory usage.
0.12 2012-02-15 (SHARYANTO)
[REMOVED FEATURES]
- Remove 'force' argument. wrap_sub() still mark wrapping by blessing
the generated wrapper, but will gladly double wrap. I believe caching
should be done in the upper layers.
0.11 2012-02-13 (SHARYANTO)
[ETC]
- Add tweak to work better with 'retry' property wrapper.
0.10 2012-02-13 (SHARYANTO)
[NEW FEATURES]
- Add wrap option 'compile'.
0.09 2012-02-13 (SHARYANTO)
[BUG FIXES]
- Fix indenting in generated code.
0.08 2012-02-12 (SHARYANTO)
[BUG FIXES]
- Convert keys are now respected even though meta does not have that
key.
0.07 2012-02-12 (SHARYANTO)
- Add (or re-enable) unshift_lines()
- Extract test routine to Test::Perinci::Sub::Wrapper to make it usable
from other Perinci-Sub-property-* distributions.
0.06 2012-02-12 (SHARYANTO)
- Rename distribution from Sub-Spec-Wrapper to Perinci-Sub-Wrapper.
0.05 2012-01-21 (SHARYANTO)
- No functional changes. Mark Sub-Spec-Wrapper deprecated.
0.04 2011-10-19 (SHARYANTO)
- No functional changes. Add missing dependency to
Sub::Spec::ConvertArgs::Array [thanks cpant & Andreas].
0.03 2011-09-22 (SHARYANTO)
[ENHANCEMENTS]
- Support 'args_as' spec clause (hash/hashref/array/arrayref supported,
but object not yet).
0.02 2011-08-31 (SHARYANTO)
- Build and POD fixes.
0.01 2011-08-31 (SHARYANTO)
- First release.