Text Blame History Raw

Version 0.14.0.0 (09 Jun 2017)

  • Upgrade str and related builders to be polymorphic over IsString. This allows Text and Bytestring to be used naturally with strOption and strArgument and friends.

Note: This change may require additional type signatures in cases where the reader was necessary for type inference.

  • Export public API explicitly from Options.Applicative instead of re-exporting other modules.

Note: Minor changes to exports were made in conjunction to this change. ParserHelp no longer requires an an extra import, and some internally used functions from Options.Applicative.Common are no longer exported from the main module.

  • Add Zsh and Fish completions with rich descriptions for options and commands.

Use "--zsh-completion-script" and "fish-completion-script" to generate scripts for these shells.

  • Fix bash completions with quoted sections, tilde expansions and completions after "--".

  • Add suggestions to error message when a user mistypes a command or option.

  • Add style builder, for styling option descriptions.

  • Improve error message for options when a required argument is not supplied.

  • Fix #242 regarding flags with long options, where a flag given a long option could be interpreted incorrectly.

  • Fix noIntersperse to be more like its namesakes in other libraries. When on, options will be accepted until an argument is passed, after which all options will be treated as positional arguments.

  • Add forwardOptions builder, which will allow unknown options and flags to be passed to an argument builder. This is useful to mixed parsing environments, or wrappers to other commands.

  • Add Semigroup instances for Completer and Chunk.

  • Forwards compatibility with MonadFail proposal.

  • Doc

Version 0.13.2.0 (9 Mar 2017)

  • Updated dependency bounds.

  • Doc

Version 0.13.1.0 (10 Feb 2017)

  • Updated dependency bounds.

  • Add required test files to cabal package.

  • Doc

Version 0.13.0.0 (15 Aug 2016)

  • Implement command groups, which allow subcommands to have their own usage description.

  • Implement showHelpOnEmpty, which is similar to showHelpOnError, but only fires when a command or subcommand is begun, and suppresses the "Missing:" error text.

  • Fix ghc 8.0 warnings

  • Fix ghc 7.10 warnings

  • Bump dependency bounds

  • Add maybeReader function for convenient ReadM creation

  • Move eitherReader to Readers section (for better discoverability)

  • Fix hsubparser metavar override

  • Remove ComplError, which was dead code.

  • Reimplement Missing error generation, which overly complicated evalParser.

  • Export Semigroup instances for types which are also Monoids. Removes mempty synonym (<>) export, as it clashes with Semigroup exports. One may need to import Data.Monoid or Data.Semigroup when upgrading.

  • Use a Cabal test suite for tests, simplify test dependencies.

Version 0.12.1.0 (18 Jan 2016)

  • Updated dependency bounds.

  • Improve subparser contexts to improve usage error texts

  • Doc

  • Fixed bugs

    • # 164 - Invalid options and invalid arguments after parser has succeeded not displaying
    • # 146 - multi-word filename completion is broken

Version 0.12.0.0 (17 Sep 2015)

  • Add "missing" error condition descriptions when required flags and arguments are not provided.

  • Allow multiple short flags to be concatenated together behind a single hyphen, e.g. "-xcf".

  • Updated dependency bounds on process and ansi-wl-pprint.

  • Add Show and Eq instances to some types for easier debugging.

  • Add defaultPrefs, a default preferences value

  • Docs.

Version 0.11.0.2 (17 Feb 2015)

  • Updated dependency bounds.

Version 0.11.0.1 (5 Oct 2014)

  • Updated documentation.

Version 0.11.0 (4 Oct 2014)

  • Added Alternative instances for Chunk and ReadM.

  • The ReadM monad is now a ReaderT for the argument being parsed. User defined readers do not need to handle their argument explicitly, but can always access it using readerAsk.

  • Argument builders now take a ReadM parameter, just like options.

  • Fixed bugs

    • #106 - argument should perhaps use ReadM

Version 0.10.0 (1 Sep 2014)

  • Parser execution and help text generation are now more modular, and allow for greater customisation.

  • More consistent API for option and argument builders: now option takes a reader as argument, and nullOption is deprecated in favour of option. The reader modifier is gone. Quick migration guide:

    • option (without a reader modifier) => option auto
    • nullOption (without a reader modifier) => option disabled
    • option/nullOption (with a reader r modifier) => option r.
  • Added convenience builder strArgument, equivalent to argument str.

  • Removed functions deprecated from at least version 0.8.0.

  • Switched test infrastructure to tasty.

  • Fixed bugs

    • #63 - Inconsistency between 'argument' and 'strOption' types

Version 0.9.1.1 (31 Jul 2014)

  • Fixed bugs
    • #97 - Version 0.9.1 fails test suite

