Releases: pcapriotti/optparse-applicative
Version 0.19.0.0 (3 June 2025)
-
Add
briefHangPointmodifier. 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
parserOptionGroupfor grouping Options together, similar to command
groups. Requires the breaking change of adding thepropGroup :: OptGroup
field toOptProperties.
optparse-applicative 0.18.1
-
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
AnsiStyleaware rendering functions.
optparse-applicative 0.18.0
-
Move to 'prettyprinter` library for pretty printing.
This is a potentially breaking change when one uses the '*Doc' family of functions
(likeheaderDoc) fromOptions.Applicative. However, as versions of
'ansi-wl-pprint > 1.0' export a compatibleDoctype, this can be mitigated by
using a recent version.One can also either import directly from
Options.Applicative.Helpor from the
Prettyprintermodule of 'prettyprinter'. -
Allow commands to be disambiguated in a similar manner to flags when the
disambiguatemodifier is used.This is a potentially breaking change as the internal
CmdReaderconstructor
has been adapted so it is able to be inspected to a greater degree to support
finding prefix matches.
optparse-applicative 0.17.1
-
Widen bounds for
ansi-wl-pprint. This supports the use ofprettyprinter
in a non-breaking way, as theansi-wl-pprint > 1.0support the newer
library. -
Export
helpIndentfromOptions.Applicative. -
Export completion script generators from
Options.Applicative.BashCompletion. -
Add
simpleVersionerutility for adding a '--version' option to a parser. -
Improve documentation.
optparse-applicative 0.17.0
-
Make tabulation width configurable in usage texts.
-
Separate program name and description in ParserHelp type.
-
Add
helperWithfunction, 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
-
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
-
Add
Options.Applicative.NonEmpty.some1function, which
parses options the same assome1from 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
thehelpShowGlobalsmodifier.The
noGlobalbuilder 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
- # 175 - List detailed subparser documentation with
-
Allow the
--helpoption 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
- 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
-
Add support for GHC 8.8.1.
-
Add
subparserInlinemodifier 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
helpLongEqualsmodifier, 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
-
Updated dependency bounds.
-
Fix tab completion with Commands being unreachable.
-
Clean ups and Documentation.