Update dependency org.jetbrains.compose to v1.9.3
Note: This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| org.jetbrains.compose | 1.7.3 -> 1.9.3 |
Release Notes
JetBrains/compose-jb (org.jetbrains.compose)
v1.9.3
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
-
Gradle Plugin
org.jetbrains.compose, version1.9.3. Based on Jetpack Compose libraries: -
Compose Material3 libraries
org.jetbrains.compose.material3:material3*:1.9.0. Based on Jetpack Compose Material3 1.4.0 -
Compose Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.2.0. Based on Jetpack Compose Material3 Adaptive 1.2.0 -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.6. Based on Jetpack Lifecycle 2.9.4 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.1. Based on Jetpack Navigation 2.9.4 -
Savedstate library
org.jetbrains.androidx.savedstate:savedstate*:1.3.6. Based on Jetpack Savedstate 1.3.3 -
WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0. Based on Jetpack WindowManager 1.4.0
v1.9.2
Changes since 1.9.1
Fixes
Multiple Platforms
- Prevent possible symbol duplicates in
savedstate-composedue to redirects to Google'sruntime-saveablethat supports all KMP platforms #​2503
Web
- Removed an outline on a
Canvaselement when it's focused #​2450 - Fix focus with Tab behaviour in Text Fields #​2452
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.9.2. Based on Jetpack Compose libraries: -
Compose Material3 libraries
org.jetbrains.compose.material3:material3*:1.9.0. Based on Jetpack Compose Material3 1.4.0 -
Compose Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.2.0. Based on Jetpack Compose Material3 Adaptive 1.2.0 -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.5. Based on Jetpack Lifecycle 2.9.4 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.1. Based on Jetpack Navigation 2.9.4 -
Savedstate library
org.jetbrains.androidx.savedstate:savedstate*:1.3.5. Based on Jetpack Savedstate 1.3.3 -
WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0. Based on Jetpack WindowManager 1.4.0
v1.9.1
Changes since 1.9.0
Migration Notes
Multiple Platforms
-
compose.material3alias from Gradle plugin now points toorg.jetbrains.compose.material3:material3:1.9.0(based on Jetpack Compose Material31.4.0), it wasorg.jetbrains.compose.material3:material3:1.8.2(based on Jetpack Compose Material31.3.2) in Compose Multiplatform1.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
PlatformImeOptionsImplnot being@Immutable#​2413 - Fix crash when removing characters after string replacement #​2361
- Fix context menu appearance for text fields with transformation #​2377
Desktop
-
ComposePanelcan 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
-
Gradle Plugin
org.jetbrains.compose, version1.9.1. Based on Jetpack Compose libraries: -
Compose Material3 libraries
org.jetbrains.compose.material3:material3*:1.9.0. Based on Jetpack Compose Material3 1.4.0 -
Compose Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.2.0-alpha05. Based on Jetpack Compose Material3 Adaptive 1.2.0-alpha10 -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.5. Based on Jetpack Lifecycle 2.9.4 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.1. Based on Jetpack Navigation 2.9.4 -
Savedstate library
org.jetbrains.androidx.savedstate:savedstate:1.3.5. Based on Jetpack Savedstate 1.3.3 -
WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0. Based on Jetpack WindowManager 1.4.0
v1.9.0
Changes since 1.8.2
See also What's new.
Highlights
Web
- Added a
WebElementViewComposable function for embedding the absolutely positioned HTML content in Compose for web target. It's supported only when usingComposeViewportentry point and it's not supported withCanvasBasedWindow, which is deprecated now #​2145 - Text context menu is supported on web platforms for both modes: mobile and desktop #​2207
- Introduce the basic support of accessibility in the web target #​2188
Migration Notes
Multiple Platforms
- Material3 versioning is decoupled for the Compose Multiplatform 1.9.* release due the upstream Jetpack Compose Material3 1.4 has not been released as stable yet #​5360
-
compose.material3now points to the latest stable Material3 version, 1.8.2. If the latest Material3 features are needed, please include it this way: #​5360implementation("org.jetbrains.compose.material3:material3:1.9.0-beta06") - [If you use
org.jetbrains.compose.material3:material3:1.9.0-beta06]kotlinx-datetimeis updated to0.7.1. If you also use it in your projects, please update it to this version to ensure compatibility #​2276
iOS
- Remove experimental attribute from
UIKitInteropInteractionMode#​2215
Desktop
-
WindowandDialogWindowoverloads that create aComposeWindow/ComposeDialoghave been renamed toSwingWindow/SwingDialogand the old versions have been deprecated #​2141 - When the window is iconified, converting to/from screen coordinates (with e.g.
LayoutCoordinates.positionOnScreen()) will returnOffset.Unspecified#​2163 - Deprecated experimental
Modifier.mouseClickableis removed. See https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-desktop-mouse-events.html for alternatives #​2194 - Kotlin 2.1 is required for all platforms including JVM (it was required only for native and web before) #​2276
Web
-
fun ComposeViewportwithviewportContainerId: String?parameter now can be called from a web-commonfun main(k/js and k/wasm) #​2226 -
CanvasBasedWindowis deprecated, useComposeViewportinstead. UnlikeCanvasBasedWindow, which expect as an input param the id to theHTMLCanvasElementthat will be used for rendering,ComposeViewportone passesparentContainer(and corresponding HTML Canvas element will be created automatically). By default such container isdocument.body#​2280 - Setting
org.jetbrains.compose.experimental.jscanvas.enabled=trueis not required anymore when having a kotlin/js target #​5340
Gradle Plugin
- The Compose Gradle plugin requires the Kotlin Gradle plugin version 2.+ now. Old
org.jetbrains.compose.compileris not supported anymore and the API to configure it was removed #​5283
Features
Multiple Platforms
- Adopted a change in
ComposeUiTestAPI. TheblockinrunComposeUiTestissuspendnow. It allows to callawaitIdleand other suspend functions. It ensures a correct execution of a test on all platforms. See the web specifics inkotlinx.coroutines.test.runTestdocumentation #​2066 - Support customizable shadows #​2183
- Extended the
@Preview(org.jetbrains.compose.ui.tooling.preview) annotation with the following parameters: name, group, widthDp, heightDp, locale, showBackground, backgroundColor. IDE (IJ or AS) will pick up these parameters in the same way it works forandroidxPreview annotations #​5339
iOS
- Add support for native IME configuration with
PlatformImeOptions#​2108 - Add support for
keepScreenOnmodifier #​2180 - Support new context menu API with default menu #​2214
- Add support for frame rate voting #​2205
- Support scroll commands with Voice Control #​2234
- Implement accessibility scroll to focused interop views #​2228
Desktop
- Add accessibility role for
Switch, reporting it as a checkbox #​2136 - Added
SwingFrameandSwingDialogcomposables that allow configuring the window/dialog before it is shown #​2139 - Full
AnnotatedStringis available as a data flavor inClipEntry, instead of only its text #​2092 - Add
RenderSettings.SwingGraphicsoption forComposePanel.renderSettingsargument #​2071 - Basic support for new context menu API #​2196
- Added experimental support for save and restore compose state.
ComposePanel,ComposeWindowandComposeDialognow hassavedStateconstructor parameter to restore previous state andsaveStatefunction to save the current state for later use #​2225
Web
- Support the new context menu API in web targets in the desktop mode #​2224
- Support of the new context menu toolbar in web mobile targets #​2251
- [js] there's no need to manually add skiko.js to the html page any more #​2264
- Introduce
composeCompatibilityBrowserDistributiontask. This task combines two prod distributions - for js and for wasm in such way so that if modern required features are not supported by the consumer browser, application switch to js mode #​5375
Resources
- Added
JvmResourceReaderAPI and madeLocalResourceReaderpublic to allow providing a custom classloader for desktop target #​5334
Navigation
- A new API was added to bind the browser navigation state with the
NavController-suspend fun NavController.bindToBrowserNavigation. And the existing functionsuspend fun Window.bindToNavigationis deprecated now #​2189
Fixes
Multiple Platforms
- Fix extra draw invalidations during scrolling (1.8 regression) #​2212
- Fix text ellipsis if there's not enough vertical space to fit all lines #​2246
- Fix "IrLinkageError: Function can not be called: No function found for symbol" #​2293
-
ExperimentalMaterial3ExpressiveApiannotation removed from no-longer-experimental API #​2298
iOS
- Fix issue where keyboard would appear after second tap when text input session was intercepted #​2049
- Change the accessibility selection to the element that has most recently been focused on #​2217
- Fix Full Keyboard Access on iOS 17 and lower #​2216
- Fixes the appearance of the keyboard when a pop-up or dialog on the background is dismissed #​2240
- Do not flatten accessibility tree inside accessibility elements #​2243
Desktop
- [macOS] Fix the background flashing when closing a window/dialog and an animation is running #​2058
- [macOS; JBR] Fixed the current composition in a text field being duplicated into another text field when switching focus to it #​2026
- [macOS] Fixed strange glyph being displayed in a text field if window becomes unfocused, then focused again while there's an active composition in the text field (after pressing e.g. backspace) #​2026
- [macOS] Fix showing the input method toolbar before any text field becomes focused (on JBR only; other runtimes continue to be buggy) #​2047
- Improved performance for
ComposePanelwithSystem.setProperty("compose.swing.render.on.graphics", "true")#​2097 - Fix the positioning of the IME popup being too far away from the text, on screens with density greater than 1 #​2118
- Fixed the position of the IME popup, which was below the previous, rather than the current, cursor position #​2122
- [Accessibility, macOS] Fixed VoiceOver to announce a Slider's value on every change #​2152
- Return
Offset.Unspecifiedinstead of throwing an exception inLayoutCoordinates.localToScreenandLayoutCoordinates.screenToLocal#​2160 - When the window moves or becomes iconified/de-iconified, all instances of
Modifier.onGloballyPositionedwill be called #​2163 - Implemented a context menu for
BasicTextField(TextFieldState)#​2168 -
SemanticsProperties.TextandSemanticsProperties.ContentDescriptionvalues will now be correctly concatenated whenModifier.semantics(mergeDescendants = true)is used #​2202 - Fixed the case when the IME's first event to a text field is to commit a composition #​2210
- Elements marked with Modifier.semantics { hideFromAccessibility() } should now be correctly hidden from a11y #​2204
- [macOS] Fix composite (e.g. Chinese) input after pressing backspace #​2250
- [TextField] Fixed duplication of the composed characters when moving the caret by clicking during a composition #​2255
- Correctly remove
SwingPanelchildren ofComposePanel, when the compose panel is itself removed from the hierarchy #​2277 - Fix
runReleasetask when navigation andobfuscate.set(true)are used #​5384
Web
- Fixed an unexpected back gesture after a horizontal scroll #​2186
- Mitigate a typing delay regression in Safari browsers #​2195
- Web Lifecycle triggers
START/STOPevents on thevisibilitychangecallback now #​2219 - Lifecycle fix on iOS Safari: now touch events trigger
ON_RESUMEbecause Safari ignores interactions and doesn't request the focus #​2219 - Fix software keyboard behaviour for Compose Text Fields in iOS Safari #​2260
- Fixed the bugs with composite text input #​2256
- Fixed the issue with software keyboard when it was shown repeatedly in Chrome mobile #​2279
- Fix the issue where deleting a word in the middle of a sentence also affects the word next to it #​2372
Gradle Plugin
- Don't fail gradle sync if
TargetFormat.AppImageis specified intargetFormatson macOS #​5332 - Fix codesigning on macOS when the developer id contains non-ASCII characters. Note that this requires JDK 21 or later #​5358
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.9.0. Based on Jetpack Compose libraries: -
Compose Material3 libraries
org.jetbrains.compose.material3:material3*:1.9.0-beta06. Based on Jetpack Compose Material3 1.4.0-beta03 -
Compose Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.2.0-alpha06. Based on Jetpack Compose Material3 Adaptive 1.2.0-alpha11 -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.4. Based on Jetpack Lifecycle 2.9.2 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0. Based on Jetpack Navigation 2.9.1 -
Savedstate library
org.jetbrains.androidx.savedstate:savedstate:1.3.4. Based on Jetpack Savedstate 1.3.1 -
WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0. Based on Jetpack WindowManager 1.4.0
v1.8.2
Changes since 1.8.1
Fixes
Multiple Platforms
-
Fixed
TextField(TextFieldValue)when used with a visual transformation with a non-identity offset mapping (potentially even crashing) #​2130 -
Fixed a memory leak and performance degradation when
ComposeUiFlags.isRectTrackingEnabledset totrue(by default) #​2123 -
Fixed caret placement near glyphs if glyphs are compound symbols and part of them are non-spacing marks #​2155
-
Support Preview parameters for Previews in common source sets in IJ and AS. Note: IDEs also need to implement support on their end. Please check the respective IDE release notes to confirm this is supported #​5323
Example usage:
import androidx.compose.runtime.Composable import org.jetbrains.compose.ui.tooling.preview.Preview import org.jetbrains.compose.ui.tooling.preview.PreviewParameter import org.jetbrains.compose.ui.tooling.preview.PreviewParameterProvider class MyPreviewParameterProvider : PreviewParameterProvider<String> { override val values = sequenceOf("Hello, Compose!", "Hello, World!") } /** * This function will generate two preview images with different texts. */ @​Preview @​Composable fun MyPreview(@​PreviewParameter(MyPreviewParameterProvider::class) text: String) { Text(text) }
Desktop
- Fix the positioning of the IME popup being too far away from the text, on screens with density greater than
1.0#​2158
Navigation
- Fix the browser navigation integration problem due encoded routes #​2143
- Fix a crash on iOS when a
NavHostis located in a scrollable container #​2146
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.8.2. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.1. Based on Jetpack Lifecycle 2.9.1 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.1.2. Based on Jetpack Material3 Adaptive 1.1.0 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0-beta03. Based on Jetpack Navigation 2.9.0 -
Savedstate library
org.jetbrains.androidx.savedstate:savedstate:1.3.1. Based on Jetpack Savedstate 1.3.0 -
WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0-alpha07. Based on Jetpack WindowManager 1.4.0-alpha04
v1.8.1
Changes since 1.8.0
Features
Resources
- Now a Compose library with resources may be built and used as XCFramework (it requires Kotlin Gradle plugin 2.2 or higher) #​5294
- Gradle Plugin DSL to change the generated
Resclass name #​5296
Fixes
Multiple Platforms
- Fix incorrect pointer position calculation with rotation around unspecified pivot #​2082
iOS
- Fix dialogs after modal view controller presentation #​2085
- Fix issue where
androidx.compose.material3.ModalBottomSheetcloses after any tap #​2086 - Fix context menu appearance after triple-tap #​2087
- Fix a memory leak in
ComposeUIViewControllerwhen text input starts #​2088 - Use the cross-fade animation effect when rotating the screen with interop views #​2101
- Show an error message when
UIKitViewControllerinsidePopuporDialog#​2102 - Fix an issue where the keyboard would appear after the second tap when the text input session was intercepted #​2103
Desktop
- [Linux] Fix
svgPainterdoesn't show any images #​2096 - Fix deadlock between
BroadcastFrameClock.lockandRecomposer.stateLock#​2098 - Fix "Serializer for class is not found" using
androidx.navigationand running./gradlew runRelease#​5314 -
kotlinx.serializationProGuard rules are bundled in the Compose Gradle plugin #​5314
Web
- Fixed the positioning and the dimensions of the backing text input (HTML element). The bug used to lead to unexpected scrolls on the page due to the browser trying to bring the HTML element into a view #​2081
Resources
- Fix IDE highlighting/resolution when a generated file with resource accessors is too big #​5298
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.8.1. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.0. Based on Jetpack Lifecycle 2.9.0 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0-beta02. Based on Jetpack Navigation 2.9.0 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.1.1. Based on Jetpack Material3 Adaptive 1.1.0
v1.8.0
Changes since 1.7.3
Highlights
Multiple Platforms
- Compose Multiplatform codebase is fully migrated to K2. Please note that native and web klibs can be consumed only with Kotlin 2.1.0 or newer. Also, due to underlying changes in the compiler plugin, it's better to recompile libraries against the new version. Please let us know if you find any compatibility issues during this migration #​1778
- Implement multiplatform
BackHandlerandPredictiveBackHandler. And use them in material3 widgets and androidx-navigation library #​1771
iOS
- Remove experimental flag from
fun enableTraceOSLog()#​1652
Web
- Improves text input support in Safari on mobile and desktop #​1941
- Correct certain text input scenarios on Web targets #​1941
Resources
- Add
FontVariation.Settingssupport to the resources library #​5183
Breaking Changes
Tests
-
runOnIdlewill now executeactionon the UI thread aligning the behavior with Android #​1601 -
runOnIdlewill no longer callwaitForIdleafter executing the action aligning the behavior with Android #​1601 - Advancing
mainClocksuch that it doesn't reach the next frame, will no longer cause a recomposition #​1618 - IdlingResource interface was moved from commonMain to android and desktop source sets. The related experimental methods of ComposeUiTest were moved too. They are not available for Web and iOS anymore. Consider using waitUntil function as an alternative. Note: it's a breaking change only for Web and iOS, but not for Desktop and Android #​1822
Multiple Platforms
- Multiplatform lifecycle was migrated from a internal
core-bundlemodule to the androidx SavedState. Libraries that useorg.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstateororg.jetbrains.androidx.savedstate:savedstateshould migrate to the latest version #​1850 - A custom implementation for deprecated
LocalTextInputServiceis no longer supported #​1974
iOS
- Update
AccessibilitySyncOptionsand removeAccessibilityDebugLoggerfrom public API #​1604 - Remove obsolete Canvas Layers mode on iOS #​1680
- Add Composable annotation to the
WindowInsets.Companion.waterfallgetter to match the expected API #​1919
Desktop
- Deprecated/experimental
Modifier.onExternalDraghas been removed - commonModifier.dragAndDropTargetAPI should be used instead #​1606
Migration Notes
Multiple Platforms
-
Google Maven now contains some artifacts for all Kotlin targets including Wasm and JS. Compose Multiplatform now depends on those artifacts and user projects might need to add
google()repo torepositories {...}block if it is not there yet #​1819 - material/material3 libraries no longer add a dependency to
material-icons-coreso if your project relied on that, you will have to explicitly add that dependency in yourbuild.gradle[.kts]files: #​2030implementation("org.jetbrains.compose.material:material-icons-core:1.7.3")
iOS
-
LocalUIViewControllermoved to theandroidx.compose.ui.uikitmodule #​1608 -
ComposeUIViewControllerDelegatemarked as deprecated. Use the parent view controller to override the methods of theUIViewControllerclass #​1651 - Experimental classes
CupertinoScrollDecayAnimationSpecandCupertinoOverscrollEffectare removed from public API #​1806
Gradle Plugin
- The Compose Gradle Plugin requires Kotlin Gradle Plugin 2.+ version now. Old
org.jetbrains.compose.compileris not supported anymore and the API to configure it was removed #​5293
Features
Multiple Platforms
- Support configurable vertical text centering via
LineHeightStyle.Alignment#​1569 - Support Variable Fonts In All Platforms #​1623
- Update skia to m132 #​1823
- Adopt a new
Clipboardinterface with suspend functions, which work correctly on all targets including Web. TheClipboardManagerwas deprecated because it was not possible to correctly implement it for Web #​1796
iOS
- Support state announcements for scrollable lists in VoiceOver #​1644
- Support for accessibility gestures for left-to-right languages #​1663
- (Experimental)
ComposeUIViewControllerConfiguration.useSeparateRenderThreadWhenPossibleflag that allows offloading GPU commands encoding to the separate thread and improving performance #​1694 - Initial Drag&Drop support #​1690
- Align Compose components semantics with UIKit views accessibility #​1719
- Accessibility navigation uses safe area to calculate when focused rect is out of bounds #​1745
- Support VoiceControl on iOS #​1780
-
AccessibilitySyncOptionsremoved. The accessibility tree is built on demand #​1780 - Calculate the order and location of semantic elements in the same way as it's done on Android #​1809
- Support
UIAccessibilityContainerTypeSemanticGroupfor traversal groups #​1809 - Compose works correctly with nested
UIScrollViews, as well as withinUIScrollViews #​1818 - Added the ability to close modal Compose view controllers (with non-scrollable content on them) with a swipe gesture #​1818
- Support new haptic feedback types #​1831
- Support for focusable nodes when Full Keyboard Access is enabled on iOS #​1825
- Floating cursor support for
BasicTextField(TextFieldState)#​1598 - Add support for Bold Text accessibility setting #​1846
- Bhojpuri language support for VoiceOver #​1838
- Add support for Reduce Motion accessibility setting #​1847
- Default
androidx.navigationtransition animation on iOS is as close as possible to the iOS back gesture #​1861 - Support accessibility text input #​1875
- Support text input for UI Tests #​1875
- Accessibility: added ability to traverse nodes within a scrollable container #​1837
- Add ability to recreate Composable after
ComposeUIViewControllerleaves view controller hierarchy #​1877 - Support trackpad pointer input #​1893
- Save Composable state when view controller leaves view controller hierarchy #​1904
- Support text input when Full Keyboard Access is enabled #​1917
- Added native behavior for tap, long tap and multiple tap to
BasicTextField(TextFieldState)#​1923 - Magnifier support for
BasicTextField(TextFieldState)#​1926
Desktop
- Improved performance on Windows by replacing the native code compiler to Clang (in 1.8.0 comparing to 1.7.3) #​1863
- Software rendering (used on some VMs) FPS is 6.397x higher on average
- Reducing the size of a packaged application. Example https://kmp.jetbrains.com:
- the installer size is changed from 44.9 Mb to 44.1 Mb
- the installed size is changed from 107 Mb to 103 Mb
- The default ProGuard version is set to 7.7.0 #​5279
- If there are any new errors in the release build, update the ProGuard rules
- A usual workaround is to add
-keep classfor the associated with error class in "Location:" - If the error contains
androidx.package, it might a Compose bug, please report in https://youtrack.jetbrains.com/issues/CMP. The-keep classworkaround should also work in this case
Web
- Adds experimental
PointerIcon.fromKeywordfunction to change the browser cursor #​1704
Resources
- Add new API to preload and cache font and image resources on web targets:
preloadFont,preloadImageBitmap,preloadImageVector#​5159
Gradle Plugin
- Support compose resources in
androidLibrarytarget #​5157
Navigation
- Basic support a navigation by deep links #​1610
- Commonize
navController.navigate(Uri)method #​1617 - Implemented non-android
navController.handleDeepLink(NavDeepLinkRequest)method #​1617 - New API to configure browser navigation buttons and the address line #​1621
- Navigation via a browser address field #​1640
Fixes
Tests
- Clear the canvas before rendering each frame in tests, to avoid drawing different frames on top of each other, resulting in incorrect images being returned by
captureToImage#​1820
Multiple Platforms
- Fix changing
FontRenderingSettingsis not reflected until composition restarts #​1595 - The overhead for running an empty test has been significantly reduced #​1615
- Fix missing implementation on non-Android platforms for
ModalDrawerSheetoverload withDrawerStateargument #​1763 - Fix light position for during shadow rendering to match the Material specification and Android behaviour #​1754
- Fix light source position for shadow rendering to match the Material specification and Android behavior #​1784
- Fix inconsistency between Android and Desktop in
placeWithLayerscale application: offset is not scaled now (Android behavior) #​1784 - Fixed the output of
TextField(TextFieldState)(akaBasicTextField2) transformations incorrectly leeching into the untransformed text itself, when input method is used (Chinese and other languages with multi-keystroke character input) #​1833 - Fix possible
IllegalArgumentException: Object already closedduringGraphicsLayer.record#​1839 - Compose runtime module now exposes its dependency on Kotlin Coroutines API (changed from
implementation()toapi()) #​1883 - Correctly set
ScrollState.viewportSizefor (Basic)TextField(TextFieldState)#​1896 - Changes pressing backspace in a textfield to delete diacritic marks, if any, rather than the entire character #​1869
- Fixed
IllegalArgumentException: maxWidth(value) must be >= than minWidth(0)crashes when aTextFieldwithtrailingIconis too narrow #​1936 - Fixed crash when dragging selection in
TextField(TextFieldState)while also editing the text, such as by pressing Backspace #​1969 - Fix
InterceptPlatformTextInputfor the legacy TextField #​1974
iOS
- Deprecate
defaultUIKitMain()#​1585 - Fixed visibility of
androidx.compose.material3.internal.formatWithSkeletonthat was accidently marked as public #​1609 - Fix a bug where the accessibility tree did not reload when VoiceOver was enabled #​1656
- Fix Display Cutout Padding when rotating the device #​1645
- Fixes an interruption while typing characters on a Chinese keyboard #​1692
- Accessibility reading of content when obscured by layers such as pop-ups and dialogs #​1698
- Enables Cupertino Overscroll by default for scrollable components #​1753
- Experimental method
optOutOfCupertinoOverscroll()removed #​1753 - Fix iOS Accessibility element tree construction within merged nodes #​1750
- Performance issues when iOS screen reader is active fixed #​1780
- Fixed issues where the interactive pop gesture would stop working #​1818
- Fixes an issue where it's not possible to close the
UIMenuthat appears over the Compose content #​1818 - Fix touches tracking for multitouch gestures #​1827
- Fixed a bug where touches could be handled by back gesture and composable content at the same time #​1879
- Removed permissions alert when pasting text into a
TextField#​1894 - Fix crash when removing popup during scene size change animation #​1878
- Fix accessibility elements rects when
ComposeUIViewControlleris shifted #​1899 - Fixed an issue where it wasn't possible to open a popup using pointer input devices #​1906
- Fix popup safe drawing padding when
usePlatformInsets = true#​1920 - Fix an issue where Compose would retain the old state when its view was reappeared #​1921
- Fix Text Menu opening after Select All action tap #​1930
- Fix freeze where scrolling was cancelled but the overscroll effect was not completed #​1928
- Fix overscroll animation freeze when pull-to-refresh is triggered #​1932
- Fix issue where root compose canvas does not resize without animation #​1934
- Fix issue where dialog layer may not be shown #​1934
- Remove focus on accessibility nodes with clearing semantics #​1933
- Fix adding extra
MetalViewwhen Compose controller re-enters view hierarchy #​1938 - Fix the first layer appearance freeze #​1948
- Fixed text editing behavior (typing / deleting) in
BasicTextField(TextFieldState)with appliedOutputTransformation#​1953 - Fixed incorrect undo behavior for text deletion in
BasicTextField(TextFieldState)#​1956 - Fix composite input in
BasicTextField(TextFieldState)#​1984 - Fixes an issue where the accessibility engine could leave a scrollable list without reading
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.