Fetching contributors…
Cannot retrieve contributors at this time
1455 lines (740 sloc) 35.8 KB
Revision history for Perinci-CmdLine-Classic
1.71 2016-07-20 (PERLANCAR)
- No functional changes.
- [dist] Bump prereq versions to force upgrade:
Perinci::CmdLine::Base to 1.56.
1.70 2016-06-12 (PERLANCAR)
- No functional changes.
- [dist] Bump prereq versions to force installing of updated
Data::Sah 0.82+: Perinci::Access::Perl -> 0.87,
Perinci::Access::Schemeless -> 0.87, Perinci::Sub::Wrapper ->
0.83, Perinci::Tx::Manager -> 0.56.
1.69 2016-03-16 (PERLANCAR)
- No functional changes.
- Replace JSON with JSON::MaybeXS.
1.68 2016-03-13 (PERLANCAR)
- No functional changes.
- Bump prereq version Data::Unixish to 1.54 [RT#112948].
1.67 2016-02-26 (PERLANCAR)
- Adjust to Perinci::CmdLine::Base 1.51 (support for
1.66 2016-02-04 (PERLANCAR)
- Bump prereq version Test::Perinci::CmdLine -> 1.38.
1.65 2016-01-21 (PERLANCAR)
- Bump prereq version Test::Perinci::CmdLine -> 1.33.
1.64 2016-01-20 (PERLANCAR)
- No functional changes.
- Bump prereq version to force updates: Test::Perinci::CmdLine 1.32,
Perinci::Sub::Wrapper 0.80.
1.63 2016-01-19 (PERLANCAR)
- No functional changes.
- Bump prereq version to force update: Log::Any::App to 0.52
1.62 2016-01-14 (PERLANCAR)
- Tweak how utf8 enabling is determined.
- Bump prereq version Log::Any::IfLOG to 0.07.
1.61 2015-12-09 (PERLANCAR)
- No functional changes.
- Bump prereq version Perinci::CmdLine::Base 1.33 -> 1.42.
- Bump prereq version Test::Perinci::CmdLine 1.25 -> 1.31 [CT].
1.60 2015-10-20 (PERLANCAR)
- No functional changes.
- To reduce deps, make indenting of columns in --help --verbose
optional, so we don't have to deps require (only recommends) on
1.59 2015-09-29 (PERLANCAR)
- [Bugfix] Fix --naked-res.
- Adjust to Test::Perinci::CmdLine 1.25.
1.58 2015-09-18 (PERLANCAR)
- Add result_naked common option like in Perinci::CmdLine::Lite.
1.57 2015-09-15 (PERLANCAR)
- [ux] Prefix error message with program name.
1.56 2015-09-03 (PERLANCAR)
- No functional changes.
- [dist] Move spec prereqs from RuntimeRequires to
DevelopRecommends to reduce deps but still allow indicating spec
1.55 2015-08-18 (PERLANCAR)
- No functional changes.
- Switch from Log::Any to Log::Any::IfLOG.
1.54 2015-07-15 (PERLANCAR)
- Show dynamic generator modules' (x.dynamic_generator_modules)
version in --version.
1.53 2015-07-08 (PERLANCAR)
- Adjust to Perinci::CmdLine::Base 1.21 (add skip_format attribute).
- Update Rinci result metadata attributes interpreted by this module:
x.perinci.cmdline._skip_format -> cmdline.skip_format.
1.52 2015-06-30 (PERLANCAR)
- Adjust to Perinci::CmdLine::Base 1.17 (extra_urls_for_version).
1.51 2015-06-11 (PERLANCAR)
- No functional changes.
- Use Test::Perinci::CmdLine test suite.
1.50 2015-04-11 (PERLANCAR)
- Add common option: --no-env like in PC:Lite.
1.49 2015-04-09 (PERLANCAR)
- [Removed feature] Remove bin/peri-func-usage because it's not
maintained and I'm not using it.
- Adjust to Perinci::CmdLine::Base 1.06 (renamed run_* methods to
1.48 2015-03-22 (PERLANCAR)
- No functional changes.
- [doc] Add more attractive Synopsis, link to tutorial blog series.
1.47 2015-03-10 (PERLANCAR)
- Change result metadata 'result_format_options' ->
1.46 2015-02-26 (PERLANCAR)
- [Bugfix] Pass subcommands hash to Perinci::CmdLine::Help even
though subcommands list is dynamic (coderef).
1.45 2015-02-06 (PERLANCAR)
- Rename module/dist from Perinci::CmdLine to Perinci::CmdLine::Classic
to allow us to refer to it more clearly.
- Enable --json unconditionally, but remove --yaml and --perl so we are
more like ::Lite.
1.44 2015-01-11 (PERLANCAR)
- No functional changes.
- Adjust to Perinci::CmdLine::Base 0.74+ (old profile syntax in IOD
section name no longer supported) [CT].
1.43 2015-01-07 (PERLANCAR)
- Update old code (_err is no more) and change help hook interface
(now pass $r).
1.42 2015-01-03 (PERLANCAR)
- No functional changes.
- Remove unneeded dep [RT#101270].
1.41 2014-12-19 (PERLANCAR)
- No functional changes.
- Adjust to new pericmd-base (0.68, refactored common bits of default
common_opts to ::Base to reduce code duplication).
1.40 2014-12-11 (PERLANCAR)
- No functional changes.
- Use new name of renamed modules: SHARYANTO::Role::ColorTheme ->
Color::Theme::Role::ANSI, SHARYANTO::Role::TermAttrs ->
1.39 2014-12-02 (PERLANCAR)
- No functional changes.
- Switch Perinci::Sub::To::{CLIOptSpec,CLIDocData}.
1.38 2014-11-21 (PERLANCAR)
- Use Perinci::Sub::To::CLIOptSpec to avoid code duplication and produce
nicer list of options for displaying in --help.
- Tweak --help output.
- Like in Perinci::CmdLine::Lite, now only provide --no-config instead
of also --noconfig.
1.37 2014-11-09 (PERLANCAR)
- [Incompatible change] Rename attribute 'log_any_app' to 'log' for
compatibility with Perinci::CmdLine::Lite, old name is still
provided for backward compatibility reason but will be removed in
the future.
- Document about x.hint.result_binary.
1.36 2014-10-24 (PERLANCAR)
- Update dep version (has better binary result/arg support).
- Format binary result as-is (no newline/send to
Perinci::Result::Format) when format is text.
1.35 2014-10-24 (PERLANCAR)
- Default utf8 to off if outputting binary data.
- Add attribute: riap_version (and bump Riap client deps with
versions which already support riap_version).
- Typo: unimplemented status is 501, not 502.
1.34 2014-10-14 (PERLANCAR)
- No functional changes.
- Include more screenshots.
1.33 2014-10-14 (PERLANCAR)
- No functional changes.
- Include screenshots.
1.32 2014-10-03 (PERLANCAR)
- Avoid error when completing (no use_utf8 method).
1.31 2014-09-16 (PERLANCAR)
- No functional changes.
- Move page/stream output functionality to Perinci::CmdLine::Base.
1.30 2014-09-11 (PERLANCAR)
- Add support for cmdline_src=stdin_line and is_password (Rinci
1.29 2014-09-05 (PERLANCAR)
- [Bugfix] Forgot another json decode which should've been encode.
1.28 2014-09-04 (PERLANCAR)
- [Bugfix] Fix bug in displaying 'in' schema property in help.
1.27 2014-09-04 (PERLANCAR)
- [Bugfix] Fix bugs that caused App::riap to die.
1.26 2014-09-03 (PERLANCAR)
- No functional changes.
- Update to Perinci::CmdLine::Base 0.26.
1.25 2014-09-02 (SHARYANTO)
- [Bugfix] Help on subcommand produced main help (some old code has not
been adjusted).
1.24 2014-08-27 (SHARYANTO)
- No functional changes.
- [Internal] Move cmdline_src handling functionality to
1.23 2014-08-26 (SHARYANTO)
- No functional changes.
- Use Perinci::CmdLine::Base 0.22 (change of configuration profile
1.22 2014-08-26 (SHARYANTO)
- No functional changes.
- Update translations (id, fr).
- Fix tests so non-English locale can pass too [CT].
1.21 2014-08-25 (SHARYANTO)
- Add support for reading configuration file.
1.20 2014-08-24 (SHARYANTO)
- [Bug fix] Edit to make tx-related actions (--undo, --redo, --history,
etc) work.
1.19 2014-08-23 (SHARYANTO)
- Replace result metadata cmdline.display_result with cmdline.result.
- Add result metadata cmdline.skip_format.
1.18 2014-08-22 (SHARYANTO)
- [Bugfix] Try to init attributes in BUILD again (previously this is
moved to hook_before_run because of some weirdness that makes
accessing attribute from role not work in inner block of BUILD).
1.17 2014-08-22 (SHARYANTO)
- Remove scripts strip-result-env-* (users can use 'jq' or other tools
to do this).
- Move script peri-run to Perinci-CmdLine-Any.
- Remove --action (see note in the Incompatible Changes section about
the change in the way command-line options are parsed).
- Move examples/ to Perinci-CmdLine-Examples, to help reduce
- To reduce confusion and make things simpler, change the way
command-line options are parsed. Argument options which happen to
clash with common options (e.g. --help, --version) are now renamed to
--help-arg (or --help-arg2 and so on) so no options clash with each
other. Thus, --action is no longer needed.
- Refactoring: split some functionality to Perinci::CmdLine::Base (in
separate dist) for creating Perinci::CmdLine::Lite, a lightweight
alternative that doesn't use Moo, Perinci::Access, nor
Perinci::Result::Format. There are now Perinci-CmdLine and
Perinci-CmdLine-Lite distributions.
- Refactoring: run() and run_*() now returns enveloped response instead
of int. All output is now returned as string by run_*() instead of
printed directly (except for streaming output).
- Refactoring: No long uses internal attributes like
$self->{_subcommand}. Instead, now a per-request (per-run())
stash/hash $r is passed around. This is not unlike the technique used
in Apache handlers and Data::Sah. It's cleaner because the
per-request state is isolated from the object itself.
- Refactoring: help-generating methods now separated into a separate
role (Perinci::CmdLine::Role::Help), just to be more organized.
- Split some documentation (FAQ) from Perinci::CmdLine to
Perinci::CmdLine::Manual and split to Perinci-CmdLine-Base so it can
be installed without requiring too many dependencies.
- Write examples Perinci::CmdLine::Manual::Examples.
1.16 2014-07-03 (SHARYANTO)
- Split Perinci::CmdLine::Easy to its own dist.
- Tidy up run() so it can safely be called multiple times.
- Support for Perinci::CmdLine::Server.
1.15 2014-07-02 (SHARYANTO)
- No functional changes.
- Adjust to Perinci::Sub::Complete 0.53.
1.14 2014-07-02 (SHARYANTO)
- No functional changes.
- Adjust to Complete::Util 0.12.
1.13 2014-06-29 (SHARYANTO)
- No functional changes.
- Increase prereq version: Perinci::Sub::Complete 0.50, to allow
completion routines to return hashref as well as arrayref.
1.12 2014-06-29 (SHARYANTO)
- No functional changes.
- Adjust to new completion modules.
1.11 2014-06-20 (SHARYANTO)
- Adjust to Perinci::Sub::Complete 0.40 (no longer need to do
'complete_arg_val' Riap request on our own).
- Add --pass-cmdline-object to peri-run.
- A couple of bug fixes.
1.10 2014-05-17 (SHARYANTO)
- [ux] Default to 80 (and not wider) column width when displaying
--help --verbose, unless user sets COLUMNS.
- Replace File::Slurp with File::Slurp::Tiny.
1.09 2014-04-30 (SHARYANTO)
- No functional changes.
- Adjust to Perinci::Access::Perl 0.66 (no longer has
1.08 2014-04-16 (SHARYANTO)
- Show release date in --version.
1.07 2014-04-16 (SHARYANTO)
- Send argv to server when parsing argv on the client side returns 501
(see Perinci::Sub::GetArgs::Argv for more details on this error).
This feature currently does not work with transaction and dry-run.
Also, the server side must have a recent Perinci::Access::Perl (0.64)
which supports accepting 'argv' request key for its 'call' action.
1.06 2014-04-04 (SHARYANTO)
- [refactor/internal] Rename action 'subcommand' to 'call' because it's
less confusing and more appropriate. Since --action is
underdocumented, this should break very few users.
1.05 2014-04-02 (SHARYANTO)
- Consult Perinci::Sub::Property::* on unknown properties when
generating help. This allows displaying help for result/table or
result/object Rinci function metadata property. See corresponding
Perinci::Sub::Property::result::{table,object} module for more
1.04 2014-04-01 (SHARYANTO)
- Add common options: --json, --yaml, --perl. But only when user says
'use Perinci::CmdLine 1.04'.
1.03 2014-03-29 (SHARYANTO)
- Bugfix: Don't print 'missing foo arg' when on --help, --history, etc.
1.02 2014-02-26 (SHARYANTO)
- No functional changes.
- Adjust to Progress::Any 0.13 and
Progress::Any::Output::TermProgressBarColor 0.08.
1.01 2014-01-21 (SHARYANTO)
- A couple of fixes in parsing cmdline options for argument with
cmdline_src 'stdin_or_files': avoid printing 'missing arg X' when
getting argument value from STDIN, and parse '--arg F1' properly (it
used to get from STDIN instead of F1).
1.00 2013-12-18 (SHARYANTO)
- No, there's nothing special about the version number.
- Skip setlocale() at the start of program, as Locale::TextDomain
(Locale::Messages) already reads from LANG/LANGUAGE. Programs
requiring setlocale() can do it themselves.
0.99 2013-12-13 (SHARYANTO)
- No functional changes. Mark more strings as translateable using
0.98 2013-12-13 (SHARYANTO)
- No functional changes. Use Locale::TextDomain::UTF8.
0.97 2013-12-13 (SHARYANTO)
- No functional changes. Switch from Locale::Maketext to
0.96 2013-11-26 (SHARYANTO)
- Slightly reduce completion overhead.
- Bugfix: Skip non-shell src examples.
0.95 2013-11-08 (SHARYANTO)
- Fix behavior of 'cmdline_src': now supports 'file' (Rinci 1.1.41),
'stdin_or_files' now correctly reads from files specified in cmdline
argument, now supports giving lines to function argument of type
0.94 2013-10-04 (SHARYANTO)
- Display src examples (Rinci 1.1.39).
- Adjust to Perinci::Access::Perl 0.53+ (remove disk caching options).
- Adjust to Perinci::Sub::Complete (replaces Perinci::BashComplete).
0.93 2013-10-04 (SHARYANTO)
- No functional changes. Force version of SHARYANTO::Role::ColorTheme
so color_theme_class_prefix can be overriden by subclasses.
0.92 2013-10-03 (SHARYANTO)
- Change common option: --list (-l) to --subcommands to make it more
- Reduce startup overhead by caching wrapping result
(Perinci::Access::Perl 0.50 supports disk_cache option).
- More tweaks on --help (as well as --subcommands output).
- Colorize error messages, help, and --subcommands output.
- Document how utf8 output and logging output is turned on/off.
- Add French translation. More translations welcome.
- Show list of (popular) subcommands in help message.
0.91 2013-10-02 (SHARYANTO)
- This release focuses on making help message prettier: colors,
sorting, some tweaks/fixes. Details below. Formatting is now done
using Text::ANSITable. Producing help now causes a slight noticeable
delay (like 0.3-0.4s) on my PC/laptop, but since it is not annoying
enough or invoked frequently enough on a daily basis, it'll do for
- Generate colored help message, yay.
- Provide two versions of help: compact and verbose (--help --verbose).
The purpose of compact help is to be short and rarely exceed one
screen: it only displays usage, examples, and list of options (no
documentation on each option). The normal help is now the verbose
- Show examples in help message.
- Show function description in verbose help message.
- Don't show 'name - summary' line in help message if summary is not
- To save a bit of screen space, don't list --help and --version in
compact help message, since they are already obvious from the usage
- Observe 'x.perinci.cmdline.negative_summary' Rinci metadata
attribute. If there is a bool option with default=1 (e.g. --public,
with summary 'Only show public items') the help message now displays
'--nopublic' since --public is implicit. The summary should
accordingly be the negative summary (e.g. 'Only show private items').
This can now be put in said attribute. It can also be localized (e.g.
- Add examples/demo-help which contains various options to show how
--help and '--help --verbose' would display it.
- For "simple" actions like 'help', 'list', 'version', logging is
turned off by default to reduce startup overhead. However, you can
still turn on logging via LOG=1.
0.90 2013-09-23 (SHARYANTO)
- Add 'args' subcommand specification to prefill function arguments
when calling (useful for function that serves multiple subcommands).
- Show positional arguments in usage message.
0.89 2013-09-20 (SHARYANTO)
- No functional changes. Force upgrade of deps to show previous error
(Rinci 1.1.38).
0.88 2013-09-11 (SHARYANTO)
- No functional changes. Demote Perinci::Tx::Manager from
RuntimeRequires to RuntimeRecommends because not all applications use
it and it currently does not install on Windows (some deps like
File::Lock, which deps on Data::Structure::Util, does not build).
- Now builds on Windows, yay.
0.87 2013-09-08 (SHARYANTO)
- Remove 'dash_to_underscore' option because it is currently rather
confusing. If you specify subcommands using underscores, -l will list
the underscored version but tab completion is using the dashed
version. To simplify stuffs, now no transformation is done.
- Forgot to pass 'pa' argument to Perinci::BashComplete function.
0.86 2013-09-08 (SHARYANTO)
- Update to Rinci 1.1.36 (entity_version -> entity_v).
- Replace Perinci::Access::InProcess with ::Perl and ::Schemeless.
0.85 2013-08-15 (SHARYANTO)
- No functional changes. Add missing dependencies to Perinci::To::Text
0.84 2013-08-11 (SHARYANTO)
- Forgot to update method name which caused '--help' and the
peri-func-usage to not work properly.
0.83 2013-07-26 (SHARYANTO)
- No functional changes. Adjust to new SHARYANTO::Role::Doc::Section
0.82 2013-07-26 (SHARYANTO)
- Allow disabling paging, when cmdline.page_result result metadata is
active, using PAGER=0.
- Column width now observes the COLUMNS environment.
- Add command line script: peri-func-usage to display usage text for
any Riap function.
0.81 2013-07-26 (SHARYANTO)
- Change options display in usage text to be more compact (remove blank
line after --foo line, but indent the options summary/description
text more deeply).
- Add FAQ item about modifying the common options.
- Mark dev version as 'dev' in --help.
0.80 2013-07-06 (SHARYANTO)
- Add 'use experimental "smartmatch"' for 5.18+.
- Handle error when COLOR=0.
0.79 2013-05-18 (SHARYANTO)
- Use Progress::Any::Output::TermProgressBarColor to replace
0.78 2013-05-10 (SHARYANTO)
- Text in common_opt (category, usage, summary) is now not required to
be translateable.
- Update 'id' translation.
0.77 2013-05-10 (SHARYANTO)
- Setting --format-options didn't work.
0.76 2013-05-10 (SHARYANTO)
- Common options are now modularized instead of hardcoded. You can now
delete/rename/add common options like --help, --version, etc. See
documentation for the 'common_opts' attribute.
- Remove 'extra_opts' attribute because they are now supported via
0.75 2013-05-04 (SHARYANTO)
- Observe PROGRESS environment (can be set to 0 to disable progress
- binmode(STDOUT, ":utf8") (TODO: option to opt out from this).
0.74 2013-04-16 (SHARYANTO)
- No functional changes. Avoid perl undef warning.
0.73 2013-04-15 (SHARYANTO)
- Provide format_row().
0.72 2013-04-14 (SHARYANTO)
- format_and_display_result() is split to format_result() and
display_result() (should not be a problem because it's not yet
- 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
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)
- 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)
- 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
- A couple of fixes to tab completion and perl undef warnings.
- Example script 'symlink-with-undo' renamed to 'u-symlink' (to make it
consistent with the upcoming 'u-trash' script; see
0.52 2012-06-26 (SHARYANTO)
- 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
- 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)
- Don't use transactions when dry run, so transaction list is not full
with dry run calls.
0.50 2012-06-22 (SHARYANTO)
- 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)
- Implement undo (--undo, --redo, --history, --clear-history).
0.48 2012-06-15 (SHARYANTO)
- Add module: Perinci::CmdLine::Easy
0.47 2012-04-03 (SHARYANTO)
- 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',
0.46 2012-03-30 (SHARYANTO)
- No functional changes. Fix typo.
0.45 2012-03-30 (SHARYANTO)
- Split formatting to Perinci::Result::Format (in Perinci dist).
- Rename --pretty (-p) and --nopretty (-P) to --text-pretty and
0.44 2012-03-29 (SHARYANTO)
- Make it easy to add more output formats: added --format and formats()
- --json now outputs compact JSON instead of pretty ones. To
pretty-print the output one can pipe it to a formatter program.
- 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)
- Show default argument value in --help message.
0.42 2012-03-16 (SHARYANTO)
- 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)
- Fix do not empty envelope when 'cmdline.display_result' is false.
0.40 2012-03-08 (SHARYANTO)
- 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 (SHARYANTO)
- 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 (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)
- Refactoring: move parse_argv() to
- Localize Getopt::Long::Configure() effect.
0.32 2011-07-10 (SHARYANTO)
- runpm: fix -I.
0.31 2011-07-10 (SHARYANTO)
- 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)
- To reduce the trap of implicit YAML parsing, parsing is only done for
nonscalar arguments.
0.29 2011-06-01 (SHARYANTO)
- No functional changes.
- Update to latest version of Sub::Spec::Runner.
0.28 2011-04-14 (SHARYANTO)
- Remove extra name line in usage message.
0.27 2011-04-14 (SHARYANTO)
- 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 (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
0.14 2011-02-17 (SHARYANTO)
- Fixes for bash completion.
0.13 2011-02-17 (SHARYANTO)
- 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 (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
- 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.