Releases: JetBrains/compose-multiplatform
1.7.0-beta01
Changes since 1.7.0-alpha03
Breaking changes
iOS
UIKitViewandUIKitViewControllerinpackage androidx.compose.ui.interopare deprecated. New API are mentioned in deprecation message. Deprecated invocations should work fine unless customonResizeis used, it is disallowed now and will print a warning.- Actual of expected
InteropViewon iOS isUIRespondernow instead ofUIView. It's the first common ancestor forUIViewControllerandUIView, both of which can be integrated using iOS interop APIs - The app will crash by default, if
CADisableMinimumFrameDurationOnPhoneis not set to true inInfo.plist. Use newly addedComposeUIViewControllerConfiguration.enforceStrictPlistSanityCheckto opt-out of this behavior
Features
Multiple Platforms
iOS
- New
UIKitViewandUIKitViewControllerAPI inpackage androidx.compose.ui.viewinterop. Support ofonResetto 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-classmodule - Commonized
org.jetbrains.compose.material3.adaptive:adaptive*modules
Resources
Fixes
Desktop
- [macOS] Fix crash when right-clicking an empty
SelectionContaineror on the padding of aTextinside 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
clickablemodifier now responds to NumPadEnter and Spacebar, too, in addition to Enter LocalLifecycleOwnermoved from Compose UI tolifecycle-runtime-composeso 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.ModalBottomSheetsafe 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
1.7.0-dev1742
Fix skiko.js unpacking for k/js target (#5105) K/JS and K/Wasm have differences in the packaging logic, and therefore we need to account for it when unpacking Skiko files. Fixes [CMP-5649](https://youtrack.jetbrains.com/issue/CMP-5649) ## Testing - Added a test, which checks the state of k/js distribution This should be tested by QA
1.7.0-dev1739
Add support for high-refresh rate displays in examples (#5104) Turns out a number of our samples were still missing ``` <key>CADisableMinimumFrameDurationOnPhone</key> <true/> ```
1.7.0-dev1731
v1.7.0-dev1731 [gradle] Create static android assets directory if it doesn't exist
1.7.0-dev1727
v1.7.0-dev1727 [gradle] Create static android assets directory if it doesn't exist