diff --git a/CHANGELOG.md b/CHANGELOG.md index 50f22d00..48e1d756 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +# 1.3.0 (January 2023) + +## Common + +### Fixes +- [Fix configuration cache issues](https://github.com/JetBrains/compose-jb/pull/2607) +- [Use global directory to download wix toolset](https://github.com/JetBrains/compose-jb/pull/2639) +- [IDEA plugin - Redo: set until-build to undefined value](https://github.com/JetBrains/compose-jb/pull/2658) + +## Desktop + +### Features +- [Desktop AlertDialog scrim color](https://github.com/JetBrains/androidx/pull/358) +- [Material 3 DropdownMenu Skiko support](https://github.com/JetBrains/androidx/pull/347) + +### Fixes +- [Fix San Francisco font as a default (macOS)](https://github.com/JetBrains/androidx/pull/343) +- [Make ScrollbarAdapter for LazyList take contentPadding into account](https://github.com/JetBrains/androidx/pull/365) +- [Fix AlertDialog dismiss on click to Dialog content](https://github.com/JetBrains/androidx/pull/359) +- [Fix shaky scrolling of LazyColumn when the items are of varying size](https://github.com/JetBrains/androidx/pull/362) + +## Dependencies +This version of Compose Multiplatform is based on the next Jetpack Compose libraries: +- [Compiler 1.4.0](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.4.0) +- [Runtime 1.3.3](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.3.3) +- [UI 1.3.3](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.3.3) +- [Foundation 1.3.1](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.3.1) +- [Material 1.3.1](https://developer.android.com/jetpack/androidx/releases/compose-material#1.3.1) +- [Material3 1.0.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.0.1) + # 1.2.2 (December 2022) ## Desktop diff --git a/ci/compose-uber-jar/gradle.properties b/ci/compose-uber-jar/gradle.properties index 098bee1b..c0db68f2 100644 --- a/ci/compose-uber-jar/gradle.properties +++ b/ci/compose-uber-jar/gradle.properties @@ -1,2 +1,2 @@ -compose.version=1.2.2 +compose.version=1.3.0 kotlin.code.style=official diff --git a/components/gradle.properties b/components/gradle.properties index 23817d32..8c86d4c7 100644 --- a/components/gradle.properties +++ b/components/gradle.properties @@ -3,9 +3,9 @@ android.useAndroidX=true android.enableJetifier=true kotlin.code.style=official # __KOTLIN_COMPOSE_VERSION__ -kotlin.version=1.7.20 +kotlin.version=1.8.0 # __LATEST_COMPOSE_RELEASE_VERSION__ -compose.version=1.3.0-beta02 +compose.version=1.3.0 agp.version=7.3.1 org.jetbrains.compose.experimental.jscanvas.enabled=true org.jetbrains.compose.experimental.macos.enabled=true diff --git a/examples/codeviewer/android/build.gradle.kts b/examples/codeviewer/android/build.gradle.kts index 13073d45..fed67b2b 100644 --- a/examples/codeviewer/android/build.gradle.kts +++ b/examples/codeviewer/android/build.gradle.kts @@ -5,11 +5,11 @@ plugins { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 versionCode = 1 versionName = "1.0" } @@ -23,4 +23,4 @@ android { dependencies { implementation(project(":common")) implementation("androidx.activity:activity-compose:1.5.0") -} \ No newline at end of file +} diff --git a/examples/codeviewer/common/build.gradle.kts b/examples/codeviewer/common/build.gradle.kts index 1b8e4513..705a2269 100644 --- a/examples/codeviewer/common/build.gradle.kts +++ b/examples/codeviewer/common/build.gradle.kts @@ -34,11 +34,11 @@ kotlin { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 } sourceSets { diff --git a/examples/codeviewer/gradle.properties b/examples/codeviewer/gradle.properties index 501a30ff..72966402 100644 --- a/examples/codeviewer/gradle.properties +++ b/examples/codeviewer/gradle.properties @@ -19,6 +19,6 @@ android.useAndroidX=true android.enableJetifier=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.2 +compose.version=1.3.0 diff --git a/examples/falling-balls/gradle.properties b/examples/falling-balls/gradle.properties index 8e63016e..e13f9fd1 100644 --- a/examples/falling-balls/gradle.properties +++ b/examples/falling-balls/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/imageviewer/android/build.gradle.kts b/examples/imageviewer/android/build.gradle.kts index d5807ca5..fed67b2b 100755 --- a/examples/imageviewer/android/build.gradle.kts +++ b/examples/imageviewer/android/build.gradle.kts @@ -5,11 +5,11 @@ plugins { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 versionCode = 1 versionName = "1.0" } diff --git a/examples/imageviewer/common/build.gradle.kts b/examples/imageviewer/common/build.gradle.kts index 3a67917b..83b8d9cd 100755 --- a/examples/imageviewer/common/build.gradle.kts +++ b/examples/imageviewer/common/build.gradle.kts @@ -33,11 +33,11 @@ kotlin { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 } compileOptions { diff --git a/examples/imageviewer/gradle.properties b/examples/imageviewer/gradle.properties index 501a30ff..72966402 100755 --- a/examples/imageviewer/gradle.properties +++ b/examples/imageviewer/gradle.properties @@ -19,6 +19,6 @@ android.useAndroidX=true android.enableJetifier=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.2 +compose.version=1.3.0 diff --git a/examples/intellij-plugin/gradle.properties b/examples/intellij-plugin/gradle.properties index 8e63016e..e13f9fd1 100644 --- a/examples/intellij-plugin/gradle.properties +++ b/examples/intellij-plugin/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/issues/android/build.gradle.kts b/examples/issues/android/build.gradle.kts index d5807ca5..fed67b2b 100644 --- a/examples/issues/android/build.gradle.kts +++ b/examples/issues/android/build.gradle.kts @@ -5,11 +5,11 @@ plugins { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 versionCode = 1 versionName = "1.0" } diff --git a/examples/issues/common/build.gradle.kts b/examples/issues/common/build.gradle.kts index 79863782..4dc1702e 100644 --- a/examples/issues/common/build.gradle.kts +++ b/examples/issues/common/build.gradle.kts @@ -38,11 +38,11 @@ apollo { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 } compileOptions { diff --git a/examples/issues/gradle.properties b/examples/issues/gradle.properties index feeac892..2181022b 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=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.2 +compose.version=1.3.0 diff --git a/examples/notepad/gradle.properties b/examples/notepad/gradle.properties index 8c790654..565e05e8 100644 --- a/examples/notepad/gradle.properties +++ b/examples/notepad/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/todoapp-lite/android/build.gradle.kts b/examples/todoapp-lite/android/build.gradle.kts index e479462f..b3b4020d 100755 --- a/examples/todoapp-lite/android/build.gradle.kts +++ b/examples/todoapp-lite/android/build.gradle.kts @@ -5,11 +5,11 @@ plugins { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 versionCode = 1 versionName = "1.0" } diff --git a/examples/todoapp-lite/common/build.gradle.kts b/examples/todoapp-lite/common/build.gradle.kts index af356855..da02ce52 100755 --- a/examples/todoapp-lite/common/build.gradle.kts +++ b/examples/todoapp-lite/common/build.gradle.kts @@ -20,11 +20,11 @@ kotlin { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 } compileOptions { diff --git a/examples/todoapp-lite/gradle.properties b/examples/todoapp-lite/gradle.properties index 501a30ff..72966402 100755 --- a/examples/todoapp-lite/gradle.properties +++ b/examples/todoapp-lite/gradle.properties @@ -19,6 +19,6 @@ android.useAndroidX=true android.enableJetifier=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.2 +compose.version=1.3.0 diff --git a/examples/todoapp/gradle.properties b/examples/todoapp/gradle.properties index e2206a18..358d7266 100755 --- a/examples/todoapp/gradle.properties +++ b/examples/todoapp/gradle.properties @@ -27,5 +27,5 @@ kotlin.native.disableCompilerDaemon=true # After updating Compose Multiplatform version, update corresponding Jetpack Compose versions # in Android module (search "Workaround for https://github.com/JetBrains/compose-jb/issues/2340") #TODO also change version in buildSrc/gradle.properties -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/validateExamplesAndroid.sh b/examples/validateExamplesAndroid.sh new file mode 100644 index 00000000..cceb2478 --- /dev/null +++ b/examples/validateExamplesAndroid.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Script to build most of the examples, to verify if they can compile. +# Don't add examples, which don't depend on maven.pkg.jetbrains.space, because they won't be able to compile. + +set -euo pipefail + +if [ "$#" -ne 2 ]; then +echo "Specify Compose and Kotlin version. For example: ./validateExamplesAndroid.sh 1.1.1 1.6.10" +exit 1 +fi +COMPOSE_VERSION=$1 +KOTLIN_VERSION=$2 + + +runGradle() { + pushd $1 + ./gradlew $2 -Pcompose.version=$COMPOSE_VERSION -Pkotlin.version=$KOTLIN_VERSION --rerun-tasks + popd +} + +# requires an emulator running or an Android device to be connected +runGradle codeviewer installDebug +runGradle imageviewer installDebug +runGradle issues installDebug +runGradle todoapp-lite installDebug +runGradle widgets-gallery installDebug +runGradle todoapp installDebug diff --git a/examples/visual-effects/gradle.properties b/examples/visual-effects/gradle.properties index 8e63016e..e13f9fd1 100644 --- a/examples/visual-effects/gradle.properties +++ b/examples/visual-effects/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/web-compose-bird/gradle.properties b/examples/web-compose-bird/gradle.properties index 8e63016e..e13f9fd1 100644 --- a/examples/web-compose-bird/gradle.properties +++ b/examples/web-compose-bird/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/web-compose-in-js/gradle.properties b/examples/web-compose-in-js/gradle.properties index e2cbddc7..cb1eec9d 100644 --- a/examples/web-compose-in-js/gradle.properties +++ b/examples/web-compose-in-js/gradle.properties @@ -2,5 +2,5 @@ kotlin.code.style=official kotlin.mpp.enableGranularSourceSetsMetadata=true kotlin.native.enableDependencyPropagation=false kotlin.js.webpack.major.version=4 -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/web-landing/gradle.properties b/examples/web-landing/gradle.properties index 8e63016e..e13f9fd1 100644 --- a/examples/web-landing/gradle.properties +++ b/examples/web-landing/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/web-with-react/gradle.properties b/examples/web-with-react/gradle.properties index 8e63016e..e13f9fd1 100644 --- a/examples/web-with-react/gradle.properties +++ b/examples/web-with-react/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/examples/widgets-gallery/android/build.gradle.kts b/examples/widgets-gallery/android/build.gradle.kts index 13073d45..fed67b2b 100644 --- a/examples/widgets-gallery/android/build.gradle.kts +++ b/examples/widgets-gallery/android/build.gradle.kts @@ -5,11 +5,11 @@ plugins { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 versionCode = 1 versionName = "1.0" } @@ -23,4 +23,4 @@ android { dependencies { implementation(project(":common")) implementation("androidx.activity:activity-compose:1.5.0") -} \ No newline at end of file +} diff --git a/examples/widgets-gallery/common/build.gradle.kts b/examples/widgets-gallery/common/build.gradle.kts index 7e1d3865..0a8338b2 100644 --- a/examples/widgets-gallery/common/build.gradle.kts +++ b/examples/widgets-gallery/common/build.gradle.kts @@ -32,11 +32,11 @@ kotlin { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 } compileOptions { @@ -50,4 +50,4 @@ android { res.srcDirs("src/androidMain/res", "src/commonMain/resources") } } -} \ No newline at end of file +} diff --git a/examples/widgets-gallery/gradle.properties b/examples/widgets-gallery/gradle.properties index 19f08dcc..7cb0e162 100644 --- a/examples/widgets-gallery/gradle.properties +++ b/examples/widgets-gallery/gradle.properties @@ -19,6 +19,6 @@ android.useAndroidX=true android.enableJetifier=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 agp.version=7.1.3 diff --git a/experimental/examples/chat-mpp/gradle.properties b/experimental/examples/chat-mpp/gradle.properties index d589487b..662d52bb 100644 --- a/experimental/examples/chat-mpp/gradle.properties +++ b/experimental/examples/chat-mpp/gradle.properties @@ -12,6 +12,6 @@ kotlin.native.enableDependencyPropagation=false kotlin.mpp.enableGranularSourceSetsMetadata=true # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.1 +compose.version=1.3.0 diff --git a/experimental/examples/codeviewer/gradle.properties b/experimental/examples/codeviewer/gradle.properties index ea83c74d..662d52bb 100644 --- a/experimental/examples/codeviewer/gradle.properties +++ b/experimental/examples/codeviewer/gradle.properties @@ -12,6 +12,6 @@ kotlin.native.enableDependencyPropagation=false kotlin.mpp.enableGranularSourceSetsMetadata=true # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.3.0-beta04-dev885 +compose.version=1.3.0 diff --git a/experimental/examples/falling-balls-mpp/gradle.properties b/experimental/examples/falling-balls-mpp/gradle.properties index d589487b..662d52bb 100644 --- a/experimental/examples/falling-balls-mpp/gradle.properties +++ b/experimental/examples/falling-balls-mpp/gradle.properties @@ -12,6 +12,6 @@ kotlin.native.enableDependencyPropagation=false kotlin.mpp.enableGranularSourceSetsMetadata=true # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.1 +compose.version=1.3.0 diff --git a/experimental/examples/imageviewer/gradle.properties b/experimental/examples/imageviewer/gradle.properties index 48afff08..a2c1c6ab 100644 --- a/experimental/examples/imageviewer/gradle.properties +++ b/experimental/examples/imageviewer/gradle.properties @@ -12,7 +12,7 @@ kotlin.native.enableDependencyPropagation=false kotlin.mpp.enableGranularSourceSetsMetadata=true # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.2 +compose.version=1.3.0 ktor.version=2.2.1 diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle.properties b/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle.properties index 0d612daf..121b219d 100644 --- a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle.properties +++ b/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle.properties @@ -1,5 +1,5 @@ kotlin.stdlib.default.dependency=false kotlin.code.style=official -kotlin.version=1.7.10 -compose.version=1.2.0 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/experimental/examples/minesweeper/gradle.properties b/experimental/examples/minesweeper/gradle.properties index ea83c74d..662d52bb 100644 --- a/experimental/examples/minesweeper/gradle.properties +++ b/experimental/examples/minesweeper/gradle.properties @@ -12,6 +12,6 @@ kotlin.native.enableDependencyPropagation=false kotlin.mpp.enableGranularSourceSetsMetadata=true # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.3.0-beta04-dev885 +compose.version=1.3.0 diff --git a/experimental/examples/todoapp-lite/gradle.properties b/experimental/examples/todoapp-lite/gradle.properties index d589487b..662d52bb 100755 --- a/experimental/examples/todoapp-lite/gradle.properties +++ b/experimental/examples/todoapp-lite/gradle.properties @@ -12,6 +12,6 @@ kotlin.native.enableDependencyPropagation=false kotlin.mpp.enableGranularSourceSetsMetadata=true # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.1 +compose.version=1.3.0 diff --git a/experimental/examples/validateExamples.sh b/experimental/examples/validateExamples.sh new file mode 100644 index 00000000..54c1b3dd --- /dev/null +++ b/experimental/examples/validateExamples.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Script to build most of the examples, to verify if they can compile. +# Don't add examples, which don't depend on maven.pkg.jetbrains.space, because they won't be able to compile. + +set -euo pipefail + +if [ "$#" -ne 2 ]; then +echo "Specify Compose and Kotlin version. For example: ./validateExamples.sh 1.1.1 1.6.10" +exit 1 +fi +COMPOSE_VERSION=$1 +KOTLIN_VERSION=$2 + + +runGradle() { + pushd $1 + ./gradlew $2 -Pcompose.version=$COMPOSE_VERSION -Pkotlin.version=$KOTLIN_VERSION --rerun-tasks + popd +} + +runGradle chat-mpp packageDistributionForCurrentOS +runGradle codeviewer packageDistributionForCurrentOS +runGradle falling-balls-mpp packageDistributionForCurrentOS +runGradle imageviewer packageDistributionForCurrentOS +runGradle minesweeper packageDistributionForCurrentOS +runGradle todoapp-lite packageDistributionForCurrentOS +runGradle visual-effects packageDistributionForCurrentOS +runGradle widgets-gallery packageDistributionForCurrentOS diff --git a/experimental/examples/validateExamplesAndroid.sh b/experimental/examples/validateExamplesAndroid.sh new file mode 100644 index 00000000..184c045a --- /dev/null +++ b/experimental/examples/validateExamplesAndroid.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Script to build most of the examples, to verify if they can compile. +# Don't add examples, which don't depend on maven.pkg.jetbrains.space, because they won't be able to compile. + +set -euo pipefail + +if [ "$#" -ne 2 ]; then +echo "Specify Compose and Kotlin version. For example: ./validateExamplesAndroid.sh 1.1.1 1.6.10" +exit 1 +fi +COMPOSE_VERSION=$1 +KOTLIN_VERSION=$2 + + +runGradle() { + pushd $1 + ./gradlew $2 -Pcompose.version=$COMPOSE_VERSION -Pkotlin.version=$KOTLIN_VERSION --rerun-tasks + popd +} + +runGradle chat-mpp installDebug +runGradle codeviewer installDebug +runGradle falling-balls-mpp installDebug +runGradle imageviewer installDebug +runGradle minesweeper installDebug +runGradle todoapp-lite installDebug +runGradle visual-effects installDebug +runGradle widgets-gallery installDebug diff --git a/experimental/examples/validateExamplesIos.sh b/experimental/examples/validateExamplesIos.sh new file mode 100755 index 00000000..a7b0bfcb --- /dev/null +++ b/experimental/examples/validateExamplesIos.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# Script to build most of the examples, to verify if they can compile. +# Don't add examples, which don't depend on maven.pkg.jetbrains.space, because they won't be able to compile. + +set -euo pipefail + +if [ "$#" -ne 2 ]; then +echo "Specify Compose and Kotlin version. For example: ./validateExamplesIos.sh 1.1.1 1.6.10" +exit 1 +fi +COMPOSE_VERSION=$1 +KOTLIN_VERSION=$2 + +ARCH="$(uname -m)" +isX86="$ARCH"=="x86_64" + +linkCmd="" + +if [ isX86 ]; then + linkCmd="linkIosX64" +else + linkCmd="linkIosArm64" +fi + + +runGradle() { + pushd $1 + echo "Validating $1" + ./gradlew clean $linkCmd -Pcompose.version=$COMPOSE_VERSION -Pkotlin.version=$KOTLIN_VERSION --rerun-tasks || (echo "Failed $1" && exit 1) + popd +} + +runGradle chat-mpp +runGradle codeviewer +runGradle falling-balls-mpp +runGradle imageviewer +runGradle todoapp-lite +runGradle visual-effects +runGradle widgets-gallery +runGradle minesweeper diff --git a/experimental/examples/validateExamplesWithJs.sh b/experimental/examples/validateExamplesWithJs.sh new file mode 100644 index 00000000..f7bf5cf0 --- /dev/null +++ b/experimental/examples/validateExamplesWithJs.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Script to build most of the examples, to verify if they can compile. +# Don't add examples, which don't depend on maven.pkg.jetbrains.space, because they won't be able to compile. + +set -euo pipefail + +if [ "$#" -ne 2 ]; then +echo "Specify Compose and Kotlin version. For example: ./validateExamplesWithJs.sh 1.1.1 1.6.10" +exit 1 +fi +COMPOSE_VERSION=$1 +KOTLIN_VERSION=$2 + + +runGradle() { + pushd $1 + ./gradlew $2 -Pcompose.version=$COMPOSE_VERSION -Pkotlin.version=$KOTLIN_VERSION --rerun-tasks + popd +} + +runGradle chat-mpp jsBrowserProductionWebpack +#runGradle codeviewer jsBrowserProductionWebpack +runGradle falling-balls-mpp jsBrowserProductionWebpack +#runGradle imageviewer jsBrowserProductionWebpack +runGradle minesweeper jsBrowserProductionWebpack +#runGradle todoapp-lite jsBrowserProductionWebpack +#runGradle visual-effects jsBrowserProductionWebpack +#runGradle widgets-gallery jsBrowserProductionWebpack diff --git a/experimental/examples/visual-effects/gradle.properties b/experimental/examples/visual-effects/gradle.properties index d589487b..662d52bb 100644 --- a/experimental/examples/visual-effects/gradle.properties +++ b/experimental/examples/visual-effects/gradle.properties @@ -12,6 +12,6 @@ kotlin.native.enableDependencyPropagation=false kotlin.mpp.enableGranularSourceSetsMetadata=true # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.1 +compose.version=1.3.0 diff --git a/experimental/examples/widgets-gallery/gradle.properties b/experimental/examples/widgets-gallery/gradle.properties index d589487b..662d52bb 100644 --- a/experimental/examples/widgets-gallery/gradle.properties +++ b/experimental/examples/widgets-gallery/gradle.properties @@ -12,6 +12,6 @@ kotlin.native.enableDependencyPropagation=false kotlin.mpp.enableGranularSourceSetsMetadata=true # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.1 +compose.version=1.3.0 diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatibility.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatibility.kt index b06d1669..30b34f1e 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatibility.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatibility.kt @@ -7,6 +7,7 @@ internal object ComposeCompilerCompatibility { private val kotlinToCompiler = sortedMapOf( "1.7.10" to "1.3.0", "1.7.20" to "1.3.2.2", + "1.8.0" to "1.4.0" ) fun compilerVersionFor(kotlinVersion: String): String { diff --git a/gradle-plugins/gradle.properties b/gradle-plugins/gradle.properties index 63616021..ba84c43a 100644 --- a/gradle-plugins/gradle.properties +++ b/gradle-plugins/gradle.properties @@ -2,13 +2,13 @@ org.gradle.parallel=true kotlin.code.style=official # Default version of Compose Libraries used by Gradle plugin -compose.version=1.2.2 +compose.version=1.3.0 # The latest version of Compose Compiler used by Gradle plugin. Used only in tests/CI. -compose.tests.compiler.version=1.3.2.1 +compose.tests.compiler.version=1.4.0 # The latest version of Kotlin compatible with compose.tests.compiler.version. Used only in tests/CI. -compose.tests.compiler.compatible.kotlin.version=1.7.20 +compose.tests.compiler.compatible.kotlin.version=1.8.0 # The latest version of Kotlin compatible with compose.tests.compiler.version for JS target. Used only on CI. -compose.tests.js.compiler.compatible.kotlin.version=1.7.20 +compose.tests.js.compiler.compatible.kotlin.version=1.8.0 # __SUPPORTED_GRADLE_VERSIONS__ compose.tests.gradle.versions=7.0.2, 8.0-rc-1 diff --git a/templates/desktop-template/gradle.properties b/templates/desktop-template/gradle.properties index 8c790654..565e05e8 100644 --- a/templates/desktop-template/gradle.properties +++ b/templates/desktop-template/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/templates/multiplatform-template/android/build.gradle.kts b/templates/multiplatform-template/android/build.gradle.kts index 13073d45..fed67b2b 100644 --- a/templates/multiplatform-template/android/build.gradle.kts +++ b/templates/multiplatform-template/android/build.gradle.kts @@ -5,11 +5,11 @@ plugins { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 versionCode = 1 versionName = "1.0" } @@ -23,4 +23,4 @@ android { dependencies { implementation(project(":common")) implementation("androidx.activity:activity-compose:1.5.0") -} \ No newline at end of file +} diff --git a/templates/multiplatform-template/common/build.gradle.kts b/templates/multiplatform-template/common/build.gradle.kts index eb052621..8cb4ff17 100644 --- a/templates/multiplatform-template/common/build.gradle.kts +++ b/templates/multiplatform-template/common/build.gradle.kts @@ -28,11 +28,11 @@ kotlin { } android { - compileSdk = 32 + compileSdk = 33 defaultConfig { minSdk = 26 - targetSdk = 32 + targetSdk = 33 } compileOptions { @@ -46,4 +46,4 @@ android { res.srcDirs("src/androidMain/res") } } -} \ No newline at end of file +} diff --git a/templates/multiplatform-template/gradle.properties b/templates/multiplatform-template/gradle.properties index 2b0f74ba..74d4ea72 100644 --- a/templates/multiplatform-template/gradle.properties +++ b/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=1.7.20 +kotlin.version=1.8.0 agp.version=7.1.3 -compose.version=1.2.2 +compose.version=1.3.0 diff --git a/templates/web-template/gradle.properties b/templates/web-template/gradle.properties index 8c790654..565e05e8 100644 --- a/templates/web-template/gradle.properties +++ b/templates/web-template/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official -kotlin.version=1.7.20 -compose.version=1.2.2 +kotlin.version=1.8.0 +compose.version=1.3.0 diff --git a/tools/replaceVersion.sh b/tools/replaceVersion.sh index 0ab7de9b..d978b16c 100755 --- a/tools/replaceVersion.sh +++ b/tools/replaceVersion.sh @@ -13,6 +13,7 @@ declare -a folders=( "ci" "web" "tutorials" + "experimental/examples" ) if [ -z "$1" ]; then diff --git a/tutorials/Getting_Started/README.md b/tutorials/Getting_Started/README.md index a150a27f..b0785e7e 100644 --- a/tutorials/Getting_Started/README.md +++ b/tutorials/Getting_Started/README.md @@ -42,8 +42,8 @@ The Compose plugin version used in the wizard above might not be the latest. Upd For the latest versions, see the [latest versions](https://github.com/JetBrains/compose-jb/releases) site and the [Kotlin](https://kotlinlang.org/) site. ``` plugins { - kotlin("jvm") version "1.7.20" - id("org.jetbrains.compose") version "1.2.2" + kotlin("jvm") version "1.8.0" + id("org.jetbrains.compose") version "1.3.0" } ``` @@ -76,8 +76,8 @@ pluginManagement { Then create `build.gradle.kts` with the following content: ``` kotlin plugins { - kotlin("jvm") version "1.7.20" - id("org.jetbrains.compose") version "1.2.2" + kotlin("jvm") version "1.8.0" + id("org.jetbrains.compose") version "1.3.0" } repositories { diff --git a/tutorials/Web/Getting_Started/README.md b/tutorials/Web/Getting_Started/README.md index f2d6bbbb..9e993566 100644 --- a/tutorials/Web/Getting_Started/README.md +++ b/tutorials/Web/Getting_Started/README.md @@ -40,8 +40,8 @@ pluginManagement { ``` kotlin // Add compose gradle plugin plugins { - kotlin("multiplatform") version "1.7.20" - id("org.jetbrains.compose") version "1.2.2" + kotlin("multiplatform") version "1.8.0" + id("org.jetbrains.compose") version "1.3.0" } // Add maven repositories diff --git a/web/buildSrc/gradle.properties b/web/buildSrc/gradle.properties index bd827d75..d13d8cee 100644 --- a/web/buildSrc/gradle.properties +++ b/web/buildSrc/gradle.properties @@ -1 +1 @@ -kotlin.version=1.7.20 +kotlin.version=1.8.0 diff --git a/web/gradle.properties b/web/gradle.properties index 75daef2d..06ef7d82 100644 --- a/web/gradle.properties +++ b/web/gradle.properties @@ -1,4 +1,4 @@ -compose.version=1.2.2 +compose.version=1.3.0 compose.web.buildSamples=false compose.web.tests.integration.withFirefox compose.web.tests.skip.benchmarks=false diff --git a/web/kotlin-js-store/yarn.lock b/web/kotlin-js-store/yarn.lock index 2a60fedc..176f2803 100644 --- a/web/kotlin-js-store/yarn.lock +++ b/web/kotlin-js-store/yarn.lock @@ -307,11 +307,16 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn@^8.4.1, acorn@^8.5.0: +acorn@^8.5.0: version "8.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== +acorn@^8.7.1: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -916,10 +921,10 @@ engine.io@~6.2.0: engine.io-parser "~5.0.3" ws "~8.2.3" -enhanced-resolve@^5.9.3: - version "5.10.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" - integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== +enhanced-resolve@^5.10.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -2713,6 +2718,11 @@ typescript@3.9.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36" integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ== +typescript@4.7.4: + version "4.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== + ua-parser-js@^0.7.30: version "0.7.32" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.32.tgz#cd8c639cdca949e30fa68c44b7813ef13e36d211" @@ -2776,7 +2786,7 @@ void-elements@^2.0.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== -watchpack@^2.3.1: +watchpack@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== @@ -2871,21 +2881,21 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.73.0: - version "5.73.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" - integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA== +webpack@5.74.0: + version "5.74.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" + integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" + acorn "^8.7.1" acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.3" + enhanced-resolve "^5.10.0" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" @@ -2898,7 +2908,7 @@ webpack@5.73.0: schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" + watchpack "^2.4.0" webpack-sources "^3.2.3" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: