Skip to content

Releases: JetBrains/compose-multiplatform

1.11.0-alpha01

16 Dec 10:43
29bb377

Choose a tag to compare

1.11.0-alpha01 Pre-release
Pre-release

Changes since 1.10.0-rc02

Migration Notes

Multiple Platforms

  • The project has migrated to Kotlin language version and API version 2.2. The projects depending on Compose Multiplatform need to use the same version or newer #2614

Features

Multiple Platforms

  • Clicking outside of any focusable node using the mouse will now clear focus from the currently focused node, if any. This behavior can be disabled by setting isClearFocusOnMouseDownEnabled = false in ComposePanel, ComposeWindow or ComposeDialog #2533
  • Migrate window insets padding modifiers from composed API to InsetsPaddingModifierNode #2572
  • Add enter end exit animation for Dialog. It can be disabled via DialogProperties.animateTransition or via global feature flag ComposeUiFlags.isDialogAnimationEnabled #2596

Desktop

  • Allow specifying AWT AccessibleRole directly via SemanticsPropertyReceiver.awtRole #2577
  • Menu items in the context menu for text fields and SelectionContainer can now be disabled #2617

Gradle Plugin

  • Add a compatibility check for runtime libraries to ensure consistency with the expected Compose version #5485

Fixes

iOS

  • Fix incorrectly consumed insets in ModalBottomSheet #2572
  • The rendering queue is running with the highest priority when parallelRendering is enabled #2623
  • Fix possible text styles cache corruption (text color is sometimes randomly black) #2629

Desktop

  • Fix changing the pointer from one custom cursor to another #2613
  • Fix exception/crash when pasting in TextField in headless mode #2612
  • When there is no selection in SelectionContainer, the "Copy" menu item will be disabled #2617
  • Fix unnecessary redraws caused by WindowInsetsRulers implementation using RulerScope.coordinates.size #2628

Web

  • WebElementView is now available in webMain source set #2614
  • Deprecated CanvasBasedWindow has been deleted #2614

Resources

  • Fix crash in getSystemEnvironment on headless desktop #5471

Lifecycle

  • Fix saveable state restoration on non-android targets #2615

Components

Gradle plugin

org.jetbrains.compose version 1.11.0-alpha01

Libraries

Library group Coordinates Based on Jetpack
Runtime org.jetbrains.compose.runtime:runtime*:1.11.0-alpha01 Runtime 1.11.0-alpha01
UI org.jetbrains.compose.ui:ui*:1.11.0-alpha01 UI 1.11.0-alpha01
Foundation org.jetbrains.compose.foundation:foundation*:1.11.0-alpha01 Foundation 1.11.0-alpha01
Material org.jetbrains.compose.material:material*:1.11.0-alpha01 Material 1.11.0-alpha01
Material3 org.jetbrains.compose.material3:material3*:1.11.0-alpha01 Material3 1.5.0-alpha10
Material3 Adaptive org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha03 Material3 Adaptive 1.3.0-alpha05
Lifecycle org.jetbrains.androidx.lifecycle:lifecycle-*:2.10.0-alpha07 Lifecycle 2.10.0
Navigation org.jetbrains.androidx.navigation:navigation-*:2.9.1 Navigation 2.9.4
Navigation3 org.jetbrains.androidx.navigation3:navigation3-*:1.1.0-alpha01 Navigation3 1.1.0-alpha01
Navigation Event org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.0-rc02 Navigation Event 1.0.1
Savedstate org.jetbrains.androidx.savedstate:savedstate*:1.4.0 Savedstate 1.4.0
WindowManager Core org.jetbrains.androidx.window:window-core:1.5.1 WindowManager 1.5.1

1.10.0-rc02

09 Dec 13:12
ed8a2c1

Choose a tag to compare

1.10.0-rc02 Pre-release
Pre-release

Changes since 1.10.0-rc01

Fixes

Multiple Platforms

  • Fix possible corruption of the layout nodes tree #2611

iOS

  • Fix crash in accessibility when SemanticNode is not attached #2616

Components

Gradle plugin

