diff --git a/benchmarks/desktop/gradle/wrapper/gradle-wrapper.properties b/benchmarks/desktop/gradle/wrapper/gradle-wrapper.properties
index 622ab64a3c..37f853b1c8 100644
--- a/benchmarks/desktop/gradle/wrapper/gradle-wrapper.properties
+++ b/benchmarks/desktop/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/benchmarks/intellij/gradle/wrapper/gradle-wrapper.properties b/benchmarks/intellij/gradle/wrapper/gradle-wrapper.properties
index 2e6e5897b5..37f853b1c8 100644
--- a/benchmarks/intellij/gradle/wrapper/gradle-wrapper.properties
+++ b/benchmarks/intellij/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/benchmarks/multiplatform/gradle/wrapper/gradle-wrapper.properties b/benchmarks/multiplatform/gradle/wrapper/gradle-wrapper.properties
index 1e2fbf0d45..37f853b1c8 100644
--- a/benchmarks/multiplatform/gradle/wrapper/gradle-wrapper.properties
+++ b/benchmarks/multiplatform/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/benchmarks/showcases/LazyGridImageView/gradle/libs.versions.toml b/benchmarks/showcases/LazyGridImageView/gradle/libs.versions.toml
index c0d8e1c457..5170782a07 100644
--- a/benchmarks/showcases/LazyGridImageView/gradle/libs.versions.toml
+++ b/benchmarks/showcases/LazyGridImageView/gradle/libs.versions.toml
@@ -1,5 +1,5 @@
[versions]
-agp = "8.8.1"
+agp = "8.9.0"
android-compileSdk = "35"
android-minSdk = "24"
android-targetSdk = "35"
@@ -8,13 +8,13 @@ androidx-appcompat = "1.7.0"
androidx-constraintlayout = "2.2.1"
androidx-core-ktx = "1.15.0"
androidx-espresso-core = "3.6.1"
-androidx-lifecycle = "2.8.4"
+androidx-lifecycle = "2.9.2"
androidx-material = "1.12.0"
androidx-test-junit = "1.2.1"
coilCompose = "3.1.0"
-compose-multiplatform = "1.8.0"
+compose-multiplatform = "1.9.0-rc01"
junit = "4.13.2"
-kotlin = "2.1.20"
+kotlin = "2.2.10"
kotlinx-coroutines = "1.10.1"
[libraries]
diff --git a/benchmarks/showcases/LazyGridImageView/gradle/wrapper/gradle-wrapper.properties b/benchmarks/showcases/LazyGridImageView/gradle/wrapper/gradle-wrapper.properties
index 4a21dfb9cb..37f853b1c8 100644
--- a/benchmarks/showcases/LazyGridImageView/gradle/wrapper/gradle-wrapper.properties
+++ b/benchmarks/showcases/LazyGridImageView/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,6 @@
-#Fri Apr 04 18:24:22 EEST 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/benchmarks/showcases/LazyGridImageView/nativeAndroidApp/gradle/libs.versions.toml b/benchmarks/showcases/LazyGridImageView/nativeAndroidApp/gradle/libs.versions.toml
index 812cdc70b1..0ba0043691 100644
--- a/benchmarks/showcases/LazyGridImageView/nativeAndroidApp/gradle/libs.versions.toml
+++ b/benchmarks/showcases/LazyGridImageView/nativeAndroidApp/gradle/libs.versions.toml
@@ -1,15 +1,15 @@
[versions]
-agp = "8.8.1"
+agp = "8.9.0"
coilCompose = "3.1.0"
-kotlin = "2.1.20"
+kotlin = "2.2.10"
coreKtx = "1.15.0"
junit = "4.13.2"
junitVersion = "1.2.1"
espressoCore = "3.6.1"
-lifecycleRuntimeKtx = "2.8.7"
+lifecycleRuntimeKtx = "2.9.2"
activityCompose = "1.10.1"
-compose = "1.8.0"
-composeMaterial3 = "1.3.1"
+compose = "1.9.0-rc01"
+composeMaterial3 = "1.3.2"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
diff --git a/benchmarks/showcases/LazyGridImageView/nativeAndroidApp/gradle/wrapper/gradle-wrapper.properties b/benchmarks/showcases/LazyGridImageView/nativeAndroidApp/gradle/wrapper/gradle-wrapper.properties
index 06137e932f..37f853b1c8 100644
--- a/benchmarks/showcases/LazyGridImageView/nativeAndroidApp/gradle/wrapper/gradle-wrapper.properties
+++ b/benchmarks/showcases/LazyGridImageView/nativeAndroidApp/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,7 @@
-#Thu Apr 03 18:26:40 EEST 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/ci/build-helpers/gradle/wrapper/gradle-wrapper.properties b/ci/build-helpers/gradle/wrapper/gradle-wrapper.properties
index 15de90249f..37f853b1c8 100644
--- a/ci/build-helpers/gradle/wrapper/gradle-wrapper.properties
+++ b/ci/build-helpers/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/ci/compose-uber-jar/build.gradle.kts b/ci/compose-uber-jar/build.gradle.kts
index 4694ba8830..6ca681bc4c 100644
--- a/ci/compose-uber-jar/build.gradle.kts
+++ b/ci/compose-uber-jar/build.gradle.kts
@@ -3,7 +3,7 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
java
`maven-publish`
- id("com.github.johnrengelman.shadow") version "6.0.0"
+ id("com.github.johnrengelman.shadow") version "8.1.1"
}
val properties = ComposeUberJarProperties()
diff --git a/ci/compose-uber-jar/gradle.properties b/ci/compose-uber-jar/gradle.properties
index d6a68a905e..d3d52314cc 100644
--- a/ci/compose-uber-jar/gradle.properties
+++ b/ci/compose-uber-jar/gradle.properties
@@ -1,2 +1,2 @@
-compose.version=1.8.2
+compose.version=1.9.0-rc01
kotlin.code.style=official
diff --git a/ci/compose-uber-jar/gradle/wrapper/gradle-wrapper.properties b/ci/compose-uber-jar/gradle/wrapper/gradle-wrapper.properties
index 05679dc3c1..37f853b1c8 100644
--- a/ci/compose-uber-jar/gradle/wrapper/gradle-wrapper.properties
+++ b/ci/compose-uber-jar/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/ci/delete-packages-from-space/gradle/wrapper/gradle-wrapper.properties b/ci/delete-packages-from-space/gradle/wrapper/gradle-wrapper.properties
index da9702f9e7..37f853b1c8 100644
--- a/ci/delete-packages-from-space/gradle/wrapper/gradle-wrapper.properties
+++ b/ci/delete-packages-from-space/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/ci/templates/desktop-template/gradle.properties b/ci/templates/desktop-template/gradle.properties
index 54a9df093b..e05b9e9146 100644
--- a/ci/templates/desktop-template/gradle.properties
+++ b/ci/templates/desktop-template/gradle.properties
@@ -1,4 +1,4 @@
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
kotlin.code.style=official
-kotlin.version=2.1.20
-compose.version=1.8.2
+kotlin.version=2.2.10
+compose.version=1.9.0-rc01
diff --git a/ci/templates/desktop-template/gradle/wrapper/gradle-wrapper.properties b/ci/templates/desktop-template/gradle/wrapper/gradle-wrapper.properties
index 84a0b92f9a..37f853b1c8 100644
--- a/ci/templates/desktop-template/gradle/wrapper/gradle-wrapper.properties
+++ b/ci/templates/desktop-template/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/ci/templates/html-library-template/gradle.properties b/ci/templates/html-library-template/gradle.properties
index 54a9df093b..e05b9e9146 100644
--- a/ci/templates/html-library-template/gradle.properties
+++ b/ci/templates/html-library-template/gradle.properties
@@ -1,4 +1,4 @@
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
kotlin.code.style=official
-kotlin.version=2.1.20
-compose.version=1.8.2
+kotlin.version=2.2.10
+compose.version=1.9.0-rc01
diff --git a/ci/templates/html-library-template/gradle/wrapper/gradle-wrapper.properties b/ci/templates/html-library-template/gradle/wrapper/gradle-wrapper.properties
index 84a0b92f9a..37f853b1c8 100644
--- a/ci/templates/html-library-template/gradle/wrapper/gradle-wrapper.properties
+++ b/ci/templates/html-library-template/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/ci/templates/maven-test-project/README.md b/ci/templates/maven-test-project/README.md
index 7361a14d42..eb0b1d8a1d 100644
--- a/ci/templates/maven-test-project/README.md
+++ b/ci/templates/maven-test-project/README.md
@@ -1,5 +1,5 @@
The purpose of this test project is to check if Compose Multiplatform is resolvable via pom files, which are used by JPS, which is used by IntelliJ
```
-./check.sh -Dkotlin.version=2.1.0 -Dcompose.version=1.8.0-alpha02 -Dcompose.material3.version=1.8.0-alpha02
+./check.sh -Dkotlin.version=2.2.10 -Dcompose.version=1.9.0-rc01 -Dcompose.material3.version=1.9.0-beta04
```
diff --git a/ci/templates/maven-test-project/pom.xml b/ci/templates/maven-test-project/pom.xml
index 0e513ed043..76862875ad 100644
--- a/ci/templates/maven-test-project/pom.xml
+++ b/ci/templates/maven-test-project/pom.xml
@@ -12,9 +12,9 @@
UTF-8
official
11
- 2.1.20
- 1.8.2
- 1.8.2
+ 2.1.21
+ 1.9.0-rc01
+ 1.9.0-beta04
@@ -64,16 +64,16 @@
maven-surefire-plugin
- 2.22.2
+ 3.5.3
maven-failsafe-plugin
- 2.22.2
+ 3.5.3
org.codehaus.mojo
exec-maven-plugin
- 1.6.0
+ 3.5.1
MainKt
diff --git a/ci/templates/multiplatform-template/gradle.properties b/ci/templates/multiplatform-template/gradle.properties
index ce3542fa40..59ef8213d7 100644
--- a/ci/templates/multiplatform-template/gradle.properties
+++ b/ci/templates/multiplatform-template/gradle.properties
@@ -2,6 +2,6 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
android.useAndroidX=true
android.enableJetifier=true
kotlin.code.style=official
-kotlin.version=2.1.20
-agp.version=8.1.0
-compose.version=1.8.2
+kotlin.version=2.2.10
+agp.version=8.9.0
+compose.version=1.9.0-rc01
diff --git a/ci/templates/multiplatform-template/gradle/wrapper/gradle-wrapper.properties b/ci/templates/multiplatform-template/gradle/wrapper/gradle-wrapper.properties
index 84a0b92f9a..37f853b1c8 100644
--- a/ci/templates/multiplatform-template/gradle/wrapper/gradle-wrapper.properties
+++ b/ci/templates/multiplatform-template/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/components/build.gradle.kts b/components/build.gradle.kts
index 8bba7d8509..3f6aa4148e 100644
--- a/components/build.gradle.kts
+++ b/components/build.gradle.kts
@@ -1,3 +1,6 @@
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+
plugins {
kotlin("multiplatform") apply false
id("com.android.library") apply false
@@ -17,8 +20,10 @@ subprojects {
}
}
- tasks.withType() {
- kotlinOptions.jvmTarget = "11"
+ tasks.withType() {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_11)
+ }
}
plugins.withId("maven-publish") {
diff --git a/components/gradle.properties b/components/gradle.properties
index b8d66d923b..b474329f8c 100644
--- a/components/gradle.properties
+++ b/components/gradle.properties
@@ -7,9 +7,9 @@ org.gradle.configuration-cache=true
android.useAndroidX=true
#Versions
-kotlin.version=2.1.0
-agp.version=8.2.2
-compose.version=1.9.0-alpha02
+kotlin.version=2.2.10
+agp.version=8.9.0
+compose.version=1.9.0-rc01
deploy.version=9999.0.0-SNAPSHOT
#Compose
diff --git a/components/gradle/wrapper/gradle-wrapper.properties b/components/gradle/wrapper/gradle-wrapper.properties
index a595206642..37f853b1c8 100644
--- a/components/gradle/wrapper/gradle-wrapper.properties
+++ b/components/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/components/resources/demo/shared/build.gradle.kts b/components/resources/demo/shared/build.gradle.kts
index e7eb00eb3a..7087081ff1 100644
--- a/components/resources/demo/shared/build.gradle.kts
+++ b/components/resources/demo/shared/build.gradle.kts
@@ -1,4 +1,5 @@
-import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
plugins {
kotlin("multiplatform")
@@ -10,8 +11,10 @@ plugins {
kotlin {
androidTarget {
compilations.all {
- kotlinOptions {
- jvmTarget = "11"
+ compileTaskProvider.configure {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_11)
+ }
}
}
}
@@ -48,7 +51,7 @@ kotlin {
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.material3)
- implementation("org.jetbrains.compose.material:material-icons-core:1.6.11")
+ implementation("org.jetbrains.compose.material:material-icons-core:1.7.3")
implementation(project(":resources:library"))
}
desktopMain.dependencies {
diff --git a/components/resources/library/build.gradle.kts b/components/resources/library/build.gradle.kts
index 82699a5663..7ae4fec80f 100644
--- a/components/resources/library/build.gradle.kts
+++ b/components/resources/library/build.gradle.kts
@@ -1,5 +1,7 @@
import kotlinx.validation.ExperimentalBCVApi
import org.jetbrains.compose.ExperimentalComposeLibrary
+import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
kotlin("multiplatform")
@@ -15,8 +17,10 @@ kotlin {
androidTarget {
publishLibraryVariants("release")
compilations.all {
- kotlinOptions {
- jvmTarget = "11"
+ compileTaskProvider.configure {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_11)
+ }
}
}
}
@@ -31,7 +35,7 @@ kotlin {
}
}
- @OptIn(org.jetbrains.kotlin.gradle.ExperimentalWasmDsl::class)
+ @OptIn(ExperimentalWasmDsl::class)
wasmJs {
compilations.getByName("test").compileTaskProvider.configure {
// https://youtrack.jetbrains.com/issue/KT-69014
diff --git a/components/ui-tooling-preview/demo/shared/build.gradle.kts b/components/ui-tooling-preview/demo/shared/build.gradle.kts
index 5bb9ba6c60..c51f2841e3 100644
--- a/components/ui-tooling-preview/demo/shared/build.gradle.kts
+++ b/components/ui-tooling-preview/demo/shared/build.gradle.kts
@@ -1,3 +1,5 @@
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+
plugins {
kotlin("multiplatform")
id("com.android.library")
@@ -8,8 +10,10 @@ plugins {
kotlin {
androidTarget {
compilations.all {
- kotlinOptions {
- jvmTarget = "11"
+ compileTaskProvider.configure {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_11)
+ }
}
}
}
@@ -68,7 +72,3 @@ android {
targetCompatibility = JavaVersion.VERSION_11
}
}
-
-compose.experimental {
- web.application {}
-}
diff --git a/components/ui-tooling-preview/library/build.gradle.kts b/components/ui-tooling-preview/library/build.gradle.kts
index 684590a440..f61c322ba7 100644
--- a/components/ui-tooling-preview/library/build.gradle.kts
+++ b/components/ui-tooling-preview/library/build.gradle.kts
@@ -1,4 +1,5 @@
-import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
plugins {
kotlin("multiplatform")
@@ -11,8 +12,10 @@ kotlin {
androidTarget {
publishLibraryVariants("release")
compilations.all {
- kotlinOptions {
- jvmTarget = "11"
+ compileTaskProvider.configure {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_11)
+ }
}
}
}
diff --git a/compose/integrations/composable-test-cases/README.MD b/compose/integrations/composable-test-cases/README.MD
index 1beba09c36..1ae781e672 100644
--- a/compose/integrations/composable-test-cases/README.MD
+++ b/compose/integrations/composable-test-cases/README.MD
@@ -1,10 +1,10 @@
## Run:
-`./gradlew build -Pkotlin.version=2.1.21`
+`./gradlew build -Pkotlin.version=2.2.10`
to build and run the tests,
or
-`./gradlew allTests -Pkotlin.version=2.1.21`
+`./gradlew allTests -Pkotlin.version=2.2.10`
to only run the tests.
It will build and run the tests for all available targets (depends on a host machine).
diff --git a/compose/integrations/composable-test-cases/gradle/libs.versions.toml b/compose/integrations/composable-test-cases/gradle/libs.versions.toml
index 24188373a7..56d399bcaa 100644
--- a/compose/integrations/composable-test-cases/gradle/libs.versions.toml
+++ b/compose/integrations/composable-test-cases/gradle/libs.versions.toml
@@ -1,7 +1,7 @@
[versions]
-kotlin="2.1.21" # should be provided via `-Pkotlin.version=`
+kotlin="2.2.10" # should be provided via `-Pkotlin.version=`
kotlinx-coroutines = "1.8.0"
-compose = "1.8.1"
+compose = "1.9.0-rc01"
[libraries]
kotlinx-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
diff --git a/compose/integrations/composable-test-cases/gradle/wrapper/gradle-wrapper.properties b/compose/integrations/composable-test-cases/gradle/wrapper/gradle-wrapper.properties
index 48c0a02ca4..37f853b1c8 100644
--- a/compose/integrations/composable-test-cases/gradle/wrapper/gradle-wrapper.properties
+++ b/compose/integrations/composable-test-cases/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/compose/integrations/compose-with-ktx-serialization/common/build.gradle.kts b/compose/integrations/compose-with-ktx-serialization/common/build.gradle.kts
index 7f7419bd14..c59c894cff 100644
--- a/compose/integrations/compose-with-ktx-serialization/common/build.gradle.kts
+++ b/compose/integrations/compose-with-ktx-serialization/common/build.gradle.kts
@@ -31,7 +31,7 @@ kotlin {
val ktxSerializationVer = project.property("kotlinx.serializationCore")
implementation(compose.runtime)
api("org.jetbrains.kotlinx:kotlinx-serialization-core:$ktxSerializationVer")
- implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
+ implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
}
}
val commonTest by getting {
diff --git a/compose/integrations/compose-with-ktx-serialization/gradle.properties b/compose/integrations/compose-with-ktx-serialization/gradle.properties
index a94329fdf3..44300a9ada 100644
--- a/compose/integrations/compose-with-ktx-serialization/gradle.properties
+++ b/compose/integrations/compose-with-ktx-serialization/gradle.properties
@@ -1,13 +1,13 @@
kotlin.code.style=official
kotlin.native.enableDependencyPropagation=false
android.useAndroidX=true
-kotlin.version=1.8.10
-agp.version=7.3.0
-compose.version=1.3.1
+kotlin.version=2.2.10
+agp.version=8.9.0
+compose.version=1.9.0-rc01
org.jetbrains.compose.experimental.uikit.enabled=true
org.jetbrains.compose.experimental.jscanvas.enabled=true
org.jetbrains.compose.experimental.macos.enabled=true
-kotlinx.serializationCore=1.4.1
+kotlinx.serializationCore=1.7.3
#empty by default - a default version will be used
compose.kotlinCompilerPluginVersion=
diff --git a/compose/integrations/compose-with-ktx-serialization/gradle/wrapper/gradle-wrapper.properties b/compose/integrations/compose-with-ktx-serialization/gradle/wrapper/gradle-wrapper.properties
index ae04661ee7..37f853b1c8 100644
--- a/compose/integrations/compose-with-ktx-serialization/gradle/wrapper/gradle-wrapper.properties
+++ b/compose/integrations/compose-with-ktx-serialization/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/chat/gradle.properties b/examples/chat/gradle.properties
index 116441baf4..6ed74ccb8e 100644
--- a/examples/chat/gradle.properties
+++ b/examples/chat/gradle.properties
@@ -10,6 +10,6 @@ kotlin.native.useEmbeddableCompilerJar=true
kotlin.mpp.androidSourceSetLayoutVersion=2
# Enable kotlin/native experimental memory model
kotlin.native.binary.memoryModel=experimental
-kotlin.version=2.1.20
-agp.version=8.5.0
+kotlin.version=2.2.10
+agp.version=8.9.0
compose.version=1.8.2
diff --git a/examples/chat/gradle/wrapper/gradle-wrapper.properties b/examples/chat/gradle/wrapper/gradle-wrapper.properties
index 1fc96abf2b..37f853b1c8 100644
--- a/examples/chat/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/chat/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,7 @@
-#Thu Oct 17 19:55:35 AMT 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/codeviewer/gradle.properties b/examples/codeviewer/gradle.properties
index 116441baf4..6ed74ccb8e 100644
--- a/examples/codeviewer/gradle.properties
+++ b/examples/codeviewer/gradle.properties
@@ -10,6 +10,6 @@ kotlin.native.useEmbeddableCompilerJar=true
kotlin.mpp.androidSourceSetLayoutVersion=2
# Enable kotlin/native experimental memory model
kotlin.native.binary.memoryModel=experimental
-kotlin.version=2.1.20
-agp.version=8.5.0
+kotlin.version=2.2.10
+agp.version=8.9.0
compose.version=1.8.2
diff --git a/examples/codeviewer/gradle/wrapper/gradle-wrapper.properties b/examples/codeviewer/gradle/wrapper/gradle-wrapper.properties
index 48c0a02ca4..37f853b1c8 100644
--- a/examples/codeviewer/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/codeviewer/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/graphics-2d/gradle.properties b/examples/graphics-2d/gradle.properties
index 93fba8c076..6ed74ccb8e 100644
--- a/examples/graphics-2d/gradle.properties
+++ b/examples/graphics-2d/gradle.properties
@@ -10,11 +10,6 @@ kotlin.native.useEmbeddableCompilerJar=true
kotlin.mpp.androidSourceSetLayoutVersion=2
# Enable kotlin/native experimental memory model
kotlin.native.binary.memoryModel=experimental
-kotlin.version=2.1.20
-agp.version=8.5.0
+kotlin.version=2.2.10
+agp.version=8.9.0
compose.version=1.8.2
-
-# TODO: remove when switching to 1.9.10. See: https://youtrack.jetbrains.com/issue/KT-60852
-# usage: ./gradlew :jsApp:jsBrowserRun -Pworkaround.kotlin.js.kt60852=true
-# setting it to `true` breaks other targets (see shared/build.gradle.kts), so it should be used to run the web app only.
-workaround.kotlin.js.kt60852=false
diff --git a/examples/graphics-2d/gradle/wrapper/gradle-wrapper.properties b/examples/graphics-2d/gradle/wrapper/gradle-wrapper.properties
index 48c0a02ca4..37f853b1c8 100644
--- a/examples/graphics-2d/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/graphics-2d/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/html/compose-bird/gradle.properties b/examples/html/compose-bird/gradle.properties
index e25dae6f57..95f9966924 100644
--- a/examples/html/compose-bird/gradle.properties
+++ b/examples/html/compose-bird/gradle.properties
@@ -1,5 +1,5 @@
kotlin.code.style=official
-kotlin.version=2.1.20
+kotlin.version=2.2.10
compose.version=1.8.2
org.gradle.configuration-cache=true
org.gradle.caching=true
diff --git a/examples/html/compose-bird/gradle/wrapper/gradle-wrapper.properties b/examples/html/compose-bird/gradle/wrapper/gradle-wrapper.properties
index 17655d0ef2..37f853b1c8 100644
--- a/examples/html/compose-bird/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/html/compose-bird/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/html/compose-in-js/gradle.properties b/examples/html/compose-in-js/gradle.properties
index b4297693f5..b619ceac46 100644
--- a/examples/html/compose-in-js/gradle.properties
+++ b/examples/html/compose-in-js/gradle.properties
@@ -1,6 +1,6 @@
kotlin.code.style=official
kotlin.js.webpack.major.version=4
-kotlin.version=2.1.20
+kotlin.version=2.2.10
compose.version=1.8.2
org.gradle.configuration-cache=true
org.gradle.caching=true
diff --git a/examples/html/compose-in-js/gradle/wrapper/gradle-wrapper.properties b/examples/html/compose-in-js/gradle/wrapper/gradle-wrapper.properties
index 17655d0ef2..37f853b1c8 100644
--- a/examples/html/compose-in-js/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/html/compose-in-js/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/html/landing/gradle.properties b/examples/html/landing/gradle.properties
index e25dae6f57..95f9966924 100644
--- a/examples/html/landing/gradle.properties
+++ b/examples/html/landing/gradle.properties
@@ -1,5 +1,5 @@
kotlin.code.style=official
-kotlin.version=2.1.20
+kotlin.version=2.2.10
compose.version=1.8.2
org.gradle.configuration-cache=true
org.gradle.caching=true
diff --git a/examples/html/landing/gradle/wrapper/gradle-wrapper.properties b/examples/html/landing/gradle/wrapper/gradle-wrapper.properties
index 17655d0ef2..37f853b1c8 100644
--- a/examples/html/landing/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/html/landing/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/html/with-react/gradle.properties b/examples/html/with-react/gradle.properties
index e25dae6f57..95f9966924 100644
--- a/examples/html/with-react/gradle.properties
+++ b/examples/html/with-react/gradle.properties
@@ -1,5 +1,5 @@
kotlin.code.style=official
-kotlin.version=2.1.20
+kotlin.version=2.2.10
compose.version=1.8.2
org.gradle.configuration-cache=true
org.gradle.caching=true
diff --git a/examples/html/with-react/gradle/wrapper/gradle-wrapper.properties b/examples/html/with-react/gradle/wrapper/gradle-wrapper.properties
index 17655d0ef2..37f853b1c8 100644
--- a/examples/html/with-react/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/html/with-react/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/imageviewer/gradle.properties b/examples/imageviewer/gradle.properties
index e00c69ce0d..9150f6a536 100644
--- a/examples/imageviewer/gradle.properties
+++ b/examples/imageviewer/gradle.properties
@@ -7,6 +7,6 @@ org.gradle.configuration-cache=true
org.gradle.caching=true
org.jetbrains.compose.experimental.jscanvas.enabled=true
org.jetbrains.compose.experimental.macos.enabled=true
-kotlin.version=2.1.20
-agp.version=8.5.0
+kotlin.version=2.2.10
+agp.version=8.9.0
compose.version=1.8.2
diff --git a/examples/imageviewer/gradle/wrapper/gradle-wrapper.properties b/examples/imageviewer/gradle/wrapper/gradle-wrapper.properties
index 48c0a02ca4..37f853b1c8 100644
--- a/examples/imageviewer/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/imageviewer/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/interop/ios-compose-in-swiftui/gradle.properties b/examples/interop/ios-compose-in-swiftui/gradle.properties
index 9fbafa8c7d..93ae32c1df 100644
--- a/examples/interop/ios-compose-in-swiftui/gradle.properties
+++ b/examples/interop/ios-compose-in-swiftui/gradle.properties
@@ -1,5 +1,5 @@
kotlin.code.style=official
xcodeproj=./iosApp
org.gradle.jvmargs=-Xmx3g
-kotlin.version=2.1.20
+kotlin.version=2.2.10
compose.version=1.8.2
diff --git a/examples/interop/ios-compose-in-swiftui/gradle/wrapper/gradle-wrapper.properties b/examples/interop/ios-compose-in-swiftui/gradle/wrapper/gradle-wrapper.properties
index 17655d0ef2..37f853b1c8 100644
--- a/examples/interop/ios-compose-in-swiftui/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/interop/ios-compose-in-swiftui/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/interop/ios-compose-in-uikit/gradle.properties b/examples/interop/ios-compose-in-uikit/gradle.properties
index 2865841c82..694a7a671b 100644
--- a/examples/interop/ios-compose-in-uikit/gradle.properties
+++ b/examples/interop/ios-compose-in-uikit/gradle.properties
@@ -3,5 +3,5 @@ xcodeproj=./iosApp
org.gradle.jvmargs=-Xmx3g
# Enable kotlin/native experimental memory model
kotlin.native.binary.memoryModel=experimental
-kotlin.version=2.1.20
+kotlin.version=2.2.10
compose.version=1.8.2
diff --git a/examples/interop/ios-compose-in-uikit/gradle/wrapper/gradle-wrapper.properties b/examples/interop/ios-compose-in-uikit/gradle/wrapper/gradle-wrapper.properties
index 17655d0ef2..37f853b1c8 100644
--- a/examples/interop/ios-compose-in-uikit/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/interop/ios-compose-in-uikit/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/interop/ios-swiftui-in-compose/gradle.properties b/examples/interop/ios-swiftui-in-compose/gradle.properties
index 2865841c82..694a7a671b 100644
--- a/examples/interop/ios-swiftui-in-compose/gradle.properties
+++ b/examples/interop/ios-swiftui-in-compose/gradle.properties
@@ -3,5 +3,5 @@ xcodeproj=./iosApp
org.gradle.jvmargs=-Xmx3g
# Enable kotlin/native experimental memory model
kotlin.native.binary.memoryModel=experimental
-kotlin.version=2.1.20
+kotlin.version=2.2.10
compose.version=1.8.2
diff --git a/examples/interop/ios-swiftui-in-compose/gradle/wrapper/gradle-wrapper.properties b/examples/interop/ios-swiftui-in-compose/gradle/wrapper/gradle-wrapper.properties
index 17655d0ef2..37f853b1c8 100644
--- a/examples/interop/ios-swiftui-in-compose/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/interop/ios-swiftui-in-compose/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/interop/ios-uikit-in-compose/gradle.properties b/examples/interop/ios-uikit-in-compose/gradle.properties
index 2865841c82..694a7a671b 100644
--- a/examples/interop/ios-uikit-in-compose/gradle.properties
+++ b/examples/interop/ios-uikit-in-compose/gradle.properties
@@ -3,5 +3,5 @@ xcodeproj=./iosApp
org.gradle.jvmargs=-Xmx3g
# Enable kotlin/native experimental memory model
kotlin.native.binary.memoryModel=experimental
-kotlin.version=2.1.20
+kotlin.version=2.2.10
compose.version=1.8.2
diff --git a/examples/interop/ios-uikit-in-compose/gradle/wrapper/gradle-wrapper.properties b/examples/interop/ios-uikit-in-compose/gradle/wrapper/gradle-wrapper.properties
index 17655d0ef2..37f853b1c8 100644
--- a/examples/interop/ios-uikit-in-compose/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/interop/ios-uikit-in-compose/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/issues/gradle.properties b/examples/issues/gradle.properties
index 8c97534034..802b7935df 100644
--- a/examples/issues/gradle.properties
+++ b/examples/issues/gradle.properties
@@ -19,6 +19,6 @@ kotlin.code.style=official
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
-kotlin.version=2.1.20
-agp.version=8.5.0
+kotlin.version=2.2.10
+agp.version=8.9.0
compose.version=1.8.2
diff --git a/examples/issues/gradle/wrapper/gradle-wrapper.properties b/examples/issues/gradle/wrapper/gradle-wrapper.properties
index 48c0a02ca4..37f853b1c8 100644
--- a/examples/issues/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/issues/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/jetsnack/gradle.properties b/examples/jetsnack/gradle.properties
index 13179a650d..311d7e994b 100644
--- a/examples/jetsnack/gradle.properties
+++ b/examples/jetsnack/gradle.properties
@@ -1,6 +1,6 @@
org.gradle.jvmargs=-Xmx8g
kotlin.code.style=official
android.useAndroidX=true
-agp.version=8.5.0
-kotlin.version=2.1.20
+agp.version=8.9.0
+kotlin.version=2.2.10
compose.version=1.8.2
diff --git a/examples/jetsnack/gradle/libs.versions.toml b/examples/jetsnack/gradle/libs.versions.toml
index 7c1822e001..074f7fed3a 100644
--- a/examples/jetsnack/gradle/libs.versions.toml
+++ b/examples/jetsnack/gradle/libs.versions.toml
@@ -41,7 +41,7 @@ ksp = "1.8.0-1.0.9"
maps-compose = "2.5.3"
material = "1.9.0-beta01"
# @keep
-minSdk = "21"
+minSdk = "23"
okhttp = "4.10.0"
robolectric = "4.9.2"
rome = "1.18.0"
diff --git a/examples/jetsnack/gradle/wrapper/gradle-wrapper.properties b/examples/jetsnack/gradle/wrapper/gradle-wrapper.properties
index e7646dead0..37f853b1c8 100644
--- a/examples/jetsnack/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/jetsnack/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/examples/nav_cupcake/composeApp/build.gradle.kts b/examples/nav_cupcake/composeApp/build.gradle.kts
index 04ed293bcd..41dc408121 100644
--- a/examples/nav_cupcake/composeApp/build.gradle.kts
+++ b/examples/nav_cupcake/composeApp/build.gradle.kts
@@ -1,5 +1,6 @@
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
-import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
plugins {
@@ -12,7 +13,7 @@ plugins {
kotlin {
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
- moduleName = "composeApp"
+ outputModuleName = "composeApp"
browser {
commonWebpackConfig {
outputFileName = "composeApp.js"
@@ -29,8 +30,10 @@ kotlin {
androidTarget {
compilations.all {
- kotlinOptions {
- jvmTarget = "11"
+ compileTaskProvider.configure {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_11)
+ }
}
}
}
@@ -87,7 +90,7 @@ kotlin {
implementation(compose.material3)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)
- implementation("org.jetbrains.compose.material:material-icons-core:1.6.11")
+ implementation("org.jetbrains.compose.material:material-icons-core:1.7.3")
implementation(libs.androidx.lifecycle.runtime.compose)
implementation(libs.androidx.lifecycle.viewmodel.compose)
@@ -148,7 +151,3 @@ compose.desktop {
}
}
}
-
-compose.experimental {
- web.application {}
-}
diff --git a/examples/nav_cupcake/composeApp/src/commonMain/kotlin/org/jetbrains/nav_cupcake/ui/OrderViewModel.kt b/examples/nav_cupcake/composeApp/src/commonMain/kotlin/org/jetbrains/nav_cupcake/ui/OrderViewModel.kt
index 3827c17f55..af81908ba0 100644
--- a/examples/nav_cupcake/composeApp/src/commonMain/kotlin/org/jetbrains/nav_cupcake/ui/OrderViewModel.kt
+++ b/examples/nav_cupcake/composeApp/src/commonMain/kotlin/org/jetbrains/nav_cupcake/ui/OrderViewModel.kt
@@ -21,7 +21,12 @@ import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update
-import kotlinx.datetime.*
+import kotlinx.datetime.DateTimeUnit
+import kotlinx.datetime.TimeZone
+import kotlinx.datetime.plus
+import kotlinx.datetime.toLocalDateTime
+import kotlin.time.Clock
+import kotlin.time.ExperimentalTime
/** Price for a single cupcake */
private const val PRICE_PER_CUPCAKE = 2.00
@@ -100,6 +105,7 @@ class OrderViewModel : ViewModel() {
/**
* Returns a list of date options starting with the current date and the following 3 dates.
*/
+ @OptIn(ExperimentalTime::class)
private fun pickupOptions(): List {
val dateOptions = mutableListOf()
val now = Clock.System.now()
diff --git a/examples/nav_cupcake/gradle/libs.versions.toml b/examples/nav_cupcake/gradle/libs.versions.toml
index 53ba72d7ab..6dd1047e46 100644
--- a/examples/nav_cupcake/gradle/libs.versions.toml
+++ b/examples/nav_cupcake/gradle/libs.versions.toml
@@ -1,16 +1,16 @@
[versions]
-agp = "8.5.0"
+agp = "8.9.0"
android-compileSdk = "34"
android-minSdk = "24"
android-targetSdk = "34"
androidx-activity = "1.8.2"
-androidx-lifecycle = "2.8.0-rc03"
-androidx-navigation = "2.7.0-alpha06"
-compose-android = "1.6.7"
-compose-multiplatform = "1.7.0"
+androidx-lifecycle = "2.9.0"
+androidx-navigation = "2.9.0-rc01"
+compose-android = "1.9.0"
+compose-multiplatform = "1.8.2"
junit = "4.13.2"
-kotlin = "2.1.0"
-kotlinx-datetime = "0.6.0"
+kotlin = "2.2.10"
+kotlinx-datetime = "0.7.1"
[libraries]
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
diff --git a/examples/nav_cupcake/gradle/wrapper/gradle-wrapper.properties b/examples/nav_cupcake/gradle/wrapper/gradle-wrapper.properties
index 3435e54ff1..37f853b1c8 100644
--- a/examples/nav_cupcake/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/nav_cupcake/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,6 @@
-#Thu Oct 17 19:23:28 AMT 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/experimental/cef/gradle/wrapper/gradle-wrapper.properties b/experimental/cef/gradle/wrapper/gradle-wrapper.properties
index 05679dc3c1..37f853b1c8 100644
--- a/experimental/cef/gradle/wrapper/gradle-wrapper.properties
+++ b/experimental/cef/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/experimental/components/gradle/wrapper/gradle-wrapper.properties b/experimental/components/gradle/wrapper/gradle-wrapper.properties
index a595206642..37f853b1c8 100644
--- a/experimental/components/gradle/wrapper/gradle-wrapper.properties
+++ b/experimental/components/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/experimental/lwjgl-integration/gradle/wrapper/gradle-wrapper.properties b/experimental/lwjgl-integration/gradle/wrapper/gradle-wrapper.properties
index 05679dc3c1..37f853b1c8 100644
--- a/experimental/lwjgl-integration/gradle/wrapper/gradle-wrapper.properties
+++ b/experimental/lwjgl-integration/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/gradle-plugins/build.gradle.kts b/gradle-plugins/build.gradle.kts
index f7b6b30330..f45392c108 100644
--- a/gradle-plugins/build.gradle.kts
+++ b/gradle-plugins/build.gradle.kts
@@ -36,8 +36,8 @@ subprojects {
// must be set to a language version of the kotlin compiler & runtime,
// which is bundled to the oldest supported Gradle
// https://docs.gradle.org/current/userguide/compatibility.html#kotlin
- languageVersion.set(KotlinVersion.KOTLIN_1_8)
- apiVersion.set(KotlinVersion.KOTLIN_1_8)
+ languageVersion.set(KotlinVersion.KOTLIN_2_0)
+ apiVersion.set(KotlinVersion.KOTLIN_2_0)
jvmTarget.set(JvmTarget.JVM_11)
}
}
diff --git a/gradle-plugins/compose/src/test/test-projects/misc/oldComposePlugin/build.gradle b/gradle-plugins/compose/src/test/test-projects/misc/oldComposePlugin/build.gradle
index 33fc77b284..fc01cd6985 100644
--- a/gradle-plugins/compose/src/test/test-projects/misc/oldComposePlugin/build.gradle
+++ b/gradle-plugins/compose/src/test/test-projects/misc/oldComposePlugin/build.gradle
@@ -25,11 +25,11 @@ kotlin {
android {
namespace = "org.jetbrains.compose.testapp"
- compileSdk = 31
+ compileSdk = 35
defaultConfig {
- minSdk = 21
- targetSdk = 31
+ minSdk = 23
+ targetSdk = 35
}
}
diff --git a/gradle-plugins/gradle.properties b/gradle-plugins/gradle.properties
index ace5f246a6..22281f52cf 100644
--- a/gradle-plugins/gradle.properties
+++ b/gradle-plugins/gradle.properties
@@ -8,7 +8,7 @@ kotlin.code.style=official
dev.junit.parallel=false
# Default version of Compose Libraries used by Gradle plugin
-compose.version=1.9.0-alpha02
+compose.version=1.9.0-rc01
# The latest version of Kotlin compatible with compose.tests.compiler.version. Used only in tests/CI.
compose.tests.kotlin.version=2.2.0
# __SUPPORTED_GRADLE_VERSIONS__
diff --git a/gradle-plugins/gradle/wrapper/gradle-wrapper.properties b/gradle-plugins/gradle/wrapper/gradle-wrapper.properties
index a4413138c9..37f853b1c8 100644
--- a/gradle-plugins/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle-plugins/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/html/build.gradle.kts b/html/build.gradle.kts
index 1b8bf41bd9..d30ee4ac15 100644
--- a/html/build.gradle.kts
+++ b/html/build.gradle.kts
@@ -1,8 +1,12 @@
+import jetbrains.compose.web.gradle.SeleniumDriverPlugin
import org.gradle.api.tasks.testing.AbstractTestTask
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.jetbrains.compose.gradle.kotlinKarmaConfig
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.targets
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("multiplatform") apply false
@@ -15,7 +19,7 @@ val COMPOSE_WEB_BUILD_WITH_SAMPLES = project.property("compose.web.buildSamples"
kotlinKarmaConfig.rootDir = rootProject.rootDir.toString()
-apply()
+apply()
fun Project.isSampleProject() = projectDir.parentFile.name == "examples"
@@ -35,12 +39,18 @@ subprojects {
if ((project.name != "html-widgets") && (project.name != "html-integration-widgets")) {
afterEvaluate {
if (plugins.hasPlugin("org.jetbrains.kotlin.multiplatform")) {
- project.kotlinExtension.targets.forEach { target ->
- target.compilations.forEach { compilation ->
- compilation.kotlinOptions {
- allWarningsAsErrors = false
- // see https://kotlinlang.org/docs/opt-in-requirements.html
- freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn"
+ project.extensions.getByType().apply {
+ targets.configureEach {
+ compilations.configureEach {
+ compileTaskProvider.configure {
+ compilerOptions {
+ allWarningsAsErrors.set(false)
+ freeCompilerArgs.addAll(
+ // see https://kotlinlang.org/docs/opt-in-requirements.html
+ "-opt-in=kotlin.RequiresOptIn"
+ )
+ }
+ }
}
}
}
@@ -50,8 +60,10 @@ subprojects {
- tasks.withType() {
- kotlinOptions.jvmTarget = "11"
+ tasks.withType {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_11)
+ }
}
pluginManager.withPlugin("maven-publish") {
diff --git a/html/buildSrc/gradle.properties b/html/buildSrc/gradle.properties
index a9192a1f7a..01e8322b36 100644
--- a/html/buildSrc/gradle.properties
+++ b/html/buildSrc/gradle.properties
@@ -1 +1 @@
-kotlin.version=2.1.0
+kotlin.version=2.2.10
diff --git a/html/compose-compiler-integration/main-template/gradle/wrapper/gradle-wrapper.properties b/html/compose-compiler-integration/main-template/gradle/wrapper/gradle-wrapper.properties
index 15de90249f..37f853b1c8 100644
--- a/html/compose-compiler-integration/main-template/gradle/wrapper/gradle-wrapper.properties
+++ b/html/compose-compiler-integration/main-template/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/html/core/src/jsMain/kotlin/org/jetbrains/compose/web/css/properties/color.kt b/html/core/src/jsMain/kotlin/org/jetbrains/compose/web/css/properties/color-prop.kt
similarity index 100%
rename from html/core/src/jsMain/kotlin/org/jetbrains/compose/web/css/properties/color.kt
rename to html/core/src/jsMain/kotlin/org/jetbrains/compose/web/css/properties/color-prop.kt
diff --git a/html/gradle.properties b/html/gradle.properties
index 2b3e4217b9..084fe97908 100644
--- a/html/gradle.properties
+++ b/html/gradle.properties
@@ -1,8 +1,13 @@
-compose.version=1.7.3
+#Gradle
+org.gradle.jvmargs=-Xmx8g
+
+#Versions
+compose.version=1.9.0-rc01
+
+#Compose
compose.web.buildSamples=false
-compose.web.tests.integration.withFirefox
+compose.web.tests.integration.withFirefox=true
compose.web.tests.skip.benchmarks=false
-org.gradle.jvmargs=-Xmx8g
# TODO: figure out why jvmTest (web driver tests) fail with timeout with kotlin 1.9.0
-integrationTestsEnabled=false
\ No newline at end of file
+integrationTestsEnabled=false
diff --git a/html/gradle/wrapper/gradle-wrapper.properties b/html/gradle/wrapper/gradle-wrapper.properties
index 15de90249f..37f853b1c8 100644
--- a/html/gradle/wrapper/gradle-wrapper.properties
+++ b/html/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/idea-plugin/examples/simple-preview-example/gradle/wrapper/gradle-wrapper.properties b/idea-plugin/examples/simple-preview-example/gradle/wrapper/gradle-wrapper.properties
index 69a9715077..37f853b1c8 100644
--- a/idea-plugin/examples/simple-preview-example/gradle/wrapper/gradle-wrapper.properties
+++ b/idea-plugin/examples/simple-preview-example/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/idea-plugin/gradle/wrapper/gradle-wrapper.properties b/idea-plugin/gradle/wrapper/gradle-wrapper.properties
index 9a0a0e28c9..37f853b1c8 100644
--- a/idea-plugin/gradle/wrapper/gradle-wrapper.properties
+++ b/idea-plugin/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/instrumented-test/gradle/wrapper/gradle-wrapper.properties b/instrumented-test/gradle/wrapper/gradle-wrapper.properties
index 09523c0e54..37f853b1c8 100644
--- a/instrumented-test/gradle/wrapper/gradle-wrapper.properties
+++ b/instrumented-test/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/tooling/gradle/wrapper/gradle-wrapper.properties b/tooling/gradle/wrapper/gradle-wrapper.properties
index 070cb702f0..37f853b1c8 100644
--- a/tooling/gradle/wrapper/gradle-wrapper.properties
+++ b/tooling/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/tutorials/checker/gradle/wrapper/gradle-wrapper.properties b/tutorials/checker/gradle/wrapper/gradle-wrapper.properties
index 2e6e5897b5..37f853b1c8 100644
--- a/tutorials/checker/gradle/wrapper/gradle-wrapper.properties
+++ b/tutorials/checker/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists