Update dependency org.jetbrains.compose to v1.9.1 #144
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.5.12->1.9.1Release Notes
JetBrains/compose-jb (org.jetbrains.compose)
v1.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 Compose1.4.0), it wasorg.jetbrains.compose.material3:material3:1.8.2(based on Jetpack Compose1.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. Based on Jetpack Lifecycle 2.9.0Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0-beta02. Based on Jetpack Navigation 2.9.0Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.1.1. Based on Jetpack Material3 Adaptive 1.1.0v1.8.0Changes since 1.7.3
Highlights
Multiple Platforms
BackHandlerandPredictiveBackHandler. And use them in material3 widgets and androidx-navigation library #1771iOS
fun enableTraceOSLog()#1652Web
Resources
FontVariation.Settingssupport to the resources library #5183Breaking Changes
Tests
runOnIdlewill now executeactionon the UI thread aligning the behavior with Android #1601runOnIdlewill no longer callwaitForIdleafter executing the action aligning the behavior with Android #1601mainClocksuch that it doesn't reach the next frame, will no longer cause a recomposition #1618Multiple Platforms
core-bundlemodule to the androidx SavedState. Libraries that useorg.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstateororg.jetbrains.androidx.savedstate:savedstateshould migrate to the latest version #1850LocalTextInputServiceis no longer supported #1974iOS
AccessibilitySyncOptionsand removeAccessibilityDebugLoggerfrom public API #1604WindowInsets.Companion.waterfallgetter to match the expected API #1919Desktop
Modifier.onExternalDraghas been removed - commonModifier.dragAndDropTargetAPI should be used instead #1606Migration Notes
Multiple Platforms
google()repo torepositories {...}block if it is not there yet #1819material-icons-coreso if your project relied on that, you will have to explicitly add that dependency in yourbuild.gradle[.kts]files: #2030iOS
LocalUIViewControllermoved to theandroidx.compose.ui.uikitmodule #1608ComposeUIViewControllerDelegatemarked as deprecated. Use the parent view controller to override the methods of theUIViewControllerclass #1651CupertinoScrollDecayAnimationSpecandCupertinoOverscrollEffectare removed from public API #1806Gradle Plugin
org.jetbrains.compose.compileris not supported anymore and the API to configure it was removed #5293Features
Multiple Platforms
LineHeightStyle.Alignment#1569Clipboardinterface with suspend functions, which work correctly on all targets including Web. TheClipboardManagerwas deprecated because it was not possible to correctly implement it for Web #1796iOS
ComposeUIViewControllerConfiguration.useSeparateRenderThreadWhenPossibleflag that allows offloading GPU commands encoding to the separate thread and improving performance #1694AccessibilitySyncOptionsremoved. The accessibility tree is built on demand #1780UIAccessibilityContainerTypeSemanticGroupfor traversal groups #1809UIScrollViews, as well as withinUIScrollViews #1818BasicTextField(TextFieldState)#1598androidx.navigationtransition animation on iOS is as close as possible to the iOS back gesture #1861ComposeUIViewControllerleaves view controller hierarchy #1877BasicTextField(TextFieldState)#1923BasicTextField(TextFieldState)#1926Desktop
-keep classfor the associated with error class in "Location:"androidx.package, it might a Compose bug, please report in https://youtrack.jetbrains.com/issues/CMP. The-keep classworkaround should also work in this caseWeb
PointerIcon.fromKeywordfunction to change the browser cursor #1704Resources
preloadFont,preloadImageBitmap,preloadImageVector#5159Gradle Plugin
androidLibrarytarget #5157Navigation
navController.navigate(Uri)method #1617navController.handleDeepLink(NavDeepLinkRequest)method #1617Fixes
Tests
captureToImage#1820Multiple Platforms
FontRenderingSettingsis not reflected until composition restarts #1595ModalDrawerSheetoverload withDrawerStateargument #1763placeWithLayerscale application: offset is not scaled now (Android behavior) #1784TextField(TextFieldState)(akaBasicTextField2) transformations incorrectly leeching into the untransformed text itself, when input method is used (Chinese and other languages with multi-keystroke character input) #1833IllegalArgumentException: Object already closedduringGraphicsLayer.record#1839implementation()toapi()) #1883ScrollState.viewportSizefor (Basic)TextField(TextFieldState)#1896IllegalArgumentException: maxWidth(value) must be >= than minWidth(0)crashes when aTextFieldwithtrailingIconis too narrow #1936TextField(TextFieldState)while also editing the text, such as by pressing Backspace #1969InterceptPlatformTextInputfor the legacy TextField #1974iOS
defaultUIKitMain()#1585androidx.compose.material3.internal.formatWithSkeletonthat was accidently marked as public #1609optOutOfCupertinoOverscroll()removed #1753UIMenuthat appears over the Compose content #1818TextField#1894ComposeUIViewControlleris shifted #1899usePlatformInsets = true#1920MetalViewwhen Compose controller re-enters view hierarchy #1938BasicTextField(TextFieldState)with appliedOutputTransformation#1953BasicTextField(TextFieldState)#1956BasicTextField(TextFieldState)#1984LocalSoftwareKeyboardControllerinBasicTextField(TextFieldState)#1974BasicTextField(TextFieldState)#2018Desktop
Move#1683compose.swing.render.on.graphics=true#1688Dialog/Popupcreation in case ofcompose.layers.type=COMPONENTand pointingwindowContainertoComposePanelitself #1747compose.interop.blendingflag (1.7.0 regression) #1774Modifier.semantics { hideFromAccessibility() }should now be correctly hidden from a11y #1798TextField(TextFieldState)(akaBasicTextField2) #1794TextField(TextFieldState)(akaBasicTextField2) #1810Modifier.selectablewithRole.RadioButtonwill have their state reported to accessibility viaAccessibleValue.getCurrentAccessibleValue()and asAccessibleState.CHECKEDingetAccessibleStateSet()#1797SwingPanels when usingcompose.interop.blending=true#1901onRenderApiChangedinComposeWindowandComposeDialognot working when the renderer changes due to fallback, rather than explicit change #1911compose.interop.blending=truecompletely breaking Swing interop on Windows when Direct3D is unsupported. Note that interop blending is still supported on Windows only if Direct3Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, 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.