Releases: JetBrains/compose-multiplatform
1.7.0-dev1721
v1.7.0-dev1721 [gradle] Update local version of Compose Libraries used by Gradle plu…
1.7.0-alpha01
Changes since 1.6.11
Highlights
- Compose Multiplatform resources are stored in the android assets now. This fixes Android Studio Preview and cases such as a rendering resource files in WebViews or Media Players
- Shared Element Transitions
- Safe Args in Navigation Compose
Breaking changes
Android
Features
iOS
- Initial iOS floating cursor support
- Added
accessibilityEnabled: Boolean = trueargument toUIKitViewandUIKitViewController preferredStatusBarStyle,preferredStatysBarAnimationandprefersStatusBarHiddenare added toComposeUIViewControllerDelegateto allow status bar appearance modification
Desktop
- Add constructor with
RenderSettingstoComposePanel. Added a classRenderSettingswithval isVsyncEnabled: Boolean?. When set totruegives a hint to renderer implementation of the particularComposePanelto reduce the latency between the input and visual changes in exchange for possible screen tearing - Add public
moveEnabledandpositionPercentagesetters inSplitPaneState
Resources
- Speed resources web rendering up by the reading a cached value instantly
- If there is no resource with suitable density, use resource with the most suitable density, otherwise use default (similar to the Android logic)
- Add a customization for resources directories. Now it is possible to use e.g downloaded resources
Fixes
Multiple Platforms
- Fix "ComposePanel. Focus moves to child after focusing/unfocusing the main window"
- Don't show code completion for non-existenst API in
commonMainthat fails on Android withNoSuchMethodException - Fix order of interop elements in some cases
- Fixed
Popupjerking during ripple effect animation - Fix applying
ShaderBrushto part ofAnnotatedString - Fix text
brushanimation and optimized updating some visual text properties (applying time is reduced up to 40%) - Fix initial cursor position in the empty
TextFieldwith explicitly setTextAlignment - Fix focus for editable
TextFieldinsideExposedDropdownMenuBox
iOS
- Pressing directional keys on a physical keyboard connected to iOS device doesn't cause a crash
- Dismissing popup or dialogue within a very short timespan after its creation doesn't cause a crash
- Fix missing invalidations during native view resize
- Fixed a memory spike when continuously resizing the
ComposeUIViewController(such as when used in modal sheet presentation context with different detents) - visibility of selection handles in single-line textfields with LTR + RTL text in iOS
Desktop
- Fix possible
UninitializedPropertyAccessExceptionindesktopTest - Fixed
ComposePanel.requestFocus(), making it correctly assign focus to the first focusable child - When using
ComposePanelinside a Swing application on macOS, VoiceOver will now correctly go into theComposePanelwhen traversing accessible elements - When using
ComposePanelinside a Swing application on Windows with NVDA turned on, focus will now correctly go into theComposePanelwhen traversing with (ctrl)-shift-tab - Correctly save
WindowStatewith unspecifiedsizeinstead of crashing - Fix
IndexOutOfBoundsExceptioncrash on Windows when traversing a11y elements
Web
- Process
keydownandkeyupkeys for identified keys from virtual keyboard - Allow preloading the fallback fonts. This enables the usage of emojis and other unicode characters without manually composing the Text with AnnotatedString
- Make sure the web app distribution doesn't contain a duplicate
skiko.wasm
Resources
- Delete
contextClassLoaderusage on JVM targets - Create an empty resource dir with "podspec" task instead "podInstall"
- Fix resource accessors escaping. Now it is possible to use resources with names: "package", "is", "item_$xxx" etc
- Read exactly requested count of bytes from InputStream on jvm platforms
Gradle Plugin
- Make sure tryGetSkikoRuntimeIfNeeded is executed only during the task execution
- Delete outdated build services
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.7.0-alpha01. 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-dev1703
Merged Navigation 2.8.0-beta03
1.7.0-dev1698
Merged Material 3 1.3.0-beta03
1.7.0-dev1686
Merged Compose 1.7.0-beta03
1.6.20-dev1673
v1.6.20-dev1673 [resources] Read exactly requested count of bytes from InputStream on…
1.6.20-dev1667
v1.6.20-dev1667 Add 1.6.11 to changelog (#4905)
1.6.20-dev1663
[gradle] Fix resource accessor name escaping. (#4901) Fixes https://github.com/JetBrains/compose-multiplatform/issues/4548 ## Testing Add compose resources with name such as "package", "is" or "item_$xxx" and check that app compiles and works fine. Accessors should be properly escaped ## Release Notes ### Fixes - Resources - Fix resource accessors escaping. Now it is possible to use resources with names: "package", "is", "item_$xxx" etc
1.6.11
Changes since 1.6.10
Fixes
Multiple Platforms
- Fix endless re-layout when layout is invalidated by measure, which includes measuring
TextField(singleLine=true)withIntrinsicSize - Fix container size for
Dialogcentering insideImageComposeScene
iOS
Desktop
- Fix
DropdownMenu/Popuppositioning when a window is moved to a screen with a different density - Fix possible scrolling without animation on some mouse models
Web
Resources
Gradle Plugin
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.6.11. 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.7.0-alpha07. Based on Jetpack Navigation 2.7.7
1.6.20-dev1646
v1.6.20-dev1646 CfW: rely on exact configuration names to find the dependencies (#4828)