Releases: JetBrains/compose-multiplatform
Releases · JetBrains/compose-multiplatform
1.6.10-dev1559
XML resource optimizations (#4559) Users noticed if an app has big a `string.xml` file it affects the app startup time: https://github.com/JetBrains/compose-multiplatform/issues/4537 The problem is slow XML parsing. Possible ways for optimization: 1) inject text resources direct to the source code 2) convert XMLs to an optimized format to read it faster We selected the second way because texts injected to source code have several problems: - strict limitations on text size - increase compilation and analysation time - affects a class loader and GC > Note: android resources do the same and converts xml values to own `resources.arsc` file Things was done in the PR: 1) added support any XML files in the `values` directory 2) **[BREAKING CHANGE]** added `Res.array` accessor for string-array resources 3) in a final app there won't be original `values*/*.xml` files. There will be converted `values*/*.cvr` files. 4) generated code points on string resources as file -> offset+size 5) string resource cache is by item now (it was by the full xml file before) 6) implemented random access to read CVR files 7) tasks for syncing ios resources to a final app were seriously refactored to support generated resources (CVR files) 8) restriction for 3-party resources plugin were deleted 9) Gradle property `compose.resources.always.generate.accessors` was deleted. It was for internal needs only. Fixes https://github.com/JetBrains/compose-multiplatform/issues/4537
1.6.10-dev1557
Handle special characters for quantity strings (#4543) A follow-up PR for #4519, which handles special characters for quantity strings.
1.6.10-dev1551
Handle special characters for quantity strings (#4543) A follow-up PR for #4519, which handles special characters for quantity strings.
1.6.10-dev1549
v1.6.10-dev1549 [gradle] Update gradle and AGP in test runs. (#4542)
1.6.10-dev1523
v1.6.10-dev1523 [gradle] Use @InputFiles instead of @InputDirectory to avoid crash wh…
1.6.10-dev1520
v1.6.10-dev1520 [resources] Use first of preferred locales instead of a current on iO…
1.6.10-dev1514
Update CHANGELOG.md (1.6.1) (#4477) Co-authored-by: Ivan Matkov <[email protected]>
1.6.1
Changes since 1.6.0
Features
Common
Fixes
iOS, Desktop, Web
- Consume less CPU for text field cursor blinking
- Fix Material3 slider getting stuck while dragging
- Fix
ExposedDropdownMenuBox
recomposing unnecessarily
iOS
- Fix AppStore/TestFlight verification failure due to skiko/skia conflicting names with ICU library
- Fix
Pager
scroll with scrollable content on top - Fix crash when selecting a character before the punctuation sign
- Fix unintended state reset
- Context menu isn't showing in empty textfield
- Fix a logical error causing Compose tree corruption and consequent crash
- Fix
TextField
crash when using speech-to-text
Web
Desktop
- Fix additional windows creation with
COMPONENT
layer type - Keep adding interop order consistent between platforms
Resources
- Support three letters locales
- Init resource accessors lazily and in external function to avoid MethodTooLargeException
- Fix
Res
class generation if the library is declared as 'api' - Fix
regionCode
crash on iOS before 17 - Fix package name of generated
Res
file when project is building forJsTarget
Dependencies
This version of Compose Multiplatform is based on the next Jetpack Compose libraries:
1.6.10-dev1509
Imageviewer. Fix compilation of Android target (#4467) Fix regression after https://github.com/JetBrains/compose-multiplatform/pull/4433 `./gradlew compileReleaseKotlinAndroid` in `imageviewer` fails with: ``` * What went wrong: Execution failed for task ':shared:compileReleaseKotlinAndroid'. > Inconsistent JVM-target compatibility detected for tasks 'compileReleaseJavaWithJavac' (1.8) and 'compileReleaseKotlinAndroid' (17). ``` (JAVA_HOME points to JDK 17)
1.6.10-dev1498
v1.6.10-dev1498 [example] Migrate the image viewer on the new compose resources (#4433)