Skip to content
Remko Popma edited this page Sep 23, 2020 · 9 revisions

3.0.0 (May 2018)

  • programmatic API in addition to the annotations (CommandSpec, OptionSpec and PositionalParamSpec, ...)
  • mixins for reuse
  • standard help options
  • built-in Help command
  • @Unmatched annotation
  • Stdout or Stderr
  • Exit Code Support

3.1.0 (Jun 2018)

  • command aliases

3.2.0 (Jul 2018)

  • Dependency Injection support
  • @Option and @Parameters-annotated methods
  • JLine TAB completion
  • ${DEFAULT-VALUE} and ${COMPLETION-CANDIDATES} variables in descriptions
  • @Spec annotation for injecting the CommandSpec model 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-jline2 module
  • improved parsing of quoted values

3.8.0 (Nov 2018)

  • Mixin support in @Command methods

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-jline3 module
  • improved heuristics for enabling ANSI colors

4.0.0 (July 2019)

  • picocli-codegen annotation processor for effortless GraalVM native images
  • execute API:
    • exit codes
    • facilitates parser configuration
    • static run, call and parseWithHandlers bootstrap 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
  • fallback values for options with optional parameter
  • auto-detect terminal width
  • improved support for Chinese, Japanese and Korean usage help
  • Spring Boot integration via picocli-spring-boot-starter module
  • picocli is now a JPMS module
  • Separate picocli-groovy module

4.1.0 (Nov 2019)

  • built-in properties file-based default provider
  • built-in generate-completion subcommand for generating bash/zsh completion scripts
  • new API for creating custom usage help sections
  • integration with JLine 3.13.2: auto-completion showing descriptions
  • repeatable subcommands
  • generate man pages, HTML and PDF documentation
  • bash/zsh auto-completion for positional parameters
  • show an entry for @file argument files in the options list
  • 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
  • Abbreviated options and commands
  • built-in gen-manpage subcommand for generating documentation
  • Built-in ColorScheme styles for error text and stacktraces