Skip to content

fix(deps): update dependency org.jline:jline-terminal to v4#53

Closed
renovate[bot] wants to merge 127 commits intomainfrom
renovate/major-version.jline
Closed

fix(deps): update dependency org.jline:jline-terminal to v4#53
renovate[bot] wants to merge 127 commits intomainfrom
renovate/major-version.jline

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Mar 3, 2026

This PR contains the following updates:

Package Change Age Confidence
org.jline:jline-terminal (source) 3.30.64.0.4 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

jline/jline3 (org.jline:jline-terminal)

v4.0.4: JLine 4.0.4

Compare Source

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

v4.0.3: JLine 4.0.3

Compare Source

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)

v4.0.2: JLine 4.0.2

Compare Source

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

v4.0.0: JLine 4.0.0

Breaking Changes
  • Maven 4 requirement: Upgraded to POM model 4.1.0
  • Java 11+ required: Raised minimum runtime requirement from Java 8 to Java 11
  • JPMS migration: Complete Java Platform Module System migration with Java 24 support (#​1374)
  • JNA provider removed: Only JNI and FFM terminal providers remain
  • Removed deprecated elements: All previously deprecated APIs removed (#​1384)
  • Standard Java SPI: Terminal providers now use standard Java ServiceLoader (#​1523)
  • Terminal lifecycle enforcement: Terminals throw exceptions when used after close (#​1575)
  • DefaultParser behavior: No longer emits trailing empty word for non-completion contexts (#​1489)
New Features
Terminal Graphics & Display
  • Comprehensive terminal graphics protocol support with runtime detection (#​1378)
  • Mode 2027 (grapheme cluster) support with DECRQM probing (#​1637)
  • True-color detection from COLORTERM environment variable
  • ASCII fallback for box-drawing characters when alt charset is unsupported (#​1638)
  • Web and Swing terminal implementations (#​1348)
Shell & Command Processing
  • New jline-shell module with extensible shell foundations, variable expansion, subcommands, I/O redirection, signals, scripts, and builtins integration
  • New jline-components module for composable UI components
  • PipelineParser supports custom operator symbols and pseudo pipe operators (#​1391, #​1393)
  • zsh-like history search navigation (#​1449)
Prompts & UI
  • New jline-prompt module with comprehensive prompt API and modern builder patterns (#​1377)
  • Multi-character padding in secondary prompt pattern %P{...}
  • Ctrl+C propagated as UserInterruptException in console-ui prompts
Platform Support
  • GraalVM native image support for JNI provider across GraalVM 17, 21, and 25
  • Modernized graal module to use FFM provider and Shell API
  • Comprehensive ClassLoader support for TerminalBuilder (#​1432)
Other
  • Multi-version website deployment with version switcher
  • WCWidth tables updated to Unicode 16.0 (#​1650)
  • System property support for line reader options (#​1413)
  • PosixCommands: POSIX ** globstar semantics, glob arguments, grep enhancements
Bug Fixes
  • Display.resize() handles terminals with buffer wider than visible window (#​1210)
  • Preserve terminal content during resize with status bar (#​1604)
  • Restored Windows console codepage auto-detection (#​1366)
  • Expanded MSYS2 environment detection (#​1445)
  • Fixed quoted word completion buffer cleanup (#​1644)
  • Fixed StringIndexOutOfBoundsException in CompletionMatcherImpl (#​1565)
  • Windows: do not raise native signals if not enabled (#​1532)
  • Windows: prevent inherited input stream from being closed (#​1115)
  • Check native access before loading JNI library for JDK 24+ (#​1067)
  • Bracketed paste: send OFF sequence when option is explicitly disabled
  • MenuSupport left/right navigation when GROUP_PERSIST is on (#​1642)
Improvements
  • Replaced reflection-based codepage detection with TerminalProvider SPI method
  • Optimized Display performance and terminal capability usage (#​1421)
  • Platform-independent SyntaxHighlighter tests

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

quintesse and others added 30 commits March 9, 2023 12:49
This implements low-level support for scrollable views
Makes it easier to deal with rectangles that should be based on the size of enclosing rectangles
Before we could only set attributes, which then created confusion when
we want to switch to another style. Are certain attributes unset because
we don't care about them or do we actively want to unset them? This
information is now kept in Style.
Removed separate `LineBuffer` class in favor of simply treating line buffers as a 2-dimensional `Buffer` of height 1.
Also added a "robot" implementation that can be used for testing/demos.
The provider can be used to look up available terminal providers. Falling back to the dummy provider if none are found.
@renovate renovate bot force-pushed the renovate/major-version.jline branch 3 times, most recently from 15e7d3a to 8b65a2b Compare March 10, 2026 22:33
@renovate renovate bot force-pushed the renovate/major-version.jline branch from 8b65a2b to 0fb8ca0 Compare March 11, 2026 09:32
@quintesse quintesse closed this Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant