Permalink
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
cmdline_src=stdin_or_args).
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
[RT#110234].
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
Data::Unixish.
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
requirement.
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
action_*).
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' ->
'cmdline.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 ->
Term::App::Role::Attrs.
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.
[REMOVED FEATURES]
- 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.1.53).
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
Perinci::CmdLine::Base.
1.23 2014-08-26 (SHARYANTO)
- No functional changes.
- Use Perinci::CmdLine::Base 0.22 (change of configuration profile
syntax).
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)
[ENHANCEMENTS]
- 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)
[INCOMPATIBLE CHANGES]
- Replace result metadata cmdline.display_result with cmdline.result.
[ENHANCEMENTS]
- 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)
[REMOVED FEATURES]
- 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
dependencies.
[INCOMPATIBLE CHANGES]
- 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.
[INTERNAL]
- 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.
[DOCUMENTATION]
- 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)
[REMOVED FEATURES]
- Split Perinci::CmdLine::Easy to its own dist.
[ENHANCEMENTS]
- 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)
[ENHANCEMENTS]
- 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.
[BUG FIXES]
- 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
'extra_wrapper_args').
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)
[INCOMPATIBLE CHANGES]
- [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
details.
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)
[BUG FIXES]
- 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
Locale::TextDomain.
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
Locale::TextDomain.
0.96 2013-11-26 (SHARYANTO)
- Slightly reduce completion overhead.
- Bugfix: Skip non-shell src examples.
0.95 2013-11-08 (SHARYANTO)
[ENHANCEMENTS]
- 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
'array'.
0.94 2013-10-04 (SHARYANTO)
[ENHANCEMENTS]
- Display src examples (Rinci 1.1.39).
[ETC]
- 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)
[INCOMPATIBLE CHANGES]
- Change common option: --list (-l) to --subcommands to make it more
obvious.
[ENHANCEMENTS]
- 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).
- Observe PERINCI_CMDLINE_COLOR_THEME.
- Colorize error messages, help, and --subcommands output.
[DOCUMENTATION]
- 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
now.
[ENHANCEMENTS]
- 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
help.
- 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
specified.
- 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
section.
- 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.
'x.perinci.cmdline.negative_summary.alt.lang.id_ID').
- 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)
[REMOVED FEATURES]
- 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.
[BUG FIXES]
- 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)
[BUG FIXES]
- No functional changes. Add missing dependencies to Perinci::To::Text
[CT].
0.84 2013-08-11 (SHARYANTO)
[BUG FIXES]
- 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.53.
0.82 2013-07-26 (SHARYANTO)
[ENHANCEMENTS]
- 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
Progress::Any::Output::TermProgress.
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)
[BUG FIXES]
- Setting --format-options didn't work.
0.76 2013-05-10 (SHARYANTO)
[ENHANCEMENTS]
- 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.
[REMOVED FEATURES]
- Remove 'extra_opts' attribute because they are now supported via
'common_opts'.
0.75 2013-05-04 (SHARYANTO)
- Observe PROGRESS environment (can be set to 0 to disable progress
display).
- 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)
[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.