Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jline/jline3
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: jline-3.30.3
Choose a base ref
...
head repository: jline/jline3
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: jline-3.30.4
Choose a head ref
  • 10 commits
  • 29 files changed
  • 4 contributors

Commits on May 22, 2025

  1. Configuration menu
    Copy the full SHA
    3a12449 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2025

  1. chore: improve Maven cache fallback strategy in GitHub Actions (#1304)

    - Replace setup-java built-in cache with actions/cache@v4 for better control
    - Add restore-keys to fallback to previous commits' caches when pom.xml unchanged
    - Prevents re-downloading all Maven dependencies on every pom.xml change
    - Fallback order: exact match -> same Java version -> any Maven cache
    
    Co-authored-by: Guillaume Nodet <gnodet@gnodet-mac.chimera-diatonic.ts.net>
    gnodet and Guillaume Nodet authored May 27, 2025
    Configuration menu
    Copy the full SHA
    0cfb48c View commit details
    Browse the repository at this point in the history
  2. chore: fix intermittent encoding test failures by handling READ_EXPIR…

    …ED correctly (#1303)
    
    Fixes #1296
    
    The MultiEncodingTerminalTest was experiencing intermittent failures on
    Windows CI environments showing replacement characters (￾) in test output.
    
    Root Cause:
    The issue was NOT in the NonBlocking implementation, but in test logic that
    incorrectly handled READ_EXPIRED (-2) return values from NonBlockingReader.
    
    When NonBlockingReader.read(timeout) times out, it returns READ_EXPIRED (-2).
    Test code was casting this directly to char: (char)(-2) = U+FFFE = ￾
    
    Fixed Tests:
    - MultiEncodingTerminalTest.testReadWithEncoding
    - MultiEncodingTerminalTest.testMultipleEncodings
    - Added comprehensive NonBlockingEncodingTest suite
    
    The fix properly distinguishes between:
    - Valid characters (c >= 0)
    - EOF (-1)
    - READ_EXPIRED (-2) - timeout condition
    
    Tests now retry on timeout instead of treating it as a valid character,
    resolving the intermittent Windows CI failures.
    
    Co-authored-by: Guillaume Nodet <gnodet@gnodet-mac.chimera-diatonic.ts.net>
    gnodet and Guillaume Nodet authored May 27, 2025
    Configuration menu
    Copy the full SHA
    1bdd1ac View commit details
    Browse the repository at this point in the history
  3. fix: fix SyntaxHighlighter addFiles method to handle glob patterns co…

    …rrectly (#1300)
    
    The original implementation had several issues when processing glob patterns
    in nanorc include/theme directives:
    
    1. Called nanorc.resolveSibling(parameter).getParent() with glob patterns
       containing wildcards, which fails on Windows and non-default file systems
    2. Did not properly support recursive patterns like 'foo/bar/**/*.nanorc'
    3. Used Paths.get() which assumes the default file system, breaking
       compatibility with JAR file systems
    
    Changes:
    - Refactored addFiles method to extract static path prefix and glob pattern
      separately using new PathParts helper class
    - Use nanorc.resolveSibling() consistently for path resolution to support
      non-default file systems like JAR FS
    - Avoid path normalization and let the file system handle path separators
    - Added comprehensive tests with JimFS to verify cross-platform behavior
      on both Unix and Windows file systems
    
    The fix ensures that nanorc configuration files can properly include syntax
    files using glob patterns like:
    - '*.nanorc' (simple patterns)
    - 'subdir/*.nanorc' (subdirectory patterns)
    - 'foo/bar/**/*.nanorc' (recursive patterns)
    - '/usr/share/nano/*.nanorc' (absolute patterns)
    
    Fixes #1290
    
    Co-authored-by: Guillaume Nodet <gnodet@gnodet-mac.chimera-diatonic.ts.net>
    gnodet and Guillaume Nodet authored May 27, 2025
    Configuration menu
    Copy the full SHA
    96c50f3 View commit details
    Browse the repository at this point in the history
  4. chore: Bump org.codehaus.mojo:exec-maven-plugin from 3.5.0 to 3.5.1 (#…

    …1308)
    
    Bumps [org.codehaus.mojo:exec-maven-plugin](https://github.com/mojohaus/exec-maven-plugin) from 3.5.0 to 3.5.1.
    - [Release notes](https://github.com/mojohaus/exec-maven-plugin/releases)
    - [Commits](mojohaus/exec-maven-plugin@3.5.0...3.5.1)
    
    ---
    updated-dependencies:
    - dependency-name: org.codehaus.mojo:exec-maven-plugin
      dependency-version: 3.5.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 27, 2025
    Configuration menu
    Copy the full SHA
    a21d909 View commit details
    Browse the repository at this point in the history
  5. chore: Bump groovy.version from 4.0.26 to 4.0.27 (#1306)

    Bumps `groovy.version` from 4.0.26 to 4.0.27.
    
    Updates `org.apache.groovy:groovy` from 4.0.26 to 4.0.27
    - [Commits](https://github.com/apache/groovy/commits)
    
    Updates `org.apache.groovy:groovy-json` from 4.0.26 to 4.0.27
    - [Commits](https://github.com/apache/groovy/commits)
    
    Updates `org.apache.groovy:groovy-console` from 4.0.26 to 4.0.27
    - [Commits](https://github.com/apache/groovy/commits)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.groovy:groovy
      dependency-version: 4.0.27
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: org.apache.groovy:groovy-json
      dependency-version: 4.0.27
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: org.apache.groovy:groovy-console
      dependency-version: 4.0.27
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 27, 2025
    Configuration menu
    Copy the full SHA
    f914fa8 View commit details
    Browse the repository at this point in the history
  6. chore: Bump eu.maveniverse.maven.njord:extension from 0.5.4 to 0.6.2 (#…

    …1307)
    
    Bumps [eu.maveniverse.maven.njord:extension](https://github.com/maveniverse/njord) from 0.5.4 to 0.6.2.
    - [Release notes](https://github.com/maveniverse/njord/releases)
    - [Commits](maveniverse/njord@release-0.5.4...release-0.6.2)
    
    ---
    updated-dependencies:
    - dependency-name: eu.maveniverse.maven.njord:extension
      dependency-version: 0.6.2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 27, 2025
    Configuration menu
    Copy the full SHA
    ac97af1 View commit details
    Browse the repository at this point in the history
  7. fix: fix Jansi AnsiConsole broken color detection in uber jars (#1305)

    The AnsiType detection logic was incorrectly inverted, causing colors to be
    disabled in uber jar scenarios. When getSystemStream() returns null (indicating
    a native terminal), the type should be AnsiType.Native, not AnsiType.Redirected.
    
    This fix corrects the ternary operator logic:
    - When getSystemStream() == null: AnsiType.Redirected (output is redirected)
    - When getSystemStream() != null: AnsiType.Native (native terminal with color support)
    
    The original Jansi library worked in uber jars because it had different terminal
    detection logic. JLine's Jansi compatibility layer was incorrectly marking
    native terminals as redirected, which disabled ANSI color processing.
    
    This simple but critical fix ensures that:
    - Colors work correctly in uber jars on Windows and other platforms
    - Native terminal detection works as expected
    - ANSI escape sequences are properly processed instead of being stripped
    - Maintains full backward compatibility with existing applications
    
    Fixes #1292
    gnodet authored May 27, 2025
    Configuration menu
    Copy the full SHA
    ce2d44f View commit details
    Browse the repository at this point in the history

Commits on May 28, 2025

  1. Configuration menu
    Copy the full SHA
    d096f1f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fcf6461 View commit details
    Browse the repository at this point in the history
Loading