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 .
Since Compose Multiplatform is built on top of Kotlin Multiplatform, it is also affected by version compatibility with the Kotlin Multiplatform Gradle plugin, Gradle, Android Gradle Plugin, and Xcode listed in the .
Compose Multiplatform %org.jetbrains.compose% 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 |
All Compose Multiplatform releases support only 64-bit platforms.
{style="note"}
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 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 using the disableNativeCache DSL in your Gradle build file.
This will ensure compatibility with older libraries but will increase compilation time.
Compose Multiplatform for desktop supports only JDK 11 or later is supported due to the memory management scheme used in Skia bindings.
Additionally:
- Only JDK 17 or later is supported for packaging native distributions due
to
jpackagelimitations. - There is a known issue with OpenJDK 11.0.12 when switching keyboard layouts on macOS. This issue isn't reproducible in OpenJDK 11.0.15.
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 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:
maven("https://redirector.kotlinlang.org/maven/compose-dev")When you build your application for Android, Compose Multiplatform uses artifacts published by Google.
The following table lists Jetpack Compose artifact versions used by each version of Compose Multiplatform:
| Compose Multiplatform version | Jetpack Compose version |
|---|---|
| 1.10.3 | 1.10.5 |
| 1.9.3 | 1.9.4 |
| 1.8.2 | 1.8.2 |
| 1.7.3 | 1.7.6 |
| 1.7.1 | 1.7.5 |
| 1.7.0 | 1.7.1 |
| 1.6.11 | 1.6.7 |
| 1.6.10 | 1.6.7 |
| 1.6.2 | 1.6.4 |
| 1.6.1 | 1.6.3 |
| 1.6.0 | 1.6.1 |
| 1.5.12 | 1.5.4 |
| 1.5.11 | 1.5.4 |
| 1.5.10 | 1.5.4 |
| 1.5.1 | 1.5.0 |
| 1.5.0 | 1.5.0 |
| 1.4.3 | 1.4.3 |
| 1.4.1 | 1.4.3 |
| 1.4.0 | 1.4.0 |
| 1.3.1 | 1.3.3 |
| 1.3.0 | 1.3.3 |
| 1.2.1 | 1.2.1 |
| 1.2.0 | 1.2.1 |
| 1.1.1 | 1.1.0 |
| 1.1.0 | 1.1.0 |
| 1.0.1 | 1.1.0-beta02 |
| 1.0.0 | 1.1.0-beta02 |