0.333   2020-01-28  Released-By: PERLANCAR; Urgency: high

        [Incompatible changes]

        - Adjust to Complete 0.202 specification.

	- format_completion: Move 'as' and 'esc_mode' to options (second
	  argument) to avoid cluttering the completion answer structure.
	  'esc_mode' is no longer in the specification, to avoid abstraction
	  leak.

        - Switch the meaning of the escape modes 'default' and 'shellvar', so
	  now in 'default' the dollar sign is not escaped while in 'shellvar' it
	  is. This is more convenient in general.

        [Documentation]

	- Remove explanation for 'path_sep' (moved to the Complete
	  specification).


0.332   2019-12-22  Released-By: PERLANCAR; Urgency: medium

        - [experimental] Observe COMPLETE_BASH_DEFAULT_ESC_MODE.


0.331   2019-12-18  Released-By: PERLANCAR; Urgency: medium

	- format_completion(): add workaround_with_wordbreaks to allow
	  turning off this behavior.


0.330   2019-08-20  Released-By: PERLANCAR; Urgency: medium

	- Avoid perl undef warning (Term::Size::chars() can return undef).


0.329   2019-08-17  Released-By: PERLANCAR; Urgency: medium

	- [ux] When fzf is not available, fallback to returning completion
	  entries as usual instead of displaying a message.


0.328   2019-07-30  Released-By: PERLANCAR; Urgency: medium

	- [bugfix] Fix the use of Term::Size::chars().


0.327   2019-07-02  Released-By: PERLANCAR; Urgency: medium

	- [removed] format_completion(): Remove drawing summary lines every N
	  rows, because bash sorting will mess it up, and I think it looks ugly
	  anyway.

	- format_completion(): No longer sort entries.

	- format_completion(): Close fzf process' input so fzf does not show
          rotating cursor.


0.326   2019-07-02  Released-By: PERLANCAR; Urgency: medium

	- Implement another feature stolen from Ingy's complete-shell: use
	  fzf for filters.


0.325   2019-06-28  Released-By: PERLANCAR; Urgency: low

        - No functional changes.

        - [dist] Try out new release note style.


0.324   2019-06-28  Released-By: PERLANCAR

	- [ux] Tweak summary display to make it look nicer (use vertical
	  bar | instead of space).


0.323   2019-06-27  Released-By: PERLANCAR

	- [ux] By default don't limit entries+summaries to a single-column
	  display, but observe COMPLETE_BASH_MAX_COLUMNS.

	- Add option to show summaries right-aligned, like in fish. This is
          controlled via COMPLETE_BASH_SUMMARY_ALIGN (and also
          COMPLETE_BASH_SUMMARY_LINE_EVERY).


0.322   2019-06-26  Released-By: PERLANCAR

	- Support showing message (Complete 0.201).


0.321   2019-06-25  Released-By: PERLANCAR

	- format_completion() now by default shows item summaries if
	  available (can be turned off by setting 'show_summaries' option
	  or COMPLETE_BASH_SHOW_SUMMARIES to 0).


0.320   2018-10-10  Released-By: PERLANCAR

	- Observe COMPLETE_BASH_TRACE to produce more log statements for
	  debugging.


0.31    2016-12-28  Released-By: PERLANCAR

	- No functional changes.

	- [dist] Fix expressing follow-spec prereq relationship with
	  x_spec.


0.30    2016-12-27  Released-By: PERLANCAR

	- No functional changes.

	- [dist] Moving spec prereq from DevelopRecommends to
	  DevelopSuggests with _SPEC:: prefix.


0.29    2016-12-25  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild to remove extraneous dependencies.