Version 0.9.1 (30 Jul 2014)

  • Documentation tweaks.

  • Added low-level function to handle parse results (pull request #94).

  • ParserResult now has a Show instance (see issue #95).

  • Fixed bugs

    • #93 - Formatting problem for several sub-parsers

Version 0.9.0 (23 May 2014)

  • The option returned by abortOption is now visible by default.

Version 0.8.1 (5 May 2014)

  • Fixed bugs
    • #74 - Missing newline

Version 0.8.0.1 (19 Mar 2014)

  • Fixed bugs
    • #73 - Release 0.8.0 is broken

Version 0.8.0 (16 Mar 2014)

  • Help page formatting. Added columns preference modifier, which can be used to specify the number of columns in the output terminal.

  • Deprecated arguments and arguments1 builders. Using many and some on a parser built using argument now returns a multiple argument parsers that behaves correctly with respect to --.

  • Fixed bugs

    • #60 - runParser can't be called
    • #64 - --help behaviour

Version 0.7.0.2 (18 Oct 2013)

  • Fixed bugs
    • #51 - Build fails with ghc 6.12.3 and ghc 7.0.4

Version 0.7.0.1 (18 Oct 2013)

  • Minor docs fixes

Version 0.7.0 (17 Oct 2013)

  • Added builders for options that always fail. This makes it easier to create options that just print an error message or display some brief information and then exit (like --version).

  • Added execParserMaybe and customExecParserMaybe functions (pull request #49).

  • Fixed bugs

    • #47 - Current master prints help text instead of error
    • #48 - Can we have an eitherReader convenience function?
    • #50 - In order parsing problems.
    • #22 - Strict (no-intersperse) arguments

Version 0.6.0 (11 Oct 2013)

  • Arguments are now always parsed in order.

  • Fixed bugs

    • #40 - Add context information to error messages
    • #41 - Readme uses old reader API
    • #38 - Internal types leaking into public API
    • #44 - Can the build input restriction process == 1.1.* be relaxed?
    • #28 - Help for subcommands

Version 0.5.2.1 (24 Dic 2012)

  • Minor docs fixes.

Version 0.5.2 (23 Dic 2012)

  • Fixed compatibility with GHC 7.2.

Version 0.5.1 (23 Dic 2012)

  • There is a new parser preference noBacktrack, that controls whether how a failure in a subparser is propagated. By default, an unknown option in a subparser causes the option to be looked up in parent parsers. When noBacktrack is used, this behavior is disabled. This is useful to implement subcommands that have no relations with their parent commands.

  • Fixed bugs

    • #35 - Artifacts of "hidden"
    • #31 - Backtracking on commands
    • #25 - Allow for using Maybe in options types to specify optional arguments
    • #34 - No simple/obvious way to add a --version switch
    • #29 - Document Mod
    • #26 - Improve docs for the Arrow interface

Version 0.5.0 (22 Dic 2012)

  • Fewer GHC extensions required.

  • Improved error handling: unrecognized options now result in an error message.

  • By default, the full help text is not displayed on parse errors anymore. This behavior can be controlled with the prefShowHelpOnError field of ParserPrefs.

  • The (&) operator is now deprecated. Modifiers can still be combined using (<>) or mappend.

  • Fixed bugs

    • #37 - Use (\<>) instead of (&) in documentation

Version 0.4.3 (09 Dic 2012)

  • Updated dependency bounds.

Version 0.4.2 (26 Nov 2012)

  • Fixed bugs
    • #27 - Please include the test source files in the cabal sdist tarball

Version 0.4.1 (04 Sep 2012)

  • Fixed bugs
    • #19 - Regression

Version 0.4.0 (05 Aug 2012)

  • Brief help text for nested commands now shows the full command line.

  • Fixed inefficiency in the arguments parsers for long argument lists.

  • Added automatic bash completion.

  • Added disambiguate modifier for prefs, which enabled automatic disambiguation of option abbreviations. With disambiguation on, a command line like:

    foo --out
    

    will match an option called --output, as long as its the only one starting with the string out.

  • Added briefDesc modifier.

  • Fixed bugs

    • #8 - Long options not disambiguated
    • #10 - Shell completions
    • #16 - Possible memory leak?

Version 0.3.2 (31 Jul 2012)

  • Fixed bug where both branches of an alternative could be matched.

  • Improved brief help text for alternatives.

Version 0.3.1 (30 Jul 2012)

  • Added new showDefault and showDefaultWith modifiers, which will result in the default value (if present) to be displayed in the help text.

  • Fixed bugs

    • #12 - Optionally display default values in help

Version 0.3.0 (30 Jul 2012)

  • Option modifiers are now instances of Monoid instead of Category.

  • Dropped dependencies on data-default and data-lens.

  • Fixed bugs

    • #14 - "arguments" can no longer take a list as a default

Version 0.2.0 (23 Jul 2012)

  • Parser is now an instance of Alternative. This makes it possible to build certain complex parsers that were not definable before. See tests/Examples/Alternatives.hs for a simple example.

  • Removed multi modifier. You can now use the many or some methods from Alternative, instead, to create parsers for options that can appear more than once.

  • Added new flag' builder that returns a flag without a default value. Although flags without default values were not useful before, with the addition of Alternative combinators, they do have valid use cases.

  • Added new internal modifier for options. An internal option is completely invisible in the help text.

  • Added a new customExecParser function, which takes an additional ParserPrefs parameter. At the moment, ParserPrefs can only be used to control how many-valued option metavars are displayed in the help text. Setting its multiSuffix field to e.g. ... will result in an arguments parser description like [METAVAR]....

  • Fixed bugs

    • #6 - "arguments" swallows options
    • #5 - Help formatting for "arguments" misleading

Version 0.1.1 (21 Jul 2012)

  • New arrow interface

  • Fixed bugs

    • #7 - "arguments" reads positional arguments in reverse

Version 0.1.0 (07 Jul 2012)

  • Improved error reporting internals

  • Removed template-haskell dependency

  • Fixed bugs:

    • #3 - No help for subparsers
    • #4 - Extra empty lines around command list

Version 0.0.1 (09 Jun 2012)

  • Initial release.