Releases: JetBrains/compose-multiplatform
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
Dialog
centering insideImageComposeScene
iOS
Desktop
- Fix
DropdownMenu
/Popup
positioning 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)
1.6.10
Changes since 1.6.2
Highlights
- Experimental multiplatform support of
Lifecycle
andViewModel
. See documentation for details - Experimental multiplatform support of Jetpack Navigation. See documentation for details or check out the nav_cupcake project which was converted from the Navigate between screens with Compose Android codelab
- Support multi-module projects and libraries publication with Compose resources (Kotlin
2.0.0-Beta05
or higher is required)
Breaking changes
- Since Kotlin
2.0-RC2
, the additionalorg.jetbrains.kotlin.plugin.compose
Gradle plugin is required. See the migration guide
Features
Multiple Platforms
- Add font rasterization settings in paragraph style
- Localize internal strings in
ui
,material
andmaterial3
iOS
- Magnifier for iOS 17+
- Support software keyboard inset in
Dialog
- iOS a11y dialogues and popups integration
- OS logging integrated with
trace
- Support accessibility scroll
- Improve iOS a11y sync behavior
- Add throttle for text context menu updates
- Support a11y for interop views
- Support
HapticFeedback
on iOS - iOS support
LiveRegion
semantics in a11y
Desktop
- Add an
alwaysOnTop
flag toDialogWindow
- Basic support of
BasicTextField2
: #1227, #1264 full support and support for other platforms is planned for 1.7.0
Web
- Listen to browser clipboard events and bind them with Compose TextFieldSelectionManager and SelectionManager
- Introduce ComposeViewport function that renders content in parent container
- Introduce minimal virtual keyboard support
- Basic IME keyboard support
- Some experimental Compose Multiplatform Gradle plugin APIs for web app configuration were deprecated. Their usage is not required anymore.
Resources
- Support three letters locales
- Add DSL to configure compose resources
- Support plural string resource
- Add option to disable compose resources generation
- XML resource optimizations
- Get resource files as URI
- Support source set's hierarchy for compose resources
- Support SVG drawables for non android platforms
- Delete the experimental mark from the stable resources library API
- Add functions to retrieve bytes from drawable or font resources
- To disable the Compose Resources publication and the multimodule support in cases of problems add
org.jetbrains.compose.resources.multimodule.disable=true
to the rootgradle.properties
Gradle Plugin
- Add possibility to modify the macOS minimum version
- Make desktop preview task fully configuration cache compliant
- Option to pack jars as uber JAR, support Proguard for uber JAR
Fixes
Multiple Platforms
- Fix
NaN
font metrics by initializing typeface forTextStyle
- Fix render order of interop views
- Reimplement SortedSet for JS/Native to improve performance
- Allow drawing outside of platform layers
- Prevent a few unnecessary re-compositions in
Popup
andDesktopMenu
- Propagate composition locals to layers in the (re)composition phase
- Move the effects and synthetic events dispatching to after the draw phase in the render loop
- Fix Kotlin/Native can't use
T::class
in inline function of@Composable
- Fix missing recomposition after showing
Dialog
iOS
- Fix keyboard disappear on IME action
- Fix nested scroll when
Pager
involved in scrolling process - Fix a11y wrong bounds calculation
- Delay tap indication inside scroll
- Fix keyboard opening when scrolling begins within a
TextField
- Fix IME window insets and view offset when keyboard appears
- Fix animation frozen after app went background
- Fixed appearing of text editing menu (#1269, #1293)
- Fix content rect calculation in
SelectionManager
Desktop
- Fix nested scrolling on mouse wheel
- Trigger fling callbacks on mouse wheel scroll (fixes
Pager
and lazy column/row spanning) - Fix
Pager
direction detection for mouse wheel - Fix missing clicks inside
SelectionContainer
- Fix clipping bounds of
SwingPanel
- Locale-aware date formatting for desktop
- Pass the id of the node whose layout changed to accessibility controllers
WINDOW
layer fixes: #1181, #1185, #1187, #1189- Fix crash when we resize
ComposePanel
after re-adding it to the hierarchy - Fix propagation of
LocalLocalization
- Re-show the tooltip on mouse-move following a click in TooltipArea
- Fix the direction of scrolling when pressing on the scrollbar track with
reverseLayout=true
- Fix crash and allow selection in
SelectionContainer
to start when drag starts below the bounds of the visible text - Fix a crash on Windows without
dcomp.dll
- [Fix c...
1.6.10-dev1640
v1.6.10-dev1640 Add missing "(prerelease fix)" mark to changelog
1.6.10-rc03
Changes since 1.6.10-rc02
Fixes
iOS
Dependencies
-
Gradle Plugin
org.jetbrains.compose
, version1.6.10-rc03
. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0-rc03
. Based on Jetpack Lifecycle 2.8.0 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha06
. Based on Jetpack Navigation 2.7.7
1.6.10-rc02
Changes since 1.6.10-rc01
Known issues
- iOS compilation might fail on some projects with
org.jetbrains.kotlin.backend.konan.llvm.NativeCodeGeneratorException: Exception during generating code for following declaration: private fun $init_global()
Features
Web
Fixes
iOS
Resources
- To disable the Compose Resources publication and the multimodule support in cases of problems add
org.jetbrains.compose.resources.multimodule.disable=true
to the rootgradle.properties
- (prerelease fix) Fix resources with cocoapods integration
- (prerelease fix) Fix AGP lint tasks dependency issues
Dependencies
-
Gradle Plugin
org.jetbrains.compose
, version1.6.10-rc02
. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0-rc02
. Based on Jetpack Lifecycle 2.8.0-rc01 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha05
. Based on Jetpack Navigation 2.7.7
1.6.10-dev1632
Update kotlin version compatibility documentation link (#4804) update kotlin version compatibility documentation link to the new page (https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compatibility-and-versioning.html)
1.6.10-rc01
Changes since 1.6.10-beta03
Known issues
- A project with Android flavors cannot be imported into any IDE if it has Compose Multiplatform resources 1.6.10 + Kotlin 2.0.0
- If you experience the
org.jetbrains.compose.resources.MissingResourceException: Missing resource with path: ...
error after switching your Kotlin version from 1.9 to 2.0 (or the other way around), this might be resolved by manually cleaning thebuild
directories in your project - this includes thebuild
folders located in the root and module folders of your project.
Fixes
Desktop
- (prerelease fix) Fix inconsistency in closing
Dialog
by mouse clicking on scrim that was introduced by1.6.10-beta02
Web
- Fix browser clipboard events handling on Windows
- Rename
viewportContainer
toviewportContainerId
parameter inComposeViewport
Dependencies
-
Gradle Plugin
org.jetbrains.compose
, version1.6.10-rc01
. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0-rc01
. Based on Jetpack Lifecycle 2.8.0-rc01 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha04
. Based on Jetpack Navigation 2.7.7