We are excited to announce Gradle 9.7.0-milestone-1 (released 2026-06-17).
This release features 1, 2, ... n, and more.
We would like to thank the following community members for their contributions to this release of Gradle:
Be sure to check out the public roadmap for insight into what's planned for future releases.
Switch your build to use Gradle 9.7.0-milestone-1 by updating the wrapper in your project:
./gradlew :wrapper --gradle-version=9.7.0-milestone-1 && ./gradlew :wrapper
See the Gradle 9.x upgrade guide to learn about deprecations, breaking changes, and other considerations when upgrading to Gradle 9.7.0-milestone-1.
For Java, Groovy, Kotlin, and Android compatibility, see the full compatibility notes.
Gradle provides a Configuration Cache that improves build time by caching the result of the configuration phase and reusing it for subsequent builds.
Gradle provides Isolated Projects, an incubating feature that enables parallel project configuration.
Isolated Projects has graduated from experimental to incubating. It can now be enabled with the stable org.gradle.isolated-projects property and the new --isolated-projects CLI option, dropping the .unsafe. segment from the previous names.
# gradle.properties
org.gradle.isolated-projects=true
The legacy org.gradle.unsafe.isolated-projects property names are now deprecated and will be removed in a future release. They continue to work as aliases for now. See the upgrade guide for the full list of renamed properties.
Builds adopting Isolated Projects typically contain constraint violations that must be fixed over time. Isolated Projects now offers three modes, each suited to a different stage of that journey:
org.gradle.isolated-projects.diagnostics) — project configuration runs sequentially and the build continues past violations, reporting all of them deterministically. Use this to discover what needs fixing during migration.org.gradle.isolated-projects.dangerously-ignore-problems) — violations are reported but do not fail the build, and parallel configuration stays active. Use this to estimate the parallel build or IDE sync speedup before fixing every violation. Build outputs may be incorrect while violations are ignored, so never use this mode to produce artifacts.The opt-in modes can also be combined, for example to complete an IDE sync that concurrency errors would otherwise interrupt:
# gradle.properties
org.gradle.isolated-projects=true
org.gradle.isolated-projects.diagnostics=true
org.gradle.isolated-projects.dangerously-ignore-problems=true
In all modes, the severity of Isolated Projects violations is now independent of the Configuration Cache --configuration-cache-problems=warn flag.
Gradle provides a set of features and abstractions for testing JVM code, along with test reports to display results.
Gradle provides an intuitive command-line interface, detailed logs, and a structured problems report that helps developers quickly identify and resolve build issues.
Gradle provides rich APIs for build engineers and plugin authors, enabling the creation of custom, reusable build logic and better maintainability.
Gradle produces reproducible archives by default, using fixed timestamps for all entries. However, some environments, such as those following the SOURCE_DATE_EPOCH specification, require a meaningful, verifiable timestamp rather than a fixed default.
Archive tasks now support a reproducibleFileTimestamp property that lets you set a custom timestamp for every entry in the archive:
import java.time.Instant
tasks.withType<AbstractArchiveTask>().configureEach {
reproducibleFileTimestamp = providers.environmentVariable("SOURCE_DATE_EPOCH").map {
Instant.ofEpochSecond(it.toLong()).toEpochMilli()
}
}
See the Timestamp for files inside archives section in the Gradle User Manual for more details.
Gradle provides comprehensive support for Native development and JVM languages, featuring automated Toolchains for seamless JDK management.
Gradle provides a comprehensive plugin system, including built-in Core Plugins for standard tasks and powerful APIs for creating custom plugins.
Gradle provides robust security features and underlying infrastructure to ensure that builds are secure, reproducible, and easy to maintain.
Gradle provides Tooling APIs that facilitate deep integration with modern IDEs and CI/CD pipelines.
Gradle provides various incremental updates and performance optimizations to ensure the continued reliability of the build ecosystem.
Promoted features are features that were incubating in previous versions of Gradle but are now supported and subject to backward compatibility. See the User Manual section on the "Feature Lifecycle" for more information.
The following are the features that have been promoted in this Gradle release.
Known issues are problems that were discovered post-release that are directly related to changes made in this release.
We love getting contributions from the Gradle community. For information on contributing, please see gradle.org/contribute.
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure if you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.