Repository navigation
Releases
v6.3.0
Behavior change: Java problem matcher is now opt-in
Starting with v6.3.0, setup-java no longer registers the Java problem matcher by default (#1326, fixes #1322). Java compiler warnings, compiler errors, and uncaught exceptions are no longer turned into annotations on pull request diffs unless you opt in.
To keep annotations, set problem-matcher: true:
- uses: actions/setup-java@v6
with:
distribution: temurin
java-version: '25'
problem-matcher: trueCompiler output still appears in the build logs, and compilation errors still fail the build. Only annotations are affected.
Why: inline annotations cluttered pull request reviews, and GitHub Actions caps annotations at 10 errors, 10 warnings, and 10 notices per step, and 50 per job. Larger Java builds therefore showed only a truncated subset of their diagnostics as annotations. See Java problem matcher (compiler annotations).
What's Changed
- Architecture validation for JDK file installs by @v-mahabaleshwars in #1324
- chore(deps): bump fast-xml-parser from 5.11.2 to 5.12.0 by @dependabot[bot] in #1323
- Add Microsoft OpenJDK 25.0.5.0.2 support by @brunoborges with @Copilot in #1320
- Fix JetBrains Runtime hotfix version selection by @brunoborges with @Copilot in #1321
- Make Java problem matcher opt-in (default problem-matcher to false) by @brunoborges in #1326
Full Changelog: v6.2.0...v6.3.0
v6.2.0
What's Changed
- Fix Liberica SDKMAN patch release resolution by @brunoborges in #1291
- Update Undici to 6.29.1 by @brunoborges in #1308
- chore(deps): bump the monthly-npm-updates group with 12 updates by @dependabot[bot] in #1309
- Fix Liberica Java 25 release resolution by @brunoborges in #1313
- Add repository-specific Copilot instructions by @brunoborges in #1312
- Support exact Corretto release versions by @electrum in #1310
- Support Maven mirrors in generated settings.xml by @brunoborges in #1289
New Contributors
Full Changelog: v6.1.0...v6.2.0
v6.1.0
What's Changed
- Preserve compound Liberica build versions from .sdkmanrc by @brunoborges with @Copilot in #1268
- Support Temurin on Linux RISC-V by @yawkat in #1269
- Stop GPG agent before removing signature-verification home by @brunoborges with @Copilot in #1273
- Prefer Zulu 4-segment hotfix builds when resolving version ranges by @brunoborges in #1278
- Support Temurin JEP 322 patch versions like 26.0.2.1+1 by @brunoborges in #1279
- chore(deps): bump undici from 6.28.0 to 6.29.0 by @dependabot[bot] in #1274
- chore(deps): bump the monthly-npm-updates group with 13 updates by @dependabot[bot] in #1276
- feat: support Maven server credential origins by @YunaBraska in #1282
- Support Maven plugin repositories in generated settings.xml by @brunoborges in #1286
New Contributors
- @yawkat made their first contribution in #1269
- @YunaBraska made their first contribution in #1282
Full Changelog: v6.0.1...v6.1.0
v6.0.1
What's Changed
- Fix failing GitHub Actions job for temurin 17 by @brunoborges with @Copilot in #1259
- Fix Temurin EA E2E signature verification by @brunoborges with @Copilot in #1260
- Fix Alpine GPG verification failures and support multiple keys by @brunoborges in #1262
- Fix import-safe checks when scripts are run from a path with symlinks by @otaconix in #1265
- Avoid macOS GPG socket overflow on long runner paths by @brunoborges with @Copilot in #1266
- Complete v6 release highlights in README by @brunoborges in #1254
- Group and slow routine Dependabot updates by @brunoborges in #1255
- chore(deps-dev): update eslint and globals by @dependabot[bot] in #1256
New Contributors
Full Changelog: v6.0.0...v6.0.1
v6.0.0
What's Changed
- dist: Migrate from Zulu Discovery API to Azul Metadata API by @jameswald in #1010
- feat: add .mvn/extensions.xml to Maven cache key pattern by @brunoborges with @Copilot in #1041
- Migrate to ESM and upgrade dependencies by @priyagupta108 in #1078
- Map Zulu x86 architecture to i686 for Azul Metadata API by @brunoborges in #1079
- Rename jdkFile input to jdk-file with deprecated alias by @brunoborges in #1083
- Infer distribution from asdf .tool-versions vendor prefix by @brunoborges in #1084
- Add Maven compiler problem matcher for javac diagnostics by @brunoborges in #1086
- feat: expose cache-primary-key output (#597) by @brunoborges in #1088
- docs: clarify V6 ESM migration is not a user-facing breaking change by @brunoborges in #1090
- Support multi-field Java versions like
18.0.1.1by @brunoborges in #1092 - docs: document seeding the Maven cache for plugin dependencies by @brunoborges in #1094
- docs: clarify Maven cache paths and key hash inputs by @brunoborges in #1096
- Support pinning java-version as "latest" by @brunoborges in #1093
- chore(deps-dev): bump eslint from 10.6.0 to 10.7.0 by @dependabot[bot] in #1101
- chore(deps-dev): bump eslint-plugin-n from 18.2.1 to 18.2.2 by @dependabot[bot] in #1103
- chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 by @dependabot[bot] in #1105
- chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #1106
- chore(deps-dev): bump @types/node from 26.1.0 to 26.1.1 by @dependabot[bot] in #1104
- dist: Cover Tencent Kona JDK 25 by @johnshajiang in #1108
- chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 by @dependabot[bot] in #1102
- Preserve Maven toolchains across repeated setup-java runs (#1099) by @brunoborges in #1111
- dist: Support Liberica NIK (#878) by @asm0dey in #1112
- Fix template injection (zizmor alert #118) in e2e-versions.yml by @brunoborges with @Copilot in #1114
- Fix template injection in e2e-versions.yml (zizmor alert #122) by @brunoborges with @Copilot in #1120
- Disable persisted checkout credentials in e2e workflow by @brunoborges with @Copilot in #1115
- feat: Update recommended configuration for GPG signing by @wetneb in #608
- Cache Maven and Gradle wrapper distributions separately from the dependency cache by @brunoborges in #1097
- Consolidate cache-dependency-path e2e workflow and add maven/sbt coverage by @brunoborges in #1124
- Use gpg.passphraseEnvName instead of the deprecated gpg.passphrase server by @brunoborges in #1123
- Extract repeated directory-check assertions into check-dir.sh helper by @brunoborges in #1127
- Consolidate duplicate jobs in e2e-versions workflow by @brunoborges in #1125
- Use YAML anchors to reduce boilerplate in e2e-versions workflow by @brunoborges in #1126
- Updated msft json for now by @jmjaffe37 in #1129
- Document missing action inputs in README by @brunoborges in #1130
- chore(deps): bump @actions/cache to 6.2.0 by @philip-gai in #1128
- Add an option to disable Java problem matchers by @brunoborges in #1133
- docs: update setup-java examples by @HarithaVattikuti in #1131
- Clarify credential environment variable inputs by @brunoborges in #1134
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.63.0 to 8.64.0 by @dependabot[bot] in #1135
- chore(deps): bump actions/setup-python from 6 to 7 by @dependabot[bot] in #1143
- chore(deps): bump fast-xml-parser from 5.9.3 to 5.10.1 by @dependabot[bot] in #1142
- chore(deps-dev): bump @typescript-eslint/parser from 8.64.0 to 8.65.0 by @dependabot[bot] in #1138
- chore(deps-dev): bump lint-staged from 17.0.8 to 17.2.0 by @dependabot[bot] in #1136
- chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 by @dependabot[bot] in #1137
- chore(deps): fix npm audited vulnerabilities by @mhoffrog in #1140
- Fix formatting issues in README.md by @brunoborges in #1144
- Remediate npm audit findings and rebuild distributions by @brunoborges with @Copilot in #1145
- Set GRAALVM_HOME for GraalVM distributions by @brunoborges with @Copilot in #1146
- Add force-download option for reproducible JDK builds by @brunoborges with @Copilot in #1148
- Add OpenJDK distribution by @brunoborges with @Copilot in #1147
- Support Temurin JDKs with JMOD files by @brunoborges with @Copilot in #1149
- Document Java package compatibility by distribution by @brunoborges in #1152
- Fix caching when wrapper distributions are absent by @brunoborges in #1151
- Reject invalid boolean input values by @brunoborges in #1160
- Fail on mismatched Maven toolchain ID counts by @brunoborges in #1161
- Consolidate JDK metadata retry handling by @brunoborges in #1162
- Add direct setup orchestration tests by @brunoborges in #1163
- Harden java-package validation across distributions by @brunoborges in #1165
- Verify JDK downloads with vendor checksums by @brunoborges in #1167
- Reduce change-time Java E2E matrix by @brunoborges in #1170
- Add read-only mode for dependency caching by @brunoborges in #1169
- Test Temurin 25 on hosted runners by @brunoborges in #1172
- Restore dependency and wrapper caches concurrently by @brunoborges in #1174
- Add dependency cache path overrides by @brunoborges in #1175
- Centralize OS/architecture capability validation by @brunoborges in #1178
- Optimize Temurin tool-cache fast path with lazy loading by @brunoborges in #1179
- Optimize Maven configuration warm path by @brunoborges in #1182
- Fix macOS e2e workflow assertions by @brunoborges in #1184
- Remove legacy Adopt distributions in v6 by @brunoborges with @Copilot in #1185
- chore(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #1190
- Reimagine setup-java README by @brunoborges in #1192
- Document deprecation of setup-java v1 through v4 by @brunoborges in #1198
- Update setup-java README action from v6 to v5 by @brunoborges in #1199
- Highlight major changes in setup-java v5 by @brunoborges in #1200
- Highlight major changes in setup-java v6 by @brunoborges in #1203
- chore(deps): bump brace-expansion from 5.0.8 to 5.0.9 by @dependabot[bot] in #1202
- Add conditional JDK caching by @brunoborges in #1201
- docs: fix README and advanced usage inconsistencies with actual behavior by @brunoborges in #1204
- Move the extracted JDK into the tool-cache instead of copying it by @brunoborges in #1206
- docs: drop benchmark numbers from the JDK caching section by @brunoborges in #1205
- docs: correct the mvn-toolchain-id default in README and action.yml by @brunoborges in #1207
- Cache resolved JDK releases to remove the vendor A...
v4.9.1
Adds a deprecation warning for setup-java v4.
v3.14.2
Adds a deprecation warning for setup-java v3.
v2.5.2
Adds a deprecation warning for setup-java v2.
v1.4.5
Adds a deprecation warning for setup-java v1.
v5.7.0
What's Changed
- Fix npm audit failures on releases/v5 by @brunoborges in #1154
- Backport #1151: Fix missing wrapper cache distributions by @brunoborges in #1153
- Deprecate legacy Adopt distributions in v5 by @brunoborges in #1186
Full Changelog: v5.6.0...v5.7.0