Picocli 4.5.2
Picocli 4.5.2
The picocli community is pleased to announce picocli 4.5.2.
This release contains bug fixes and enhancements:
- Auto-enable ANSI colors on MSYS2 terminals.
- Abbreviated options are now matched correctly even when value attached with '=' separator.
- The built-in
HelpCommand
now respects subcommands case-sensitivity and abbreviations. - Required parameters no longer consume negated options.
- Positional parameters in Argument Groups no longer result in
ArithmeticException: / by zero
exceptions. - The user manual now has tabs showing examples in languages other than Java.
This is a work in progress: many examples still only have a Java version.
Contributions welcome! - Many, many documentation enhancements, most of which contributed by the community.
Many thanks to the picocli community who contributed 28 pull requests in this release!
Please see the Fixed Issues section below for the individual contributors. Great work!
This is the seventy-fourth public release.
Picocli follows semantic versioning.
Table of Contents
New and Noteworthy
The user manual now has tabs showing examples in languages other than Java.
This is a work in progress: many examples still only have a Java version.
Contributions welcome!
Fixed issues
- [#1186] Enhancement: Auto-enable ANSI colors on MSYS2 (Git for Windows, MSYS2-based Windows Terminal shells, etc.). Thanks to Sysmat for raising this.
- [#1162] Bugfix: Abbreviated options are not matched if value attached with '=' separator (like
-x=3
). Thanks to Chris Laprun for raising this. - [#1156][#1172] Bugfix: the built-in
HelpCommand
now respects subcommands case-sensitivity and abbreviations. Thanks to NewbieOrange for the pull request. - [#1197] Bugfix: required parameters should not consume negated options. Thanks to Kevin Turner for raising this.
- [#1213] Bugfix:
@Parameters
in@ArgGroup
should not result inArithmeticException: / by zero
. Thanks to Loren Keagle for raising this. - [#1158] DOC: Fix broken links to GraalVM repo. Thanks to Andreas Deininger for the pull request.
- [#1155] DOC: Fix sample code in chapter "Validation". Thanks to Andreas Deininger for the pull request.
- [#1157] DOC: Fix typo "a argument group" in user manual. Thanks to sabrina for raising this.
- [#1160] DOC: Added section Was a Value Defaulted? to the user manual.
- [#1161] DOC: Fix typo "4,2" (should be 4.2) in user manual. Thanks to sabrina for raising this.
- [#1165] DOC: Fix jline3 example: add
AnsiConsole::systemUninstall
infinally
clause. Thanks to David Walluck for raising this. - [#1168][#1169] DOC: Ensure
org.jline.terminal.Terminal
is closed when done. Thanks to David Walluck for the pull request. - [#1167] DOC: Fix broken links in Quick Guide. Thanks to Andreas Deininger for the pull request.
- [#1171] DOC: Various documentation improvements. Thanks to Andreas Deininger for the pull request.
- [#1173] DOC: Improve example applications for the user manual and Quick Guide. Thanks to Andreas Deininger for the pull request.
- [#1175] DOC: section on compatible versions to
picocli-shell-jline3/README.md
. Thanks to Nick Cross for raising this. - [#1176] DOC: Update JLine
picocli-shell-jline3
example to 3.16.0. Thanks to Nick Cross for the pull request. - [#890][#1187] DOC: Extend and improve subcommands documentation. Thanks to Andreas Deininger for the pull request.
- [#1190] DOC: Improve InetSocketAddressConverter demo. Thanks to Andreas Deininger for the pull request.
- [#1192] DOC: Fix broken links in documentation. Thanks to Andreas Deininger for the pull request.
- [#1196] DOC: Quick Guide examples can now be executed on the documentation page via JDoodle.com. Thanks to Andreas Deininger for the pull request.
- [#1200] DOC: User manual
checksum
example can now be executed on the documentation page via JDoodle.com. Thanks to Andreas Deininger for the pull request. - [#1199] DOC: Fix
paramLabel
in examples. Thanks to Andreas Deininger for the pull request. - [#1198] DOC: Add copy button to code blocks. Thanks to Andreas Deininger for the pull request.
- [#1201] DOC: User manual
checksum
example: add Kotlin source code on second tab. Thanks to Andreas Deininger for the pull request. - [#1202] DOC: Update to latest Asciidoctor gradle plugin. Thanks to Andreas Deininger for the pull request.
- [#1203] DOC: Replace 'coderay' source code highlighter with 'rouge' to support Kotlin, Scala and Groovy. Thanks to Andreas Deininger for the pull request.
- [#1205] DOC: User manual
checksum
example: add more tabs for Groovy, Groovy script and Scala. Thanks to Andreas Deininger for the pull request. - [#1208] DOC: Fix: Show copy buttons in code blocks with latest Asciidoctor gradle plugin. Thanks to Andreas Deininger for the pull request.
- [#1209] DOC: Show Maven coordinates in JLine2/3 README. Thanks to Jiří Holuša for the pull request.
- [#1210] DOC: User manual
subcommands
example: add tab with Kotlin source code. Thanks to Andreas Deininger for the pull request. - [#1211] DOC: User manual
subcommands
section: add several tabs with Kotlin source code. Thanks to Andreas Deininger for the pull request. - [#1170] TEST: Ensure ANSI is disabled in
ManPageGeneratorTest
regardless of environment. Thanks to David Walluck for the pull request. - [#1166][#1103] TEST: Ensure ANSI is disabled in
TracerTest
regardless of environment. Thanks to David Walluck for the pull request. - [#1179] TEST: Use
.invalid
domain name forInetAddress
test. Thanks to David Phillips for the pull request. - [#1178] BUILD: Run Travis build on macOS. Thanks to David Phillips for the pull request.
- [#1192] Dependency Upgrade: Bump AsciiDoctor to 2.1.0 from 1.6.2. Thanks to Andreas Deininger for the pull request.
Deprecations
No features were deprecated in this release.
Potential breaking changes
This release has no breaking changes.