0.28    2016-09-27  Released-By: PERLANCAR

        - [Bugfix] Fix join_wordbreak_words() [GH#3]. Thanks Mary Ehlers.


0.27    2016-02-03  Released-By: PERLANCAR

	- Add join_wordbreak_words().


0.26    2016-02-02  Released-By: PERLANCAR

        - [Incompatible change] Split the rest of the word-breaking characters
          like bash.

        - [Removed] Move parse_options() to Complete-Bash-History because it's
          not generic enough to be in Complete::Bash.


0.25    2016-01-21  Released-By: PERLANCAR

	- [Bugfix] Off-by-one error was still present when current word is not
          the last word.

        - Add utility routine: point().


0.24    2015-12-30  Released-By: PERLANCAR

	- [Bugfix] Fix off-by-one error when truncate_current_word=1.


0.23    2015-12-30  Released-By: PERLANCAR

	- To prevent unnecessary breakages, make the previous change
	  (truncating current word) into a non-default behavior, activated
	  by passing truncate_current_word=>1 option to parse_cmdline().


0.22    2015-12-30  Released-By: PERLANCAR

	- [ux][experimental] Truncate current word to the position of
	  cursor, so completing something like (^ marks the position of
	  cursor) --vers^oo is regarded as --vers instead of --versoo, thus
	  more convenient.


0.21    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
	  requirement.


0.20    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
	  requirement.


0.19    2015-04-02  Released-By: PERLANCAR

	- No functional changes.

	- Skip tests on platforms that do not implement getpwuid [CT].


0.18    2015-03-31  Released-By: PERLANCAR

        - [Internal] Reimplement parse_cmdline() using regex instead of C-like
          char-by-char parsing.

        - [Removed feature] Remove option/parameter 'preserve_quotes' and
          'word_breaks' because they are never used in my applications/other
          libraries (and they complicate the new regex-based parsing
          implementation). Extra word-breaking character used is always '=' and
          that is now the behavior.

        - [ux] Variable syntaxes in word in parse_cmdline() (like
          '$HOME/foo.txt') are now substituted with variable values from
          environment variables, except for the current word. Similarly, tildes
          like '~/todo.txt' is now replaced with user home directory except for
          the current word. This makes completing a command like this works:
          'list-org-todos ~/organizer/todo.org --has-tags <tab>' (the
          applications now see the tildes already expanded so they do not have
          to parse it themselves).


0.17    2015-03-04  Released-By: PERLANCAR

	- Change escmode to esc_mode (Complete 0.12), but old key is still
	  supported (though undocumented).


0.16    2015-01-03  Released-By: PERLANCAR

	- No functional changes.

	- Rebuild (Generate TODO.md).


0.15    2014-12-29  Released-By: PERLANCAR

	- No functional changes.

	- Avoid PAUSE false positive misinterpreting 'package name' as
	  statement (well, PAUSE is rather liberal with the regex, isn't
	  it?).


0.14    2014-12-29  Released-By: PERLANCAR

        - Add workaround for annoyance when completing word that contains ':'
          (like Perl package/module names) in bash, due ':' being a
          word-breaking character in bash.


0.13    2014-11-30  Released-By: PERLANCAR

        - Add function: parse_options().


0.12    2014-11-28  Released-By: PERLANCAR

        [INCOMPATIBLE CHANGES]

        - Comply to Complete 0.04, change 'completion' key in hash-form
          completion answer structure to 'words', and accept each word as
          hashref (to allow for things like fish shell which can have a
          'description' instead of just 'word' for each entry).


0.11    2014-07-26  Released-By: SHARYANTO

        - [tweak] format_completion(): Don't escape '~'.


0.10    2014-07-25  Released-By: SHARYANTO

        - No functional changes.

        - Add documentation about new parse_cmdline() not stripping first word,
          and thus some client code will need to shift @$words + $cword--.


0.09    2014-07-25  Released-By: SHARYANTO

        [INCOMPATIBLE CHANGES]

        - Change algorithm to mimic bash more closely. Remove
          break_cmdline_into_words() and merge the code into parse_cmdline().
          Now does not strip first word, because bash also does not in
          COMP_WORDS. Now 'cmd foo ^ bar' works (becomes ['cmd', 'foo', '',
          'bar']. In short, parse_cmdline() should [be able to] produce the
          equivalent of bash's COMP_WORDS and COMP_CWORD.

        - parse_cmdline(): Add option to preserve quotes, like bash. For
          example, 'cmd "foo bar"' becomes ['cmd', '"foo bar"']. Although this
          is not enabled by default.


0.08    2014-07-23  Released-By: SHARYANTO

        [INCOMPATIBLE CHANGES]

        - break_cmdline_into_words() now injects word-breaking characters into
          the words array, to follow bash more closely. For example,
          break_cmdline_into_words('--foo 1 --bar=2', ':=') now results in
          [qw/--foo 1 --bar = 2/].


0.07    2014-07-22  Released-By: SHARYANTO

        - No functional changes.

        - Rebuild to fix rendering examples.


0.06    2014-07-19  Released-By: SHARYANTO

        [REMOVED FEATURES]

        - Remove mimic_dir_completion(). Functionality is now moved into
          format_completion().

        [INCOMPATIBLE CHANGES]

        - format_completion(): remove 'is_path' key (setting 'path_sep'
          automatically enables path mode), rename 'type' to 'escmode' (rename
          escape mode 'env' to 'shellvar', add 'default' and 'none' modes).

        [ENHANCEMENTS]

        - format_completion(): Recognize key 'as' to return completion as array.
          Useful for using under Term::ReadLine (e.g. in App::riap).

        [DOCUMENTATION]

        - Explain more about path mode.


0.05    2014-07-18  Released-By: SHARYANTO

        - No functional changes.

        - Update Rinci metadata, rebuild POD.


0.04    2014-07-18  Released-By: SHARYANTO

        - Add examples for parse_cmdline().

        [INCOMPATIBLE CHANGES]

        - Return 2-element arrayref instead of 2-element list (in general, I
          want to avoid returning list for better interop with Rinci).


0.03    2014-07-18  Released-By: SHARYANTO

        - Forgot to add 'word_breaks' argument to parse_cmdline().


0.02    2014-07-17  Released-By: SHARYANTO

        [ENHANCEMENTS]

        - Add error message if COMP_LINE is not set.

        - Add argument 'word_breaks' to allow breaking at other characters, like
          bash's COMP_WORDBREAKS.


0.01    2014-07-02  Released-By: SHARYANTO

        - First release, extracted from Complete-Util. format_completion() is
          from Complete::Util's format_shell_completion() but can also accept
          array instead of hash. parse_cmdline() is from Complete::Util's
          parse_shell_cmdline() but with a different return value.