org.jetbrains.compose version 1.10.0-rc02

Libraries

Library group Coordinates Based on Jetpack
Runtime org.jetbrains.compose.runtime:runtime*:1.10.0-rc02 Runtime 1.10.0
UI org.jetbrains.compose.ui:ui*:1.10.0-rc02 UI 1.10.0
Foundation org.jetbrains.compose.foundation:foundation*:1.10.0-rc02 Foundation 1.10.0
Material org.jetbrains.compose.material:material*:1.10.0-rc02 Material 1.10.0
Material3 org.jetbrains.compose.material3:material3*:1.10.0-alpha05 Material3 1.5.0-alpha08
Material3 Adaptive org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha02 Material3 Adaptive 1.3.0-alpha03
Lifecycle org.jetbrains.androidx.lifecycle:lifecycle-*:2.10.0-alpha06 Lifecycle 2.10.0
Navigation org.jetbrains.androidx.navigation:navigation-*:2.9.1 Navigation 2.9.4
Navigation3 org.jetbrains.androidx.navigation3:navigation3-*:1.0.0-alpha06 Navigation3 1.0.0
Navigation Event org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.0-rc02 Navigation Event 1.0.1
Savedstate org.jetbrains.androidx.savedstate:savedstate*:1.4.0 Savedstate 1.4.0
WindowManager Core org.jetbrains.androidx.window:window-core:1.5.1 WindowManager 1.5.1

1.10.0-rc01

02 Dec 11:02
ed8a2c1

Choose a tag to compare

1.10.0-rc01 Pre-release
Pre-release

Changes since 1.10.0-beta02

Migration Notes

iOS

Fixes

Multiple Platforms

  • Fix crash when selecting text that only contains inline content #2600

iOS

  • Fix NSRangeException on back gesture #2605
  • Fix focusing of Dialog and Popup when the Full Keyboard Mode is enabled #2606

Desktop

  • [macOs] Fix [MTLTextureDescriptorInternal validateWithDevice:] crash when using zero-size ComposePanel with compose.swing.render.on.graphics=true #2585
  • [Linux] Support distributions with glibc 2.27 #2585
  • Fixed a race condition that occurred when multiple processes attempted to unpack Skiko binary files at startup #2585

Resources

  • (prerelease fix) Fixed compatibility with Kotlin 2.2.20 on Web #5484

Lifecycle

  • (prerelease fix) Fixed lifecycle-viewmodel-compose 2.10 compatibility with Compose 1.9.* #2579

SavedState

  • (prerelease fix) Fix SavedStateHandles initialization on web #2576

Components

Gradle plugin

org.jetbrains.compose version 1.10.0-rc01

Libraries

Library group Coordinates Based on Jetpack
Runtime org.jetbrains.compose.runtime:runtime*:1.10.0-rc01 Runtime 1.10.0-rc01
UI org.jetbrains.compose.ui:ui*:1.10.0-rc01 UI 1.10.0-rc01
Foundation org.jetbrains.compose.foundation:foundation*:1.10.0-rc01 Foundation 1.10.0-rc01
Material org.jetbrains.compose.material:material*:1.10.0-rc01 Material 1.10.0-rc01
Material3 org.jetbrains.compose.material3:material3*:1.10.0-alpha05 Material3 1.5.0-alpha08
Material3 Adaptive org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha02 Material3 Adaptive 1.3.0-alpha03
Lifecycle org.jetbrains.androidx.lifecycle:lifecycle-*:2.10.0-alpha06 Lifecycle 2.10.0
Navigation org.jetbrains.androidx.navigation:navigation-*:2.9.1 Navigation 2.9.4
Navigation3 org.jetbrains.androidx.navigation3:navigation3-*:1.0.0-alpha06 Navigation3 1.0.0
Navigation Event org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.0-rc01 Navigation Event 1.0.0
Savedstate org.jetbrains.androidx.savedstate:savedstate*:1.4.0 Savedstate 1.4.0
WindowManager Core org.jetbrains.androidx.window:window-core:1.5.1 WindowManager 1.5.1

1.10.0-beta02

