picocli 3.0.1
Picocli 3.0.1
The picocli community is pleased to announce picocli 3.0.1.
This release fixes a bug for map options and has several improvements for the usage help message, especially for subcommands.
This is the thirtieth public release.
Picocli follows semantic versioning.
Table of Contents
New and Noteworthy
From this release, the usage help synopsis of the subcommand shows not only the subcommand name but also the parent command name. For example, take the following hierarchy of subcommands.
@Command(name = "main", subcommands = {Sub.class}) class App { }
@Command(name = "sub", subcommands = {SubSub.class}) class Sub { }
@Command(name = "subsub", mixinStandardHelpOptions = true) class SubSub { }
CommandLine parser = new CommandLine(new App());
ParseResult result = parser.parseArgs("sub", "subsub", "--help");
CommandLine.printHelpIfRequested(result);
The above code prints the usage help for the subsub
nested subcommand. Notice that this shows not only the subcommand name but the full command hierarchy:
Usage: main sub subsub [-hV]
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Promoted Features
Promoted features are features that were incubating in previous versions of picocli but are now supported and subject to backwards compatibility.
No features have been promoted in this picocli release.
Fixed issues
- [#287] Enhancement: Subcommand help now also shows parent command name in synopsis.
- [#378] Bugfix: Map option problem when value contains '=' separator. Thanks to Markus Kramer for the bug report.
- [#377] Bugfix: Standard help options should be added last: when
mixinStandardHelpOptions
is set andsortOptions
is false, the help options should appear after the command options in the usage help message.
Deprecations
No features were deprecated in this release.
Potential breaking changes
The usage help synopsis of the subcommand shows not only the subcommand name but also the parent command name (and parent's parent command name, up to the top-level command).