Blame CHANGELOG.md

Packit 3fa651
## Version 0.14.0.0 (09 Jun 2017)
Packit 3fa651
Packit 3fa651
- Upgrade `str` and related builders to be polymorphic over
Packit 3fa651
  `IsString`. This allows `Text` and `Bytestring` to be used
Packit 3fa651
  naturally with `strOption` and `strArgument` and friends.
Packit 3fa651
Packit 3fa651
  *Note:* This change may require additional type signatures
Packit 3fa651
          in cases where the reader was necessary for type
Packit 3fa651
          inference.
Packit 3fa651
Packit 3fa651
- Export public API explicitly from `Options.Applicative`
Packit 3fa651
  instead of re-exporting other modules.
Packit 3fa651
Packit 3fa651
  *Note:* Minor changes to exports were made in conjunction
Packit 3fa651
          to this change. `ParserHelp` no longer requires an
Packit 3fa651
          an extra import, and some internally used functions
Packit 3fa651
          from `Options.Applicative.Common` are no longer
Packit 3fa651
          exported from the main module.
Packit 3fa651
Packit 3fa651
- Add Zsh and Fish completions with rich descriptions for
Packit 3fa651
  options and commands.
Packit 3fa651
Packit 3fa651
  Use "--zsh-completion-script" and "fish-completion-script"
Packit 3fa651
  to generate scripts for these shells.
Packit 3fa651
Packit 3fa651
- Fix bash completions with quoted sections, tilde expansions
Packit 3fa651
  and completions after "--".
Packit 3fa651
Packit 3fa651
- Add suggestions to error message when a user mistypes a
Packit 3fa651
  command or option.
Packit 3fa651
Packit 3fa651
- Add `style` builder, for styling option descriptions.
Packit 3fa651
Packit 3fa651
- Improve error message for options when a required argument
Packit 3fa651
  is not supplied.
Packit 3fa651
Packit 3fa651
- Fix #242 regarding flags with long options, where a flag given
Packit 3fa651
  a long option could be interpreted incorrectly.
Packit 3fa651
Packit 3fa651
- Fix `noIntersperse` to be more like its namesakes in other
Packit 3fa651
  libraries. When on, options will be accepted until an argument
Packit 3fa651
  is passed, after which all options will be treated as positional
Packit 3fa651
  arguments.
Packit 3fa651
Packit 3fa651
- Add `forwardOptions` builder, which will allow unknown options
Packit 3fa651
  and flags to be passed to an argument builder.
Packit 3fa651
  This is useful to mixed parsing environments, or wrappers to
Packit 3fa651
  other commands.
Packit 3fa651
Packit 3fa651
- Add `Semigroup` instances for `Completer` and `Chunk`.
Packit 3fa651
Packit 3fa651
- Forwards compatibility with `MonadFail` proposal.
Packit 3fa651
Packit 3fa651
- Doc
Packit 3fa651
Packit 3fa651
## Version 0.13.2.0 (9 Mar 2017)
Packit 3fa651
Packit 3fa651
- Updated dependency bounds.
Packit 3fa651
Packit 3fa651
- Doc
Packit 3fa651
Packit 3fa651
## Version 0.13.1.0 (10 Feb 2017)
Packit 3fa651
Packit 3fa651
- Updated dependency bounds.
Packit 3fa651
Packit 3fa651
- Add required test files to cabal package.
Packit 3fa651
Packit 3fa651
- Doc
Packit 3fa651
Packit 3fa651
## Version 0.13.0.0 (15 Aug 2016)
Packit 3fa651
Packit 3fa651
- Implement command groups, which allow subcommands to have their own
Packit 3fa651
  usage description.
Packit 3fa651
Packit 3fa651
- Implement showHelpOnEmpty, which is similar to showHelpOnError, but only
Packit 3fa651
  fires when a command or subcommand is begun, and suppresses the "Missing:"
Packit 3fa651
  error text.
Packit 3fa651
Packit 3fa651
- Fix ghc 8.0 warnings
Packit 3fa651
Packit 3fa651
- Fix ghc 7.10 warnings
Packit 3fa651
Packit 3fa651
- Bump dependency bounds
Packit 3fa651
Packit 3fa651
- Add maybeReader function for convenient ReadM creation
Packit 3fa651
Packit 3fa651
- Move eitherReader to Readers section (for better discoverability)
Packit 3fa651
Packit 3fa651
- Fix hsubparser metavar override
Packit 3fa651
Packit 3fa651
- Remove ComplError, which was dead code.
Packit 3fa651
Packit 3fa651
- Reimplement Missing error generation, which overly complicated evalParser.
Packit 3fa651
Packit 3fa651
- Export Semigroup instances for types which are also Monoids. Removes
Packit 3fa651
  mempty synonym `(<>)` export, as it clashes with Semigroup exports.
