github JetBrains/compose-multiplatform v1.10.0-alpha01
1.10.0-alpha01

latest releases: v1.9.0+dev2908, v1.9.0+dev2893, v1.10.0+dev2904...
pre-release2 days ago

Highlights

Multiple Platforms

Breaking Changes

iOS

  • Align @Composable attribute in WindowInsets.Companion.captionBar to other platforms #2258

Migration Notes

Multiple Platforms

  • The pre‑1.7 workaround in the common PopupProperties/DialogProperties constructors (annotated Deprecated(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

  • Removed IntelliJ plugin sample, please refer to Jewel documentation instead #5368

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 with PlatformImeOptions #2350
  • Add API to configure UIResponder.inputAccessoryView with PlatformImeOptions #2350

Desktop

  • Added modalityType parameter to DialogWindow() #2300
  • The Compose entry points on the desktop (ComposeWindow, ComposePanel and ImageComposeScene) now expose val semanticsOwners: Collection<SemanticsOwner> #2358

Fixes

Multiple Platforms

  • Fix application of baselineShift parameter in text layout #2304
  • Fix setting lineHeight to 0 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 Popups and Dialogs #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 of null #2283
  • Request initial focus for focusable popups when used from ComposePanel in some cases #2289
  • In experimental compose.layers.type modes, fix Popup/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

Don't miss a new compose-multiplatform release

NewReleases is sending notifications on new releases.