Releases: JetBrains/compose-multiplatform
1.7.0-dev1840
v1.7.0-dev1840 Added changelog for 1.7.0-beta02 (#5130)
1.7.0-dev1809
[gradle] Add "compose.material3AdaptiveNavigationSuite" shortcut (#5133) Add `compose.material3AdaptiveNavigationSuite` shortcut: ```kotlin kotlin { sourceSets { commonMain.dependencies { implementation(compose.material3AdaptiveNavigationSuite) } } } ``` ## Release Notes ### Features - Gradle Plugin - New `compose.material3AdaptiveNavigationSuite` shortcut in the gradle plugin
1.7.0-beta02
Changes since 1.7.0-beta01
Breaking changes
Desktop
Resources
Features
Multiple Platforms
iOS
Desktop
Fixes
Multiple Platforms
- (prerelease fix) Fix
GraphicsLayer
perspective matrix calculation and missing invalidations - (prerelease fix) Fix Wasm/Native ArrayIndexOutOfBoundsException exception in adaptive-layout module
iOS
- A new approach to implementation of
platformLayers
. Now extra layers (such as Dialogs and Popups) drawing is merged into a single screen size canvas. No jittering and crashes should happen with those anymore. Dialog
s andPopup
s now have their insets calculated correctly even when the frame ofComposeUIViewController
spawning them doesn't intersect any safe areas
Desktop
- (prerelease fix) Fix "Moving after initiating a click cancels it"
Resources
Gradle Plugin
Lifecycle
- Lifecycle 2.8.2 depends on Compose 1.6.11 (Lifecycle 2.8.1 accidentaly made dependent on Compose 1.7.0-beta01)
Navigation
- (prerelease fix) Fix saving state for nested
NavHostController
- (prerelease fix) Fixed missing commonization for type-safe version of
SavedStateHandle.toRoute
Dependencies
-
Gradle Plugin
org.jetbrains.compose
, version1.7.0-beta02
. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.2
. Based on Jetpack Lifecycle 2.8.4 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha10
. Based on Jetpack Navigation 2.8.0-rc01 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.0.0-alpha03
. Based on Jetpack Material3 Adaptive 1.0.0-rc01
1.7.0-dev1783
v1.7.0-dev1783 [gradle] Fix KMP component publication configuration
1.7.0-beta01
Changes since 1.7.0-alpha03
Breaking changes
iOS
UIKitView
andUIKitViewController
inpackage androidx.compose.ui.interop
are deprecated. New API are mentioned in deprecation message. Deprecated invocations should work fine unless customonResize
is used, it is disallowed now and will print a warning.- Actual of expected
InteropView
on iOS isUIResponder
now instead ofUIView
. It's the first common ancestor forUIViewController
andUIView
, both of which can be integrated using iOS interop APIs - The app will crash by default, if
CADisableMinimumFrameDurationOnPhone
is not set to true inInfo.plist
. Use newly addedComposeUIViewControllerConfiguration.enforceStrictPlistSanityCheck
to opt-out of this behavior
Features
Multiple Platforms
iOS
- New
UIKitView
andUIKitViewController
API inpackage androidx.compose.ui.viewinterop
. Support ofonReset
to reuse the interop composable emitted node and avoid excessive native views reallocations, fine-grain touches strategy control (cooperative with explicit time delay, non-cooperative where no touches are received by Compose, ignoring touches)
Desktop
- Added support for input methods (languages such as Chinese, Korean, Arabic) to BasicTextField(TextFieldState, ...)
- Add dynamic Drag&Drop target indication (🚫 icon under cursor if currently there is no valid drop target under it)
Resources
- Added support of test resources in Compose Multiplatform projects
- Added support of multi-module resources in JVM-only projects
Fixes
Multiple Platforms
- (prerelease fix) Fix redirect on android artifacts for "window-core" module
iOS
Desktop
Resources
- (prerelease fix) Fix a resource reading on iOS 12
- (prerelease fix) Fix resource reading on Java 11
Gradle Plugin
Dependencies
-
Gradle Plugin
org.jetbrains.compose
, version1.7.0-beta01
. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.1
. Based on Jetpack Lifecycle 2.8.4 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha09
. Based on Jetpack Navigation 2.8.0-beta05 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.0.0-alpha02
. Based on Jetpack Material3 Adaptive 1.0.0-rc01
1.7.0-alpha03
Changes since 1.7.0-alpha02
Features
Multiple Platforms
- Skia is updated to m126
- Commonized
org.jetbrains.compose.material3:material3-window-size-class
module - Commonized
org.jetbrains.compose.material3.adaptive:adaptive*
modules
Resources
Fixes
Desktop
- [macOS] Fix crash when right-clicking an empty
SelectionContainer
or on the padding of aText
inside aSelectionContainer
- (prerelease fix) Fix input methods position on the screen and
NullPointerException: Cannot read field
iOS
Gradle Plugin
Dependencies
-
Gradle Plugin
org.jetbrains.compose
, version1.7.0-alpha03
. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0
. Based on Jetpack Lifecycle 2.8.0 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha09
. Based on Jetpack Navigation 2.8.0-beta05 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.0.0-alpha01
. Based on Jetpack Material3 Adaptive 1.0.0-beta04
To use Material3 Adaptive add the dependencies for the artifacts you need in the build.gradle
file for your app or module:
dependencies {
implementation("org.jetbrains.compose.material3.adaptive:adaptive:1.0.0-alpha01")
implementation("org.jetbrains.compose.material3.adaptive:adaptive-layout:1.0.0-alpha01")
implementation("org.jetbrains.compose.material3.adaptive:adaptive-navigation:1.0.0-alpha01")
}
1.7.0-dev1756
v1.7.0-dev1756 Add 1.7.0-alpha02 to changelog (#5112)
1.7.0-dev1750
v1.7.0-dev1750 Add 1.7.0-alpha02 to changelog (#5112)
1.7.0-dev1743
v1.7.0-dev1743 Change issue tracker to YouTrack in readme (#5111)
1.7.0-alpha02
Changes since 1.7.0-alpha01
Features
Multiple Platforms
- The
clickable
modifier now responds to NumPadEnter and Spacebar, too, in addition to Enter LocalLifecycleOwner
moved from Compose UI tolifecycle-runtime-compose
so that its Compose-based helper APIs can be used outside of Compose UI
iOS
Desktop
Resources
- Now the gradle plugin generates resources map to find a resource by a string ID
- To avoid constant reading raw font bytes on each Font usage on non-android targets, there was added the font cache. Android has own font cache inside the platform implementation
Fixes
Multiple Platforms
iOS
- Interop views are now correctly clipped when their measured clipped and unclipped bounding boxes don't match
- Touches inside interop views are not exclusive to them and are processed on Compose side as well.
- Fix
material3.ModalBottomSheet
safe area usage - Fix hiding interop element during quick scroll
- (prerelease fix) Fixed floating cursor isn't working
- Fixed the keyboard appearing when selecting from SelectionContainer
- Fix status bar padding on iPad devices
- VoiceOver doesn't allow to perform a11y actions (scrolling, activate, customActions) when disabled() semantics is present in affected element
Desktop
- Fix scrolling non-same direction nested scrolls with trackpad
- Fix fling velocity for precise wheel scroll
- (prerelease fix) Fix remaining focus indication after a click
Resources
- (prerelease fix) Fix an android app compose resources packaging broken after introduction AS previews
- Now drawables from upper DPIs will be downscalled to the expected size. (the same behavior as on Android)
Gradle plugin
Dependencies
-
Gradle Plugin
org.jetbrains.compose
, version1.7.0-alpha02
. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0
. Based on Jetpack Lifecycle 2.8.0 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha08
. Based on Jetpack Navigation 2.8.0-beta03