20 Nov 16:48
41d24e6

Choose a tag to compare

1.10.0-beta02 Pre-release
Pre-release

Changes since 1.10.0-beta01

Fixes

Multiple Platforms

  • Fixed LocalInputModeManager.current.inputMode not being reset between tests #2548

iOS

  • Fix the spoken text in merged accessibility nodes #2539
  • Fix an issue where accessibility elements inside other accessibility elements may not be accessible #2539
  • Fix crash on iOS older than 17 when accessibility is enabled #2541

Desktop

  • Fix the accessibility issue where screen readers cannot review text in a text field #2553
  • Fix the accessibility issue where scrollable text fields are not accessible for screen readers #2553
  • Children of nodes with isTraversalNode semantics are now ordered according to their traversalIndex #2544
  • (prerelease fix) Fixed issue where it's unable to create run task 'jvmDesktopRun' #5477
  • (prerelease fix) Fixed issue where the Java installation could not be found #5477

Web

  • Fix the issue where Hangul input behaves inconsistently after deleting with Backspace #2559

Resources

  • Fix resource gradle tasks invocation on AGP < 9.0.0 for Android Studio previews #5478
  • Update iOS resource copying to an iOS app bundle to support Swift Export libraries #5480

SavedState

  • All platforms have HasDefaultViewModelProviderFactory implementation now, and it provides an ability to use createSavedStateHandle() function without a navigation library #2554

Components

Gradle plugin

org.jetbrains.compose version 1.10.0-beta02

Libraries

Library group Coordinates Based on Jetpack
Runtime org.jetbrains.compose.runtime:runtime*:1.10.0-beta02 Runtime 1.10.0-beta02
UI org.jetbrains.compose.ui:ui*:1.10.0-beta02 UI 1.10.0-beta02
Foundation org.jetbrains.compose.foundation:foundation*:1.10.0-beta02 Foundation 1.10.0-beta02
Material org.jetbrains.compose.material:material*:1.10.0-beta02 Material 1.10.0-beta02
Material3 org.jetbrains.compose.material3:material3*:1.10.0-alpha05 Material3 1.5.0-alpha08
Material3 Adaptive org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha02 Material3 Adaptive 1.3.0-alpha03
Lifecycle org.jetbrains.androidx.lifecycle:lifecycle-*:2.10.0-alpha05 Lifecycle 2.10.0-rc01
Navigation org.jetbrains.androidx.navigation:navigation-*:2.9.1 Navigation 2.9.4
Navigation3 org.jetbrains.androidx.navigation3:navigation3-*:1.0.0-alpha05 Navigation3 1.0.0-rc01
Navigation Event org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.0-beta02 Navigation Event 1.0.0-rc01
Savedstate org.jetbrains.androidx.savedstate:savedstate*:1.4.0-rc01 Savedstate 1.4.0
WindowManager Core org.jetbrains.androidx.window:window-core:1.5.0 WindowManager 1.5.0

1.9.3

06 Nov 16:26
110ea39

Choose a tag to compare

Changes since 1.9.2

Fixes

iOS

  • Fix crash on iOS older than 17 when accessibility is enabled #2541

Gradle Plugin

  • Support AGP 9.0.0 #5391

Dependencies

1.10.0-beta01

04 Nov 15:01
3969d04

Choose a tag to compare

1.10.0-beta01 Pre-release
Pre-release

Changes since 1.10.0-alpha03

Highlights

Desktop

  • Compose Hot Reload Gradle plugin is bundled with Compose Gradle plugin (no need to configure it separately) #5444

Known Issues

Multiple Platforms

  • Due to the bundled Hot Reload Gradle plugin, Compose Multiplatform requires Kotlin version 2.1.20 or higher #5444

Migration Notes

Multiple Platforms

  • Remove experimental annotation from usePlatformInsets, useSoftwareKeyboardInset and scrimColor in DialogProperties #2495
  • Remove experimental annotation from usePlatformDefaultWidth, usePlatformInsets in PopupProperties #2495
  • Deprecation level of Popup overloads without PopupProperties parameter changed from WARNING to ERROR #2495
  • Dependency aliases in Gradle plugin (e.g. compose.ui) are now deprecated. Use provided direct artifact coordinates and add them to the version catalog #5462

