JLine 4.4.6 is a bugfix release addressing two correctness issues and updating several dependencies.
The main fix resolves a boot layer initialization failure (InvalidModuleDescriptorException) that affected Java 17+ projects with jline-terminal-ffm on the module path: the module-info.class was compiled at Java 22 and placed at the jar root, causing the JVM to reject it. The module is now packaged as a proper Multi-Release JAR, with the module descriptor in META-INF/versions/22/, so Java 17 consumers load the jar without issues while Java 22+ still gets the full JPMS module. The second fix corrects codePointAt/codePointBefore in AttributedString to respect subsequence bounds, preventing surrogates from being combined with characters outside the logical range.
🐛 Bug Fixes
- fix: make jline-terminal-ffm a Multi-Release JAR to fix Java 17 boot layer failure (#2285) @gnodet
- fix: respect attributed sequence bounds when reading code points (#2278) @jakezwang
📦 Dependency Updates
- chore: bump groovy.version from 5.1.2 to 6.0.0 (#2281) @dependabot[bot]
- chore: bump org.graalvm.buildtools:native-maven-plugin from 1.1.12 to 1.1.14 (#2279) @dependabot[bot]
- chore: bump org.apache.felix:maven-bundle-plugin from 6.1.2 to 6.2.0 (#2277) @dependabot[bot]
Full Changelog: 4.4.5...4.4.6