Highlights
Multiple Platforms
widgets-gallery
sample has been removed in favor of the interactive API reference #5365
Breaking Changes
iOS
- Align
@Composable
attribute inWindowInsets.Companion.captionBar
to other platforms #2258
Migration Notes
Multiple Platforms
- The pre‑1.7 workaround in the common
PopupProperties
/DialogProperties
constructors (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
Desktop
Features
Multiple Platforms
- Update skia to m138 (see release notes) #2304
- The new context menu is enabled by default on all platforms now. It still might be disabled via
ComposeFoundationFlags.isNewContextMenuEnabled
flag in case of issues #2341 - Provide public API for
@ResourceContentHash
annotation generation #5402
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.inputView
withPlatformImeOptions
#2350 - Add API to configure
UIResponder.inputAccessoryView
withPlatformImeOptions
#2350
Desktop
- Added
modalityType
parameter toDialogWindow()
#2300 - The Compose entry points on the desktop (
ComposeWindow
,ComposePanel
andImageComposeScene
) now exposeval semanticsOwners: Collection<SemanticsOwner>
#2358
Fixes
Multiple Platforms
- Fix application of
baselineShift
parameter in text layout #2304 - Fix setting
lineHeight
to0
in text layout #2304
iOS
- Fix incorrect behavior of
WindowInsets.displayCutout
in different interface orientations #2301 - Fix incorrect behavior of
WindowInsets.displayCutout
on iPad #2301 - Fix the ability to use UIKitViewController inside
Popup
s andDialog
s #2270 - Fix Accessibility announcing the old state of component #2327
- Align the semantics of TextFields with iOS text inputs #2331
- Fix crash when removing characters after string replacement #2361
Desktop
- Fix non-focusable popup with
compose.layers.type=WINDOW
stealing focus #2285 - Change
ComposePanel.getPreferredSize
to return 0x0 instead ofnull
#2283 - Request initial focus for focusable popups when used from
ComposePanel
in some cases #2289 - In experimental
compose.layers.type
modes, fixPopup
/Dialog
container size calculation that prevents mouse interactions on base compose scene #2304 - Fixed the sizing of unfocusable layers when
compose.layers.type=COMPONENT
is used #2305 SwingPanel
no longer requires to be manually sized to a fixed value; it will size according to its content's min/pref/max sizes #2310- Made disabled new context menu items actually disabled, including the right semantics #2347
Web
- Fix the issue where deleting a word in the middle of a sentence also affects the word next to it #2372
Gradle Plugin
- Support
AGP 9.0.0
#5391 - (prerelease fix) Fix composeCompatibilityBrowserDistribution task lazy configuration #5398
Dependencies
-
Gradle Plugin
org.jetbrains.compose
, version1.10.0-alpha01
. Based on Jetpack Compose libraries: -
Compose Material3 libraries
org.jetbrains.compose.material3:material3*:1.10.0-alpha01
. Based on Jetpack Compose Material3 1.5.0-alpha03 -
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.10.0-alpha01
. Based on Jetpack Lifecycle 2.10.0-alpha03 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0-rc01
. Based on Jetpack Navigation 2.9.1 -
Savedstate library
org.jetbrains.androidx.savedstate:savedstate:1.4.0-alpha01
. Based on Jetpack Savedstate 1.4.0-alpha03 -
WindowManager Core library
org.jetbrains.androidx.window:window-core:1.5.0-alpha01
. Based on Jetpack WindowManager 1.5.0-beta02