# Compatibility Matrix

version 8.14.4

The sections below describe Gradle’s compatibility with several integrations. Versions not listed here may or may not work.

## Java Runtime

Gradle runs on the Java Virtual Machine (JVM), which is often provided by either a JDK or JRE. A JVM version between 8 and 24 is required to execute Gradle. JVM 25 and later versions are not yet supported.

Executing the Gradle daemon with JVM 16 or earlier has been deprecated and will become an error in Gradle 9.0. The Gradle wrapper, Gradle client, Tooling API client, and TestKit client will remain compatible with JVM 8.

JDK 6 and 7 can be used for compilation. Testing with JVM 6 and 7 is deprecated and will not be supported in Gradle 9.0.

Any fully supported version of Java can be used for compilation or testing. However, the latest Java version may only be supported for compilation or testing, not for running Gradle. Support is achieved using toolchains and applies to all tasks supporting toolchains.

See the table below for the Java version supported by a specific Gradle release:

Table 1. Java Compatibility
Java version | Support for toolchains | Support for running Gradle
--- | --- | ---
8 | N/A | 2.0
9 | N/A | 4.3
10 | N/A | 4.7
11 | N/A | 5.0
12 | N/A | 5.4
13 | N/A | 6.0
14 | N/A | 6.3
15 | 6.7 | 6.7
16 | 7.0 | 7.0
17 | 7.3 | 7.3
18 | 7.5 | 7.5
19 | 7.6 | 7.6
20 | 8.1 | 8.3
21 | 8.4 | 8.5
22 | 8.7 | 8.8
23 | 8.10 | 8.10
24 | 8.14 | 8.14
25 | N/A | N/A

| We only list versions in the table above once we have tested that they work without any warnings. However, thanks to the toolchain support, Gradle will often work with the latest Java version before then. We encourage users to try it out and let us know.

## Kotlin

Gradle is tested with Kotlin 1.6.10 through 2.1.20-RC3. Beta and RC versions may or may not work.

Table 2. Embedded Kotlin version
Embedded Kotlin version | Minimum Gradle version | Kotlin Language version
--- | --- | ---
1.3.10 | 5.0 | 1.3
1.3.11 | 5.1 | 1.3
1.3.20 | 5.2 | 1.3
1.3.21 | 5.3 | 1.3
1.3.31 | 5.5 | 1.3
1.3.41 | 5.6 | 1.3
1.3.50 | 6.0 | 1.3
1.3.61 | 6.1 | 1.3
1.3.70 | 6.3 | 1.3
1.3.71 | 6.4 | 1.3
1.3.72 | 6.5 | 1.3
1.4.20 | 6.8 | 1.3
1.4.31 | 7.0 | 1.4
1.5.21 | 7.2 | 1.4
1.5.31 | 7.3 | 1.4
1.6.21 | 7.5 | 1.4
1.7.10 | 7.6 | 1.4
1.8.10 | 8.0 | 1.8
1.8.20 | 8.2 | 1.8
1.9.0 | 8.3 | 1.8
1.9.10 | 8.4 | 1.8
1.9.20 | 8.5 | 1.8
1.9.22 | 8.7 | 1.8
1.9.23 | 8.9 | 1.8
1.9.24 | 8.10 | 1.8
2.0.20 | 8.11 | 1.8
2.0.21 | 8.12 | 1.8

## Groovy

Gradle is tested with Groovy 1.5.8 through 4.0.0.

Gradle plugins written in Groovy must use Groovy 3.x for compatibility with Gradle and Groovy DSL build scripts.

## Android

Gradle is tested with Android Gradle Plugin 7.3 through 8.9. Alpha and beta versions may or may not work.

## Target Platforms

Gradle supports a defined set of platform targets, which are combinations of:

- Operating system and version

- Architecture

- File system watching compatibility

The following table lists the officially supported platforms for Gradle:

Table 3. Supported Platforms
OS | Architecture
--- | ---
Ubuntu 22 | `amd64`
Windows 10 | `amd64`
macOS 12 | `amd64`
| `aarch64`
Ubuntu 16 | `amd64`
| `aarch64`
Alpine 3.20 | `amd64`
CentOS 9 | `amd64`

| Currently, all Gradle tests run with the default file-systems of the platform, i.e. `ext4` for Ubuntu, Amazon Linux and CentOS, `NTFS` for Windows, and `APFS` for macOS.

Platforms not listed above may work with Gradle but are not actively tested.