Revision history for Perinci-CmdLine
0.72 2013-04-14 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- format_and_display_result() is split to format_result() and
display_result() (should not be a problem because it's not yet
documented).
[ENHANCEMENTS]
- Support streaming output (function needs to set result metadata
is_stream => 1 and result needs to be glob/IO::Handle/array/tied
array, format needs to be text).
- Observe 'x.perinci.cmdline.default_format' metadata attribute.
0.71 2013-04-05 (SHARYANTO)
No functional changes. Workaround problem which causes non-pretty text
tables to be displayed by default.
0.70 2013-04-05 (SHARYANTO)
- Add no_getopt_compat Getopt::Long::Configure to disregard "+" as
option starter.
0.69 2013-03-15 (SHARYANTO)
- Add 'pa_args' attribute to pass to Perinci::Access (and in turn to
Perinci::Access::HTTP::Client), e.g. HTTP basic auth information.
- Several small tweaks.
0.68 2013-01-09 (SHARYANTO)
- Add workaround for formatter that modifies STDOUT's binmode setting.
0.67 2012-10-29 (SHARYANTO)
No functional changes. Fix dependencies.
0.66 2012-10-24 (SHARYANTO)
- Display progress indicator for function which uses it (see
Perinci::Access::InProcess 0.36+). For an example of this, see
Git::Bunch 0.24, function sync_bunch().
- Show Perinci::CmdLine's version in --version.
0.65 2012-09-06 (SHARYANTO)
Remove example script bin/symlink-u due to circular dependency
[RT#79482].
0.64 2012-09-04 (SHARYANTO)
- Automatically set verbose when --dry-run.
0.63 2012-08-29 (SHARYANTO)
- Allow transactional function to be passed --dry-run.
0.62 2012-08-28 (SHARYANTO)
- Allow setting exit code via result metadata key 'cmdline.exit_code'.
0.61 2012-08-08 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- Change how array of scalars is parsed, now not as JSON/YAML but using
repeated options (--foo 1 --foo 2) a la traditional Getopt::Long.
- Turn on per-argument explicit JSON and YAML parsing, using
--ARGNAME-json and --ARGNAME-yaml, to make it possible to enter undefs,
empty arrays, etc.
0.60 2012-08-01 (SHARYANTO)
- Rename demo script 'u-symlink' to 'symlink-u'.
- Show cmdline_aliases in help message.
0.59 2012-07-27 (SHARYANTO)
- Tweak: run_history(): Do not format date/time, let
Data::Format::Pretty::Console do it for us
- Fix: --verbose, --quiet, et al didn't work before.
0.58 2012-07-26 (SHARYANTO)
- Allow setting undo => 0 in subcommand, to disable undo/transaction
for that subcommand.
0.57 2012-07-26 (SHARYANTO)
- Add 'extra_opts' attribute.
0.56 2012-07-25 (SHARYANTO)
No functional changes. Increase dep version
Data::Format::Pretty::Console 0.16.
0.55 2012-07-23 (SHARYANTO)
Support 'cmdline_src' arg spec key (Rinci 1.1.20+).
0.54 2012-07-19 (SHARYANTO)
No functional changes. Add dependencies to
Perinci::Access::TCP::{Server,Client} for convenience. Requires
Perinci::Sub::GetArgs::Argv 0.18 which supports parsing nonscalar
arguments as JSON as well as YAML, also for convenience.
0.53 2012-07-12 (SHARYANTO)
[ENHANCEMENTS]
- Add 'default_subcommand' attribute. If set, subcommand name will be
taken from this instead of first command-line argument. To access
other subcommands, users will need to give --cmd command-line option.
- Common options --list will only be added if there are subcommands
defined.
[BUG FIXES]
- A couple of fixes to tab completion and perl undef warnings.
[OTHER]
- Example script 'symlink-with-undo' renamed to 'u-symlink' (to make it
consistent with the upcoming 'u-trash' script; see
File::Trash::Undoable).
0.52 2012-06-26 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- Remove options --yaml, --json, --text, --text-pretty, --text-simple;
use --format for now. This is to reduce the possibility of collision
with function argument options (especially things like --text are
common as function arguments).
In general Perinci::CmdLine should introduce as few command-line
options as possible to avoid collisions.
[FIXES]
- Fix typo that cause list of known result formats to be empty in error
message when passed --format=BOGUS
0.51 2012-06-22 (SHARYANTO)
[ENHANCEMENTS]
- Don't use transactions when dry run, so transaction list is not full
with dry run calls.
0.50 2012-06-22 (SHARYANTO)
[ENHANCEMENTS]
- Interpret --dry-run (or environment DRY_RUN=1) and pass -dry_run=>1
to functions that have the dry_run feature.
- Don't treat 304 status as error (still return exit code 0).
0.49 2012-06-22 (SHARYANTO)
[ENHANCEMENTS]
- Implement undo (--undo, --redo, --history, --clear-history).
0.48 2012-06-15 (SHARYANTO)
[ENHANCEMENTS]
- Add module: Perinci::CmdLine::Easy
0.47 2012-04-03 (SHARYANTO)
[FIXES]
- Better handle case when common options like --help, --list, --version
clash with function arguments with the same name. Now the behavior is
to invoke common action (like help, version), unless
--action=subcommand is specified, where it will set function
arguments instead. Note that this is a non-issue when none of the
function arguments happen to have names of 'help', 'list', 'version',
etc.
0.46 2012-03-30 (SHARYANTO)
No functional changes. Fix typo.
0.45 2012-03-30 (SHARYANTO)
[REFACTORING]
- Split formatting to Perinci::Result::Format (in Perinci dist).
[INCOMPATIBLE CHANGE]
- Rename --pretty (-p) and --nopretty (-P) to --text-pretty and
--text-simple.
0.44 2012-03-29 (SHARYANTO)
[ENHANCEMENTS]
- Make it easy to add more output formats: added --format and formats()
attribute.
[INCOMPATIBLE CHANGE]
- --json now outputs compact JSON instead of pretty ones. To
pretty-print the output one can pipe it to a formatter program.
[FIXES]
- Bash completion: list of common options was incomplete (but we still
can't complete common option's value like --format <tab>).
0.43 2012-03-23 (SHARYANTO)
[ENHANCEMENTS]
- Show default argument value in --help message.
0.42 2012-03-16 (SHARYANTO)
[ENHANCEMENTS]
- 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 (SHARYANTO)
[BUG FIXES]
- Fix do not empty envelope when 'cmdline.display_result' is false.
0.40 2012-03-08 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- Observe function result metadata: 'cmdline.display_result' (no longer
observe 'cmdline.result_importance').
[ENHANCEMENTS]
- Observe function result metadata: 'cmdline.page_result' to send
result to PAGER.
0.39 2012-03-03 (SHARYANTO)
[ENHANCEMENTS]
- 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).
[FIXES]
- Common options (like --yaml, --help, -l) now won't override options
for function arguments of the same name.
[REMOVED]
- 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 (SHARYANTO)
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 (SHARYANTO)
No functional changes. Mark deprecation.
0.36 2011-08-25 (SHARYANTO)
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 (SHARYANTO)
Uses Data::Format::Pretty for result formatting. JSON output is now
pretty-printed by default.
0.34 2011-08-03 (SHARYANTO)
No functional changes. Fixed test script to adjust to new
Object::BlankStr [CT]. Updated dependencies.
0.33 2011-07-26 (SHARYANTO)
[INCOMPATIBLE CHANGES]
Refactoring: move parse_argv() to
Sub::Spec::GetArgs::Argv::get_args_from_argv().
[ENHANCEMENTS]
Localize Getopt::Long::Configure() effect.
0.32 2011-07-10 (SHARYANTO)
[BUG FIXES]
* runpm: fix -I.
0.31 2011-07-10 (SHARYANTO)
[ENHANCEMENTS]
* 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 (SHARYANTO)
[INCOMPATIBLE CHANGES]
* To reduce the trap of implicit YAML parsing, parsing is only done for
nonscalar arguments.
0.29 2011-06-01 (SHARYANTO)
No functional changes.
[ETC]
- Update to latest version of Sub::Spec::Runner.
0.28 2011-04-14 (SHARYANTO)
[BUG FIXES]
- Remove extra name line in usage message.
0.27 2011-04-14 (SHARYANTO)
[ENHANCEMENTS]
- 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
[ETC]
- 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 (SHARYANTO)
Require Sub::Spec::Runner 0.09.
0.25 2011-02-28 (SHARYANTO)
On non-success response from sub, print output (error message) even if
spec enables cmdline_suppress_output.
0.24 2011-02-28 (SHARYANTO)
Now based on Sub::Spec::Runner for dependency checking before run.
0.23 2011-02-23 (SHARYANTO)
Fix dependency (Sub::Spec version).
Don't add error message when Getopt::Long already prints to stderr.
0.22 2011-02-22 (SHARYANTO)
Use Sub::Spec::Utils.
0.21 2011-02-21 (SHARYANTO)
Add some more documentation.
Requires recent versions of Test::More & Sub::Spec::BashComplete.
0.20 2011-02-18 (SHARYANTO)
Escape completion output since BashComplete now doesn't.
Added some doc.
0.19 2011-02-18 (SHARYANTO)
Provide runpm script.
0.18 2011-02-18 (SHARYANTO)
run(): More fixes for completion.
spec: cmdline_aliases is renamed to arg_aliases.
Fix test [CT].
0.17 2011-02-17 (SHARYANTO)
run(): Fixed stupid parenthesis bug.
0.16 2011-02-17 (SHARYANTO)
run(): A couple more fixes for bash completion.
parse_argv(): Also add --nofoo for bool cmdline_aliases.
0.15 2011-02-17 (SHARYANTO)
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
Sub::Spec::BashComplete.
0.14 2011-02-17 (SHARYANTO)
Fixes for bash completion.
0.13 2011-02-17 (SHARYANTO)
[INCOMPATIBLE CHANGES]
run(): rename 'require' argument to 'load'.
[IMPROVEMENTS]
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 (SHARYANTO)
Fixes for bash completion.
Add arguments to run(): help, spec, run, per-subcommand category.
Other bug fixes.
0.11 2011-02-16 (SHARYANTO)
Add support for bash completion (requires Sub::Spec::BashComplete).
0.10 2011-02-16 (SHARYANTO)
Add strict=>0 option in parse_argv(), for use by
Sub::Spec::BashComplete.
Some small refactoring.
0.09 2011-02-15 (SHARYANTO)
Add --version.
0.08 2011-02-15 (SHARYANTO)
Fixes for subcommands support.
Respect spec clause: cmdline_suppress_output.
0.07 2011-02-11 (SHARYANTO)
Formatting fix: missing newline in error message.
0.06 2011-02-11 (SHARYANTO)
Add 'cmd' option to gen_usage().
Formatting tweaks.
0.05 2011-02-11 (SHARYANTO)
Remove 'required_args'.
0.04 2011-02-10 (SHARYANTO)
Formatting fixes.
0.03 2011-02-10 (SHARYANTO)
Formatting tweaks.
Fix schema clause ('in', not 'choices').
0.02 2011-02-09 (SHARYANTO)
Incompatible change: rename arg_order to arg_pos.
Documentation.
0.01 2011-02-09 (SHARYANTO)
First release.