Compatibility and versions
Compose Multiplatform releases ship separately from Kotlin and Jetpack Compose releases. This page contains information about Compose Multiplatform releases, Compose release cycles, and component compatibility. For details about supported IDE versions, refer to Recommended IDEs and code editors.
Supported platforms
Compose Multiplatform 1.10.0 supports the following platforms:
Platform | Minimum version |
|---|---|
Android | Android 5.0 (API level 21) |
iOS | iOS 13 |
macOS | macOS 12 x64, macOS 13 arm64 |
Windows | Windows 10 (x86-64, arm64) |
Linux | Ubuntu 20.04 (x86-64, arm64) |
Web | Browsers with WasmGC support |
Kotlin compatibility
The latest Compose Multiplatform is always compatible with the latest version of Kotlin. There is no need to manually align their versions. Remember that using an EAP version of either product is still potentially unstable.
Compose Multiplatform requires the Compose Compiler Gradle plugin applied with the same version as the Kotlin Multiplatform plugin. See Migrating a Compose Multiplatform project for details.
Starting with Compose Multiplatform 1.8.0, the UI framework fully transitioned to the K2 compiler. To use the latest Compose Multiplatform release:
use at least Kotlin 2.1.0 for your projects,
depend on libraries based on Compose Multiplatform only if they are compiled against at least Kotlin 2.1.0,
upgrade to Kotlin 2.2.20 for projects targeting platforms with rapidly evolving support, such as iOS and web.
As a workaround for backward compatibility problems until all your dependencies are updated, you may turn off Gradle cache by adding kotlin.native.cacheKind=none to your gradle.properties file. This will ensure compatibility with older libraries, but will increase compilation time.
Limitations of Compose Multiplatform for desktop releases
Compose Multiplatform for desktop supports only JDK 11 or later is supported due to the memory management scheme used in Skia bindings.
Additionally:
Jetpack Compose and Compose Multiplatform release cycles
Compose Multiplatform shares a lot of code with Jetpack Compose for Android, a framework developed by Google. We align our Compose Multiplatform release cycle with the release cycle of Jetpack Compose so that the common code is properly tested and stabilized.
When a new version of Jetpack Compose is released, we:
Use the release commit as a base for the next Compose Multiplatform version.
Add support for new platform features.
Stabilize all platforms.
Release a new version of Compose Multiplatform.
The gap between a Compose Multiplatform release and a Jetpack Compose release is usually 1–3 months.
Development versions of Compose Multiplatform
Development versions of the Compose Multiplatform compiler plugin (for example, 1.8.2+dev2544) are built without a set schedule, to test updates between formal releases.
These builds are not available in Maven Central. To access them, add this line to your list of repositories:
Jetpack Compose artifacts used
When you build your application for Android, Compose Multiplatform uses artifacts published by Google. For example, if you apply the Compose Multiplatform 1.5.0 Gradle plugin and add implementation(compose.material3) to your dependencies, then your project will use the androidx.compose.material3:material3:1.1.1 artifact in the Android target (but org.jetbrains.compose.material3:material3:1.5.0 in other targets).
The following table lists Jetpack Compose artifact versions used by each version of Compose Multiplatform:
Compose Multiplatform version | Jetpack Compose version | Jetpack Compose Material3 version |
|---|---|---|
1.10.0 | 1.5.0-alpha08 | |
1.9.4 | 1.4.0 | |
1.8.2 | 1.3.2 | |
1.7.6 | 1.3.1 | |
1.7.5 | 1.3.1 | |
1.7.1 | 1.3.0 | |
1.6.7 | 1.2.1 | |
1.6.7 | 1.2.1 | |
1.6.4 | 1.2.1 | |
1.6.3 | 1.2.1 | |
1.6.1 | 1.2.0 | |
1.5.4 | 1.1.2 | |
1.5.4 | 1.1.2 | |
1.5.4 | 1.1.2 | |
1.5.0 | 1.1.1 | |
1.5.0 | 1.1.1 | |
1.4.3 | 1.0.1 | |
1.4.3 | 1.0.1 | |
1.4.0 | 1.0.1 | |
1.3.3 | 1.0.1 | |
1.3.3 | 1.0.1 | |
1.2.1 | 1.0.0-alpha14 | |
1.2.1 | 1.0.0-alpha14 | |
1.1.0 | 1.0.0-alpha05 | |
1.1.0 | 1.0.0-alpha05 | |
1.1.0-beta02 | 1.0.0-alpha03 | |
1.1.0-beta02 | 1.0.0-alpha03 |