Skip to content

Consider a 1.28.1 release backporting --max-line-length for JDK 17 usersΒ #1495

Open

Description

@xzxiaoshan

First, thank you for landing --max-line-length in #1465 / v1.37.0. It closes #425, which was open for nearly seven years (Dec 2019 β†’ Oct 2026) and is one of the most upvoted issues in this repo (64 πŸ‘ / 81 total reactions) β€” clearly a long-standing, widely shared need across the ecosystem.

However, since v1.29.0 the formatter itself requires JDK 21 to run:

"The minimum support JDK version to run google-java-format is now JDK 21." β€” v1.29.0 release notes

That leaves v1.28.0 as the last release that runs on JDK 17, and JDK 17 is still one of the most widely deployed LTS versions (Spring Boot 3.x baseline, countless enterprise builds). This matters most for in-process integrations β€” Spotless (Maven/Gradle), fmt-maven-plugin, IDE plugins β€” which run the formatter on the project's own JDK. For those users there is no way to get --max-line-length without moving the entire build to JDK 21.

The ask: would you consider cherry-picking the --max-line-length change (6b86849) onto the v1.28.0 codebase and shipping it as a patch release, e.g. 1.28.1? The backport would only need this one feature β€” no other syncing with master.

We're aware of the alternatives and why they don't cover this case:

  • Running the standalone -all-deps.jar on a JDK 21 toolchain works for CLI / pre-commit usage, but not for in-process Maven/Gradle/IDE integrations.
  • The GraalVM native binaries likewise aren't consumable by those integrations.

We also understand the reluctance to maintain a backport branch. If you're open to the idea, the community (myself included) would be happy to prepare and test the backport PR so the maintainer cost is minimal β€” and if the answer is still no, thanks for reading, and thanks again for shipping the feature itself.

Activity

  1. xzxiaoshan commented on Oct 23, 2026

    @xzxiaoshan
    Author

    @cushon I don't know what the author thinks about this. Is it possible to consider it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions