Skip to content

Releases: pcapriotti/optparse-applicative

Version 0.19.0.0 (3 June 2025)

Choose a tag to compare

@HuwCampbell HuwCampbell released this 03 Jun 08:50
  • Add briefHangPoint modifier. This allows one to specify the command length
    after which the rendering will change from aligned with the end of the
    command name to being indented on the next line.

  • Add parserOptionGroup for grouping Options together, similar to command
    groups. Requires the breaking change of adding the propGroup :: OptGroup
    field to OptProperties.

optparse-applicative 0.18.1

Choose a tag to compare

@HuwCampbell HuwCampbell released this 16 Jul 23:38
270a626
  • Change pretty printer layout algorithm used.

    The layoutSmart algorithm appears to be extremely slow with some command line
    sets, to the point where the program appears to hang.

    Fixes issues:

    • # 476 - Stack executable 'hangs' with 0.17.1 and 0.18.0.
  • Render help text with AnsiStyle aware rendering functions.

optparse-applicative 0.18.0

Choose a tag to compare

@HuwCampbell HuwCampbell released this 23 May 10:44
eccd532
  • Move to 'prettyprinter` library for pretty printing.

    This is a potentially breaking change when one uses the '*Doc' family of functions
    (like headerDoc) from Options.Applicative. However, as versions of
    'ansi-wl-pprint > 1.0' export a compatible Doc type, this can be mitigated by
    using a recent version.

    One can also either import directly from Options.Applicative.Help or from the
    Prettyprinter module of 'prettyprinter'.

  • Allow commands to be disambiguated in a similar manner to flags when the
    disambiguate modifier is used.

    This is a potentially breaking change as the internal CmdReader constructor
    has been adapted so it is able to be inspected to a greater degree to support
    finding prefix matches.

optparse-applicative 0.17.1

Choose a tag to compare

@HuwCampbell HuwCampbell released this 23 May 10:43
  • Widen bounds for ansi-wl-pprint. This supports the use of prettyprinter
    in a non-breaking way, as the ansi-wl-pprint > 1.0 support the newer
    library.

  • Export helpIndent from Options.Applicative.

  • Export completion script generators from Options.Applicative.BashCompletion.

  • Add simpleVersioner utility for adding a '--version' option to a parser.

  • Improve documentation.

optparse-applicative 0.17.0

Choose a tag to compare

@HuwCampbell HuwCampbell released this 01 Feb 10:26
d307e46
  • Make tabulation width configurable in usage texts.

  • Separate program name and description in ParserHelp type.

  • Add helperWith function, which can be easily used to
    localize the help flag.

  • Improve usage texts when command names are long.

  • Improve Documentation.

optparse-applicative 0.16.1

Choose a tag to compare

@HuwCampbell HuwCampbell released this 15 Dec 22:27
  • Guard process dependency behind an on by default flag. This allows one to shrink the dependency tree significantly by turning off the ability to use bash completion actions.

  • Remove bytestring dependency from the test suite.

optparse-applicative 0.16.0

Choose a tag to compare

@HuwCampbell HuwCampbell released this 13 Aug 15:15
2c0e6ef
  • Add Options.Applicative.NonEmpty.some1 function, which
    parses options the same as some1 from base, but doesn't
    cause duplicates in the usage texts.

  • Further improve help text generation in the presence
    of optional values when nesting is involved, and many and
    some when displayed with a suffix.

  • Add "global" options to the usage texts for subcommands.
    When using subcommands, a "global options" section can
    now appear below the options and commands sections.

    Global options are off by default, to enable them, use
    the helpShowGlobals modifier.

    The noGlobal builder will suppress a single option being
    displayed in the global options list.

    Fixes issues:

    • # 175 - List detailed subparser documentation with --help
    • # 294 - Displaying global options when listing options for a command.
    • # 359 - Subcommand help text lacks required parent command arguments
  • Allow the --help option to take the name of a command.
    Usage without any arguments is the same, but now, when an
    argument is given, if it is the name of a currently
    reachable command, the help text for that command will
    be show.

    Fixes issues:

    • # 379 - cmd --help subcmd is not the same as cmd subcmd --help
  • Updated dependency bounds.

  • Add builder for the all positional parser policy.

  • Remove deprecated functions

    • nullOption
    • execParserMaybe
    • customExecParserMaybe

optparse-applicative 0.15.1

Choose a tag to compare

@HuwCampbell HuwCampbell released this 12 Sep 11:53
27387c0
  • Improve printing of brief descriptions for parsers.
    Previously, the logical structure of the parser,
    such as alternative groups and segments which must
    be defined together, did not influence the layout of
    the brief description. This could lead to some help
    texts being difficult to read. Now, we use nesting
    and forced line breaks to help improve readability.

optparse-applicative 0.15.0

Choose a tag to compare

@HuwCampbell HuwCampbell released this 06 Jul 04:18
114e6ec
  • Add support for GHC 8.8.1.

  • Add subparserInline modifier as additional way of
    executing subparsers. When activated, the subparser
    parse tree will be inserted into that of the parent
    instead of being run independently, allowing mixing
    of child and parent options.

  • Improve rendering of complex nested parse structures.
    Previously, brackets and parenthesis did not respect
    whether or not options had to be defined together.
    Now the parse tree is more accurately represeted in
    the help text.

  • Add helpLongEquals modifier, which will change how
    long options are printed in the help text, adding an
    equals sign, for example "--input=FILE".

  • Updated dependency bounds.

  • Clean ups and Documentation.

optparse-applicative 0.14.3

Choose a tag to compare

@HuwCampbell HuwCampbell released this 13 May 11:59
5e377c0
  • Updated dependency bounds.

  • Fix tab completion with Commands being unreachable.

  • Clean ups and Documentation.