Releases: gradle/actions
Release list
v6.4.0-rc.1
Note
This is a release candidate, published for verification ahead of v6.4.0. It is not
recommended for general use, and the v6 tag has deliberately not been moved to point at it.
To try it out, pin the full version: gradle/actions/setup-gradle@v6.4.0-rc.1.
Please report any problems against this release before v6.4.0 is published.
Highlights
Gradle version support status in the Job Summary
The actions now report the support status of every Gradle version used in a workflow, as job
annotations and in the Job Summary (#1057). Thanks to @ov7a for the contribution.
| version kind | job annotation | version table | below the table |
|---|---|---|---|
| End-of-life — two or more major versions behind the latest release | warning | expandable section naming the affected release lines, pointing at the Gradle Security Subscription | |
| Out of date — one major behind, or more than two minors behind on the current major | notice | ℹ️ | one-line legend pointing at the Gradle release lifecycle docs |
| Current | none | — | — |
Deliberately not reported: patch releases (being on 9.7.0 when 9.7.1 exists is not flagged) and
pre-releases (release candidates, milestones and snapshots never produce annotations). The latest
Gradle release is determined from the wrapper checksum data already bundled with the action, so no
network access is required.
Note that these annotations are emitted independently of the add-job-summary setting: setting
add-job-summary: 'never' suppresses the Job Summary itself, but the warning and notice annotations
remain.
Gradle itself is now reported in the dependency graph
The dependency-submission action now applies v1.5.0 of the
GitHub Dependency Graph Gradle Plugin
(up from v1.4.2) (#1069).
The headline change is that the Gradle Build Tool running the build is now reported as an
org.gradle:gradle-core dependency, so that GitHub can surface known vulnerabilities in the version
of Gradle used to run your build. These are the coordinates that GitHub advisories for the Gradle
Build Tool are published against.
Details worth knowing:
- The entry is always reported as a direct dependency with development scope.
- It is not affected by the project, configuration or scope filters, so it appears even in graphs
that filter aggressively. - Expect dependency graphs to gain this one new entry the first time a build runs after upgrading.
A new Gradle signing key, if you use dependency verification
Important
If your build has dependency verification
enabled, you must add a second trusted key before upgrading, or Dependency Graph generation will
fail signature verification.
github-dependency-graph-gradle-plugin 1.5.0 is signed with a new Gradle signing subkey, and the
key previously documented in our setup guide has been revoked upstream:
| Artifact | Signing key |
|---|---|
org.gradle:github-dependency-graph-gradle-plugin 1.5.0 and later |
E2879931BCA1A42E55F2D64DD9B2DFBD9F3298BA (new) |
org.gradle plugin versions before the rotation |
7B79ADD11F8A779FE90FD3D0893A028475557671 (old, revoked) |
com.gradle Develocity Gradle plugin, including 4.5.0 |
7B79ADD11F8A779FE90FD3D0893A028475557671 (old, revoked) |
Because the Develocity Gradle plugin is still signed with the old key, you should trust both keys
rather than swapping one for the other — replacing the old key outright will break Develocity
injection. The documented snippet in
docs/setup-gradle.md
has been updated accordingly (#1071):
<trusted-keys>
<trusted-key id="7B79ADD11F8A779FE90FD3D0893A028475557671">
<trusting group="com.gradle"/>
<trusting group="org.gradle"/>
</trusted-key>
<trusted-key id="E2879931BCA1A42E55F2D64DD9B2DFBD9F3298BA">
<trusting group="org.gradle"/>
</trusted-key>
</trusted-keys>cache-provider: external for externally managed Gradle User Home
Builds that save and restore Gradle User Home by some other mechanism (Develocity Artifact Cache, for
example) previously had to set cache-disabled: true, which was misleading: caching wasn't disabled,
it just wasn't managed by this action, and the Job Summary reported it as "Disabled".
cache-provider: external skips Gradle User Home restore/save exactly as cache-disabled does, but
reports a distinct External status in the Job Summary explaining that caching is handled by
another provider (#1059).
- uses: gradle/actions/setup-gradle@v6.4.0-rc.1
with:
cache-provider: 'external'Develocity access keys containing OIDC tokens now work
Short-lived-token handling validated the server=key[;server=key]* access key format with a regex
whose key portion was too strict, so an access key holding an OIDC token value was rejected
outright. Worse, had it passed the regex, parsing split each entry on = and kept only the second
field — silently truncating any key containing = (as JWT padding does) and sending the mangled
key to the server. Both problems are fixed (#1061).
Job Summary attribution
Job summaries produced by setup-gradle and dependency-submission now carry a top-level heading
naming the action, so the block stays attributable when another action's summary content lands in the
same job (#1058).
Updated defaults
- GitHub Dependency Graph Gradle Plugin: 1.4.2 → 1.5.0
- 5 new known-good wrapper checksums for
wrapper-validation(368 → 373 entries)
What's Changed
- Bump the github-actions group across 3 directories with 6 updates by @dependabot[bot] in #1039
- Bump the npm-dependencies group in /sources with 3 updates by @dependabot[bot] in #1038
- Add action heading to Gradle job summary by @bigdaz in #1058
- Add cache-provider: external to skip Gradle User Home caching by @bigdaz in #1059
- Relax Develocity access key format validation by @bigdaz in #1061
- Use the root-qualified
:wrappertask by @cobexer in #1064 - Report EOL and maintenance status for Gradle versions by @ov7a in #1057
- Update dependencies by @bigdaz in #1065
- Update .tool-versions: node 24.18.0, gradle 9.7.1, java 17 by @bigdaz in #1068
- Combined automated updates: wrapper checksums, npm dependencies, setup-java by @bigdaz in #1070
- Bump dependency-graph-gradle-plugin to 1.5.0 by @bigdaz in #1069
- Document the new Gradle signing key for dependency verification by @bigdaz in #1071
New Contributors
Full Changelog: v6.3.0...v6.4.0-rc.1
v6.3.0
Highlights
Enhanced Caching: Windows fixes and a cache-protocol bump
This release updates gradle-actions-caching to v1.0.0 (up from v0.7.0), which fixes two significant caching defects, both most visible on Windows:
-
Cache entries failed to store at all on Windows.. Every entry failed
withPath Validation Error: Path(s) specified in the action for caching do(es) not exist, even though the Gradle User Home was fully intact. Nothing was stored, so
every downstream job ran against an empty Gradle User Home. The cause was a nested,
unpatched copy of@actions/globcombined with a silently swallowedrequire()in
the bundle, which left Windows path separators unnormalized. -
Cache cleanup deleted instrumented jars that were in use. A bug in key
hashing for paths shorter than 64 characters made cleanup judge freshly created
caches/jars-9entries as unused and remove them, so theinstrumented-jarsentry
was never saved and every job re-instrumented its classpaths.Also included: cache entry names are now consistent between the save and restore
reports — restore previously fell back to showing the raw glob pattern (e.g.
/home/runner/.gradle/caches/modules-*/files-*/*/*/*/*/) instead ofdependencies.
Important
Existing cache entries are invalidated by this release. The cache protocol
version was bumped to v2, so the first run after upgrading will be a cache miss
and will repopulate the cache. No configuration changes are required.
Basic caching warns instead of failing silently
The basic (open-source) caching provider now emits a warning and reports
(Entry not saved: save failed) in the Job Summary when a cache save fails, rather
than reporting success (#1028).
Dependency submission works with Isolated Projects
dependency-submission now disables Isolated Projects via a promoted property, so
dependency graph generation works on builds that enable it (#1025). Thanks to @reinsch82 for the contribution.
Updated defaults
- Injected Develocity Gradle plugin: 4.4.2 → 4.5.0
- 36 new known-good wrapper checksums added for
wrapper-validation
What's Changed
- Render configuration-cache status in the caching Job Summary by @bigdaz in #989
- Update gradle-actions-caching library to v0.8.0 by @bot-githubaction in #993
- Support experimental project-entry caching (configuration-cache + build-logic) by @bigdaz in #994
- Update gradle-actions-caching library to v0.9.0 by @bot-githubaction in #996
- Disable Isolated Projects via promoted property in dependency-submission by @reinsch82 in #1025
- Add Windows coverage for caching via a new smoke-test suite by @bigdaz in #1027
- Fix basic caching smoke test on Windows, and warn on save failure by @bigdaz in #1028
- Move non-smoke restore-gradle-home tests back to the integ-test suite by @bigdaz in #1032
- Bump npm-dependencies group with TypeScript 6.0.3, @types/node 24.x, and security fixes by @bigdaz in #1033
- Bump Gradle Wrapper to 9.6.1, wrapper checksums, and Develocity plugin to 4.5.0 by @bigdaz in #1034
- Update gradle-actions-caching library to v1.0.0 by @bot-githubaction in #1029
- Bump the npm-dependencies group across 1 directory with 2 updates by @dependabot[bot] in #1037
- Bump the github-actions group across 2 directories with 9 updates by @dependabot[bot] in #1024
New Contributors
- @reinsch82 made their first contribution in #1025
Full Changelog: v6.2.0...v6.3.0
v6.2.0
Highlights
This release brings significant behaviour improvements to Enhanced caching, improvements to the generated Job Summary, and a number of correctness and security fixes.
- Improved cache-cleanup mechanism. Cleanup of stale files from the Gradle User Home is now faster, and no longer depends on Gradle or a JVM. It works by inspecting the local file state directly, removing the Gradle invocation from the post-build step.
- More granular, more stable caching. The local build cache is stored as a separate cache entry, so it can be restored and invalidated independently of the main Gradle User Home entry. Transient Gradle housekeeping files are excluded from the cache, reducing its size and improving stability.
- Hide obsolete Job summaries in PR commments: When a new Job summary comment is added to a PR, previous outdated Job summaries are now hidden.
- Improved caching report in the job summary. The cache report now uses a single, consistent layout across all cache states and providers. Provider information is integrated directly into the report, and per-entry details are available in an expandable section. (#985)
- Correctness and security fixes. A unique cache key is now used per run attempt, so re-runs no longer collide; the job summary shows the cache key string rather than an internal id; and bundled dependencies have been updated, including a ReDoS fix and a fast-xml CVE fix.
What's Changed
- Remove unnecessary dependency overrides by @bigdaz in #981
- Scope CI-integ-test concurrency groups per-branch by @bigdaz in #983
- Improve typings by @Vampire in #938
- Hide obsolete Job summaries by @SimonMarquis in #902
- CI: add requireable aggregate/no-op checks for branch protection by @bigdaz in #984
- Redesign the caching Job Summary by @bigdaz in #985
New Contributors
Full Changelog: v6.1.1...v6.2.0
v6.1.1
This release updates various dependency versions, resolving several reported security vulnerabilities.
No functional changes are included
What's Changed
- Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /sources/test/init-scripts by @bot-githubaction in #961
- Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /.github/workflow-samples/gradle-plugin by @bot-githubaction in #962
- Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /.github/workflow-samples/groovy-dsl by @bot-githubaction in #963
- Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /.github/workflow-samples/java-toolchain by @bot-githubaction in #964
- Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /.github/workflow-samples/kotlin-dsl by @bot-githubaction in #965
- Update known wrapper checksums by @github-actions[bot] in #937
- Bump the github-actions group across 2 directories with 8 updates by @dependabot[bot] in #976
- Bump the npm-dependencies group across 1 directory with 14 updates by @dependabot[bot] in #970
- Bump references to Develocity Gradle plugin from 4.4.0 to 4.4.2 by @bot-githubaction in #973
- Bump the npm-dependencies group in /sources with 5 updates by @dependabot[bot] in #977
- Update @actions/cache and @actions/artifact, stop ignoring them in Dependabot by @bigdaz in #978
- Resolve npm security vulnerabilities via dependency overrides by @bigdaz in #980
Full Changelog: v6.1.0...v6.1.1
v6.1.0
New: Basic Cache Provider
A new MIT-licensed Basic Caching provider is now available as an alternative to the proprietary Enhanced Caching provided by gradle-actions-caching. Choose Basic Caching by setting cache-provider: basic on setup-gradle or dependency-submission actions.
- Built on
@actions/cache-- fully open source - Caches
~/.gradle/cachesand~/.gradle/wrapperdirectories - Cache key derived from build files (
*.gradle*,gradle-wrapper.properties, etc.) - Clean cache on build file changes (no restore keys, preventing stale entry accumulation)
Limitations vs Enhanced Caching: No cache cleanup, no deduplication of cached content, cached content is fixed unless build files change.
Revamped Licensing & Distribution Documentation
- New DISTRIBUTION.md documents the licensing of each component (particularly Basic Caching vs Enhanced Caching)
- Simplified licensing notices in README, docs, and runtime log output
- Clear usage tiers: Enhanced Caching is free for public repos and in Free Preview for private repos
What's Changed
- Use a unique cache entry for wrapper-validation test by @bigdaz in #921
- Update Dependencies by @bigdaz in #922
- Update dependencies and resolve npm vulnerabilities by @bigdaz in #933
- Add open-source 'basic' cache provider and revamp licensing documentation by @bigdaz in #930
- Restructure caching documentation for basic and enhanced providers by @bigdaz in #934
Full Changelog: v6.0.1...v6.1.0
v6.0.1
Important
The release of gradle/actions@v6 contains important changes to the license terms. More details in this blog post.
TL;DR: By upgrading to v6, you accept the Terms of Use for the gradle-actions-caching component.
Summary
The license changes in v6 introduced a gradle-actions-caching license notice that is printed in logs and in each job summary.
With this release, the license notice will be muted if build-scan terms have been accepted, or if a Develocity access key is provided.
What's Changed
- Bump actions used in docs by @Goooler in #792
- Add typing information for use by typesafegithub by @bigdaz in #910
- Mute license warning when terms are accepted by @bigdaz in #911
- Mention explicit license acceptance in notice by @bigdaz in #912
- Bump com.fasterxml.jackson.dataformat:jackson-dataformat-smile from 2.21.1 to 2.21.2 in /sources/test/init-scripts in the gradle group across 1 directory by @dependabot[bot] in #907
Full Changelog: v6.0.0...v6.0.1
v6.0.0
Important
The release of gradle/actions@v6 contains important changes to the license terms. More details in this blog post.
TL;DR: By upgrading to v6, you accept the Terms of Use for the gradle-actions-caching component.
Summary
- Caching functionality of 'gradle-actions' has been extracted into a separate
gradle-actions-cachinglibrary, and is no longer open-source. See this blog post for more context. - Existing, rudimentary, configuration-cache support has been removed, pending a fully functional implementation in
gradle-actions-caching. - Dependencies updated to address security vulnerabilities
Important
Licensing notice
The caching functionality in `gradle-actions` has been extracted into `gradle-actions-caching`, a proprietary commercial component that is not covered by the MIT License.
The bundled `gradle-actions-caching` component is licensed and governed by a separate license, available at https://gradle.com/legal/terms-of-use/.
The `gradle-actions-caching` component is used only when caching is enabled and is not loaded or used when caching is disabled.
Use of the `gradle-actions-caching` component is subject to a separate license, available at https://gradle.com/legal/terms-of-use/.
If you do not agree to these license terms, do not use the `gradle-actions-caching` component.
What's Changed
- Bump the npm-dependencies group in /sources with 2 updates by @dependabot[bot] in #866
- Update known wrapper checksums by @github-actions[bot] in #868
- Dependency updates by @bigdaz in #876
- Update known wrapper checksums by @github-actions[bot] in #878
- Bump @types/node from 25.3.3 to 25.3.5 in /sources in the npm-dependencies group across 1 directory by @dependabot[bot] in #877
- Bump the github-actions group across 3 directories with 3 updates by @dependabot[bot] in #867
- Update known wrapper checksums by @github-actions[bot] in #881
- Bump the npm-dependencies group in /sources with 6 updates by @dependabot[bot] in #879
- Bump the github-actions group across 3 directories with 5 updates by @dependabot[bot] in #880
- Remove configuration-cache support by @bigdaz in #884
- Extract caching logic into a separate
gradle-actions-cachingcomponent by @bigdaz in #885 - Update gradle-actions-caching library to v0.3.0 by @bot-githubaction in #899
- Avoid windows shutdown bug by @bigdaz in #900
- Dependency updates by @bigdaz in #905
- Fix critical and high npm vulnerabilities by @bigdaz in #904
- Fix rendering of job-disabled message by @bigdaz in #909
Full Changelog: v5.0.2...v6.0.0
v5.0.2
Summary
This release contains no functional changes. It updates dependencies and known Gradle wrapper checksums.
What's Changed
- Update dependencies by @bigdaz in #851
- Bump the github-actions group across 2 directories with 3 updates by @dependabot[bot] in #850
- Update DV config by @bigdaz in #848
- Convert project to ESM and update dependencies by @bigdaz in #854
- Workflow fixes by @bigdaz in #856
- Remove superfluous text from log message by @bigdaz in #861
- Bump the github-actions group across 1 directory with 2 updates by @dependabot[bot] in #860
- Bump the npm-dependencies group across 1 directory with 3 updates by @dependabot[bot] in #859
- Update known wrapper checksums by @github-actions[bot] in #857
- Bump com.fasterxml.jackson.dataformat:jackson-dataformat-smile from 2.21.0 to 2.21.1 in /sources/test/init-scripts in the gradle group across 1 directory by @dependabot[bot] in #862
- Bump the npm-dependencies group in /sources with 2 updates by @dependabot[bot] in #863
- Bump github/codeql-action from 4.32.3 to 4.32.4 in the github-actions group across 1 directory by @dependabot[bot] in #864
Full Changelog: v5.0.1...v5.0.2
v5.0.1
What's Changed
- Bump
npmcode dependency versions - Bump Gradle versions used in sample builds
- Bump dependencies versions in Gradle sample builds
- Bump GitHub actions used for build and test
- Update known wrapper checksums to include Gradle 9.2+
Full Changelog: v5.0.0...v5.0.1
v5.0.0
What's Changed
Breaking Changes
Make sure your runner is updated to this version or newer to use this release. v2.327.1 Release Notes
Dependency upgrades
- Bump the github-actions group across 1 directory with 2 updates by @dependabot[bot] in #748
Full Changelog: v4...v5.0.0