GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Releases · openjavaformat/open-java-format

Releases · openjavaformat/open-java-format

21.0.2

21.0.2 Latest
Latest
@github-actions github-actions released this 08 Nov 18:56
Immutable release. Only release title and notes can be modified.
21.0.2
7fe3f70
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

The output is the same as 21.0.1's, so this release needs no reformatting run. It brings a playground that formats Java in the browser, a Gradle plugin that carries the formatter inside it, and the native binary in IntelliJ IDEA for any project.

Playground

  • The formatter is compiled to WebAssembly, and the release carries it as open-java-format-wasm-21.0.2.zip, signed and listed in checksums_sha256.txt like every other file. It runs the playground, which formats Java in the browser and sends nothing anywhere. On all 915 test cases its output matches the runnable jar's byte for byte (#21, #196).

Gradle plugin

  • The formatter comes inside the plugin. A build declares nothing for it and needs no repository for it, and the root project of a multi-project build needs neither a repository nor java. The jars are extracted on first use into ~/.gradle/open-java-format-caches/, and the plugin jar grows from 64 KB to 6.3 MB (#20, #198).
  • Another formatter version is declared in palantirJavaFormat in the root project, as before. It and the native binary now resolve through the repositories of each project that formats: a build that declares repositories only in the root project has to declare them where it formats too (#198).
  • formatDiff and the Spotless step work with Gradle's configuration cache. Up to 21.0.1 they failed with it on (#193, #195).
  • spotlessJava is taken from the build cache only for the same sources, formatter and Spotless settings, and only when it formatted. The cache key holds across directories and machines (#198).
  • Parallel builds work: a subproject no longer resolves the root project's configurations, which Gradle refused with "attempted without an exclusive lock" (#198).
  • Without the --add-exports flags, spotlessJava fails and names them. It used to record a lint of every file, NoClassDefFoundError: Could not initialize class com.palantir.javaformat.java.ImportOrderer, which the build cache kept handing back after the flags were added (#198).
  • openjavaformat.native.formatter decides only how the build runs the formatter. It no longer switches on the native binary in IntelliJ IDEA: tick Use native binary there once (#197).
  • NativePalantirJavaFormatStep, which could never run, is gone (#194, #198).

IntelliJ IDEA plugin

  • The native binary runs in any project, with Gradle, Maven or neither: tick Use native binary in the plugin's settings, now under Tools, and click Download, or choose a binary of your own. Before, only the Gradle plugin could switch it on. On 162 files on Apple silicon, Reformat Code takes 6.0 s with it and 88.6 s with the Java-based formatter (#197).
  • The binary comes from Maven Central, is checked against its SHA-256 and is kept once for the whole IDE. After an update of the plugin, a notification offers the newer binary (#197).
  • The settings page shows the Active formatter and no longer has the Code style list, which never reached the formatter. idea.log says which formatter runs (#197).
  • The plugin's errors go to its page on the JetBrains Marketplace. A release IDE sends them when the user lets it send error reports automatically; an EAP build shows them with Report. The formatter failing to run is now reported, a syntax error in the file being formatted is not (#199).

Library

  • Style.PALANTIR is back as a deprecated alias of Style.OJF and formats the same, so code that names it, or looks it up with Style.valueOf("PALANTIR"), keeps working after the change of coordinates (#200).
  • The formatter depends on org.jspecify:jspecify instead of com.google.code.findbugs:jsr305 (#201).

Thanks

To Guillaume Laforge, for bringing back Style.PALANTIR, and to cobr123, whose open-java-format-wasm-demo showed that the formatter compiles to WebAssembly and was offered for the site.

Assets 25
  • checksums_sha256.txt
    sha256:8ceea921f7bb1ba0e433fe4e952188a7f494ab2821c4b2e8d5e19d4b71a7bb12
    1013 Bytes 2026-11-08T18:43:17Z
  • checksums_sha256.txt.asc
    sha256:ed6e5c14cbbb2a32f01ab0d8d349a5a8ddf42cb1ce55c61f04d4dfbf304e1843
    821 Bytes 2026-11-08T18:43:18Z
  • gradle-open-java-format-21.0.2.jar
    sha256:e8542c2e210e8b65d88caa66ca1a37149ee06e79259be13b921f11b9b92ea447
    6.03 MB 2026-11-08T18:43:18Z
  • gradle-open-java-format-21.0.2.jar.asc
    sha256:e57e450bb21e874d0cc67e531a8184e86ef93e5caec1410e9e593d7bb87fdaf0
    821 Bytes 2026-11-08T18:43:20Z
  • open-java-format-21.0.2-all.jar
    sha256:bafdff750e330fc30b22a35f4e1003176ae8dcfc1d8fa0b535624e060da53c7c
    6.44 MB 2026-11-08T18:43:20Z
  • open-java-format-21.0.2-all.jar.asc
    sha256:f33791e9d3e3a6ada9ad651f5097d1cc919c9e87a56f239ed7402c9f3f11e316
    821 Bytes 2026-11-08T18:43:21Z
  • open-java-format-eclipse-plugin-21.0.2.jar
    sha256:48eb414d8422e19aadfb6a5cbd53d147102231fc57824ef37a36727e8a45021b
    3.68 MB 2026-11-08T18:43:22Z
  • open-java-format-eclipse-plugin-21.0.2.jar.asc
    sha256:0dc766156edbd6d932205d6eeb46a3d1e675b53ccdbef0b64bbbe163f7c697c1
    821 Bytes 2026-11-08T18:43:23Z
  • open-java-format-idea-plugin-21.0.2.zip
    sha256:81c82296ceef026e19ad15e5dcb88262c41ab79765cc1833f76fa972c15653f6
    11.8 MB 2026-11-08T18:43:24Z
  • open-java-format-idea-plugin-21.0.2.zip.asc
    sha256:35ceeb8e761444134650dec5e9e4522195baa6ad6cfcdb226fe8388c6b5f5134
    821 Bytes 2026-11-08T18:43:25Z
  • Source code (zip)
    2026-11-08T18:28:50Z
  • Source code (tar.gz)
    2026-11-08T18:28:50Z
  • Release attestation (json)
    2026-11-08T18:28:50Z
  • Loading

Uh oh!

There was an error while loading. Please reload this page.

All reactions
0 Join discussion

21.0.1

21.0.1
@github-actions github-actions released this 01 Nov 16:24
Immutable release. Only release title and notes can be modified.
21.0.1
7ab00d7
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is the first release of open-java-format that stands on its own. Up to 2.98.0.6 the version was palantir-java-format's with a build number appended; once the bug fixes made the output differ from upstream, that numbering lost its meaning. The version now follows this project alone: <java>.<minor>.<build>. The first number is the Java version the formatter is built for, 21. The second moves with every change to the output, the third with fixes that leave the output alone. See Versions.

The output differs from 2.98.0.6, so take this release with one reformatting run, in a commit of its own.

From google-java-format

  • A /* ... */ comment left on the line of an opening brace no longer lands one indent too deep, only for the next run to move it back (google/google-java-format#1464 by Tanvir Alam, for google/google-java-format#1260; #143).
  • A comment on its own line right after an opening delimiter, such as for (, the ( of a try with several resources, assert with a detail message or the ; after enum constants, is indented as a continuation, and so is the code after it; both used to land at the indent of the statement. google-java-format fixed the same defect in its new layout builder (google/google-java-format#1501); its code does not apply here, its idea does (#175).
  • Value classes (JEP 401): on a JDK that has them, the value modifier is recognized and put in order, while value, sealed and non stay identifiers where they are names. A lambda parameter named sealed or non no longer fails to parse (1959806 by Liam Miller-Cushon; #141).

Javadoc formatting, which only the formatJavadoc option of the API turns on; the command line and the plugins leave Javadoc as it is:

  • /** ... **/ no longer comes out as /** ... * */ (google/google-java-format#1474 by Liam Miller-Cushon; #115).
  • A word hyphenated at a line break is joined to its rest on the next line (google/google-java-format#1475 by Liam Miller-Cushon), and a comment that opens with a block tag such as <pre> gets no empty lines after /** (e4cef58 by Chris Povirk; #116).
  • Lines of a <pre>{@code ...} block written without * keep their indentation: the defect of google/google-java-format#1476, fixed in this formatter's own lexer (#117).
  • MOE strip markers are formatted like any other HTML comment (#155).

Fixed here

  • A trailing // comment too long for its line stays where the first run wrapped it; the next run used to move the wrapped part to the indent of the code. google-java-format has had this open since 2017 (google/google-java-format#211; #169).
  • //$NON-NLS-n$ markers stay valid for Eclipse: no space is inserted after //, and each marker stays on the line of its string when a statement is wrapped or reflowed (#23, #150).
  • String literals that end up next to each other on one line are joined, "one " + "two" into "one two", so the output no longer depends on where the author broke a string (palantir/palantir-java-format#1781 by Zayan Khan, closed there unmerged, for palantir/palantir-java-format#68; #176).
  • Removing unused imports keeps a used java.lang import that decides which class a simple name means (palantir/palantir-java-format#1778 by Zayan Khan, closed there unmerged, for palantir/palantir-java-format#1334; #174).
  • A table of arguments or array elements laid out by hand keeps its rows when an operator such as -> or += comes before it on its line (#170).
  • The pieces of a long string that the formatter wraps continue eight columns in, like any other continuation line, instead of four (#160).
  • A // MOE: comment wraps like any other line comment (#150).

Thanks

To Liam Miller-Cushon and Chris Povirk of google-java-format, and to Tanvir Alam and Zayan Khan: their work is in this release, with their names on the commits.

Assets 23
Loading

Uh oh!

There was an error while loading. Please reload this page.

All reactions
0 Join discussion

2.98.0.6

2.98.0.6
@github-actions github-actions released this 04 Oct 12:46
Immutable release. Only release title and notes can be modified.
2.98.0.6
6d17c15
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Changelog

  • 6d17c15 Merge pull request #104 from openjavaformat/gjf-1460-no-lookahead-regex
  • 369d3bb Merge branch 'main' into gjf-1460-no-lookahead-regex
  • 825828a Merge pull request #102 from openjavaformat/port-pjf-1776-markdown-docstring-prefix
  • fa9cdfb Rewrite the missing-space rule without a negative lookahead
  • 4561770 Merge branch 'main' into port-pjf-1776-markdown-docstring-prefix
  • da8e6d2 Merge pull request #103 from openjavaformat/lambda-parameter-annotations-inline
  • 1bc6129 Keep an annotated lambda parameter on its line
  • e127875 fix: keep the comment prefix when wrapping a markdown docstring
  • 2fbf175 Merge pull request #99 from openjavaformat/break-behaviour-without-derive4j
  • 26f6755 Merge pull request #98 from openjavaformat/records-instead-of-immutables
  • 4f407a9 Merge branch 'main' into records-instead-of-immutables
  • b1e3c41 Merge pull request #100 from openjavaformat/javac-warnings-from-one-job
  • 1048e1e Annotate javac warnings from the build job only
  • 4c647aa Replace derive4j with a sealed interface and records
  • 679e5a7 Merge remote-tracking branch 'origin/main' into records-instead-of-immutables
  • 90d3a13 Use records for the formatter's plain value types
  • 0e13e32 Use records for the bootstrap's command-line arguments
  • b52adaf Merge pull request #97 from openjavaformat/remove-palantir-build-plugins
  • 60e402d Declare JUnit test methods without public and the test prefix
  • dd58e28 Declare JUnit test classes package-private and final
  • 0829854 List the required IDEA plugin without palantir's library
  • 2eaf6b8 Merge remote-tracking branch 'origin/main' into remove-palantir-build-plugins
  • 2f71c6d Tell the native image platform without palantir's library
  • aa2c4b3 Stop bundling palantir's platform library in the IDEA plugin
  • 9f96867 Name the native image without palantir's platform library
  • faa74ef Drop the Spotless block waiting for baseline-format
  • 5cbf8ec Remove baseline's IDE templates
  • 866673b Replace palantir's Gradle plugins with plain Gradle
  • b776f0e Bump com.fasterxml.jackson.datatype:jackson-datatype-jdk8 (#95)
  • 545779c Bump com.fasterxml.jackson.dataformat:jackson-dataformat-xml (#93)
  • fb8d4c8 Bump com.fasterxml.jackson.core:jackson-databind from 2.22.2 to 2.22.3 (#94)

Contributors

We'd like to thank the following people for their contributions:
Alex Abashev, Alexey Abashev, GitHub, asm0dey, dependabot[bot], Éamonn McManus

Assets 23
Loading

Uh oh!

There was an error while loading. Please reload this page.

All reactions
0 Join discussion

2.98.0.5

2.98.0.5
@github-actions github-actions released this 28 Sep 19:17
Immutable release. Only release title and notes can be modified.
2.98.0.5
b48a838
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Changelog

  • b48a838 Merge pull request #91 from openjavaformat/jbang-directives
  • 493d4d9 Leave JBang directives at the top of a file as written
  • bf5bdcd Bump org.eclipse.jdt:org.eclipse.jdt.core from 3.23.0 to 3.47.0 (#90)
  • 123a6b4 Bump org.graalvm.buildtools:native-gradle-plugin from 1.1.12 to 1.1.14 (#89)
  • a09c1dd Bump com.palantir.suppressible-error-prone:gradle-suppressible-error-prone (#88)
  • 9610f9f Merge pull request #87 from openjavaformat/code-scanning-alerts
  • 58fdede Let Dependabot propose a release only once it is a week old
  • 71c8c57 Name the CodeQL action release the pin points to
  • 711a99c Pass the test JDK's path to the build as a variable
  • e89a83a Check who opened the pull request before auto-merging it
  • a5b690e Give the two workflows without a permissions block the least they need
  • 5c93489 Do not leave the checkout's token in .git/config
  • e496bdc Merge pull request #86 from openjavaformat/errorprone-warnings
  • 9e18a06 Use mapMulti instead of flatMap(Optional::stream) in a plugin test
  • 75a1dbb Write concatenated multi-line strings as text blocks
  • 331d683 Use arrow switches where error-prone suggests them
  • a4cd6ae Bind instanceof matches to pattern variables
  • 1a01c3b Merge pull request #85 from openjavaformat/readme-no-style-flag
  • 853a898 Say in the README that the CLI has no style flag
  • 435f3cb Update docs
  • 9f5f5c7 Merge pull request #84 from openjavaformat/readme-maven-plugin
  • fc1f235 Show the Maven plugin in the README

Contributors

We'd like to thank the following people for their contributions:
Alex Abashev, Alexey Abashev, GitHub, dependabot[bot]

Assets 23
Loading

Uh oh!

There was an error while loading. Please reload this page.

All reactions
0 Join discussion

2.98.0.4

2.98.0.4
@github-actions github-actions released this 25 Sep 19:37
Immutable release. Only release title and notes can be modified.
2.98.0.4
b853b9f
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Changelog

  • b853b9f Merge pull request #81 from openjavaformat/plugin-descriptor-public-api
  • 789e9ea Remove too much coupling
  • 1985d55 Let the version test accept what CI stamps into the plugin
  • a58bdc7 Make it safer
  • 4479a4f Merge pull request #82 from openjavaformat/dependency-graph-runtime-only
  • 454837b Submit only runtimeClasspath to the dependency graph
  • 462a18c Merge pull request #80 from openjavaformat/jetbrains-marketplace-publishing
  • b48ba48 Merge pull request #79 from openjavaformat/format-diff-javac-exports-message
  • ad8dd4b Take the plugin descriptor from PluginAware, not from PluginManager
  • c4a837a Upload the IntelliJ plugin unsigned
  • e673437 Publish the IntelliJ plugin to the JetBrains Marketplace on release
  • 2dc5197 Write the javac exports message as a text block
  • a9f92e5 Say how to run the formatter when the Gradle JVM hides javac
  • a427d59 Merge pull request #78 from openjavaformat/cast-type-without-breaks
  • d564203 Give the cast golden an input that has to be laid out afresh
  • b58f5c6 Measure the whole type of a cast before inlining a chain onto it
  • 8a39a6a Merge pull request #77 from openjavaformat/comment-before-lambda-close-parens
  • bf9e0eb Do not inline a lambda body whose closing paren carries a comment
  • 7f2a32d Merge pull request #74 from openjavaformat/javadoc-banner-comments
  • 4978dca Merge pull request #71 from openjavaformat/overlapping-lines-ranges
  • 98a80c6 Merge pull request #76 from openjavaformat/switch-expression-declaration
  • 522fab5 Keep an input in the old shape in the switch expression golden
  • 8cc4259 Merge pull request #73 from openjavaformat/trailing-tabs-in-comments
  • 58947f8 Merge pull request #75 from openjavaformat/javadoc-snippet
  • 037a7fd Merge pull request #72 from openjavaformat/diagnostic-column
  • 1eb4e5b Merge pull request #66 from openjavaformat/member-reference-type-annotation
  • 30fa1cc Merge pull request #65 from openjavaformat/parameter-array-dims-annotation
  • 34ddeaa Merge pull request #68 from openjavaformat/semicolon-only-class-body
  • b1f0450 Merge pull request #70 from openjavaformat/single-letter-type-name
  • 1760d93 Merge pull request #69 from openjavaformat/tabular-mixed-sign-initializer
  • 2c63af6 Merge pull request #67 from openjavaformat/non-sealed-modifier-order
  • d6d4a71 Merge pull request #64 from openjavaformat/unary-minus-literal
  • 610278d Don't break line when switch expression used in declaration assignment (palantir#1789)
  • eb20cda Keep a javadoc {@snippet} as it is written
  • 49ff83d Leave a comment that opens with "/***" out of javadoc formatting
  • 17f6a1b Drop trailing tabs from comments instead of writing them out
  • da047d7 Report the column of a syntax error where javac puts it
  • a5c9010 Merge --lines ranges that overlap instead of rejecting them
  • 010cef1 Treat a single upper case letter as a type name in a dotted chain
  • f4bf910 Keep a tabular array initializer with mixed signs in rows
  • 956f1d8 Cover the other bodies that can hold only semicolons
  • a1b84fb Format a class body that holds nothing but semicolons
  • 6282d12 Reorder non-sealed as one modifier
  • af4b138 Accept a type annotation on the qualifier of a method reference
  • 4ed1716 Accept an annotated C-style array dimension on a parameter
  • 307e091 Keep the space between a unary minus and a negative literal
  • 746fb60 Add zizmor to CI cycle
  • a079cbb Merge pull request #59 from openjavaformat/long-generic-field-type-golden
  • dc50f40 Cover how a long generic field type wraps
  • 86cdc74 Bump graalvm/setup-graalvm from 1.6.4 to 1.6.6 (#57)
  • 06da4e3 Merge pull request #58 from openjavaformat/readme-output-bug-fixes
  • ac92c87 Say in the README that bug fixes can change the output
  • 2b66571 Bump github/codeql-action/analyze from 4.38.0 to 4.38.1 (#54)
  • 585fdc2 Bump zgosalvez/github-actions-ensure-sha-pinned-actions (#56)
  • b93d8a1 Bump github/codeql-action/init from 4.38.0 to 4.38.1 (#55)
  • c333fbd Bump com.fasterxml.jackson.module:jackson-module-parameter-names (#52)
  • 561972c Bump com.palantir.gradle.idea-configuration:gradle-idea-configuration (#53)
  • 0d83e31 Bump com.fasterxml.jackson.datatype:jackson-datatype-jdk8 (#51)

Contributors

We'd like to thank the following people for their contributions:
Alex Abashev, Alexey Abashev, Andrew Reid, Eckert, Alexander, GitHub, Liam Miller-Cushon, Patrick Koenig, cpovirk, cushon, dependabot[bot], google-java-format Team

Contributors

  • @snippet
snippet
Assets 23
Loading

Uh oh!

There was an error while loading. Please reload this page.

All reactions
0 Join discussion

2.98.0.3

2.98.0.3
@github-actions github-actions released this 23 Sep 15:42
Immutable release. Only release title and notes can be modified.
2.98.0.3
a8e4ae3
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Changelog

  • a8e4ae3 Merge pull request #30 from openjavaformat/upstream-prs-1707-1786
  • ecc0647 Merge main into upstream-prs-1707-1786
  • 43f5d3d Merge pull request #49 from openjavaformat/argfile-quotes
  • 9c98a31 Sign the Gradle plugins on the Plugin Portal with the release key
  • da12ddc Put the Gradle plugins' jar in the GitHub release, signed like the rest
  • 43df12f Merge pull request #47 from openjavaformat/close-thread-pool
  • c5f3de1 Merge pull request #48 from openjavaformat/dry-run-replace-message
  • 67c0111 Release everything from a tag, publishing only once both deployments are in
  • c10548d Shut down the command line's thread pool when formatting is done
  • c73a083 Name --replace in the error for --dry-run with in-place formatting
  • f5e6b12 Read quoted arguments from parameter files, and refuse a file that includes itself
  • e2142e5 Merge pull request #46 from openjavaformat/upstream-pr-1784
  • f38b759 Merge pull request #43 from openjavaformat/unused-import-blank-line
  • c6f717f Merge pull request #44 from openjavaformat/comments-between-imports
  • eda37c1 Merge pull request #42 from openjavaformat/multiline-comment-column
  • 0ef517a Merge pull request #41 from openjavaformat/comment-nbsp-wrap
  • 95c738a Cover two more text blocks that settled only on a second run
  • e2c90fd Run the string wrapping pass to a fixed point
  • 56c7a01 Keep comments between imports with the import after them
  • 3632838 Stop an unused import from leaving two blank lines behind
  • 30b63ba Stop comments that share a line from doubling each other's indent
  • 3810d50 Stop breaking line comments at a no-break space
  • 53ac7d8 Stop splitting long strings inside an escaped backslash
  • 39f69dc Stop passing --ojf from the benchmarks and the Gradle plugin's native step
  • 9182725 Stop deeply nested calls from taking exponential time to format
  • 894f4a5 Stop passing --ojf to the formatter process
  • b2fd323 Resolve buildSrc's dependencies from Maven Central first
  • aed6a78 Leave the Gradle plugin's tests out of the JDK 27 job
  • 4e6ca5e Show a failing test's whole exception in the log
  • 9c315d6 Print var from its token, now that JDK 27 gives it a type node
  • 97358ba Smoke-test the native binary on Java 25 syntax
  • 5e99868 Check that the tests run on the JDK the jdk job asked for
  • 60f39af Register the javac end-position API for the native image
  • b2e270b Format module imports, compact source files and unnamed patterns
  • 4a89e1e Support JDK 27 end positions (JDK-8372948)
  • 31e51b0 Run the tests on JDK 25, 26 and 27 as well
  • a2c8970 Merge pull request #28 from openjavaformat/windows-native-gradle
  • e96548e Expect a platform path in the git diff parsing test
  • a60e060 Compare line-ending-neutral in the two tests that failed on Windows
  • e530bbe Run the native formatter from the Gradle plugin on Windows

Contributors

We'd like to thank the following people for their contributions:
Alex Abashev, Alexey Abashev, Claude Opus 5 (1M context), GitHub, Karlheinz Friedberger, Sylwester Lachiewicz, Zayan Khan, arimu1, asm0dey, rootkiller6788

Assets 23
Loading

Uh oh!

There was an error while loading. Please reload this page.

All reactions
0 Join discussion

2.98.0.2

2.98.0.2
@github-actions github-actions released this 21 Sep 18:28
Immutable release. Only release title and notes can be modified.
2.98.0.2
4958189
This commit was signed with the committer’s verified signature.
abashev Alexey Abashev
SSH Key Fingerprint: KcTD3hiLWpv7Tg49mFVbcaOtoTp1hUItPCF9bIClfFE
Verified
Learn about vigilant mode.

Changelog

  • 4958189 Give the native jobs a JDK 21, which Gradle does not find on Windows
  • e8c0ee1 Format in one style with clear exit codes, and build a native binary for Windows
  • 7f06ca1 Rewrite the README for a released, independently developed project
  • 7ceda6b Move the manifesto and the icon sources to the website repository
  • 340a181 Replace deprecated IDE APIs in the IDEA plugin
  • 3f6c827 Describe the IDEA plugin for the marketplace in plugin.xml
  • f536e9f Bump github/codeql-action/analyze from 4.37.9 to 4.38.0 (#17)
  • 60155b7 Bump zgosalvez/github-actions-ensure-sha-pinned-actions (#18)
  • 61245f0 Bump org.eclipse.platform:org.eclipse.jface.text (#12)
  • a8b06ee Bump mikepenz/action-junit-report from 6.4.2 to 6.5.0 (#15)
  • 730b6a9 Bump actions/setup-java from 6.0.0 to 6.0.1 (#16)
  • 33c43c5 Bump github/codeql-action/init from 4.37.9 to 4.38.0 (#14)
  • e290151 Bump org.eclipse.platform:org.eclipse.text from 3.10.200 to 3.14.800 (#11)
  • e4133cd Bump com.palantir.javaformat:gradle-palantir-java-format (#13)

Contributors

We'd like to thank the following people for their contributions:
Alex Abashev, Alexey Abashev, GitHub, dependabot[bot]

Assets 21
Loading

Uh oh!

There was an error while loading. Please reload this page.

All reactions
0 Join discussion

2.98.0.1

2.98.0.1
@github-actions github-actions released this 15 Sep 18:28
2.98.0.1
30575fc
This commit was signed with the committer’s verified signature.
abashev Alexey Abashev
SSH Key Fingerprint: KcTD3hiLWpv7Tg49mFVbcaOtoTp1hUItPCF9bIClfFE
Verified
Learn about vigilant mode.

Code-wise this is palantir-java-format 2.98.0, renamed to open-java-format. What changed is the build: every file of this release, here and on Maven Central, was built and signed on GitHub Actions.

For now the fourth number counts rebuilds of the upstream version: 2.98.0.1 is the first build of 2.98.0.

Requirements: Java 21 or later. The Gradle plugins need Gradle 9.

Style flag: --ojf

Without a style flag the formatter uses Google Java Style. --ojf (or -ojf) selects the 120-column style that --palantir used to; --palantir is no longer accepted. The jar and the native binaries take the same flags.

Runnable jar

open-java-format-2.98.0.1-all.jar carries every dependency and the Add-Exports the formatter needs, so no JVM flags are required:

curl -LO https://github.com/openjavaformat/open-java-format/releases/download/2.98.0.1/open-java-format-2.98.0.1-all.jar
java -jar open-java-format-2.98.0.1-all.jar --ojf --replace Foo.java

Native binaries

No Java needed. Pick the file for your platform:

Platform File
Linux x86-64 (glibc) open-java-format-linux-glibc_x86-64
Linux AArch64 (glibc) open-java-format-linux-glibc_aarch64
macOS Apple silicon open-java-format-macos_aarch64
macOS Intel open-java-format-macos_x86-64
curl -LO https://github.com/openjavaformat/open-java-format/releases/download/2.98.0.1/open-java-format-macos_aarch64
chmod +x open-java-format-macos_aarch64
./open-java-format-macos_aarch64 --ojf --replace Foo.java

macOS refuses to run a binary downloaded with a browser; clear the quarantine flag first with xattr -d com.apple.quarantine open-java-format-macos_aarch64. There is no Windows binary yet — use the jar.

Handy flags

Flag What it does
--replace, -i Write the result back to the files instead of printing it
--dry-run --set-exit-if-changed Print the files that would change and exit with 1, for CI
- Format stdin to stdout
--help List every option
Assets 18
Loading

Uh oh!

There was an error while loading. Please reload this page.

All reactions
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.