Packit 3fa651
  One may need to import Data.Monoid or Data.Semigroup when upgrading.
Packit 3fa651
Packit 3fa651
- Use a Cabal test suite for tests, simplify test dependencies.
Packit 3fa651
Packit 3fa651
## Version 0.12.1.0 (18 Jan 2016)
Packit 3fa651
Packit 3fa651
- Updated dependency bounds.
Packit 3fa651
Packit 3fa651
- Improve subparser contexts to improve usage error texts
Packit 3fa651
Packit 3fa651
- Doc
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \# 164 - Invalid options and invalid arguments after parser has succeeded
Packit 3fa651
               not displaying
Packit 3fa651
    * \# 146 - multi-word filename completion is broken
Packit 3fa651
Packit 3fa651
Packit 3fa651
## Version 0.12.0.0 (17 Sep 2015)
Packit 3fa651
Packit 3fa651
- Add "missing" error condition descriptions when required flags and arguments
Packit 3fa651
  are not provided.
Packit 3fa651
Packit 3fa651
- Allow multiple short flags to be concatenated together behind a single
Packit 3fa651
  hyphen, e.g. "-xcf".
Packit 3fa651
Packit 3fa651
- Updated dependency bounds on `process` and `ansi-wl-pprint`.
Packit 3fa651
Packit 3fa651
- Add `Show` and `Eq` instances to some types for easier debugging.
Packit 3fa651
Packit 3fa651
- Add defaultPrefs, a default preferences value
Packit 3fa651
Packit 3fa651
- Docs.
Packit 3fa651
Packit 3fa651
## Version 0.11.0.2 (17 Feb 2015)
Packit 3fa651
Packit 3fa651
- Updated dependency bounds.
Packit 3fa651
Packit 3fa651
## Version 0.11.0.1 (5 Oct 2014)
Packit 3fa651
Packit 3fa651
- Updated documentation.
Packit 3fa651
Packit 3fa651
## Version 0.11.0 (4 Oct 2014)
Packit 3fa651
Packit 3fa651
- Added Alternative instances for `Chunk` and `ReadM`.
Packit 3fa651
Packit 3fa651
- The `ReadM` monad is now a `ReaderT` for the argument being parsed.  User
Packit 3fa651
  defined readers do not need to handle their argument explicitly, but can
Packit 3fa651
  always access it using `readerAsk`.
Packit 3fa651
Packit 3fa651
- Argument builders now take a `ReadM` parameter, just like options.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#106 - argument should perhaps use `ReadM`
Packit 3fa651
Packit 3fa651
## Version 0.10.0 (1 Sep 2014)
Packit 3fa651
Packit 3fa651
- Parser execution and help text generation are now more modular, and allow for
Packit 3fa651
  greater customisation.
Packit 3fa651
Packit 3fa651
- More consistent API for `option` and `argument` builders: now `option` takes
Packit 3fa651
  a reader as argument, and `nullOption` is deprecated in favour of `option`.
Packit 3fa651
  The `reader` modifier is gone.  Quick migration guide:
Packit 3fa651
Packit 3fa651
    * `option` (without a `reader` modifier) => `option auto`
Packit 3fa651
    * `nullOption` (without a `reader` modifier) => `option disabled`
Packit 3fa651
    * `option`/`nullOption` (with a `reader r` modifier) => `option r`.
