Skip to content

Tab completion broken on JDK 25 after upgading jline to 3.30.9 #1343

@czpilar

Description

@czpilar

Tab completion no longer works after upgrading the jline dependency to the current 3.30.9. The regression depends on the JDK version: on JDK 21 completion works again as of 3.30.8, but on JDK 25 it has been broken since 3.30.7 and is still broken in 3.30.9.

I tried downgrading jline to find the first bad version. Results:

jline version JDK 21 JDK 25
3.30.6 works works
3.30.7 broken broken
3.30.8 works broken
3.30.9 works broken

The jline upgrade in spring-shell happened in commit 9a829a7c (3.30.6 to 3.30.9).

Steps to reproduce:

  1. Use spring-shell main (jline pinned to 3.30.9).
  2. Run on JDK 25:
    ./mvnw -pl :spring-shell-sample-spring-boot spring-boot:run
    
  3. At the shell:> prompt, press <TAB> - no candidates are shown.

Expected: the list of available commands (or option names after a command) is shown, as it is on JDK 21 with the same jline version, or on JDK 25 with <jline.version>3.30.6</jline.version>.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions