-
Notifications
You must be signed in to change notification settings - Fork 446
History
Remko Popma edited this page Sep 28, 2020
·
9 revisions
0.9.4 (May 2017)
- Initial public release
-
@Commandannotation for command name and usage help message customization -
@Optionand@Parametersannotations for named options and positional parameters - fine-grained control over
arity: number of option parameters - built-in type converters
- customizable type conversion
- ANSI colors
- Help API for fine-grained usage help message customization
-
CommandLine.runconvenience method to parse and invokeRunnablecommands on one line (superceded byexecutein 4.0)
0.9.7 (Jun 2017)
- subcommands and nested sub-subcommands
- parser configuration to allow option overwriting
- parser configuration to allow unmatched arguments
0.9.8 (Aug 2017)
- API for registering subcommands declaratively with
@Command(subcommands={...})annotation - API for
usageHelpandversionHelpattributes on@Option
1.0.0 (Aug 2017)
- generate bash and zsh completion scripts
-
Mapoptions like-Dkey1=val1 -Dkey2=val2 - parser tracing for troubleshooting
- added
CommandLine.callconvenience method forCallablecommands (superceded byexecutein 4.0)
2.0.0 (Oct 2017)
- Groovy scripts can use picocli annotations
- added
CommandLine.parseWithHandlerconvenience method (superceded byexecutein 4.0) - convenience methods
run,callandparseWithHandlernow work correctly for subcommands - convenience methods
run,callandparseWithHandlernow automatically print help and version information when requested - parser enhancement: positional arguments no longer need to follow options (any order is allowed)
2.1.0 (Nov 2017)
-
@-files(argument files) - multi-value boolean options (like
-vvv)
2.2.0 (Dec 2017)
-
@ParentCommandannotation allows subcommands to reference the parent command - type converters for Java 7 (
Path, etc) and Java 8 (java.timeclasses) - option-specific type converters
IVersionProvider- initial Dependency Injection support (
IFactory)
2.3.0 (Feb 2018)
-
stopAtPositionalandstopAtUnmatchedparser configuration - options with optional parameter now have
""empty string fallback value (if option specified without parameter)
3.0.0 (May 2018)
- programmatic API in addition to the annotations (
CommandSpec,OptionSpecandPositionalParamSpec, ...) - mixins for reuse
- standard help options
--helpand--version - built-in Help command
-
@Unmatchedannotation - Stdout or Stderr (automatic help follows unix conventions)
- exit code support
3.1.0 (Jun 2018)
- command aliases
3.2.0 (Jul 2018)
- full Dependency Injection support
-
@Optionand@Parameters-annotated methods - JLine TAB completion
-
${DEFAULT-VALUE}and${COMPLETION-CANDIDATES}variables in descriptions -
@Specannotation for injecting theCommandSpecmodel into a command
3.3.0 (Jul 2018)
- offer suggestions for unmatched options
3.4.0 (Aug 2018)
- API for applications to output colors
3.5.0 (Aug 2018)
- masked interactive options for password
3.6.0 (Sep 2018)
- custom default providers
- define subcommands in
@Command-annotated methods - internationalization via resource bundles
3.7.0 (Oct 2018)
- GraalVM support via new module
picocli-codegen - JLine2 integration via
picocli-shell-jline2module - improved parsing of quoted values
3.8.0 (Nov 2018)
- Mixin support in
@Commandmethods
3.8.1 (Dec 2018)
- JCommander-style argument files
3.9.0 (Jan 2019)
- API for customizing the usage help message
- JLine3 integration via
picocli-shell-jline3module - improved heuristics for enabling ANSI colors
4.0.0 (July 2019)
-
picocli-codegenannotation processor for effortless GraalVM native images -
executeAPI:- exit codes
- facilitates parser configuration
- static
run,callandparseWithHandlersbootstrap methods are now deprecated
- mutually exclusive options
- mutually dependent options
- nested repeatable argument groups
- variable interpolation (variable expansion) in annotation attributes
- negatable options
- custom parameter processing
- customizable fallback value for options with optional parameter (when option specified without parameter)
- auto-detect terminal width
- improved support for Chinese, Japanese and Korean usage help
- Spring Boot integration via
picocli-spring-boot-startermodule - picocli is now a JPMS module
- separate
picocli-groovymodule
4.1.0 (Nov 2019)
- built-in properties file-based default provider
- built-in
generate-completionsubcommand for generating bash/zsh completion scripts - new API for creating custom usage help sections
4.1.2 (Dec 2019)
- integration with JLine 3.13.2: auto-completion showing descriptions
4.2.0 (Feb 2020)
- repeatable subcommands
- generate man pages, HTML and PDF documentation
- bash/zsh auto-completion for positional parameters
- show an entry for
@fileargument files in the options list
4.3.0 (May 2020)
- inherited options
- case-insensitive options and commands
- mixins can refer back to the command where they are used
- automatic indexes for positional parameters
- show an entry for
--in the options list
4.4.0 (Jul 2020)
- abbreviated options and commands
- built-in
gen-manpagesubcommand for generating documentation
4.5.0 (Aug 2020)
- built-in
ColorSchemestyles for error text and stacktraces