Picocli 3.9.5
The picocli community is pleased to announce picocli 3.9.5.
This release contains a critical workaround to protect against JVM crashes when running on RedHat Linux 3.10.0-327.44.2.el7.x86_64.
Picocli 3.9.0 introduced a change in the heuristics for detecting when to emit ANSI escape sequences. As part of this change, picocli may load the org.fusesource.jansi.AnsiConsole
class from the JAnsi library when not running on Windows. This may crash the JVM.
The underlying problem may be a bug in the native library in jansi 1.14, see fusesource/jansi-native#17 for details.
The workaround in this release is to only load the AnsiConsole
class when running on Windows.
Users using 3.9.0 and higher are strongly recommended to upgrade to 3.9.5 or later.
Note that this issue can manifest itself when running in Gradle (e.g. continuous integration tests) even if the application itself does not have the jansi library in the classpath, since the jansi classes can be loaded from the jansi-1.14 jar included in Gradle 4.5.x.
This is the fiftieth public release.
Picocli follows semantic versioning.
Table of Contents
- New and noteworthy
- Fixed issues
- Deprecations
- Potential breaking changes
New and Noteworthy
Fixed issues
- [#630] Avoid loading
org.fusesource.jansi.AnsiConsole
when not running on Windows to avoid JVM crashes on non-Windows platforms. - [#632] For generating GraalVM native images,
ReflectionConfigGenerator
inpicocli-codegen
now specifies theallowWrite = true
attribute for final fields.
Deprecations
No features were deprecated in this release.
Potential breaking changes
This release has no breaking changes.