Features

iOS

  • Add support for self-sizing of UIKit interop views in Compose #2485
  • Add experimental UIKitInteropProperties.placedAsOverlay flag, which allows to place interop views above the Compose canvas. This allows interop views with a transparent background or shader effect to be used #2501

Web

  • Esc button calls back navigation event on the web now #2499
  • Add support of important keyword for CSS properties #5439

Navigation

  • Published org.jetbrains.compose.material3.adaptive:adaptive-navigation3 library #2516
  • Add a new configuration option in ComposeUIViewController to set end-edge gestures behavior #2519

Fixes

Multiple Platforms

  • Align roundToPx() behavior between platforms: NaN value produces 0 instead of IllegalArgumentException on non-JVM platforms now #2526
  • Added previously missing ExperimentalComposeUiApi annotation to platform-specific DragAndDropTransferData, DragAndDropEvent and ClipEntry constructors on Desktop and Web. Working with these APIs already requires this annotation due to types of parameters, so it wasn't supposed to be marked as "stable" yet. You can follow CMP-7624 to track the updates about finalizing the shape of these APIs #2538

iOS

  • Fix onKeyEvent handling when Full Keyboard Access is enabled #2494
  • Fix incorrect tap responses in Dialog when LocalDensity is modified #2527
  • (prerelease fix) Fix crash when interacting with scrollables with overscroll #2532

Desktop

  • Fix SwingPanel blocking mouse wheel scroll events from going to its parent #2486

Web

  • Correct drag-and-drop behaviour on mobile devices #2510
  • Fix incorrect interpretation of ontouchend events #2490
  • Unblock autocomplete and the other keyboard features on mobile iOS #2529
  • Correct behaviour when a virtual keyboard suggestion was accepted while the cursor was in the middle of the word #2530

Resources

  • Use Web Cache API for all resources to avoid repeated and redundant HTTP requests #5379

Dependencies

1.9.2

29 Oct 13:23
7f87247

Choose a tag to compare

Changes since 1.9.1

Fixes

Multiple Platforms

  • Prevent possible symbol duplicates in savedstate-compose due to redirects to Google's runtime-saveable that supports all KMP platforms #2503

Web

  • Removed an outline on a Canvas element when it's focused #2450
  • Fix focus with Tab behaviour in Text Fields #2452

Dependencies

1.10.0-alpha03

22 Oct 11:56
651ff78

Choose a tag to compare

1.10.0-alpha03 Pre-release
Pre-release

Changes since 1.10.0-alpha02

Migration Notes

Multiple Platforms

  • (prerelease fix) Disabled (by default) the new text context menus until they are fully supported. You can enable them by setting ComposeFoundationFlags.isNewContextMenuEnabled = true #2466
  • Deprecate org.jetbrains.compose.ui.tooling.preview.Preview annotation in favor of androidx.compose.ui.tooling.preview.Preview to reduce variety of Preview annotations #5453

iOS

  • Remove experimental annotation from LocalUIView #2478

Desktop

  • Deprecate androidx.compose.desktop.ui.tooling.preview.Preview annotation in favor of androidx.compose.ui.tooling.preview.Preview to reduce variety of Preview annotations #2474

Features

Lifecycle

  • Publish multiplatform lifecycle-viewmodel-navigation3 library #2476

Fixes

Multiple Platforms

  • (prerelease fix) Provide LocalWindowInfo.current.containerDpSize value #2493

iOS

  • Fix crash when parallelRendering is enabled #2448
  • Fix text context menu interaction on Popups and Dialogs #2434
  • Fix crash when dragging two Scrollable components with two fingers #2456
  • Fix the crash that occurs when the magnifier appears in text fields that are zero size #2460
  • Fix Lifecycle status updates for multi-window applications using UIScene notifications #2472
  • Support updating of the WindowInfo.isWindowFocused property when the window's state changes #2482
  • Fix the text removal issue when inputting text using dictation #2488

