Releases: JetBrains/compose-multiplatform
Releases · JetBrains/compose-multiplatform
1.11.0-beta03
Changes since 1.11.0-beta02
Features
Multiple Platforms
- Implement drag-to-scroll in
SelectionContainer. When the mouse pointer is dragged outside the element while selecting text, the text element will be scrolled accordingly. Note that this requires wrapping the content in a scrolling container/modifier, e.g.Modifier.verticalScroll#2979
Fixes
Multiple Platforms
- Fix mouse-clicks being missed occasionally (typically when using Apple's Magic Mouse) #2975
- Fix crash when pressing up/down keys in an open context menu #2976
iOS
- (prerelease fix) Fix
UINavigationBarsafe area insets not included inWindowInsets.safeDrawing#2965 - (prerelease fix) Fix an issue where Compose content may become stretched after screen rotation #2968
- (prerelease fix) Fix
SegmentFrequentTickandSegmentTickhaptic feedbacks #2969
Desktop
- (prerelease fix) Bump Compose Hot Reload to 1.1.0-rc01 #5577
Web
- (prerelease fix) [iOS] Fix crash when using 'Fast delete': Cannot coerce value to an empty range: maximum -1 is less than minimum 0 #2964
- (prerelease fix) Fix
dragAndDropSourcecombined withclickabledoesn't allow to start drag #2974
Components
Gradle plugin
org.jetbrains.compose version 1.11.0-beta03
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.11.0-beta03 |
Runtime 1.11.0-rc01 |
| UI | org.jetbrains.compose.ui:ui*:1.11.0-beta03 |
UI 1.11.0-rc01 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.11.0-beta03 |
Foundation 1.11.0-rc01 |
| Material | org.jetbrains.compose.material:material*:1.11.0-beta03 |
Material 1.11.0-rc01 |
| Material3 | org.jetbrains.compose.material3:material3*:1.11.0-alpha07 |
Material3 1.5.0-alpha17 |
| Material3 Adaptive | org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha07 |
Material3 Adaptive 1.3.0-alpha10 |
| Lifecycle | org.jetbrains.androidx.lifecycle:lifecycle-*:2.11.0-alpha03 |
Lifecycle 2.11.0-alpha03 |
| Navigation | org.jetbrains.androidx.navigation:navigation-*:2.9.2 |
Navigation 2.9.7 |
| Navigation3 | org.jetbrains.androidx.navigation3:navigation3-*:1.1.0 |
Navigation3 1.1.0 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.1.0-beta01 |
Navigation Event 1.1.0-rc01 |
| 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.11.0-beta02
Changes since 1.11.0-beta01
Migration Notes
Multiple Platforms
runComposeUiTest,runSkikoComposeUiTest,runDesktopComposeUiTestare deprecated in favor v2 versions #2919
Web
- Kotlin 2.3.20 is required when using Compose Multiplatform with Kotlin/JS or Kotlin/Wasm #2918
Features
Multiple Platforms
- Support v2 Compose UI Tests APIs on non-android targets which uses
StandardTestDispatcherby default instead ofUnconfinedTestDispatcher#2919 - Support a customization of
effectContextin Compose UI tests #2919
Fixes
Multiple Platforms
- (prerelease fix) Fixed a path regression where
PathMeasure.getSegment(..., startWithMoveTo = true)could produce incorrect results when reusing destination paths #2902 Ctrl+Home/Ctrl+EndorCmd+Home/Cmd+Endshortcuts should now work correctly in text fields #2931
iOS
- Fix an issue with scrolling when scrollable content is displayed in modal view controller #2883
- (prerelease fix) Fix crash during triple tap on empty textfield with
usingNativeTextInputflag enabled #2910 - (prerelease fix) Fix crash after applying autocorrection change or keyboard suggestion in
TextFieldwhenusingNativeTextInputflag is enabled #2921 - Fix crash caused by the missing symbol
UIWindowSceneGeometryon iOS 15 #2924 - (prerelease fix) Fix regression with the outdated and wrongly inserted keyboard suggestions in
BasicTextField(TextFieldValue)andBasicTextField(TextFieldState)#2925 - (prerelease fix) Fix missing handles and caret in
TextFieldon new line at the end of the text whenusingNativeTextInputflag is enabled #2908 - The structure of accessibility elements is now better aligned with Android semantic nodes #2916
- Fix issues with accessibility elements not focusing at runtime #2916
- (prerelease fix) Fix incorrect appearance of
Autofillcontext menu item in theBasicTextField(TextFieldValue)andBasicTextField(TextFieldState)#2937 - Fix
ModalBottomSheetDialogcontent inset calculation #2849
Desktop
- Fix memory leak in dialogs with non-default
compose.layers.typesetting #2864 - [Accessibility] Improve performance of traversal groups with a large amount of children #2900
- Clear some scheduled tasks on scene closure #2888
- (prerelease fix) Bump Compose Hot Reload to 1.1.0-beta02 #5569
Web
- Fix identity hash code not being correctly cached #2913
- [iOS] Fix 'Fast delete' not working correctly for text containing emojis #2927
Components
Gradle plugin
org.jetbrains.compose version 1.11.0-beta02
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.11.0-beta02 |
Runtime 1.11.0-beta02 |
| UI | org.jetbrains.compose.ui:ui*:1.11.0-beta02 |
UI 1.11.0-beta02 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.11.0-beta02 |
Foundation 1.11.0-beta02 |
| Material | org.jetbrains.compose.material:material*:1.11.0-beta02 |
Material 1.11.0-beta02 |
| Material3 | org.jetbrains.compose.material3:material3*:1.11.0-alpha06 |
Material3 1.5.0-alpha16 |
| Material3 Adaptive | org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha06 |
Material3 Adaptive 1.3.0-alpha09 |
| Lifecycle | org.jetbrains.androidx.lifecycle:lifecycle-*:2.11.0-alpha03 |
Lifecycle 2.11.0-alpha03 |
| Navigation | org.jetbrains.androidx.navigation:navigation-*:2.9.2 |
Navigation 2.9.7 |
| Navigation3 | org.jetbrains.androidx.navigation3:navigation3-*:1.1.0-rc01 |
Navigation3 1.1.0-rc01 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.1.0-alpha01 |
Navigation Event 1.1.0-alpha01 |
| 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.11.0-beta01
Changes since 1.11.0-alpha04
Breaking Changes
iOS
DialogandPopupcontainer views are now located on a system transition view above the root view controller, but below modally presented view controllers. This may affect presentation of interop view controllers #2833
Fixes
Multiple Platforms
- Remove check for arbitrary transforms in
Matrixconversions due to incorrect detection of regular rotation. Now the behaviour is aligned with Android #2850
iOS
- Fix an issue where
PopupandDialogmay not close when clicked outside of their bounds #2815 - Fix crash caused by mouse hover #2834
- Fix an issue where the text cursor appeared in the wrong position when dragging it after selecting text #2833
- Fix an issue where selection handles were not rendered inside the magnifier #2833
- Fix an issue where popups and dialogs were displayed above a modally presented view controller #2833
- Traversal groups now convert into an additional node in the accessibility hierarchy #2848
- (prerelease fix) Fix issues with interop views addition and removal #2842
- (prerelease fix) Fix an issue where system context menu items (Look Up, Translate, Search, etc.) are not presented #2837
- Fix
Cmd + C(copy) event handling for the selected text wrapped inSelectionContainerwhen using a hardware keyboard #2872 - Fix the scrolling inertia issue when performing short scroll gestures #2851
- Fix an issue where a fling may occur unexpectedly when lifting a finger #2851
- (prerelease fix) Fix high memory consumption caused by the Compose container resizing when
parallelRenderingis enabled #2882
Desktop
- [Windows]
Alt-backspacenow correctly performs undo action #2870 - (prerelease fix) Bump Compose Hot Reload to 1.1.0-beta01 #5559
Web
- Fix incorrect mouse click detection #2844
- Fix an issue where wheel events reported incorrect mouse button state in Safari and Firefox #2844
- The browser now handles additional cut, copy, and paste keyboard shortcuts, such as
Shift+Insert#2871 - Fix an issue where "fast delete" action removed characters one by one instead of deleting whole words in text fields on iOS #2875
Components
Gradle plugin
org.jetbrains.compose version 1.11.0-beta01
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.11.0-beta01 |
Runtime 1.11.0-beta01 |
| UI | org.jetbrains.compose.ui:ui*:1.11.0-beta01 |
UI 1.11.0-beta01 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.11.0-beta01 |
Foundation 1.11.0-beta01 |
| Material | org.jetbrains.compose.material:material*:1.11.0-beta01 |
Material 1.11.0-beta01 |
| Material3 | org.jetbrains.compose.material3:material3*:1.11.0-alpha05 |
Material3 1.5.0-alpha15 |
| Material3 Adaptive | org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha06 |
Material3 Adaptive 1.3.0-alpha09 |
| Lifecycle | org.jetbrains.androidx.lifecycle:lifecycle-*:2.11.0-alpha02 |
Lifecycle 2.11.0-alpha02 |
| Navigation | org.jetbrains.androidx.navigation:navigation-*:2.9.2 |
Navigation 2.9.7 |
| Navigation3 | org.jetbrains.androidx.navigation3:navigation3-*:1.1.0-beta01 |
Navigation3 1.1.0-beta01 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.1.0-alpha01 |
Navigation Event 1.1.0-alpha01 |
| 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.3
Changes since 1.10.2
Fixes
Multiple Platforms
- Remove check for arbitrary transforms in
Matrixconversions due to incorrect detection of regular rotation. Now the behaviour is aligned with Android #2860
Components
Gradle plugin
org.jetbrains.compose version 1.10.3
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.10.3 |
Runtime 1.10.5 |
| UI | org.jetbrains.compose.ui:ui*:1.10.3 |
UI 1.10.5 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.10.3 |
Foundation 1.10.5 |
| Material | org.jetbrains.compose.material:material*:1.10.3 |
Material 1.10.5 |
| 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 |
Lifecycle 2.10.0 |
| Navigation | org.jetbrains.androidx.navigation:navigation-*:2.9.2 |
Navigation 2.9.7 |
| Navigation3 | org.jetbrains.androidx.navigation3:navigation3-*:1.0.0-alpha06 |
Navigation3 1.0.0 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.1 |
Navigation Event 1.0.2 |
| 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.11.0-alpha04
Changes since 1.11.0-alpha03
Breaking Changes
Multiple Platforms
- To decouple common Compose graphics APIs from direct Skia/Skiko types, non-Android
Shaderis now a dedicated Compose wrapper type. Since it's not an ABI-compatible change, you might need to update some libraries that use this API to newer, compatible versions. Migration: #2810- If you pass raw Skia/Skiko shaders into Compose APIs, wrap with
SkShader.asComposeShader(). - If you need low-level Skia/Skiko access from Compose Shader, use
Shader.skiaShaderextension.
- If you pass raw Skia/Skiko shaders into Compose APIs, wrap with
Migration Notes
Multiple Platforms
Key.Homehas been deprecated, as it has been incorrectly mapped to the keyboard "Home" key. UseKey.MoveHomeinstead #2801androidx.compose.ui.graphics.NativePaintandandroidx.compose.ui.graphics.NativeCanvastypealiases are deprecated, use direct references to native types instead #2802Paint.asFrameworkPaint()was replaced withPaint.skiaPaintextension to avoid exposing a platform type intocommonMainsourceset viatypealias#2802RenderEffect.asSkiaImageFilter()was replaced withRenderEffect.skiaImageFilterextension to avoid exposing a platform type intocommonMaintypes #2809- Deprecate
Canvas.nativeCanvasextension in favor ofCanvas.skiaCanvasto avoid ambiguity #2809
Web
- Kotlin 2.3.10 or newer is required to use Compose Multiplatform with Kotlin/Wasm target #2790
Features
Multiple Platforms
- Update skia to m144 #2779
iOS
- Adds an opt-in Native iOS Text Input mode for Compose
BasicTextField(bothTextFieldValueandTextFieldState) enabled viaPlatformImeOptions.usingNativeTextInput(enabled)in iOS source set #2602 - With the native iOS text input flag set to
true,BasicTextFielduses native UIKit editing and interaction, including: #2602- Native caret placement and movement (tap-to-place caret, spacebar caret movement, “ghost caret”)
- Native magnifier
- Native selection gestures (double-tap word selection, triple-tap paragraph selection) and iOS-like selection UI (region + handles)
- Native context menu behavior is supported for both the legacy and the new context menu (
isNewContextMenu = true) configurations. - Native context menu behavior when interacting with the caret, selection region, or selection handles
- Native text field context menu actions (e.g. Translate, Look Up, Share) (not available without this mode)
- Autocorrect / typo replacement support
- Autofill support for text fields, including filling from saved passwords one field at a time
- Support automatic sizing for Auto Layout–based views together with supporting explicit remeasurement via
rememberUIKitInteropRemeasureRequester()+Modifier.remeasureRequester(...)withUIKitInteropRemeasureRequester.requestRemeasure()for propagating UIKit-side size changes to Compose #2797
Desktop
- New compile-time warnings for invalid ui/menu composable mixing that previously failed only at runtime #2777
Web
- Add
isClearFocusOnMouseDownEnabledinComposeViewportConfigurationto configure the focus behaviour on mouse press #2781
Gradle Plugin
- Add a compatibility check for skiko libraries to ensure consistency #5541
Fixes
iOS
- Fix traffic lights overlapping content on iPad by adopting the new iOS 26
LayoutRegionAPI #2555 - The haptic feedback when selecting text now works closer to the way it does with iOS text fields #2786
Desktop
- Correctly react to numpad arrows,
NumPadPageUp,NumPadPageDown,NumPadHomeandNumPadEndkeys in text fields #2800 - (prerelease fix) Fixed a11y crash when focused element is removed #2803
- Match key modifiers exactly (without ignoring the state of other modifiers) when determining the corresponding text field action/command. This also fixes inputting 'a' and 'z' diacritics (e.g. 'ą' and 'ż') in text fields on Windows #2804
- Fix the condition for hiding the tooltip in a
TooltipAreaon a pointer-exit event while the pointer is still inside the area #2798 - (prerelease fix) Fix black rectangle remaining after removing/hiding
SwingPanel#2821 - Some key shortcuts (e.g. shift-backspace, shift-delete on macOS) that previously didn't work in text fields now perform the correct action #2827
Web
- (pre-release) Make canvas focused so it receives key events (e.g. ESC) #2796
- Unified touch and pointer event handling for better consistency and performance on Web #2799
- Fix Magic mouse behaviour in Safari and Firefox #2811
Components
Gradle plugin
org.jetbrains.compose version 1.11.0-alpha04
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.11.0-alpha04 |
Runtime 1.11.0-alpha06 |
| UI | org.jetbrains.compose.ui:ui*:1.11.0-alpha04 |
UI 1.11.0-alpha06 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.11.0-alpha04 |
Foundation 1.11.0-alpha06 |
| Material | org.jetbrains.compose.material:material*:1.11.0-alpha04 |
Material 1.11.0-alpha06 |
| Material3 | org.jetbrains.compose.material3:material3*:1.11.0-alpha04 |
Material3 1.5.0-alpha15 |
| Material3 Adaptive | org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha06 |
Material3 Adaptive 1.3.0-alpha09 |
| Lifecycle | org.jetbrains.androidx.lifecycle:lifecycle-*:2.11.0-alpha01 |
Lifecycle 2.11.0-alpha01 |
| Navigation | org.jetbrains.androidx.navigation:navigation-*:2.9.2 |
Navigation 2.9.7 |
| Navigation3 | org.jetbrains.androidx.navigation3:navigation3-*:1.1.0-alpha04 |
Navigation3 1.1.0-alpha05 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.1.0-alpha01 |
Navigation Event 1.1.0-alpha01 |
| 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.2
Changes since 1.10.1
No Compose Multiplatform specific changes
Components
Gradle plugin
org.jetbrains.compose version 1.10.2
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.10.2 |
Runtime 1.10.4 |
| UI | org.jetbrains.compose.ui:ui*:1.10.2 |
UI 1.10.4 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.10.2 |
Foundation 1.10.4 |
| Material | org.jetbrains.compose.material:material*:1.10.2 |
Material 1.10.4 |
| 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-beta01 |
Lifecycle 2.10.0 |
| Navigation | org.jetbrains.androidx.navigation:navigation-*:2.9.2 |
Navigation 2.9.7 |
| Navigation3 | org.jetbrains.androidx.navigation3:navigation3-*:1.0.0-alpha06 |
Navigation3 1.0.0 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.1 |
Navigation Event 1.0.2 |
| 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.11.0-alpha03
Changes since 1.11.0-alpha02
Migration Notes
Multiple Platforms
navigation-runtime,navigation-commonno longer provideandroidx.collectionas anapitransitive dependency. If your project doesn't compile with unresolvedandroidx.collection...classes addimplementation("androidx.collection:collection:1.5.0"). This change is required to avoid differences with the original Jetpack libraries and allow reusing the same code without additional changes needed #2749- Kotlin 2.3 is required for native and web platforms #2755
iOS
parallelRenderingflag now enabled by default #2732
Features
iOS
- Add support for tvOS Siri Remote button events (Select, Menu, Play/Pause) #2717
Desktop
singleWindowApplicationcontent's receiver now subclassesApplicationScopetoo, allowing to programmatically exit the app #2703
Fixes
iOS
- Fix crash when manually posting
UIKeyboardWillHideNotificationwithoutuserInfo#2713 - Fix an ability to use
scrollsToTopfor nativeUIScrollViews #2705 - (prerelease fix) Fix an issue where manually overriding the user interface style does not propagate properly to the
LocalSystemTheme#2735 - Fix crash in
MetalRedrawerthat occurs whenPopuporDialogbox opens and closes quickly #2756 - Fix hit test for Accessibility Elements #2760
- Fix crashes when
parallelRenderingis enabled #2732 - Fix issues with custom context menu items on iOS 15 or earlier #2771
Desktop
- Fix accessibility focus continuing to highlight a removed element #2695
- [macOS] Fix Wubi input for
(Basic)TextField(TextFieldValue)#2722 - [macOS, accessibility] Fix VoiceOver sometimes "clicking" the wrong button when a button click is triggered by the user #2720
- #2680
- Fix
TextFieldaccessibility issue wherecontentDescriptionwas ignored by screen readers (VoiceOver).TextFieldnow properly usescontentDescriptionas the accessible name/label, making forms usable with assistive technologies #2680 - The coroutine context of
launchApplicationandawaitApplicationis now correctly used in windows and dialogs of the application #2742 - (prerelease fix) Fix
SwingPanelnot being visible at all #2751 - Fix an issue with "Pinyin - Simplified" input in
BasicTextField(TextFieldState)when the temporary (composed) english text was not removed when the composition is committed #2763 - Fix incorrect pointer Enter/Move events sometimes being sent immediately following the mouse pointer exiting the compose scene #2750
- (prerelease fix) Bump Compose Hot Reload to 1.1.0-alpha05 #5530
Web
- Adjust HTML hierarchy for proper interop container location outside the shadow DOM #2710
- Fix mouse wheel scrolling on web by accounting for screen density #2724
- Ignore duplicate mouse events following touch events on web to avoid unintended clicks #2741
- Fix Apple Magic mouse behavior #2748
- Fix too early tap detection on web during scrolling #2753
- Fix sudden scroll stops during fast gestures #2759
- Support cursor control using space bar sliding gesture on Android Web #2762
- Fix scrolling sudden stops or speed-ups in web apps #2764
- Improvements of the Web scroll behavior #2766
Components
Gradle plugin
org.jetbrains.compose version 1.11.0-alpha03
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.11.0-alpha03 |
Runtime 1.11.0-alpha05 |
| UI | org.jetbrains.compose.ui:ui*:1.11.0-alpha03 |
UI 1.11.0-alpha05 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.11.0-alpha03 |
Foundation 1.11.0-alpha05 |
| Material | org.jetbrains.compose.material:material*:1.11.0-alpha03 |
Material 1.11.0-alpha05 |
| Material3 | org.jetbrains.compose.material3:material3*:1.11.0-alpha03 |
Material3 1.5.0-alpha14 |
| Material3 Adaptive | org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha05 |
Material3 Adaptive 1.3.0-alpha08 |
| Lifecycle | org.jetbrains.androidx.lifecycle:lifecycle-*:2.10.0-alpha08 |
Lifecycle 2.10.0 |
| Navigation | org.jetbrains.androidx.navigation:navigation-*:2.9.2 |
Navigation 2.9.7 |
| Navigation3 | org.jetbrains.androidx.navigation3:navigation3-*:1.1.0-alpha03 |
Navigation3 1.1.0-alpha04 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.1 |
Navigation Event 1.0.2 |
| 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.1
Changes since 1.10.0
Fixes
Multiple Platforms
- Improved the deprecation message for
compose.materialIconsExtendedto explain that the artifact is pinned to version1.7.3and suggest migration to Material Symbols #5521
iOS
- Fix possible text styles cache corruption (text color is sometimes randomly black) #2630
- Fix an issue where fonts and icons may become corrupted #2693
- Fix an issue where the first frame may not be rendered on Compose container appearance #2692
- Fix the crash that may occur when the Compose container disposes #2691
Web
- Fix
Ctrl/Cmd + C(copy) event handling for the selected text wrapped inSelectionContainer#2701 - Fix mouse wheel scrolling on web by accounting for screen density #2725
Resources
- Fixes an issue where web resources failed to load when calling the Cache Storage API with unsupported protocols (e.g., vscode-webview: in VS Code webviews) #5518
Components
Gradle plugin
org.jetbrains.compose version 1.10.1
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.10.1 |
Runtime 1.10.2 |
| UI | org.jetbrains.compose.ui:ui*:1.10.1 |
UI 1.10.2 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.10.1 |
Foundation 1.10.2 |
| Material | org.jetbrains.compose.material:material*:1.10.1 |
Material 1.10.2 |
| 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.2 |
Navigation 2.9.7 |
| Navigation3 | org.jetbrains.androidx.navigation3:navigation3-*:1.0.0-alpha06 |
Navigation3 1.0.0 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.1 |
Navigation Event 1.0.2 |
| 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.11.0-alpha02
Changes since 1.11.0-alpha01
Known Issues
Desktop
- [macOS]
SwingPaneldoesn't render #2669
Migration Notes
iOS
- Compose Multiplatform doesn't support Apple x86_64 targets anymore due to deprecation in Kotlin #5514
Web
- Renamed
WebElementViewtoHtmlElementViewto better reflect its HTML-specific purpose #2636 WebElementViewhas been deprecated in favor ofHtmlElementView#2641
Navigation
- A deprecated
suspend fun Window.bindToNavigationmethod has been removed #2675
Features
iOS
- Added a new
ComposeUIViewAPI enabling Compose embedding in view hierarchy #2589 - Add ability to adjust
isClearFocusOnMouseDownEnabledin theconfigurelambda when creating Compose components #2644 - Support semantics for links in text #2649
- Popups and Dialogs now use the same interface orientation and status bar behaviour as the root view controller on the window #2686
Desktop
- Cleanup old unpacked binaries from
~/.skiko(this folder is used if the application is launched via./gradlew run). Useskiko.data.cleanup.daysto configure the retention period in days #2645 - It is now possible to configure the mouse-wheel propagation-to-parent behavior per
ComposePanelviaComposePanel.redispatchUnconsumedMouseWheelEventsflag #2659 - [Linux] Improve window dragging experience when using
WindowDraggableAreaon Linux with JetBrains Runtime #2674 - (prerelease fix) Compose 1.11 pre-release versions come with pre-release versions of Compose Hot Reload 1.1 now #5502
Navigation
- Add
unveilInandveilOutanimations to default iOS transition specs in Navigation3 #2655
Fixes
Multiple Platforms
- Fixed exception thrown when using
BulletswithEmunits #2667 - Fix window insets consumption in system window insets padding modifiers #2665
iOS
- Fix ability to place Compose inside the SwiftUI
Formview #2589 - Fix the traversal order of accessibility nodes where a parent node may follow its child node #2643
- Fix crash when closing popup simultaneously with back navigation #2651
- Fix the issue where the keyboard may focus on the wrong container and become stuck #2652
- Fix the crash that may occur when the Compose container disposes #2672
- Fix issue where the first frame may not be rendered on Compose container appearance #2683
- Fix an issue where fonts and icons may become corrupted #2684
Desktop
- [A11y, Windows] Fixed the accessibility hierarchy, allowing NVDA traversal commands to work correctly #2637
- [A11y] Correctly report focused status of a newly created, but already focused, node #2637
- [A11y] Correctly re-report focused state of focused node when the Compose container becomes focused, such as when the window is brought to the foreground #2637
- (prerelease fix) [Windows] Don't fallback to Software rendering on some non-DX12 compatible GPUs (for example, Parallels Virtual GPU) #2645
org.jetbrains.compose.ui:ui-testno longer depends oncom.google.truth:truth#2648- [macOS] Fixed Crash: Failed assertion when MTLTextureDescriptor is greater than the maximum allowed size #2669
- Fixed
ComposePaneldrawing the background that was set on it #2670 - (prerelease fix) Fixed VoiceOver highlighting the entire Compose content and calling it "JavaAxIgnore" when using a composable
Window#2678 - Fixed
JPopupContextMenuRepresentationto correctly recreate the menu when thecreateMenuargument changes #2702
Web
- Fix
Ctrl/Cmd + C(copy) event handling for the selected text wrapped inSelectionContainer#2700
Resources
- Fixes an issue where web resources failed to load when calling the Cache Storage API with unsupported protocols (e.g., vscode-webview: in VS Code webviews) #5516
Gradle Plugin
- Corrected version validation for MacOS
CFBundleVersion. The major version may now be 0 #5504
Components
Gradle plugin
org.jetbrains.compose version 1.11.0-alpha02
Libraries
| Library group | Coordinates | Based on Jetpack |
|---|---|---|
| Runtime | org.jetbrains.compose.runtime:runtime*:1.11.0-alpha02 |
Runtime 1.11.0-alpha03 |
| UI | org.jetbrains.compose.ui:ui*:1.11.0-alpha02 |
UI 1.11.0-alpha03 |
| Foundation | org.jetbrains.compose.foundation:foundation*:1.11.0-alpha02 |
Foundation 1.11.0-alpha03 |
| Material | org.jetbrains.compose.material:material*:1.11.0-alpha02 |
Material 1.11.0-alpha03 |
| Material3 | org.jetbrains.compose.material3:material3*:1.11.0-alpha02 |
Material3 1.5.0-alpha12 |
| Material3 Adaptive | org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha04 |
Material3 Adaptive 1.3.0-alpha06 |
| Lifecycle | org.jetbrains.androidx.lifecycle:lifecycle-*:2.10.0-alpha08 |
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-alpha02 |
Navigation3 1.1.0-alpha02 |
| Navigation Event | org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.0 |
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
Changes since 1.9.3
See also What's new.
Highlights
Multiple Platforms
androidx.compose.ui.tooling.preview.Previewannotation is now available fromcommonMainsource set #2424
Desktop
- Compose Hot Reload Gradle plugin is bundled with the Compose Gradle plugin and is enabled for Kotlin version 2.1.20 or higher (no need to configure it separately) #5444
Navigation
- Provide required
NavigationEventDispatcherOwnerfor a correct Navigation3 support #2382
Breaking Changes
iOS
- Align
@Composableattribute inWindowInsets.Companion.captionBarto other platforms #2258
Migration Notes
Multiple Platforms
- The pre‑1.7 workaround in the common
PopupProperties/DialogPropertiesconstructors (annotatedDeprecated(HIDDEN)since 1.7) has been removed. This change may formally affect binary compatibility. Although we are not aware of concrete cases, if your project depends on third‑party libraries that reference this constructor, please update those dependencies to versions compatible with this release #2303 - Kotlin 2.2 is required for native and web platforms #2357
- Remove experimental annotation from
usePlatformInsets,useSoftwareKeyboardInsetandscrimColorinDialogProperties#2495 - Remove experimental annotation from
usePlatformDefaultWidth,usePlatformInsetsinPopupProperties#2495 - Deprecation level of
Popupoverloads withoutPopupPropertiesparameter changed fromWARNINGtoERROR#2495 widgets-gallerysample has been removed in favor of the interactive API reference #5365- Deprecate
org.jetbrains.compose.ui.tooling.preview.Previewannotation in favor ofandroidx.compose.ui.tooling.preview.Previewto reduce variety of Preview annotations #5453 - 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
iOS
- Remove experimental annotation from
LocalUIView#2478 - Removed deprecated since 1.8.0
defaultUIKitMain(). Please follow up-to-date guidelines to create an iOS application #2578
Desktop
- Deprecate
androidx.compose.desktop.ui.tooling.preview.Previewannotation in favor ofandroidx.compose.ui.tooling.preview.Previewto reduce variety of Preview annotations #2474 - Removed IntelliJ plugin sample, please refer to Jewel documentation instead #5368
Features
Multiple Platforms
- Update skia to m138 (see release notes) #2304
- Provide
LocalLifecycleOwnerinsiderunComposeUiTestby default #2400
iOS
- Add support for
WindowInsetsRulers#2258 - Support automatic scrolling for Full Keyboard Access #2222
- Support custom menu items for text context menu #2324
- Add API to configure
UIResponder.inputViewwithPlatformImeOptions#2350 - Add API to configure
UIResponder.inputAccessoryViewwithPlatformImeOptions#2350 - Add API to configure
UITextInputTraits.writingToolsBehaviorwithPlatformImeOptions#2435 - Add support for self-sizing of UIKit interop views in Compose #2485
- Add experimental
UIKitInteropProperties.placedAsOverlayflag, 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
Desktop
- Added
modalityTypeparameter toDialogWindow()#2300 - The Compose entry points on the desktop (
ComposeWindow,ComposePanelandImageComposeScene) now exposeval semanticsOwners: Collection<SemanticsOwner>#2358 - Experimental
-Dskiko.gpu.resourceCacheLimitVM property is introduced to limit GPU resource cache used for one window (default is 256M) #2422
Web
- Esc button calls back navigation event on the web now #2499
Resources
- Add
setResourceReaderAndroidContextto configure Android context in cases when a provider initialization is not available #5434
Lifecycle
- Publish multiplatform
lifecycle-viewmodel-navigation3library #2476
Navigation
- Basic support of the navigation3 library #2436
- Published
org.jetbrains.compose.material3.adaptive:adaptive-navigation3library #2516 - Add a new configuration option in
ComposeUIViewControllerto set end-edge gestures behavior #2519
HTML
- Add support of
importantkeyword for CSS properties #5439
Fixes
Multiple Platforms
- Fix application of
baselineShiftparameter in text layout #2304 - Fix setting
lineHeightto0in text layout #2304 - Align
roundToPx()behavior between platforms:NaNvalue produces0instead ofIllegalArgumentExceptionon non-JVM platforms now #2526 - Added previously missing
ExperimentalComposeUiApiannotation to platform-specificDragAndDropTransferData,DragAndDropEventandClipEntryconstructors 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 - Fixed
LocalInputModeManager.current.inputModenot being reset between tests #2548 - Fix crash when selecting text that only contains inline content #2600
- Fix possible corruption of the layout nodes tree #2611
iOS
- Fix incorrect behavior of
WindowInsets.displayCutoutin different interface orientations #2301 - Fix incorrect behavior of
WindowInsets.displayCutouton iPad #2301 - Fix the ability to use UIKitViewController inside
Popups andDialogs #2270 - Fix Accessibility announcing the old state of component #2327
- Align the semantics of TextFields with iOS text inputs #2331
- Clear
TextFieldfocus when another view becomes first responder #2337 - Fix crash when
parallelRenderingis enabled #2448 - Fix text context menu interaction on
Popups andDialogs #2434 - Fix crash when dragging two Scrollable components with two fingers [#2456](https://github.com/JetBrains/compose-multiplatform...