Skip to content

Releases: jline/jline3

JLine 4.0.9

23 Mar 12:57
27a26ab

Choose a tag to compare

✨ Features

  • feat: Add ShellBuilder.onReaderReady(BiConsumer<LineReader, CommandDispatcher>) (1154e0e) @gnodet

🐛 Bug Fixes

  • fix: Add deprecated no-op jansi/jna methods to TerminalBuilder (#1710) @gnodet
    • Prevents NoSuchMethodError for libraries like TamboUI that still call .jansi(true) or .jna(true) from their JLine 3 backend

JLine 4.0.8

23 Mar 09:10
e247886

Choose a tag to compare

🐛 Bug Fixes

  • fix: Disable grapheme cluster probe on ExternalTerminal (#1709) @gnodet
    • Fixes LineReaderTest hanging when terminal type starts with "xterm" (#1707)
    • Fixes Maven embedded executor tests failing on Windows due to [?2027$p escape sequence leaking into output paths
  • fix: Add proper picocli argument completion via AutoComplete (#1708) @gnodet

🔧 Build

  • fix: Fix release drafter config and use drafted notes in release workflow (9f3aa72) @gnodet
  • chore: Bump com.diffplug.spotless:spotless-maven-plugin from 3.3.0 to 3.4.0 (#1706) @dependabot

JLine 4.0.7

18 Mar 22:28
beabe4e

Choose a tag to compare

🐛 Bug Fixes

  • Suppress dumb terminal warning when no streams are TTYs (#1703) @gnodet
    • In CI environments (like GitHub Actions), the "Unable to create a system terminal" warning is no longer emitted when falling back to a dumb terminal is expected because no TTY is available

Full Changelog: 4.0.6...4.0.7

JLine 4.0.6

18 Mar 21:08
3ba42a8

Choose a tag to compare

🔧 Build

  • Simplify versioning by using nisse property directly (#1702) @gnodet

📦 Dependency updates

  • Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.3 (#1700) @dependabot

Full Changelog: 4.0.5...4.0.6

JLine 3.30.9

18 Mar 21:10
c3b860c

Choose a tag to compare

🐛 Bug Fixes

  • Suppress dumb terminal warning when no streams are TTYs (#1704) @gnodet
    • In CI environments (like GitHub Actions), the "Unable to create a system terminal" warning is no longer emitted when falling back to a dumb terminal is expected because no TTY is available

👻 Maintenance

Full Changelog: jline-3.30.8...jline-3.30.9

JLine 4.0.5

17 Mar 20:00
ee52d32

Choose a tag to compare

What's Changed

  • fix: Revert build to Maven 3.9.x compatibility by @gnodet in #1699
  • chore: Bump release-drafter/release-drafter from 6 to 7 by @dependabot[bot] in #1698

Full Changelog: 4.0.4...4.0.5

JLine 4.0.4

11 Mar 07:20
2b64601

Choose a tag to compare

Bug Fixes

  • Disable grapheme cluster mode probe (DECRQM) on Windows PosixSysTerminal to prevent escape sequence [?2027$p from leaking into subprocess output on Cygwin/MSYSTEM environments (#1696)
    • This is a follow-up to the 4.0.3 fix which was insufficient — the isSystemStream() check was unreliable on Windows MSYSTEM environments

Full Changelog

4.0.3...4.0.4

JLine 4.0.3

10 Mar 20:47
edd28d2

Choose a tag to compare

JLine 4.0.3

Bugfix release fixing output corruption on Windows when using Cygwin/MSYSTEM (Git Bash).

Bug Fixes

  • Fix grapheme cluster probe corrupting output on Windows — On Windows with Cygwin/MSYSTEM (Git Bash), the DECRQM mode 2027 probe (\e[?2027$p) was written to a raw FileDescriptor (stdout/stderr) rather than a real PTY device. When the output was piped (e.g. subprocess with captured output), this escape sequence leaked into the process output, corrupting downstream consumers. The probe is now skipped when the ExecPty output stream is not connected to a real terminal. Interactive Cygwin/MSYSTEM terminals that support mode 2027 are unaffected. (#1695)

JLine 4.0.2

09 Mar 23:01
2505581

Choose a tag to compare

JLine 4.0.2

Bugfix release fixing Maven 3/Gradle compatibility and JNI terminal provider issues.

Note: Users of 4.0.0 and 4.0.1 should upgrade to 4.0.2. Both prior releases had broken consumer POMs that prevented Maven 3 and Gradle from resolving JLine dependencies.

Bug Fixes

  • Fix Maven 3/Gradle compatibility — Consumer POMs now use modelVersion 4.0.0 with no <parent> reference, making them consumable by Maven 3 and Gradle. Previously, child module POMs referenced jline-parent which used modelVersion 4.1.0, causing resolution failures. (#1691, #1694, fixes #1688, workaround for apache/maven#11772)
  • Fix JNI terminal failing to load on JDK 21.0.10+Module.isNativeAccessEnabled() was backported to some JDK 21 builds (e.g. 21.0.10), causing a false UnsupportedOperationException since the method returns false even though JNI works without --enable-native-access. JNI native access restrictions are only enforced from JDK 24+, so the check is now skipped on earlier versions. (#1692, fixes #1689)

Dependency Updates

  • Bump spotless-maven-plugin from 3.2.1 to 3.3.0
  • Bump native-maven-plugin from 0.11.4 to 0.11.5
  • Bump maven-shade-plugin from 3.6.0 to 3.6.2
  • Bump maven-resources-plugin from 3.3.1 to 3.5.0

JLine 4.0.1

09 Mar 21:52
f6a7673

Choose a tag to compare

Merge pull request #1692 from jline/fix/jni-native-access-check-1689

fix: Skip JNI native access check on JDK < 24 (fixes #1689)