Revision history for Perinci-CmdLine

0.42     2012-03-16


         - Localized/translatable messages. English and Indonesian included.

         - Read environment variable PERINCI_CMDLINE_PROGRAM_NAME.

         - peri-run: Accept --subcommand (-s) to specify subcommands.

         - Allow choosing PAGER via result metadata key 'cmdline.pager'.

0.41     2012-03-08

         [BUG FIXES]

         - Fix do not empty envelope when 'cmdline.display_result' is false.

0.40     2012-03-08


         - Observe function result metadata: 'cmdline.display_result' (no longer
           observe 'cmdline.result_importance').


         - Observe function result metadata: 'cmdline.page_result' to send
           result to PAGER.

0.39     2012-03-03


         - Add short options for --yaml (-y), --json (-j), --pretty (-p),
           and --nopretty (-P).

         - Observe function result metadata: 'cmdline.result_importance' (if set
           to 'low', won't display result).


         - Common options (like --yaml, --help, -l) now won't override options
           for function arguments of the same name.


         - Remove support for PHP serialization output (will be re-added later
           via --format, which can use any Data::Format::Pretty::* module).

0.38     2012-02-23

         Rename distribution from Sub-Spec-CmdLine to Perinci-CmdLine. Now
         Rinci/Riap-based (transparent remote access). Refactor into OO. Some
         features missing for now. Tests not updated yet.

0.37     2012-01-20

         No functional changes. Mark deprecation.

0.36     2011-08-25

         No functional changes. gen_usage() split to its own dist:
         Sub-Spec-To-Text. Update to Sub::Spec 0.15.

0.35     2011-08-11

         Uses Data::Format::Pretty for result formatting. JSON output is now
         pretty-printed by default.

0.34     2011-08-03

         No functional changes. Fixed test script to adjust to new
         Object::BlankStr [CT]. Updated dependencies.

0.33     2011-07-26


         Refactoring: move parse_argv() to


         Localize Getopt::Long::Configure() effect.

0.32     2011-07-10

         [BUG FIXES]

         * runpm: fix -I.

0.31     2011-07-10


         * bin/runpm: add --help (-h) and -I (--library) options.

         * run(): add dash_to_underscore option to allow subcommands using
           dashes instead of underscores.

0.30     2011-06-05


         * To reduce the trap of implicit YAML parsing, parsing is only done for
           nonscalar arguments.

0.29     2011-06-01

         No functional changes.


         - Update to latest version of Sub::Spec::Runner.

0.28     2011-04-14

         [BUG FIXES]

         - Remove extra name line in usage message.

0.27     2011-04-14


         - run(): For convenience, allow general options (e.g. --version,
           --help, --json, etc) to be specified after subcommand name, if it
           doesn't collide with spec arg


         - Replace Clone::Any with Data::Clone (Clone::Any fallbacks to Storable
           which doesn't support storing Regexp, so tests will fail if Clone is
           not available).

0.26     2011-03-04

         Require Sub::Spec::Runner 0.09.

0.25     2011-02-28

         On non-success response from sub, print output (error message) even if
         spec enables cmdline_suppress_output.

0.24     2011-02-28

         Now based on Sub::Spec::Runner for dependency checking before run.

0.23     2011-02-23

         Fix dependency (Sub::Spec version).

         Don't add error message when Getopt::Long already prints to stderr.

0.22     2011-02-22

         Use Sub::Spec::Utils.

0.21     2011-02-21

         Add some more documentation.

         Requires recent versions of Test::More & Sub::Spec::BashComplete.

0.20     2011-02-18

         Escape completion output since BashComplete now doesn't.

         Added some doc.

0.19     2011-02-18

         Provide runpm script.

0.18     2011-02-18

         run(): More fixes for completion.

         spec: cmdline_aliases is renamed to arg_aliases.

         Fix test [CT].

0.17     2011-02-17

         run(): Fixed stupid parenthesis bug.

0.16     2011-02-17

         run(): A couple more fixes for bash completion.

         parse_argv(): Also add --nofoo for bool cmdline_aliases.

0.15     2011-02-17

         Yet more fixes for bash completion.

         Fixed: parse_argv(): do not convert all remaining $argv to YAML so they
         can be reused (e.g. parse_argv'd) again

         run(): add option 'custom_completer' to pass to

0.14     2011-02-17

         Fixes for bash completion.

0.13     2011-02-17


         run(): rename 'require' argument to 'load'.


         parse_argv(): Respect arg spec: 'cmdline_aliases' for specifying
         option aliases.

         run(): Allow 'subcommands' argument to be coderef.

         run(): Pass more info (arguments) to coderef 'help' argument.

         run(): Add option 'allow_unknown_args' for non-strict argv parsing.

         gen_usage(): Add option: 'options_name'.

0.12     2011-02-16

         Fixes for bash completion.

         Add arguments to run(): help, spec, run, per-subcommand category.

         Other bug fixes.

0.11     2011-02-16

         Add support for bash completion (requires Sub::Spec::BashComplete).

0.10     2011-02-16

         Add strict=>0 option in parse_argv(), for use by

         Some small refactoring.

0.09     2011-02-15

         Add --version.

0.08     2011-02-15

         Fixes for subcommands support.

         Respect spec clause: cmdline_suppress_output.

0.07     2011-02-11

         Formatting fix: missing newline in error message.

0.06     2011-02-11

         Add 'cmd' option to gen_usage().

         Formatting tweaks.

0.05     2011-02-11

         Remove 'required_args'.

0.04     2011-02-10

         Formatting fixes.

0.03     2011-02-10

         Formatting tweaks.

         Fix schema clause ('in', not 'choices').

0.02     2011-02-09

         Incompatible change: rename arg_order to arg_pos.


0.01     2011-02-09

         First release.