Update dependency org.jetbrains.compose to v1.10.0 #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.7.3→1.10.0Release Notes
JetBrains/compose-jb (org.jetbrains.compose)
v1.10.0Changes since 1.9.3
See also What's new.
Highlights
Multiple Platforms
androidx.compose.ui.tooling.preview.Previewannotation is now available fromcommonMainsource set #2424Desktop
Navigation
NavigationEventDispatcherOwnerfor a correct Navigation3 support #2382Breaking Changes
iOS
@Composableattribute inWindowInsets.Companion.captionBarto other platforms #2258Migration Notes
Multiple Platforms
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 #2303usePlatformInsets,useSoftwareKeyboardInsetandscrimColorinDialogProperties#2495usePlatformDefaultWidth,usePlatformInsetsinPopupProperties#2495Popupoverloads withoutPopupPropertiesparameter changed fromWARNINGtoERROR#2495widgets-gallerysample has been removed in favor of the interactive API reference #5365org.jetbrains.compose.ui.tooling.preview.Previewannotation in favor ofandroidx.compose.ui.tooling.preview.Previewto reduce variety of Preview annotations #5453compose.ui) are now deprecated. Use provided direct artifact coordinates and add them to the version catalog #5462iOS
LocalUIView#2478defaultUIKitMain(). Please follow up-to-date guidelines to create an iOS application #2578Desktop
androidx.compose.desktop.ui.tooling.preview.Previewannotation in favor ofandroidx.compose.ui.tooling.preview.Previewto reduce variety of Preview annotations #2474Features
Multiple Platforms
LocalLifecycleOwnerinsiderunComposeUiTestby default #2400iOS
WindowInsetsRulers#2258UIResponder.inputViewwithPlatformImeOptions#2350UIResponder.inputAccessoryViewwithPlatformImeOptions#2350UITextInputTraits.writingToolsBehaviorwithPlatformImeOptions#2435UIKitInteropProperties.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 #2501Desktop
modalityTypeparameter toDialogWindow()#2300ComposeWindow,ComposePanelandImageComposeScene) now exposeval semanticsOwners: Collection<SemanticsOwner>#2358-Dskiko.gpu.resourceCacheLimitVM property is introduced to limit GPU resource cache used for one window (default is 256M) #2422Web
Resources
setResourceReaderAndroidContextto configure Android context in cases when a provider initialization is not available #5434Lifecycle
lifecycle-viewmodel-navigation3library #2476Navigation
org.jetbrains.compose.material3.adaptive:adaptive-navigation3library #2516ComposeUIViewControllerto set end-edge gestures behavior #2519HTML
importantkeyword for CSS properties #5439Fixes
Multiple Platforms
baselineShiftparameter in text layout #2304lineHeightto0in text layout #2304roundToPx()behavior between platforms:NaNvalue produces0instead ofIllegalArgumentExceptionon non-JVM platforms now #2526ExperimentalComposeUiApiannotation 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 #2538LocalInputModeManager.current.inputModenot being reset between tests #2548iOS
WindowInsets.displayCutoutin different interface orientations #2301WindowInsets.displayCutouton iPad #2301Popups andDialogs #2270TextFieldfocus when another view becomes first responder #2337parallelRenderingis enabled #2448Popups andDialogs #2434UIScenenotifications #2472WindowInfo.isWindowFocusedproperty when the window's state changes #2482onKeyEventhandling whenFull Keyboard Accessis enabled #2494DialogwhenLocalDensityis modified #2527NSRangeExceptionon back gesture #2605DialogandPopupwhen the Full Keyboard Mode is enabled #2606SemanticNodeis not attached #2616Desktop
compose.layers.type=WINDOWstealing focus #2285ComposePanel.getPreferredSizeto return 0x0 instead ofnull#2283ComposePanelin some cases #2289compose.layers.typemodes, fixPopup/Dialogcontainer size calculation that prevents mouse interactions on base compose scene #2304compose.layers.type=COMPONENTis used #2305SwingPanelno longer requires to be manually sized to a fixed value; it will size according to its content's min/pref/max sizes #2310ComposePanelnot initially focusing the first focusable node, when running in JetBrains Runtime JVM #2384RenderSettings.SwingGraphicson Linux" #2422"compose.swing.redispatchMouseWheelEvents"to"false"#2425SwingPanelblocking mouse wheel scroll events from going to its parent #2486isTraversalNodesemantics are now ordered according to theirtraversalIndex#2544[MTLTextureDescriptorInternal validateWithDevice:]crash when using zero-sizeComposePanelwithcompose.swing.render.on.graphics=true#2585Web
ontouchendevents #2490Resources
getStringand the Locale has no region specified #5447Navigation
SavedState
HasDefaultViewModelProviderFactoryimplementation now, and it provides an ability to usecreateSavedStateHandle()function without a navigation library #2554Components
Gradle plugin
org.jetbrains.composeversion1.10.0Libraries
org.jetbrains.compose.runtime:runtime*:1.10.0org.jetbrains.compose.ui:ui*:1.10.0org.jetbrains.compose.foundation:foundation*:1.10.0org.jetbrains.compose.material:material*:1.10.0org.jetbrains.compose.material3:material3*:1.10.0-alpha05org.jetbrains.compose.material3.adaptive:adaptive*:1.3.0-alpha02org.jetbrains.androidx.lifecycle:lifecycle-*:2.10.0-alpha06org.jetbrains.androidx.navigation:navigation-*:2.9.1org.jetbrains.androidx.navigation3:navigation3-*:1.0.0-alpha06org.jetbrains.androidx.navigationevent:navigationevent-compose:1.0.0org.jetbrains.androidx.savedstate:savedstate*:1.4.0org.jetbrains.androidx.window:window-core:1.5.1v1.9.3Changes since 1.9.2
Fixes
iOS
Gradle Plugin
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.0Compose Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.2.0. Based on Jetpack Compose Material3 Adaptive 1.2.0Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.6. Based on Jetpack Lifecycle 2.9.4Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.1. Based on Jetpack Navigation 2.9.4Savedstate library
org.jetbrains.androidx.savedstate:savedstate*:1.3.6. Based on Jetpack Savedstate 1.3.3WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0. Based on Jetpack WindowManager 1.4.0v1.9.2Changes since 1.9.1
Fixes
Multiple Platforms
savedstate-composedue to redirects to Google'sruntime-saveablethat supports all KMP platforms #2503Web
Canvaselement when it's focused #2450Dependencies
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.0Compose Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.2.0. Based on Jetpack Compose Material3 Adaptive 1.2.0Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.5. Based on Jetpack Lifecycle 2.9.4Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.1. Based on Jetpack Navigation 2.9.4Savedstate library
org.jetbrains.androidx.savedstate:savedstate*:1.3.5. Based on Jetpack Savedstate 1.3.3WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0. Based on Jetpack WindowManager 1.4.0v1.9.1Changes 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: #5441Fixes
iOS
PlatformImeOptionsImplnot being@Immutable#2413Desktop
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"#2438Dependencies
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.0Compose Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.2.0-alpha05. Based on Jetpack Compose Material3 Adaptive 1.2.0-alpha10Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.5. Based on Jetpack Lifecycle 2.9.4Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.1. Based on Jetpack Navigation 2.9.4Savedstate library
org.jetbrains.androidx.savedstate:savedstate:1.3.5. Based on Jetpack Savedstate 1.3.3WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0. Based on Jetpack WindowManager 1.4.0v1.9.0Changes since 1.8.2
See also What's new.
Highlights
Web
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 #2145Migration Notes
Multiple Platforms
compose.material3now points to the latest stable Material3 version, 1.8.2. If the latest Material3 features are needed, please include it this way: #5360org.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 #2276iOS
UIKitInteropInteractionMode#2215Desktop
WindowandDialogWindowoverloads that create aComposeWindow/ComposeDialoghave been renamed toSwingWindow/SwingDialogand the old versions have been deprecated #2141LayoutCoordinates.positionOnScreen()) will returnOffset.Unspecified#2163Modifier.mouseClickableis removed. See https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-desktop-mouse-events.html for alternatives #2194Web
fun ComposeViewportwithviewportContainerId: String?parameter now can be called from a web-commonfun main(k/js and k/wasm) #2226CanvasBasedWindowis 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#2280org.jetbrains.compose.experimental.jscanvas.enabled=trueis not required anymore when having a kotlin/js target #5340Gradle Plugin
org.jetbrains.compose.compileris not supported anymore and the API to configure it was removed #5283Features
Multiple Platforms
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@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 #5339iOS
PlatformImeOptions#2108keepScreenOnmodifier #2180Desktop
Switch, reporting it as a checkbox #2136SwingFrameandSwingDialogcomposables that allow configuring the window/dialog before it is shown #2139AnnotatedStringis available as a data flavor inClipEntry, instead of only its text #2092RenderSettings.SwingGraphicsoption forComposePanel.renderSettingsargument #2071ComposePanel,ComposeWindowandComposeDialognow hassavedStateconstructor parameter to restore previous state andsaveStatefunction to save the current state for later use #2225Web
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 #5375Resources
JvmResourceReaderAPI and madeLocalResourceReaderpublic to allow providing a custom classloader for desktop target #5334Navigation
NavController-suspend fun NavController.bindToBrowserNavigation. And the existing functionsuspend fun Window.bindToNavigationis deprecated now #2189Fixes
Multiple Platforms
ExperimentalMaterial3ExpressiveApiannotation removed from no-longer-experimental API #2298iOS
Desktop
ComposePanelwithSystem.setProperty("compose.swing.render.on.graphics", "true")#2097Offset.Unspecifiedinstead of throwing an exception inLayoutCoordinates.localToScreenandLayoutCoordinates.screenToLocal#2160Modifier.onGloballyPositionedwill be called #2163BasicTextField(TextFieldState)#2168SemanticsProperties.TextandSemanticsProperties.ContentDescriptionvalues will now be correctly concatenated whenModifier.semantics(mergeDescendants = true)is used #2202SwingPanelchildren ofComposePanel, when the compose panel is itself removed from the hierarchy #2277runReleasetask when navigation andobfuscate.set(true)are used #5384Web
START/STOPevents on thevisibilitychangecallback now #2219ON_RESUMEbecause Safari ignores interactions and doesn't request the focus #2219Gradle Plugin
TargetFormat.AppImageis specified intargetFormatson macOS #5332Dependencies
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-beta03Compose Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.2.0-alpha06. Based on Jetpack Compose Material3 Adaptive 1.2.0-alpha11Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.4. Based on Jetpack Lifecycle 2.9.2Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0. Based on Jetpack Navigation 2.9.1Savedstate library
org.jetbrains.androidx.savedstate:savedstate:1.3.4. Based on Jetpack Savedstate 1.3.1WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0. Based on Jetpack WindowManager 1.4.0v1.8.2Changes 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) #2130Fixed a memory leak and performance degradation when
ComposeUiFlags.isRectTrackingEnabledset totrue(by default) #2123Fixed 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:
Desktop
1.0#2158Navigation
NavHostis located in a scrollable container #2146Dependencies
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.1Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.1.2. Based on Jetpack Material3 Adaptive 1.1.0Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0-beta03. Based on Jetpack Navigation 2.9.0Savedstate library
org.jetbrains.androidx.savedstate:savedstate:1.3.1. Based on Jetpack Savedstate 1.3.0WindowManager Core library
org.jetbrains.androidx.window:window-core:1.4.0-alpha07. Based on Jetpack WindowManager 1.4.0-alpha04v1.8.1Changes since 1.8.0
Features
Resources
Resclass name #5296Fixes
Multiple Platforms
iOS
androidx.compose.material3.ModalBottomSheetcloses after any tap #2086ComposeUIViewControllerwhen text input starts #2088UIKitViewControllerinsidePopuporDialog#2102Desktop
svgPainterdoesn't show any images #2096BroadcastFrameClock.lockandRecomposer.stateLock#2098androidx.navigationand running./gradlew runRelease#5314kotlinx.serializationProGuard rules are bundled in the Compose Gradle plugin #5314Web
Resources
Dependencies
Gradle Plugin
org.jetbrains.compose, version1.8.1. Based on Jetpack Compose libraries:Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.0. BaseConfiguration
📅 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.
This PR was generated by Mend Renovate. View the repository job log.