0.481   2022-08-28  Released-By: PERLANCAR; Urgency: medium

        - Don't require 'cmdline' in 'extras' argument to get summary; also
          search for summaries for common options in 'r' (in key

0.480   2020-09-09  Released-By: PERLANCAR; Urgency: medium

	- Use alias summary provided in func.specmeta (produced by
	  Perinci::Sub::GetArgs::Argv 0.845+).

0.479   2020-04-16  Released-By: PERLANCAR; Urgency: medium

	- When completing option value for --opt=^ and option name is
	  ambiguous, return an array of all possible option names in 'opt'
	  argument instead of undef; so the completion routine can decide
	  to provide all completion values.

0.478   2020-04-16  Released-By: PERLANCAR; Urgency: medium

	- [bugfix] For an optional with optional value (optname:s), when
	  user specify --optname=^ (and not --optname ^) then we should
	  force only completing value.

0.477   2020-04-10  Released-By: PERLANCAR; Urgency: medium

	- Better compliance with Getopt::Long: Recognize (and ignore) hash
	  storage in first argument of Getopt::Long specification.

0.476   2020-04-10  Released-By: PERLANCAR; Urgency: high

	- Better compliance with Getopt::Long: options specification is now an
	  array instead of a hash. Not every option spec needs to be followed by
	  a destination, e.g. ['foo=s' => $ary, 'bar'] is okay instead of
	  {'foo=s' => $ary, 'bar'=>sub {}}. The hash form is still accepted but
	  converted into array internally.

0.475   2020-02-05  Released-By: PERLANCAR; Urgency: medium


0.474   2019-12-20  Released-By: PERLANCAR; Urgency: low

	- (Re-)enable tracing log statements, now only enabled on

0.473   2019-12-19  Released-By: PERLANCAR; Urgency: medium

	- Adjust to Complete::File 0.440 which now returns hash answer with
	  path_sep already set to /.

0.472   2019-09-10  Released-By: PERLANCAR; Urgency: low

        - No functional changes.

	- [test] Adjust tests against Complete::Util 0.603 which no longer
	  re-sorts entries [RT#130349].

0.471   2019-06-26  Released-By: PERLANCAR

	- Remove argument 'summaries' to complete_cli_arg(). For now, use
	  Perinci::CmdLine-related information only.

	  Instead of the naive 'summaries' hash (with optspec as key), which
	  does not suffice at all, complete_cli_arg() for now only uses
	  information which is Perinci::CmdLine-specific (in 'extras' ->
	  'cmdline', 'r', 'ggls_res').

	  Basically, complete_cli_arg() wants to know whether it is a "negative
	  option" and picks an appropriate summary from the DefHash/Rinci, and
	  so on.

0.470   2019-06-25  Released-By: PERLANCAR

	- Add argument 'summaries' to complete_cli_arg().

0.46    2017-01-13  Released-By: PERLANCAR

	- No functional changes.

	- Remove dependency on Log::Any::IfLOG.

0.45    2016-11-04  Released-By: PERLANCAR

        - [Bugfix] More bug fixes for completing short option bundle: -S^ (where
          -S requires value) was completed directly with the values, it should
          be consistent with -fS^ which completes to [-fS] to give space. So S^
          completes to [-S].

0.44    2016-11-04  Released-By: PERLANCAR

        - [Bugfix] Fix bugs completing short option bundles: -abcd^ was regarded
          as completing -a^ (bcd was removed), -sVAL^ was not completable,
          -abcs^ was not completed as [-abcs] to give automatic space.

0.43    2016-10-28  Released-By: PERLANCAR

        - [Bugfix] Properly fill 'parsed_opts' with all the option values, not
          just the first one.

0.42    2016-09-27  Released-By: PERLANCAR

        - [Bugfix] Avoid perl error "Can't use an undefined value as a
          subroutine reference" when there is no 'completion' argument passed to
          complete_cli_arg() (thanks Mary Ehlers).

0.41    2016-02-03  Released-By: PERLANCAR

	- No functional changes.

	- Adjust to Complete::Bash 0.27.

0.40    2016-01-23  Released-By: PERLANCAR

	- Adjust to Complete::Bash 0.25.

	- Handle (ignore) special option spec '<>' [RT#110991].

0.39    2016-01-07  Released-By: PERLANCAR

	- Don't bother providing completion of option names if word doesn't
	  start with -, this starts causing problem after
	  Complete::Util::complete_array_elem() has char_mode matching
	  which means in Perinci::CmdLine completing for subcommand names
	  can still get option names.

0.38    2015-12-30  Released-By: PERLANCAR

	- Adjust to Complete::Bash 0.23.

	- Bump prereq version Log::Any::IfLOG to 0.07.

0.37    2015-09-22  Released-By: PERLANCAR

	- [Bugfix] Forgot to update one function call.

0.36    2015-09-17  Released-By: PERLANCAR

	- Adjust to Complete::Util 0.36 (complete_file() & complete_env()
	  split to Complete-File & Complete-Env).

0.35    2015-09-17  Released-By: PERLANCAR

	- No functional changes.

	- Adjust to Complete::Util 0.37 (rename complete_array() to

0.34    2015-09-09  Released-By: PERLANCAR

	- No functional changes.

	- [dist] Move spec prereqs from RuntimeRequires to
	  DevelopRecommends to reduce deps but still allow indicating spec

0.33    2015-09-03  Released-By: PERLANCAR

	- No functional changes.

	- [dist] Move spec prereqs from RuntimeRequires to
	  DevelopRecommends to reduce deps but still allow indicating spec

0.32    2015-04-25  Released-By: PERLANCAR

	- Use combine_answers() from Complete::Util 0.28+ to allow custom
          completion routine to provide final answer without additional
          completion answers. An application of this is in Games::CompHangman.

0.31    2015-04-09  Released-By: PERLANCAR

	- Replace Log::Any with Log::Any::IfLOG.

0.30    2015-03-04  Released-By: PERLANCAR

	- Follow Complete 0.12 (escmode renamed to esc_mode).

0.29    2015-02-15  Released-By: PERLANCAR

	- Add option 'bundling' and support completing single-dash
	  multiletter options '-foo'.

0.28    2015-01-03  Released-By: PERLANCAR

	- No functional changes.

	- Rebuild (Generate TODO.md).

0.27    2014-12-29  Released-By: PERLANCAR

	- [Bugfixes] A couple more fixes for providing arguments for
	  completion routine (correct 'words', 'cword').

0.26    2014-12-29  Released-By: PERLANCAR

	- Split --foo=val, some fixes in producing 'parsed_opts' for
	  completion routine.

0.25    2014-12-28  Released-By: PERLANCAR

	- Provide 'parsed_opts' for completion routine.

0.24    2014-12-27  Released-By: PERLANCAR

	- No functional changes.

	- More tweaking of log messages.

0.23    2014-12-26  Released-By: PERLANCAR

	- No functional changes.

	- Tweak logging message, exclude extras (too long, in
	  Perinci::CmdLine it contains 'cmdline' object).

0.22    2014-12-26  Released-By: PERLANCAR

	- No functional changes.

	- Tweak logging messages to make it easier to debug (preparing

0.21    2014-12-25  Released-By: PERLANCAR

        - No functional changes.

        - Fix sorting in tests [CT].

0.20    2014-12-24  Released-By: PERLANCAR

	- Add note that we deliberately do not provide 'ci' option in this

	- Follow convention of Complete 0.06.

0.19    2014-12-20  Released-By: PERLANCAR


        - Before 0.06, 'completion' argument can also be a hashref. This is no
          longer supported. 'completion' must be a coderef. We have deprecated
          this, removed this from the doc, and supported this for a while but
          it's now time to remove the feature, to simplify stuffs.


        - In order to simplify writing completion routines, the keys from
          'extras' are now merged into the final %args for the completion
          routine. Before it was put into a single key 'extras' in the %args.

0.18    2014-12-05  Released-By: PERLANCAR

        - Delegate '~user/' completion handling to Complete::Util 0.14's

        - Do case-insensitive complete_file(), for convenience.

0.17    2014-11-28  Released-By: PERLANCAR

	- Adjust to Complete::Bash 0.12 (words are now put in 'words' key
	  instead of 'completion' key).

0.16    2014-11-18  Released-By: PERLANCAR

        - Make file completion work more like bash: ~foo/blah<tab> works,
          fallback to file if ~user or $var doesn't match anything, [AB]<tab>
          works like [AB]*.

0.15    2014-11-10  Released-By: PERLANCAR

        - Don't produce --nox and --no-x for single letter spec 'x!'.

0.14    2014-09-04  Released-By: PERLANCAR

        - No functional changes.

        - Make dependency to 'Complete::Getopt::Long' optional to shorten the
          prerequisite list.

0.13    2014-08-06  Released-By: SHARYANTO

        - Provide 'words' and 'cword' to completion routine.

0.12    2014-07-29  Released-By: SHARYANTO

        - [ux] When only completing option names, give proper option name

0.11    2014-07-28  Released-By: SHARYANTO


        - Support completion of bundled short options.

        - Provide 'nth' argument for completion routine, so it can know that an
          option has been given n times (e.g. in '--foo 1 --foo ^' the first foo
          has nth=0, the second nth=1).

0.10    2014-07-27  Released-By: SHARYANTO

        - Some fixes.


        - To avoid cascading parent_args within parent_args (and so on), replace
          it with 'extras'. Now you can chuck all the extra stuffs you want
          to pass to completion routine here.

0.09    2014-07-27  Released-By: SHARYANTO

        - Support the deprecated 'completion' argument as hash. Undocumented and
          will be removed in the future though.

0.08    2014-07-27  Released-By: SHARYANTO

        - [ux] Proper escaping mode when completing environment variables.

0.07    2014-07-27  Released-By: SHARYANTO

        - [ux] Completion routine can now return undef so that
          complete_cli_arg() calls default/fallback completion routine that
          complets from environment vars ('$foo'), usernames ('~foo'), or files.

0.06    2014-07-27  Released-By: SHARYANTO

        - Completion routine now gets extra information/arguments. In addition
          to 'word', it now also gets: type, opt, ospec, argpos, parent_args,


        - 'completion' argument is now a single coderef instead of hash of
          coderefs/arrays. I think this is conceptually simpler and does not
          force the user to specify for every opt spec if she doesn't need to.

0.05    2014-07-26  Released-By: SHARYANTO

        - Add option: fallback_completion.

        - Provide default fallback_completion that can complete environment
          variables ($foo), Unix usernames (~foo), wildcards (foo*), or

        - Other fixes.

0.04    2014-07-26  Released-By: SHARYANTO

        - Change algorithm so things become simpler.

        - Now does not repeat mentioned non-repeatable option names (including
          aliases and abbreviated), e.g. when you have getopt_spec =>
          {'help|h'=>sub{}, 'hour=i'=>sub{}, 'foo=s'=>\@ary}, then if cmdline is
          (^ marks the point of completion) '--he --h^' or '-h --h^' then it
          will complete to ['--hour'] only because '--help' has been mentioned.
          But repeatable option can be repeated, e.g. '--foo --^' will complete
          to ['--foo', '--help', '--hour'].

0.03    2014-07-24  Released-By: SHARYANTO

        - Handle equal sign (--foo=<tab>).

0.02    2014-07-22  Released-By: SHARYANTO

        - [Bugfix] Fix endless loop after flag option.

0.01    2014-07-22  Released-By: SHARYANTO

        - First release.