Desktop

  • ComposePanel now re-dispatches unconsumed mouse wheel events, allowing scrollable components beneath to be scrolled. To disable this, set the system property "compose.swing.redispatchMouseWheelEvents" to "false" #2425
  • Fix background flashing when showing a window/dialog #2471

Web

  • Removed an outline on a Canvas element when it's focused #2450
  • Fix focus with Tab behaviour in Text Fields #2452
  • Mobile. Composite input. When a syllable block is created, a new block is added instead of replacing the old one #2454

Resources

  • Fixed an issue where resources were not copied when packaging the macOS native target, causing the application to crash when it attempted to read those resources #5431
  • Fixed resources generated code to be reproducible between different machines #5446
  • Fix a crash when calling getString and the Locale has no region specified #5447
  • Use the non-empty font as the default when awaiting a asynchronous request completion on the web #5456

Navigation

  • Ignore back gestures in navigation in case of open dialog for non-android targets #2439

Dependencies

1.9.1

14 Oct 14:27
7f87247

Choose a tag to compare

Changes since 1.9.0

Migration Notes

Multiple Platforms

  • compose.material3 alias from Gradle plugin now points to org.jetbrains.compose.material3:material3:1.9.0 (based on Jetpack Compose Material3 1.4.0), it was org.jetbrains.compose.material3:material3:1.8.2 (based on Jetpack Compose Material3 1.3.2) in Compose Multiplatform 1.9.0. If you want to stay on the same minor version, replace the alias by an explicit dependency: #5441

    // was
    implementation(compose.material3)
    
    // replace by
    implementation("org.jetbrains.compose.material3:material3:1.8.2")
    

Fixes

iOS

  • Add ability to reach internal accessibility elements inside accessibility nodes #2416
  • Fix input session restarts triggered by PlatformImeOptionsImpl not being @Immutable #2413
  • Fix crash when removing characters after string replacement #2361
  • Fix context menu appearance for text fields with transformation #2377

Desktop

  • ComposePanel can now re-dispatch unconsumed mouse wheel events, allowing scrollable components beneath to be scrolled. To enable this behavior, set the system property "compose.swing.redispatchMouseWheelEvents" to "true" #2438

Dependencies

1.10.0-alpha02

08 Oct 08:15
68f2a95

Choose a tag to compare

1.10.0-alpha02 Pre-release
Pre-release

Changes since 1.10.0-alpha01

Highlights

Multiple Platforms

  • androidx.compose.ui.tooling.preview.Preview annotation is now available from commonMain source set #2424

Navigation

  • Provide required NavigationEventDispatcherOwner for a correct Navigation3 support #2382

Features

Multiple Platforms

  • Provide LocalLifecycleOwner inside runComposeUiTest by default #2400

iOS

  • Add API to configure UITextInputTraits.writingToolsBehavior with PlatformImeOptions #2435

Desktop

  • Experimental -Dskiko.gpu.resourceCacheLimit VM property is introduced to limit GPU resource cache used for one window (default is 256M) #2422

Resources

  • Add setResourceReaderAndroidContext to configure Android context in cases when a provider initialization is not available #5434

Navigation

  • Basic support of the navigation3 library #2436

Fixes

Multiple Platforms

  • (prerelease fix) Fix "Cinterop fails with an error when Compilation works fine" #2386
  • (prerelease fix) Fix "warning: KLIB resolver: Could not find" #2386

iOS

  • Clear TextField focus when another view becomes first responder #2337
  • Fix context menu appearance for text fields with transformation #2377
  • Fix input session restarts triggered by PlatformImeOptionsImpl not being @Immutable #2413
  • Add ability to reach internal accessibility elements inside accessibility nodes #2416

Desktop

  • Fixed ComposePanel not initially focusing the first focusable node, when running in JetBrains Runtime JVM #2384
  • Fixed background flashing when a window or dialog are closed #2403
  • Fix "ComposePanel doesn't use hardware acceleration with RenderSettings.SwingGraphics on Linux" #2422

Resources

  • Fix resource access in a Robolectric test environment #5433

Dependencies