Kotlin Multiplatform May 6, 2025

v1.8.0

What's New

Compose Multiplatform v1.8.0 delivers major platform-specific improvements with full K2 compiler migration, transformative iOS accessibility features (VoiceOver, VoiceControl, Full Keyboard Access), significant Windows desktop performance gains (6.4x faster), and enhanced web text input for Safari. Developers must update to Kotlin 2.1.0+, recompile libraries, and migrate to androidx SavedState for lifecycle management.

Highlights

Breaking Changes

  • runOnIdle executes on UI thread and no longer calls waitForIdle after action
  • mainClock advancement without reaching next frame no longer triggers recomposition
  • IdlingResource moved from commonMain to android/desktop only; removed from Web and iOS
  • Tests relying on waitForIdle/awaitIdle executing delayed coroutines require manual mainClock advancement
  • Lifecycle migrated from internal core-bundle to androidx SavedState; update dependencies
  • LocalTextInputService custom implementations no longer supported
  • Deprecated Modifier.onExternalDrag removed; use common Modifier.dragAndDropTarget instead
  • Compose Gradle Plugin requires Kotlin Gradle Plugin 2.0+; old org.jetbrains.compose.compiler unsupported
  • material/material3 no longer depend on material-icons-core; explicitly add dependency if needed
  • LocalUIViewController moved to androidx.compose.ui.uikit module on iOS
  • AccessibilitySyncOptions removed; accessibility tree built on demand
  • Canvas Layers mode removed from iOS
  • Google Maven repository now required for Wasm and JS artifacts

Deprecations

  • ClipboardManager deprecated; use new Clipboard interface with suspend functions
  • defaultUIKitMain() deprecated on iOS
  • ComposeUIViewControllerDelegate marked deprecated; use parent view controller instead
  • CupertinoScrollDecayAnimationSpec and CupertinoOverscrollEffect removed from public API

Recent Releases

All releases →