Packit 3fa651
Packit 3fa651
- Added convenience builder `strArgument`, equivalent to `argument str`.
Packit 3fa651
Packit 3fa651
- Removed functions deprecated from at least version 0.8.0.
Packit 3fa651
Packit 3fa651
- Switched test infrastructure to `tasty`.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#63 - Inconsistency between 'argument' and 'strOption' types
Packit 3fa651
Packit 3fa651
## Version 0.9.1.1 (31 Jul 2014)
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#97 - Version 0.9.1 fails test suite
Packit 3fa651
Packit 3fa651
## Version 0.9.1 (30 Jul 2014)
Packit 3fa651
Packit 3fa651
- Documentation tweaks.
Packit 3fa651
Packit 3fa651
- Added low-level function to handle parse results (pull request \#94).
Packit 3fa651
Packit 3fa651
- `ParserResult` now has a `Show` instance (see issue \#95).
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#93 - Formatting problem for several sub-parsers
Packit 3fa651
Packit 3fa651
## Version 0.9.0 (23 May 2014)
Packit 3fa651
Packit 3fa651
- The option returned by `abortOption` is now visible by default.
Packit 3fa651
Packit 3fa651
## Version 0.8.1 (5 May 2014)
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#74 - Missing newline
Packit 3fa651
Packit 3fa651
## Version 0.8.0.1 (19 Mar 2014)
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#73 - Release 0.8.0 is broken
Packit 3fa651
Packit 3fa651
## Version 0.8.0 (16 Mar 2014)
Packit 3fa651
Packit 3fa651
- Help page formatting.  Added `columns` preference modifier,
Packit 3fa651
  which can be used to specify the number of columns in the output
Packit 3fa651
  terminal.
Packit 3fa651
Packit 3fa651
- Deprecated `arguments` and `arguments1` builders. Using `many` and `some` on a
Packit 3fa651
  parser built using `argument` now returns a multiple argument parsers that
Packit 3fa651
  behaves correctly with respect to `--`.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#60 - runParser can't be called
Packit 3fa651
    * \#64 - --help behaviour
Packit 3fa651
Packit 3fa651
## Version 0.7.0.2 (18 Oct 2013)
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#51 - Build fails with ghc 6.12.3 and ghc 7.0.4
Packit 3fa651
Packit 3fa651
## Version 0.7.0.1 (18 Oct 2013)
Packit 3fa651
Packit 3fa651
- Minor docs fixes
Packit 3fa651
Packit 3fa651
## Version 0.7.0 (17 Oct 2013)
Packit 3fa651
Packit 3fa651
- Added builders for options that always fail. This makes it
Packit 3fa651
  easier to create options that just print an error message or
Packit 3fa651
  display some brief information and then exit (like `--version`).
Packit 3fa651
Packit 3fa651
- Added `execParserMaybe` and `customExecParserMaybe` functions
Packit 3fa651
  (pull request #49).
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#47 - Current master prints help text instead of error
Packit 3fa651
    * \#48 - Can we have an eitherReader convenience function?
Packit 3fa651
    * \#50 - In order parsing problems.
Packit 3fa651
    * \#22 - Strict (no-intersperse) arguments
Packit 3fa651
Packit 3fa651
## Version 0.6.0 (11 Oct 2013)
Packit 3fa651
Packit 3fa651
- Arguments are now always parsed in order.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#40 - Add context information to error messages
Packit 3fa651
    * \#41 - Readme uses old reader API
Packit 3fa651
    * \#38 - Internal types leaking into public API
Packit 3fa651
    * \#44 - Can the build input restriction process == 1.1.* be relaxed?
Packit 3fa651
    * \#28 - Help for subcommands
Packit 3fa651
Packit 3fa651
## Version 0.5.2.1 (24 Dic 2012)
Packit 3fa651
Packit 3fa651
- Minor docs fixes.
Packit 3fa651
Packit 3fa651
## Version 0.5.2 (23 Dic 2012)
Packit 3fa651
Packit 3fa651
- Fixed compatibility with GHC 7.2.
Packit 3fa651
Packit 3fa651
## Version 0.5.1 (23 Dic 2012)
Packit 3fa651
Packit 3fa651
- There is a new parser preference `noBacktrack`, that controls whether how a
Packit 3fa651
  failure in a subparser is propagated. By default, an unknown option in a
Packit 3fa651
  subparser causes the option to be looked up in parent parsers. When
Packit 3fa651
  `noBacktrack` is used, this behavior is disabled. This is useful to implement
Packit 3fa651
  subcommands that have no relations with their parent commands.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#35 - Artifacts of "hidden"
Packit 3fa651
    * \#31 - Backtracking on commands
Packit 3fa651
    * \#25 - Allow for using Maybe in options types to specify optional arguments
Packit 3fa651
    * \#34 - No simple/obvious way to add a --version switch
Packit 3fa651
    * \#29 - Document Mod
Packit 3fa651
    * \#26 - Improve docs for the `Arrow` interface
Packit 3fa651
Packit 3fa651
## Version 0.5.0 (22 Dic 2012)
Packit 3fa651
Packit 3fa651
- Fewer GHC extensions required.
Packit 3fa651
Packit 3fa651
- Improved error handling: unrecognized options now result in an error message.
Packit 3fa651
Packit 3fa651
- By default, the full help text is not displayed on parse errors anymore.
Packit 3fa651
  This behavior can be controlled with the `prefShowHelpOnError` field of
Packit 3fa651
  `ParserPrefs`.
Packit 3fa651
Packit 3fa651
- The `(&)` operator is now deprecated. Modifiers can still be combined using
Packit 3fa651
  `(<>)` or `mappend`.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#37 - Use (\<\>) instead of (&) in documentation
Packit 3fa651
Packit 3fa651
## Version 0.4.3 (09 Dic 2012)
Packit 3fa651
Packit 3fa651
- Updated dependency bounds.
Packit 3fa651
Packit 3fa651
## Version 0.4.2 (26 Nov 2012)
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#27 - Please include the test source files in the cabal sdist tarball
Packit 3fa651
Packit 3fa651
## Version 0.4.1 (04 Sep 2012)
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#19 - Regression
Packit 3fa651
Packit 3fa651
## Version 0.4.0 (05 Aug 2012)
Packit 3fa651
Packit 3fa651
- Brief help text for nested commands now shows the full command line.
Packit 3fa651
Packit 3fa651
- Fixed inefficiency in the `arguments` parsers for long argument lists.
Packit 3fa651
Packit 3fa651
- Added automatic [bash
Packit 3fa651
completion](https://github.com/pcapriotti/optparse-applicative/wiki/Bash-Completion).
Packit 3fa651
Packit 3fa651
- Added `disambiguate` modifier for `prefs`, which enabled automatic
Packit 3fa651
disambiguation of option abbreviations. With disambiguation on, a command line
Packit 3fa651
like:
Packit 3fa651
Packit 3fa651
        foo --out
Packit 3fa651
Packit 3fa651
    will match an option called `--output`, as long as its the only one starting
Packit 3fa651
    with the string `out`.
Packit 3fa651
Packit 3fa651
- Added `briefDesc` modifier.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#8 - Long options not disambiguated
Packit 3fa651
    * \#10 - Shell completions
Packit 3fa651
    * \#16 - Possible memory leak?
Packit 3fa651
Packit 3fa651
## Version 0.3.2 (31 Jul 2012)
Packit 3fa651
Packit 3fa651
- Fixed bug where both branches of an alternative could be matched.
Packit 3fa651
Packit 3fa651
- Improved brief help text for alternatives.
Packit 3fa651
Packit 3fa651
## Version 0.3.1 (30 Jul 2012)
Packit 3fa651
Packit 3fa651
- Added new `showDefault` and `showDefaultWith` modifiers, which will result in
Packit 3fa651
the default value (if present) to be displayed in the help text.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#12 - Optionally display default values in help
Packit 3fa651
Packit 3fa651
## Version 0.3.0 (30 Jul 2012)
Packit 3fa651
Packit 3fa651
- Option modifiers are now instances of `Monoid` instead of `Category`.
Packit 3fa651
Packit 3fa651
- Dropped dependencies on data-default and data-lens.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#14 - "arguments" can no longer take a list as a default
Packit 3fa651
Packit 3fa651
## Version 0.2.0 (23 Jul 2012)
Packit 3fa651
Packit 3fa651
- Parser is now an instance of Alternative. This makes it possible to build
Packit 3fa651
certain complex parsers that were not definable before. See
Packit 3fa651
`tests/Examples/Alternatives.hs` for a simple example.
Packit 3fa651
Packit 3fa651
- Removed `multi` modifier. You can now use the `many` or `some` methods from
Packit 3fa651
`Alternative`, instead, to create parsers for options that can appear more than
Packit 3fa651
once.
Packit 3fa651
Packit 3fa651
- Added new `flag'` builder that returns a flag without a default value.
Packit 3fa651
Although flags without default values were not useful before, with the addition
Packit 3fa651
of `Alternative` combinators, they do have valid use cases.
Packit 3fa651
Packit 3fa651
- Added new `internal` modifier for options. An internal option is completely
Packit 3fa651
invisible in the help text.
Packit 3fa651
Packit 3fa651
- Added a new `customExecParser` function, which takes an additional
Packit 3fa651
`ParserPrefs` parameter. At the moment, `ParserPrefs` can only be used to
Packit 3fa651
control how many-valued option metavars are displayed in the help text. Setting
Packit 3fa651
its `multiSuffix` field to e.g. `...` will result in an `arguments` parser
Packit 3fa651
description like `[METAVAR]...`.
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
    * \#6 - "arguments" swallows options
Packit 3fa651
    * \#5 - Help formatting for "arguments" misleading
Packit 3fa651
Packit 3fa651
## Version 0.1.1 (21 Jul 2012)
Packit 3fa651
Packit 3fa651
- New arrow interface
Packit 3fa651
Packit 3fa651
- Fixed bugs
Packit 3fa651
      * \#7 - "arguments" reads positional arguments in reverse
Packit 3fa651
Packit 3fa651
## Version 0.1.0 (07 Jul 2012)
Packit 3fa651
Packit 3fa651
- Improved error reporting internals
Packit 3fa651
Packit 3fa651
- Removed template-haskell dependency
Packit 3fa651
Packit 3fa651
- Fixed bugs:
Packit 3fa651
      * \#3 - No help for subparsers
Packit 3fa651
      * \#4 - Extra empty lines around command list
Packit 3fa651
Packit 3fa651
## Version 0.0.1 (09 Jun 2012)
Packit 3fa651
Packit 3fa651
- Initial release.