From ab66e8b40ad178039fe8e7b19e76d43a862c51ca Mon Sep 17 00:00:00 2001 From: Mark Corner Date: Thu, 21 May 2026 10:25:55 -0400 Subject: [PATCH] Bump Kotlin compiler to 2.3.21 Summary: Upgrade the Kotlin compiler version in the project to the latest public stable release (2.3.21). Also bump the apiVersion to KOTLIN_2_1 in all four gradle-plugin build files to resolve deprecation warnings for 2.0, and replace the deprecated -Xjvm-default compiler option in ReactAndroid with -jvm-default=no-compatibility. ## Changelog: [ANDROID] [CHANGED] - Bumped Kotlin version to 2.3.21 and Kotlin API version to 2.1 TAG=agy CONV=2fc9825d-a86b-4fbb-ab9a-e7d467b57dd3 --- packages/gradle-plugin/gradle/libs.versions.toml | 2 +- .../gradle-plugin/react-native-gradle-plugin/build.gradle.kts | 2 +- packages/gradle-plugin/settings-plugin/build.gradle.kts | 2 +- packages/gradle-plugin/shared-testutil/build.gradle.kts | 2 +- packages/gradle-plugin/shared/build.gradle.kts | 2 +- packages/react-native/ReactAndroid/build.gradle.kts | 2 +- packages/react-native/gradle/libs.versions.toml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/gradle-plugin/gradle/libs.versions.toml b/packages/gradle-plugin/gradle/libs.versions.toml index 7f788db1e2f3..e73e2a146b7e 100644 --- a/packages/gradle-plugin/gradle/libs.versions.toml +++ b/packages/gradle-plugin/gradle/libs.versions.toml @@ -4,7 +4,7 @@ gson = "2.8.9" guava = "31.0.1-jre" javapoet = "1.13.0" junit = "4.13.2" -kotlin = "2.2.0" +kotlin = "2.3.21" assertj = "3.25.1" ktfmt = "0.22.0" diff --git a/packages/gradle-plugin/react-native-gradle-plugin/build.gradle.kts b/packages/gradle-plugin/react-native-gradle-plugin/build.gradle.kts index c4f92db2e1a1..846128692b3d 100644 --- a/packages/gradle-plugin/react-native-gradle-plugin/build.gradle.kts +++ b/packages/gradle-plugin/react-native-gradle-plugin/build.gradle.kts @@ -64,7 +64,7 @@ kotlin { jvmToolchain(17) } tasks.withType().configureEach { compilerOptions { - apiVersion.set(KotlinVersion.KOTLIN_2_0) + apiVersion.set(KotlinVersion.KOTLIN_2_1) // See comment above on JDK 11 support jvmTarget.set(JvmTarget.JVM_11) allWarningsAsErrors.set( diff --git a/packages/gradle-plugin/settings-plugin/build.gradle.kts b/packages/gradle-plugin/settings-plugin/build.gradle.kts index 870844cb2921..bf7f6239375e 100644 --- a/packages/gradle-plugin/settings-plugin/build.gradle.kts +++ b/packages/gradle-plugin/settings-plugin/build.gradle.kts @@ -54,7 +54,7 @@ kotlin { jvmToolchain(17) } tasks.withType().configureEach { compilerOptions { - apiVersion.set(KotlinVersion.KOTLIN_2_0) + apiVersion.set(KotlinVersion.KOTLIN_2_1) // See comment above on JDK 11 support jvmTarget.set(JvmTarget.JVM_11) allWarningsAsErrors.set( diff --git a/packages/gradle-plugin/shared-testutil/build.gradle.kts b/packages/gradle-plugin/shared-testutil/build.gradle.kts index 307d8a9743f7..ca7d877bc1f9 100644 --- a/packages/gradle-plugin/shared-testutil/build.gradle.kts +++ b/packages/gradle-plugin/shared-testutil/build.gradle.kts @@ -27,7 +27,7 @@ kotlin { jvmToolchain(17) } tasks.withType().configureEach { compilerOptions { - apiVersion.set(KotlinVersion.KOTLIN_2_0) + apiVersion.set(KotlinVersion.KOTLIN_2_1) // See comment above on JDK 11 support jvmTarget.set(JvmTarget.JVM_11) allWarningsAsErrors.set( diff --git a/packages/gradle-plugin/shared/build.gradle.kts b/packages/gradle-plugin/shared/build.gradle.kts index 9395aab53483..a15e83dea63e 100644 --- a/packages/gradle-plugin/shared/build.gradle.kts +++ b/packages/gradle-plugin/shared/build.gradle.kts @@ -33,7 +33,7 @@ kotlin { jvmToolchain(17) } tasks.withType().configureEach { compilerOptions { - apiVersion.set(KotlinVersion.KOTLIN_2_0) + apiVersion.set(KotlinVersion.KOTLIN_2_1) // See comment above on JDK 11 support jvmTarget.set(JvmTarget.JVM_11) allWarningsAsErrors.set( diff --git a/packages/react-native/ReactAndroid/build.gradle.kts b/packages/react-native/ReactAndroid/build.gradle.kts index 304b5343e60a..c254896b2d67 100644 --- a/packages/react-native/ReactAndroid/build.gradle.kts +++ b/packages/react-native/ReactAndroid/build.gradle.kts @@ -545,7 +545,7 @@ android { kotlin { compilerOptions { // Using '-Xjvm-default=all' to generate default java methods for interfaces - freeCompilerArgs = listOf("-Xjvm-default=all") + freeCompilerArgs = listOf("-jvm-default=no-compatibility") // Using -PenableWarningsAsErrors=true prop to enable allWarningsAsErrors allWarningsAsErrors = enableWarningsAsErrors() } diff --git a/packages/react-native/gradle/libs.versions.toml b/packages/react-native/gradle/libs.versions.toml index 776fa60c1aa1..c1dd3f7ecf0e 100644 --- a/packages/react-native/gradle/libs.versions.toml +++ b/packages/react-native/gradle/libs.versions.toml @@ -29,7 +29,7 @@ javax-inject = "1" jsc-android = "2026004.0.1" jsr305 = "3.0.2" junit = "4.13.2" -kotlin = "2.2.0" +kotlin = "2.3.21" ktfmt = "0.22.0" mockito = "3.12.4" mockito-kotlin = "3.2.0"