Version 1.9.0 of Compose Multiplatform marks a major step forward in its evolution as a declarative, cross-platform UI framework. With improvements in previewing, shadows, web accessibility, support for Material 3 Expressive, and new APIs for iOS and Web, this release strengthens both its visual maturity and multiplatform integration.
New parameters in @Preview
The @Preview
annotation now lets you set name, group, dimensions, language, and background โ improving the design experience in Android Studio and IntelliJ. This makes it easier to preview UI variations directly from the IDE without running the app.
Customizable shadows
A new API for DropShadow
and InnerShadow
allows for richer and more precise visual effects. Shadows can adapt to any shape or color and are supported across platforms.
Context menus on iOS and Web
A new contextual menu API in BasicTextField
and SelectionContainer
improves native behavior integration on iOS and Web. Desktop support is in early development.
Material 3 Expressive Theme (experimental)
You can now apply a more flexible design system using MaterialExpressiveTheme
, configurable with custom color schemes, motion, and typography. Requires enabling experimental APIs and using beta versions of Material 3.
Web accessibility
This version introduces initial accessibility support for Web: keyboard navigation, semantic tags, and basic screen reader compatibility. Some features are still in progress, but it’s a solid foundation for broader assistive tech support.
HTML integration with WebElementView
A new feature allows embedding native HTML elements over the Compose canvas. This makes it possible to integrate maps, media players, or other interactive widgets directly into web apps.
iOS: frame rate and native keyboard support
Compose Multiplatform for iOS now lets you set the frame rate per component to optimize performance and animation smoothness. It also adds support for keyboard configuration, autocorrect, and return key behavior via PlatformImeOptions
.
Web in Beta: stability and testability
Compose Web is now in Beta, with improvements in drag & drop, TextField
, and accessibility. It also introduces support for suspend testing across platforms, including JS and Wasm environments.
Desktop: advanced window configuration
New SwingFrame()
and SwingDialog()
APIs allow setting native system properties before showing the window โ useful for configuring types or adding native listeners.
Gradle: decoupled versions and JS fallback
Material 3 versioning is now decoupled from the Compose plugin. The new web distribution system also unifies JS and Wasm, with automatic fallback when Wasm isnโt available.
In summary
Compose Multiplatform 1.9.0 strengthens its position as a modern, flexible UI solution. With visual enhancements, broader platform support, and a clear leap forward in accessibility, it’s a key release for teams committed to robust and sustainable multiplatform development.