Playground to check how changing the color system can affect the different components in Material 3. Mainly used to learn and to get an overview of the Material 3 design components
MIT License
74
stars
8
forks
source link
Update dependency org.jetbrains.compose.material3:material3 to v1.7.1+build1894-release-1.7.1 #38
JetBrains/compose-jb (org.jetbrains.compose.material3:material3)
### [`v1.7.0`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#170-October-2024)
*Changes since 1.6.11*
#### Highlights
#### Resources
- [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](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4965)
##### Navigation
- [Shared Element Transitions](https://developer.android.com/develop/ui/compose/animation/shared-elements)
- [Safe Args in Navigation Compose](https://developer.android.com/guide/navigation/design/type-safety)
##### Web
- [`skiko.js` is redundant in case of K/Wasm Compose Multiplatform for web applications and it can be removed from index.html files to not load redundant files](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5134). `skiko.js` will be removed from the k/wasm distribution in the future releases. `skiko.js` is still needed in case of K/JS Compose Multiplatform for web apps
#### Breaking changes
##### iOS
- [`UIKitView` and `UIKitViewController` in `package androidx.compose.ui.interop` are deprecated](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1494). New API are mentioned in deprecation message. Deprecated invocations should work fine unless custom `onResize` is used, it is disallowed now and will print a warning.
- [Actual of expected `InteropView` on iOS is `UIResponder` now instead of `UIView`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1489). It's the first common ancestor for `UIViewController` and `UIView`, both of which can be integrated using iOS interop APIs
- [The app will crash by default, if `CADisableMinimumFrameDurationOnPhone` is not set to true in `Info.plist`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1451). Use newly added `ComposeUIViewControllerConfiguration.enforceStrictPlistSanityCheck` to opt-out of this behavior
##### Desktop
- [`Modifier.onExternalDrag` has been deprecated in favor of the new `Modifier.dragAndDropTarget`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1528)
##### Android
- [Minimal supported AGP raised to 8.1.0](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4840)
##### Resources
- [Deprecate resources in `compose.ui` in favour of the new resource library](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1457)
#### Features
##### Multiple Platforms
- [The `clickable` modifier now responds to NumPadEnter and Spacebar, too, in addition to Enter](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1464)
- [`LocalLifecycleOwner` moved from Compose UI to `lifecycle-runtime-compose` so that its Compose-based helper APIs can be used outside of Compose UI](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1449)
- [Skia is updated to m126](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1486)
- [Commonized `org.jetbrains.compose.material3:material3-window-size-class` module](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1466)
- [Commonized `org.jetbrains.compose.material3.adaptive:adaptive*` modules](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1468)
- [New multiplatform module "material-navigation" (in beta status)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1504)
- [`material3-adaptive-navigation-suite` is multiplatform now](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1539)
- [Support Kotlin 1.9.25](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5141)
##### iOS
- [Initial iOS floating cursor support](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1312)
- [Added `accessibilityEnabled: Boolean = true` argument to `UIKitView` and `UIKitViewController`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1350)
- [`preferredStatusBarStyle`, `preferredStatysBarAnimation` and `prefersStatusBarHidden` are added to `ComposeUIViewControllerDelegate` to allow status bar appearance modification](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1378)
- [Improvements in touches processing to detect if touches were meant to be delivered to interop views, or should be processed by Compose](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1440)
- [New `UIKitView` and `UIKitViewController` API in `package androidx.compose.ui.viewinterop`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1494). Support of `onReset` 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)
- [Basic support for `BasicTextField(TextFieldState, ...)` on iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1540)
##### Desktop
- [Add constructor with `RenderSettings` to `ComposePanel`. Added a class `RenderSettings` with `val isVsyncEnabled: Boolean?`. When set to `true` gives a hint to renderer implementation of the particular `ComposePanel` to reduce the latency between the input and visual changes in exchange for possible screen tearing](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1377)
- [Add public `moveEnabled` and `positionPercentage` setters in `SplitPaneState`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3974)
- [Implemented Drag-and-Drop from AOSP: `Modifier.dragAndDropSource` and `Modifier.dragAndDropTarget`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1433)
- [Added support for input methods (languages such as Chinese, Korean, Arabic) to BasicTextField(TextFieldState, ...)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1496)
- [Add dynamic Drag\&Drop target indication](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1510) (đ« icon under cursor if currently there is no valid drop target under it)
- [The thickness of border resizers in undecorated windows and dialogs can now be controlled by passing a new `decoration` argument](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1505)
##### Resources
- [Speed resources web rendering up by the reading a cached value instantly](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4893)
- [If there is no resource with suitable density, use resource with the most suitable density, otherwise use default (similar to the Android logic)](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4969)
- [Add a customization for resources directories. Now it is possible to use e.g downloaded resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5016)
- [Now the gradle plugin generates resources map to find a resource by a string ID](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5068)
- [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](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5109)
- [Added utility functions to decode `Bitmap ByteArray as ImageVector` and `XML ByteArray as ImageVector` in the common code and `SVG ByteArray as Painter` in the non-android code](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5098)
- [Added support of test resources in Compose Multiplatform projects](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5122)
- [Added support of multi-module resources in JVM-only projects](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5122)
##### Gradle Plugin
- [New `compose.material3AdaptiveNavigationSuite` shortcut in the gradle plugin](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5133)
#### Fixes
##### Multiple Platforms
- [Fix "ComposePanel. Focus moves to child after focusing/unfocusing the main window"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1398)
- [Don't show code completion for non-existenst API in `commonMain` that fails on Android with `NoSuchMethodException`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1328)
- [Fix order of interop elements in some cases](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1340)
- [Fixed `Popup` jerking during ripple effect animation](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1385)
- [Fix applying `ShaderBrush` to part of `AnnotatedString`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1389)
- [Fix text `brush` animation and optimized updating some visual text properties (applying time is reduced up to 40%)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1395)
- [Fix initial cursor position in the empty `TextField` with explicitly set `TextAlignment`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1354)
- [Fix focus for editable `TextField` inside `ExposedDropdownMenuBox`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1423)
- [Fix changing `FontRenderingSettings` is not reflected until composition restarts](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1595)
##### iOS
- [Pressing directional keys on a physical keyboard connected to iOS device doesn't cause a crash](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1383)
- [Dismissing popup or dialogue within a very short timespan after its creation doesn't cause a crash](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1384)
- [Fix missing invalidations during native view resize](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1387)
- [Fixed a memory spike when continuously resizing the `ComposeUIViewController` (such as when used in modal sheet presentation context with different detents)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1390)
- [visibility of selection handles in single-line textfields with LTR + RTL text in iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1331)
- [Interop views are now correctly clipped when their measured clipped and unclipped bounding boxes don't match](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1430)
- [Touches inside interop views are not exclusive to them and are processed on Compose side as well.](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1426)
- [Fix `material3.ModalBottomSheet` safe area usage](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1438)
- [Fix hiding interop element during quick scroll](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1425)
- [Fixed the keyboard appearing when selecting from SelectionContainer](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1448)
- [Fix status bar padding on iPad devices](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1442)
- [VoiceOver doesn't allow to perform a11y actions (scrolling, activate, customActions) when disabled() semantics is present in affected element](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1446)
- [Fix frame drops when dragging scrollable content on iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1503)
- [A new approach to implementation of `platformLayers`.](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1515) 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 and `Popup`s now have their insets calculated correctly even when the frame of `ComposeUIViewController` spawning them doesn't intersect any safe areas](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1515)
- [Fix offset issues with keyboard and `TextField`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1523)
- [Fix "Incorrect `imePadding` and high cpu usage when repeatedly opening and closing `Keyboard` on iOS"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1523)
- [Fix "Selection handlers in wrong positions in a fullscreen TextField"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1523)
- [Fix keyboard closing while scrolling content with Text Fields](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1558)
- [Fix "UriHandler.openUri no longer works on iOS 18"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1595)
##### Desktop
- [Fix possible `UninitializedPropertyAccessException` in `desktopTest`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1343)
- [Fixed `ComposePanel.requestFocus()`, making it correctly assign focus to the first focusable child](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1352)
- [When using `ComposePanel` inside a Swing application on macOS, VoiceOver will now correctly go into the `ComposePanel` when traversing accessible elements](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1362)
- [When using `ComposePanel` inside a Swing application on Windows with NVDA turned on, focus will now correctly go into the `ComposePanel` when traversing with (ctrl)-shift-tab](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1363)
- [Correctly save `WindowState` with unspecified `size` instead of crashing](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1394)
- [Fix `IndexOutOfBoundsException` crash on Windows when traversing a11y elements](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1415)
- [Fix scrolling non-same direction nested scrolls with trackpad](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1434)
- [Fix fling velocity for precise wheel scroll](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1402)
- [\[macOS\] Fix crash when right-clicking an empty `SelectionContainer` or on the padding of a `Text` inside a `SelectionContainer`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1439)
- [Fix bounds of `ComposePanel` in IntelliJ on macOs](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1571)
- [Fix UI glitch when resizing a Compose window via its `WindowState`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1565)
##### Web
- [Process `keydown` and `keyup` keys for identified keys from virtual keyboard](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1380)
- [Allow preloading the fallback fonts. This enables the usage of emojis and other unicode characters without manually composing the Text with AnnotatedString](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1400)
- [Make sure the web app distribution doesn't contain a duplicate `skiko.wasm`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4958)
- [Prevent a crash on mobile web when selecting some text in `SelectionContainer`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1551)
##### Resources
- [Delete `contextClassLoader` usage on JVM targets](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4895)
- [Create an empty resource dir with "podspec" task instead "podInstall"](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4900)
- [Fix resource accessors escaping. Now it is possible to use resources with names: "package", "is", "item\_$xxx" etc](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4901)
- [Read exactly requested count of bytes from InputStream on jvm platforms](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4943)
- [Now drawables from upper DPIs will be downscalled to the expected size. (the same behavior as on Android)](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5101)
##### Gradle Plugin
- [Make sure tryGetSkikoRuntimeIfNeeded is executed only during the task execution](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4918)
- [Delete outdated build services](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4959)
- [Support project isolation](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5120)
- [Fix a gradle project misconfiguration when KSP and Room are used](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5129)
#### Dependencies
- Gradle Plugin `org.jetbrains.compose`, version `1.7.0`. Based on Jetpack Compose libraries:
- [Runtime 1.7.1](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.7.1)
- [UI 1.7.1](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.1)
- [Foundation 1.7.1](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.7.1)
- [Material 1.7.1](https://developer.android.com/jetpack/androidx/releases/compose-material#1.7.1)
- [Material3 1.3.0](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.3.0)
- Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.3`. Based on [Jetpack Lifecycle 2.8.5](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.5)
- Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha10`. Based on [Jetpack Navigation 2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)
- Material3 Adaptive libraries `org.jetbrains.compose.material3.adaptive:adaptive*:1.0.0`. Based on [Jetpack Material3 Adaptive 1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.0.0)
***
### [`v1.6.11`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1611-June-2024)
*Changes since 1.6.10*
#### Fixes
##### Multiple Platforms
- [Fix endless re-layout when layout is invalidated by measure, which includes measuring `TextField(singleLine=true)` with `IntrinsicSize`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1355)
- [Fix container size for `Dialog` centering inside `ImageComposeScene`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1375)
##### iOS
- [Fix crash on iOS 12 caused by usage unavailable `UIMenuController` API](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1361)
##### Desktop
- [Fix `DropdownMenu`/`Popup` positioning when a window is moved to a screen with a different density](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1333)
- [Fix possible scrolling without animation on some mouse models](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1326)
##### Web
- [Fixed crash when `DatePicker` text field receives illegal input](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1368)
##### Resources
- [Fix a cached font if the resource acessor was changed](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4864)
##### Gradle Plugin
- [Fix Compose Compiler configuration for Kotlin < 2.0 when kotlin-android or kotlin-js gradle plugins are applied](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4879)
#### Dependencies
- Gradle Plugin `org.jetbrains.compose`, version `1.6.11`. Based on Jetpack Compose libraries:
- [Compiler 1.5.14](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14)
- [Runtime 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.7)
- [UI 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.7)
- [Foundation 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.7)
- [Material 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.7)
- [Material3 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1)
- Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0`. Based on [Jetpack Lifecycle 2.8.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)
- Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07`. Based on [Jetpack Navigation 2.7.7](https://developer.android.com/jetpack/androidx/releases/navigation#2.7.7)
***
### [`v1.6.10`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1610-May-2024)
*Changes since 1.6.2*
#### Highlights
- Experimental multiplatform support of `Lifecycle` and `ViewModel`. See [documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-lifecycle.html) for details
- Experimental multiplatform support of Jetpack Navigation. See [documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-navigation-routing.html) for details or check out the [nav_cupcake project](https://redirect.github.com/JetBrains/compose-multiplatform/tree/master/examples/nav_cupcake/) which was converted from the [Navigate between screens with Compose](https://developer.android.com/codelabs/basic-android-kotlin-compose-navigation) Android codelab
- [Support multi-module projects and libraries publication with Compose resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4454) *(Kotlin `2.0.0-Beta05` or higher is required)*
#### Breaking changes
- Since Kotlin `2.0-RC2`, the additional `org.jetbrains.kotlin.plugin.compose` Gradle plugin is required. See [the migration guide](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compiler.html#migrating-a-compose-multiplatform-project)
#### Features
##### Multiple Platforms
- [Add font rasterization settings in paragraph style](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1102)
- [Localize internal strings in `ui`, `material` and `material3`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1158)
##### iOS
- [Magnifier for iOS 17+](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1000)
- [Support software keyboard inset in `Dialog`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1067)
- [iOS a11y dialogues and popups integration](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1091)
- [OS logging integrated with `trace`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1140)
- [Support accessibility scroll](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1169)
- [Improve iOS a11y sync behavior](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1170)
- [Add throttle for text context menu updates](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1182)
- [Support a11y for interop views](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1241)
- [Support `HapticFeedback` on iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1255)
- [iOS support `LiveRegion` semantics in a11y](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1258)
##### Desktop
- [Add an `alwaysOnTop` flag to `DialogWindow`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1120)
- Basic support of `BasicTextField2`: [#1227](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1227), [#1264](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/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](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1206)
- [Introduce ComposeViewport function that renders content in parent container](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1211)
- [Introduce minimal virtual keyboard support](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1259)
- [Basic IME keyboard support](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1297)
- [Some experimental Compose Multiplatform Gradle plugin APIs for web app configuration were deprecated. Their usage is not required anymore.](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4796)
##### Resources
- [Support three letters locales](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4394)
- [Add DSL to configure compose resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4482)
- [Support plural string resource](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4519)
- [Add option to disable compose resources generation](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4526)
- [XML resource optimizations](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4559)
- [Get resource files as URI](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4576)
- [Support source set's hierarchy for compose resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4589)
- [Support SVG drawables for non android platforms](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4605)
- [Delete the experimental mark from the stable resources library API](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4623)
- [Add functions to retrieve bytes from drawable or font resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4651)
- [To disable the Compose Resources publication and the multimodule support in cases of problems add `org.jetbrains.compose.resources.multimodule.disable=true` to the root `gradle.properties`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4771)
##### Gradle Plugin
- [Add possibility to modify the macOS minimum version](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4271)
- [Make desktop preview task fully configuration cache compliant](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4410)
- [Option to pack jars as uber JAR, support Proguard for uber JAR](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4136)
#### Fixes
##### Multiple Platforms
- [Fix `NaN` font metrics by initializing typeface for `TextStyle`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1087)
- [Fix render order of interop views](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1145)
- [Reimplement SortedSet for JS/Native to improve performance](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1167)
- [Allow drawing outside of platform layers](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1190)
- [Prevent a few unnecessary re-compositions in `Popup` and `DesktopMenu`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1225)
- [Propagate composition locals to layers in the (re)composition phase](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1233)
- [Move the effects and synthetic events dispatching to after the draw phase in the render loop](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1260)
- [Fix Kotlin/Native can't use `T::class` in inline function of `@Composable`](https://redirect.github.com/JetBrains/compose-multiplatform/issues/3147)
- [Fix missing recomposition after showing `Dialog`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1272)
##### iOS
- [Fix keyboard disappear on IME action](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1118)
- [Fix nested scroll when `Pager` involved in scrolling process](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1154)
- [Fix a11y wrong bounds calculation](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1165)
- [Delay tap indication inside scroll](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1173)
- [Fix keyboard opening when scrolling begins within a `TextField`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1176)
- [Fix IME window insets and view offset when keyboard appears](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1199)
- [Fix animation frozen after app went background](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1263)
- Fixed appearing of text editing menu ([#1269](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1269), [#1293](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1293))
- [Fix content rect calculation in `SelectionManager`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1270)
##### Desktop
- [Fix nested scrolling on mouse wheel](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1055)
- [Trigger fling callbacks on mouse wheel scroll (fixes `Pager` and lazy column/row spanning)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1100)
- [Fix `Pager` direction detection for mouse wheel](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1103)
- [Fix missing clicks inside `SelectionContainer`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1106)
- [Fix clipping bounds of `SwingPanel`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1147)
- [Locale-aware date formatting for desktop](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1159)
- [Pass the id of the node whose layout changed to accessibility controllers](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1162)
- `WINDOW` layer fixes: [#1181](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1181), [#1185](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1185), [#1187](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1187), [#1189](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1189)
- [Fix crash when we resize `ComposePanel` after re-adding it to the hierarchy](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1195)
- [Fix propagation of `LocalLocalization`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1202)
- [Re-show the tooltip on mouse-move following a click in TooltipArea](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1209)
- [Fix the direction of scrolling when pressing on the scrollbar track with `reverseLayout=true`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1221)
- [Fix crash and allow selection in `SelectionContainer` to start when drag starts below the bounds of the visible text](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1230)
- [Fix a crash on Windows without `dcomp.dll`](https://redirect.github.com/JetBrains/skiko/pull/909)
- [Fix crash when creating SwingRedrawer on DirectX](https://redirect.github.com/JetBrains/skiko/pull/917)
- [Option to not throw `RenderException` when use OpenGL on macOS](https://redirect.github.com/JetBrains/skiko/pull/915)
- [Sync all AccessibilityControllers when an a11y query is received](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1283)
- [Fix crash when modifying Compose state from a non-UI thread](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1288)
- [Close `Popup`/`Dialog` by clicking any mouse button outside](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1280)
##### Web
- [Implement actual `fun isCopyKeyEvent`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1101)
- [Fix metadata compilation](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1123)
- [Support `sendKey` test utility function on wasm target](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1150)
- [Send correct window sized on resize](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1166)
- [Dispose all listened events alongside with the application being disposed](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1239)
- [Modify `buttonFlags` only on `Press` and `Release`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1243)
- [Fix keyboard mappings](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1249)
- [Correct density rounding in `ComposeWindow::resize`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1268)
- [Fix `MouseEvent` to `PointerButton` mapping](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1274)
- [Correct virtual keyboard mode resolution](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1295)
- [Fix browser clipboard events handling on Windows](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1329)
- [Rename `viewportContainer` to `viewportContainerId` parameter in `ComposeViewport`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1334)
##### Resources
- [Fix resource accessors compilation when there are huge number of resource files](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4294)
- [Init resource accessors lazily and in external function to avoid `MethodTooLargeException`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4404)
- [Fix `Res` class generation if the library is declared as 'api'](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4406)
- [Fix resource packaging in APK when 'build' task is used with AGP 8.2+](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4408)
- [Use first of preferred locales instead of a current on iOS](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4507)
- [Fix `readResourceBytes` function on Android if font is located under qualified directory](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4512)
- [Fix android fonts in APKs](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4509)
- [Handle special characters for quantity strings](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4543)
- [Select default resource if there are no exact language+region or default language match](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4577)
- [Add validation checks on invalid XML or item type](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4680)
##### Gradle plugin
- [Fix `Task with name 'podBuildGoogleMapsIphonesimulator' not found` in a project with Cococapods"](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4707)
#### Dependencies
- Gradle Plugin `org.jetbrains.compose`, version `1.6.10`. Based on Jetpack Compose libraries:
- [Compiler 1.5.14](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14)
- [Runtime 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.7)
- [UI 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.7)
- [Foundation 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.7)
- [Material 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.7)
- [Material3 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1)
- Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0`. Based on [Jetpack Lifecycle 2.8.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)
- Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07`. Based on [Jetpack Navigation 2.7.7](https://developer.android.com/jetpack/androidx/releases/navigation#2.7.7)
***
### [`v1.6.2`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#162-April-2024)
*Changes since 1.6.1*
#### Features
##### Common
- [Support Kotlin `2.0.0-RC1`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4596)
#### Fixes
##### iOS, Desktop, Web
- [Propagate composition locals to layers in the (re)composition phase](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1233)
- [Add transactions to `FocusOwnerImpl` `takeFocus` and `releaseFocus` to prevent crash when a window is re-shown](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1231)
- [Fix crash and allow selection in `SelectionContainer` to start when drag starts below the bounds of the visible text](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1230)
##### iOS
- [Fixed crash in `TextField` when a last symbol is a carriage return symbol](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1229)
#### Dependencies
This version of Compose Multiplatform is based on the next Jetpack Compose libraries:
- [Compiler 1.5.11](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.11)
- [Runtime 1.6.4](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.4)
- [UI 1.6.4](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.4)
- [Foundation 1.6.4](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.4)
- [Material 1.6.4](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.4)
- [Material3 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1)
### [`v1.6.1`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1611-June-2024)
*Changes since 1.6.10*
#### Fixes
##### Multiple Platforms
- [Fix endless re-layout when layout is invalidated by measure, which includes measuring `TextField(singleLine=true)` with `IntrinsicSize`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1355)
- [Fix container size for `Dialog` centering inside `ImageComposeScene`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1375)
##### iOS
- [Fix crash on iOS 12 caused by usage unavailable `UIMenuController` API](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1361)
##### Desktop
- [Fix `DropdownMenu`/`Popup` positioning when a window is moved to a screen with a different density](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1333)
- [Fix possible scrolling without animation on some mouse models](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1326)
##### Web
- [Fixed crash when `DatePicker` text field receives illegal input](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1368)
##### Resources
- [Fix a cached font if the resource acessor was changed](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4864)
##### Gradle Plugin
- [Fix Compose Compiler configuration for Kotlin < 2.0 when kotlin-android or kotlin-js gradle plugins are applied](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4879)
#### Dependencies
- Gradle Plugin `org.jetbrains.compose`, version `1.6.11`. Based on Jetpack Compose libraries:
- [Compiler 1.5.14](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14)
- [Runtime 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.7)
- [UI 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.7)
- [Foundation 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.7)
- [Material 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.7)
- [Material3 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1)
- Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0`. Based on [Jetpack Lifecycle 2.8.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)
- Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07`. Based on [Jetpack Navigation 2.7.7](https://developer.android.com/jetpack/androidx/releases/navigation#2.7.7)
***
### [`v1.6.0`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#160-February-2024)
*Changes since 1.5.12*
#### Highlights
An overview of highlights for this release is also available in the Compose Multiplatform documentation: [What's new in 1.6.0](https://www.jetbrains.com/help/kotlin-multiplatform-dev/whats-new-compose-1-6-0.html).
##### Common
- Resource library improvements ([an example project](https://redirect.github.com/JetBrains/compose-multiplatform/tree/8ee7531c424421657842a24a5c365db53ba19e18/components/resources/demo))
- [Compile-time checking of resources through a generated `Res` class](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3961)
- [Introduce top level `composeResources` dir with `drawable`, `font`, `files`, `values/strings.xml` support](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4127)
- [Support for various screen densities, multiple languages and regions, and light and dark themes](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4018)
- [Experimental support is available for tests in common code](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/978)
- [Support Kotlin 2.0.0-Beta4](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4332)
##### iOS, Desktop, Web
- [Support `LineHeightStyle.Trim`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/897)
- [Add a way to use fonts installed on the system](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/898)
- [Add support for text decoration line styles via PlatformTextStyle](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/999)
##### iOS
- Native-like caret behaviour by long/single taps in textfields([1](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/913), [2](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/858))
- [Basic accessibility support](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1025)
- [`Popup`s/`Dialog`s can now be displayed outside a `ViewController` over native components](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1031)
- [Allow selecting `Text` in `SelectionContainer` by double and triple tap](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/984)
##### Web
- [Compose for Web (Wasm) artifacts are available in Maven Central](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/914) ***Warning**: Kotlin 1.9.21 has [an issue](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4230) with web target. Use Kotlin 1.9.22.*
##### Desktop
- [Proper clipping of `SwingPanel` interop](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/915) *(under an experimental flag, see the link)*
- [`Popup`s/`Dialog`s can now be displayed outside the main window or panel and over native components](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/992) *(under an experimental flag, see the link)*
#### Breaking changes
##### Common
- Resource library (`compose.components.resources`) changes
- resources from `*Main\resources` should be moved to `*Main\composeResources\drawable`, `commonMain\composeResources\font` or `*Main\composeResources\files` depending on the resource type
- `painterResource("resource.xml")` should be replaced by `painterResource(Res.drawable.resource)`
- `google()` maven repository is now required. Add this to `build.gradle.kts`:
repositories {
...
google()
}
If the project doesn't have it, there will be an error `Could not find androidx.annotation:annotation:...` or `Could not find org.jetbrains.compose.collection-internal:collection`.
- [Text with `lineHeight` set is trimmed by default](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/897)
- [Text with `fontSize` set without `lineHeight` inside `MaterialTheme` has different line height](https://issuetracker.google.com/issues/321872412)
##### iOS/Desktop/Web
- [Deprecate `public ComposeScene` in favour of `@InternalComposeUiApi MultiLayerComposeScene`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/908)
- [Hide deprecated DropdownMenu overloads](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1003)
##### iOS
- Separate platform views for `Popup`s/`Dialog`s that are enabled by default, unable to draw anything out of their own bounds (for example, a shadow of the topmost container). It will be fixed in a future version, but if you're relying on this behavior, you can switch back to the old behavior by setting the `platformLayers` parameter to `false`:
```kt
ComposeUIViewController(configure = {
platformLayers = false
}) {
// ...
}
```
##### Desktop
- [Remove deprecated APIs in `TooltipArea` and `PointerEvent`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1029)
##### Web (k/js)
- Libraries which depend on earlier Compose Multiplatform version are not compatible with 1.6.0 anymore. This is because decoys generation was disabled. Projects which apply Compose Compiler plugin manually need to remove this argument: `plugin:androidx.compose.compiler.plugins.kotlin:generateDecoys=true`.
#### Features
##### Common
- [Publish new platforms for `runtime-saveable`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/894)
##### iOS
- [Adjust overscroll effect params to match iOS animations](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1010/files)
- [Add ability to change opacity for compose view](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1022)
- [Introduce `@Composable fun UIKitViewController`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/882)
- [Remove iOS experimental flag in gradle.properties](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3896)
##### Desktop
- [Support select till the end of the file / till the start of the file keyboard actions on Windows](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/989)
- [Add LinuxArm64 target to Compose runtime](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/977)
- [Add dedicated feature flags class for desktop](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/945)
##### Web
- [Change the embedded font to Roboto Regular](https://redirect.github.com/JetBrains/skiko/pull/830)
##### HTML library
- [Add opportunity to use custom prefixes in `StyleSheet`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3015)
- [Add `sub`, `sup` and `blockquote` elements](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3325)
##### Gradle Plugin
- [Add `ui-tooling-preview` alias](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4190)
- [Add `compose.uiTest` dependency](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4100)
- [Add `compose.components.uiUtil` dependency](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3895)
#### Fixes
##### iOS/Desktop/Web
- [Fix "DropdownMenu performs onDismissRequest twice"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1057)
- [Use a large rectangle for the picture bounds in RenderNodeLayer.drawLayer to prevent clipping](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1090)
- [Fix closing scene during scroll animation](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1096)
- [Fix "Using `painterResource(:DrawableResource)` outside desktop Window can produce `UnsatisfiedLinkError`"](https://redirect.github.com/JetBrains/skiko/pull/866)
- [Fix "Rect::makeLTRB expected l <= r" crashes](https://redirect.github.com/JetBrains/skiko/pull/867)
- [Fix "`TextLayoutResult#getLineForVerticalPosition` returns wrong value + slow performance"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1012)
- [Run all effects before sending synthetic events](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1034)
- [`Font` constructor with lazy data loading](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/906)
- [Optimise `TextLayoutResult#getLineForOffset`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/934)
- [Fix "SwingPanel/UIKitView doesn't apply Modifier.offset if it's after Modifier.size"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/922)
- [DatePicker. Fix empty row](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/921)
- [DatePicker. Fix selection of the current day](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/877)
- [Fix `LayoutCoordinates.localToWindow` coordinates conversion for non-full Compose components](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/956)
##### iOS
- [Fixed unexpected fling animation over scrolling content](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1039)
- [Fix UIKitView z-order](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/965)
- [Fix missing case for loading `SystemFont` on iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1013)
- [Fix selection container crash](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1016)
- [Fix `WindowInfo.containerSize` without `platformLayers` flag](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1028)
- [Disable encoding on separate thread for iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/907)
- [Synchronise IME insets with iOS keyboard](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/875)
##### Desktop
- [Protect against `MouseInfo.getPointerInfo()` returning null in `WindowDraggableArea`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1049)
- [Support Rtl in `SplitPane`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4265)
- [Fix a native crash on `makeGL`](https://redirect.github.com/JetBrains/skiko/pull/869)
- [Add Arial and Consolas as backup fonts on Linux and mention font name when one fails to load](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/994)
- [Fix blurry app icon in the system application switcher](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/890)
- [Insert a new line on `NumPadEnter`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/988)
- [Don't restart the drag gesture when the `onDrag(matcher=` changes](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/976)
- [Fix "Resizing window on desktop sometimes triggers onClick handlers of Composables"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/949)
- [Fix "`ComposePanel` doesn't calculate its preferredSize correctly when it's called before doLayout"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/884)
- [Fix input methods on JBR, disable input methods when we lose focus](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/881)
- [Fix "BasicTextField could not input any Chinese character when using JBR"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/885)
- [Take into account `enabled` in `scrollable` for mouse input](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/880)
- [Fix NPE for getComponentAfter/Before in ComposePanel](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/878)
- [Transparency support for D3D](https://redirect.github.com/JetBrains/skiko/pull/837) *(previously it supported via fallback on OpenGL)*
##### Web
- [Add a `SystemThemeObserver` implementation for wasmJs](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/998)
- [Fix keyboard events with meta key on wasm/js targets](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1088)
- [Added WASM to `components.uiToolingPreview` library](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4286)
- [Fix "The cursor is invisible in compose web"](https://redirect.github.com/JetBrains/skiko/pull/846)
- [Use an alternative implementation of `Image.toBitmap`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/917)
##### Gradle Plugin
- [Fix failing when `org.jetbrains.compose` is applied from a script plugin](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3951)
#### Dependencies
This version of Compose Multiplatform is based on the next Jetpack Compose libraries:
- [Compiler 1.5.8](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.8)
- [Runtime 1.6.1](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.1)
- [UI 1.6.1](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.1)
- [Foundation 1.6.1](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.1)
- [Material 1.6.1](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.1)
- [Material3 1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.0)
See [the announce](https://android-developers.googleblog.com/2024/01/whats-new-in-jetpack-compose-january-24-release.html) of Jetpack Compose 1.6. Notes:
- `Changes to default font padding` affects only Android target.
- `Added support for selection by mouse, including text.` concerns only Android. Other targets supported it before 1.6.
- Some of the features are not ported yet (they will be ported in the next versions):
- [BasicTextField2](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4218)
- [Support for nonlinear font scaling](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4305)
- [Multipaltform Drag and drop](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4235). It works only for Android right now. For desktop there is the old API `Modifier.onExternalDrag`
- [MultiParagraph.fillBoundingBoxes](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4236)
See [the announce](https://material.io/blog/material-3-compose-1-2) of Material 1.2.
### [`v1.5.12`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1512)
#### Common
##### Features
- [Support Kotlin 1.9.22](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4075)
#### Desktop
##### Fixes
- [Fix "BasicTextField NPE-crash on JBR 17.0.9 on Linux when clicked"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/973)
#### Dependencies
This version of Compose Multiplatform is based on the next Jetpack Compose libraries:
- [Compiler 1.5.8](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.8)
- [Runtime 1.5.4](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.5.4)
- [UI 1.5.4](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.5.4)
- [Foundation 1.5.4](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.5.4)
- [Material 1.5.4](https://developer.android.com/jetpack/androidx/releases/compose-material#1.5.4)
- [Material3 1.1.2](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.1.2)
### [`v1.5.11`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1511-November-2023)
#### Common
##### Features
- [Support Kotlin 1.9.21](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3966)
- [Support Kotlin 2.0.0-Beta1](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3934)
#### iOS
##### Fixes
- [Fix crash at GrGpuResource::release()](https://redirect.github.com/JetBrains/compose-multiplatform/issues/3862)
- [Fix crash with custom font](https://redirect.github.com/JetBrains/compose-multiplatform/issues/3822)
- [Composable functions returning null cause crash](https://redirect.github.com/JetBrains/compose-multiplatform/issues/3900) (fixed in Kotlin 1.9.21 and JetBrains Compose Compiler 1.5.4)
#### Desktop
##### Fixes
- [Fix race condition in animat
Configuration
đ Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
đŠ Automerge: Disabled by config. Please merge this manually once you are satisfied.
â» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
đ Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.2.1
->1.7.1+build1894-release-1.7.1
Release Notes
JetBrains/compose-jb (org.jetbrains.compose.material3:material3)
### [`v1.7.0`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#170-October-2024) *Changes since 1.6.11* #### Highlights #### Resources - [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](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4965) ##### Navigation - [Shared Element Transitions](https://developer.android.com/develop/ui/compose/animation/shared-elements) - [Safe Args in Navigation Compose](https://developer.android.com/guide/navigation/design/type-safety) ##### Web - [`skiko.js` is redundant in case of K/Wasm Compose Multiplatform for web applications and it can be removed from index.html files to not load redundant files](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5134). `skiko.js` will be removed from the k/wasm distribution in the future releases. `skiko.js` is still needed in case of K/JS Compose Multiplatform for web apps #### Breaking changes ##### iOS - [`UIKitView` and `UIKitViewController` in `package androidx.compose.ui.interop` are deprecated](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1494). New API are mentioned in deprecation message. Deprecated invocations should work fine unless custom `onResize` is used, it is disallowed now and will print a warning. - [Actual of expected `InteropView` on iOS is `UIResponder` now instead of `UIView`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1489). It's the first common ancestor for `UIViewController` and `UIView`, both of which can be integrated using iOS interop APIs - [The app will crash by default, if `CADisableMinimumFrameDurationOnPhone` is not set to true in `Info.plist`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1451). Use newly added `ComposeUIViewControllerConfiguration.enforceStrictPlistSanityCheck` to opt-out of this behavior ##### Desktop - [`Modifier.onExternalDrag` has been deprecated in favor of the new `Modifier.dragAndDropTarget`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1528) ##### Android - [Minimal supported AGP raised to 8.1.0](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4840) ##### Resources - [Deprecate resources in `compose.ui` in favour of the new resource library](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1457) #### Features ##### Multiple Platforms - [The `clickable` modifier now responds to NumPadEnter and Spacebar, too, in addition to Enter](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1464) - [`LocalLifecycleOwner` moved from Compose UI to `lifecycle-runtime-compose` so that its Compose-based helper APIs can be used outside of Compose UI](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1449) - [Skia is updated to m126](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1486) - [Commonized `org.jetbrains.compose.material3:material3-window-size-class` module](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1466) - [Commonized `org.jetbrains.compose.material3.adaptive:adaptive*` modules](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1468) - [New multiplatform module "material-navigation" (in beta status)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1504) - [`material3-adaptive-navigation-suite` is multiplatform now](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1539) - [Support Kotlin 1.9.25](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5141) ##### iOS - [Initial iOS floating cursor support](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1312) - [Added `accessibilityEnabled: Boolean = true` argument to `UIKitView` and `UIKitViewController`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1350) - [`preferredStatusBarStyle`, `preferredStatysBarAnimation` and `prefersStatusBarHidden` are added to `ComposeUIViewControllerDelegate` to allow status bar appearance modification](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1378) - [Improvements in touches processing to detect if touches were meant to be delivered to interop views, or should be processed by Compose](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1440) - [New `UIKitView` and `UIKitViewController` API in `package androidx.compose.ui.viewinterop`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1494). Support of `onReset` 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) - [Basic support for `BasicTextField(TextFieldState, ...)` on iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1540) ##### Desktop - [Add constructor with `RenderSettings` to `ComposePanel`. Added a class `RenderSettings` with `val isVsyncEnabled: Boolean?`. When set to `true` gives a hint to renderer implementation of the particular `ComposePanel` to reduce the latency between the input and visual changes in exchange for possible screen tearing](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1377) - [Add public `moveEnabled` and `positionPercentage` setters in `SplitPaneState`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3974) - [Implemented Drag-and-Drop from AOSP: `Modifier.dragAndDropSource` and `Modifier.dragAndDropTarget`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1433) - [Added support for input methods (languages such as Chinese, Korean, Arabic) to BasicTextField(TextFieldState, ...)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1496) - [Add dynamic Drag\&Drop target indication](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1510) (đ« icon under cursor if currently there is no valid drop target under it) - [The thickness of border resizers in undecorated windows and dialogs can now be controlled by passing a new `decoration` argument](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1505) ##### Resources - [Speed resources web rendering up by the reading a cached value instantly](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4893) - [If there is no resource with suitable density, use resource with the most suitable density, otherwise use default (similar to the Android logic)](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4969) - [Add a customization for resources directories. Now it is possible to use e.g downloaded resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5016) - [Now the gradle plugin generates resources map to find a resource by a string ID](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5068) - [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](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5109) - [Added utility functions to decode `Bitmap ByteArray as ImageVector` and `XML ByteArray as ImageVector` in the common code and `SVG ByteArray as Painter` in the non-android code](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5098) - [Added support of test resources in Compose Multiplatform projects](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5122) - [Added support of multi-module resources in JVM-only projects](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5122) ##### Gradle Plugin - [New `compose.material3AdaptiveNavigationSuite` shortcut in the gradle plugin](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5133) #### Fixes ##### Multiple Platforms - [Fix "ComposePanel. Focus moves to child after focusing/unfocusing the main window"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1398) - [Don't show code completion for non-existenst API in `commonMain` that fails on Android with `NoSuchMethodException`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1328) - [Fix order of interop elements in some cases](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1340) - [Fixed `Popup` jerking during ripple effect animation](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1385) - [Fix applying `ShaderBrush` to part of `AnnotatedString`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1389) - [Fix text `brush` animation and optimized updating some visual text properties (applying time is reduced up to 40%)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1395) - [Fix initial cursor position in the empty `TextField` with explicitly set `TextAlignment`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1354) - [Fix focus for editable `TextField` inside `ExposedDropdownMenuBox`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1423) - [Fix changing `FontRenderingSettings` is not reflected until composition restarts](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1595) ##### iOS - [Pressing directional keys on a physical keyboard connected to iOS device doesn't cause a crash](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1383) - [Dismissing popup or dialogue within a very short timespan after its creation doesn't cause a crash](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1384) - [Fix missing invalidations during native view resize](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1387) - [Fixed a memory spike when continuously resizing the `ComposeUIViewController` (such as when used in modal sheet presentation context with different detents)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1390) - [visibility of selection handles in single-line textfields with LTR + RTL text in iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1331) - [Interop views are now correctly clipped when their measured clipped and unclipped bounding boxes don't match](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1430) - [Touches inside interop views are not exclusive to them and are processed on Compose side as well.](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1426) - [Fix `material3.ModalBottomSheet` safe area usage](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1438) - [Fix hiding interop element during quick scroll](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1425) - [Fixed the keyboard appearing when selecting from SelectionContainer](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1448) - [Fix status bar padding on iPad devices](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1442) - [VoiceOver doesn't allow to perform a11y actions (scrolling, activate, customActions) when disabled() semantics is present in affected element](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1446) - [Fix frame drops when dragging scrollable content on iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1503) - [A new approach to implementation of `platformLayers`.](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1515) 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 and `Popup`s now have their insets calculated correctly even when the frame of `ComposeUIViewController` spawning them doesn't intersect any safe areas](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1515) - [Fix offset issues with keyboard and `TextField`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1523) - [Fix "Incorrect `imePadding` and high cpu usage when repeatedly opening and closing `Keyboard` on iOS"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1523) - [Fix "Selection handlers in wrong positions in a fullscreen TextField"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1523) - [Fix keyboard closing while scrolling content with Text Fields](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1558) - [Fix "UriHandler.openUri no longer works on iOS 18"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1595) ##### Desktop - [Fix possible `UninitializedPropertyAccessException` in `desktopTest`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1343) - [Fixed `ComposePanel.requestFocus()`, making it correctly assign focus to the first focusable child](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1352) - [When using `ComposePanel` inside a Swing application on macOS, VoiceOver will now correctly go into the `ComposePanel` when traversing accessible elements](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1362) - [When using `ComposePanel` inside a Swing application on Windows with NVDA turned on, focus will now correctly go into the `ComposePanel` when traversing with (ctrl)-shift-tab](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1363) - [Correctly save `WindowState` with unspecified `size` instead of crashing](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1394) - [Fix `IndexOutOfBoundsException` crash on Windows when traversing a11y elements](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1415) - [Fix scrolling non-same direction nested scrolls with trackpad](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1434) - [Fix fling velocity for precise wheel scroll](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1402) - [\[macOS\] Fix crash when right-clicking an empty `SelectionContainer` or on the padding of a `Text` inside a `SelectionContainer`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1439) - [Fix bounds of `ComposePanel` in IntelliJ on macOs](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1571) - [Fix UI glitch when resizing a Compose window via its `WindowState`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1565) ##### Web - [Process `keydown` and `keyup` keys for identified keys from virtual keyboard](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1380) - [Allow preloading the fallback fonts. This enables the usage of emojis and other unicode characters without manually composing the Text with AnnotatedString](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1400) - [Make sure the web app distribution doesn't contain a duplicate `skiko.wasm`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4958) - [Prevent a crash on mobile web when selecting some text in `SelectionContainer`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1551) ##### Resources - [Delete `contextClassLoader` usage on JVM targets](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4895) - [Create an empty resource dir with "podspec" task instead "podInstall"](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4900) - [Fix resource accessors escaping. Now it is possible to use resources with names: "package", "is", "item\_$xxx" etc](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4901) - [Read exactly requested count of bytes from InputStream on jvm platforms](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4943) - [Now drawables from upper DPIs will be downscalled to the expected size. (the same behavior as on Android)](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5101) ##### Gradle Plugin - [Make sure tryGetSkikoRuntimeIfNeeded is executed only during the task execution](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4918) - [Delete outdated build services](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4959) - [Support project isolation](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5120) - [Fix a gradle project misconfiguration when KSP and Room are used](https://redirect.github.com/JetBrains/compose-multiplatform/pull/5129) #### Dependencies - Gradle Plugin `org.jetbrains.compose`, version `1.7.0`. Based on Jetpack Compose libraries: - [Runtime 1.7.1](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.7.1) - [UI 1.7.1](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.1) - [Foundation 1.7.1](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.7.1) - [Material 1.7.1](https://developer.android.com/jetpack/androidx/releases/compose-material#1.7.1) - [Material3 1.3.0](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.3.0) - Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.3`. Based on [Jetpack Lifecycle 2.8.5](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.5) - Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha10`. Based on [Jetpack Navigation 2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0) - Material3 Adaptive libraries `org.jetbrains.compose.material3.adaptive:adaptive*:1.0.0`. Based on [Jetpack Material3 Adaptive 1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.0.0) *** ### [`v1.6.11`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1611-June-2024) *Changes since 1.6.10* #### Fixes ##### Multiple Platforms - [Fix endless re-layout when layout is invalidated by measure, which includes measuring `TextField(singleLine=true)` with `IntrinsicSize`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1355) - [Fix container size for `Dialog` centering inside `ImageComposeScene`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1375) ##### iOS - [Fix crash on iOS 12 caused by usage unavailable `UIMenuController` API](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1361) ##### Desktop - [Fix `DropdownMenu`/`Popup` positioning when a window is moved to a screen with a different density](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1333) - [Fix possible scrolling without animation on some mouse models](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1326) ##### Web - [Fixed crash when `DatePicker` text field receives illegal input](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1368) ##### Resources - [Fix a cached font if the resource acessor was changed](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4864) ##### Gradle Plugin - [Fix Compose Compiler configuration for Kotlin < 2.0 when kotlin-android or kotlin-js gradle plugins are applied](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4879) #### Dependencies - Gradle Plugin `org.jetbrains.compose`, version `1.6.11`. Based on Jetpack Compose libraries: - [Compiler 1.5.14](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14) - [Runtime 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.7) - [UI 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.7) - [Foundation 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.7) - [Material 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.7) - [Material3 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1) - Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0`. Based on [Jetpack Lifecycle 2.8.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0) - Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07`. Based on [Jetpack Navigation 2.7.7](https://developer.android.com/jetpack/androidx/releases/navigation#2.7.7) *** ### [`v1.6.10`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1610-May-2024) *Changes since 1.6.2* #### Highlights - Experimental multiplatform support of `Lifecycle` and `ViewModel`. See [documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-lifecycle.html) for details - Experimental multiplatform support of Jetpack Navigation. See [documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-navigation-routing.html) for details or check out the [nav_cupcake project](https://redirect.github.com/JetBrains/compose-multiplatform/tree/master/examples/nav_cupcake/) which was converted from the [Navigate between screens with Compose](https://developer.android.com/codelabs/basic-android-kotlin-compose-navigation) Android codelab - [Support multi-module projects and libraries publication with Compose resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4454) *(Kotlin `2.0.0-Beta05` or higher is required)* #### Breaking changes - Since Kotlin `2.0-RC2`, the additional `org.jetbrains.kotlin.plugin.compose` Gradle plugin is required. See [the migration guide](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compiler.html#migrating-a-compose-multiplatform-project) #### Features ##### Multiple Platforms - [Add font rasterization settings in paragraph style](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1102) - [Localize internal strings in `ui`, `material` and `material3`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1158) ##### iOS - [Magnifier for iOS 17+](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1000) - [Support software keyboard inset in `Dialog`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1067) - [iOS a11y dialogues and popups integration](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1091) - [OS logging integrated with `trace`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1140) - [Support accessibility scroll](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1169) - [Improve iOS a11y sync behavior](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1170) - [Add throttle for text context menu updates](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1182) - [Support a11y for interop views](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1241) - [Support `HapticFeedback` on iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1255) - [iOS support `LiveRegion` semantics in a11y](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1258) ##### Desktop - [Add an `alwaysOnTop` flag to `DialogWindow`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1120) - Basic support of `BasicTextField2`: [#1227](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1227), [#1264](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/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](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1206) - [Introduce ComposeViewport function that renders content in parent container](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1211) - [Introduce minimal virtual keyboard support](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1259) - [Basic IME keyboard support](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1297) - [Some experimental Compose Multiplatform Gradle plugin APIs for web app configuration were deprecated. Their usage is not required anymore.](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4796) ##### Resources - [Support three letters locales](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4394) - [Add DSL to configure compose resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4482) - [Support plural string resource](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4519) - [Add option to disable compose resources generation](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4526) - [XML resource optimizations](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4559) - [Get resource files as URI](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4576) - [Support source set's hierarchy for compose resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4589) - [Support SVG drawables for non android platforms](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4605) - [Delete the experimental mark from the stable resources library API](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4623) - [Add functions to retrieve bytes from drawable or font resources](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4651) - [To disable the Compose Resources publication and the multimodule support in cases of problems add `org.jetbrains.compose.resources.multimodule.disable=true` to the root `gradle.properties`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4771) ##### Gradle Plugin - [Add possibility to modify the macOS minimum version](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4271) - [Make desktop preview task fully configuration cache compliant](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4410) - [Option to pack jars as uber JAR, support Proguard for uber JAR](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4136) #### Fixes ##### Multiple Platforms - [Fix `NaN` font metrics by initializing typeface for `TextStyle`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1087) - [Fix render order of interop views](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1145) - [Reimplement SortedSet for JS/Native to improve performance](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1167) - [Allow drawing outside of platform layers](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1190) - [Prevent a few unnecessary re-compositions in `Popup` and `DesktopMenu`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1225) - [Propagate composition locals to layers in the (re)composition phase](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1233) - [Move the effects and synthetic events dispatching to after the draw phase in the render loop](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1260) - [Fix Kotlin/Native can't use `T::class` in inline function of `@Composable`](https://redirect.github.com/JetBrains/compose-multiplatform/issues/3147) - [Fix missing recomposition after showing `Dialog`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1272) ##### iOS - [Fix keyboard disappear on IME action](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1118) - [Fix nested scroll when `Pager` involved in scrolling process](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1154) - [Fix a11y wrong bounds calculation](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1165) - [Delay tap indication inside scroll](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1173) - [Fix keyboard opening when scrolling begins within a `TextField`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1176) - [Fix IME window insets and view offset when keyboard appears](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1199) - [Fix animation frozen after app went background](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1263) - Fixed appearing of text editing menu ([#1269](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1269), [#1293](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1293)) - [Fix content rect calculation in `SelectionManager`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1270) ##### Desktop - [Fix nested scrolling on mouse wheel](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1055) - [Trigger fling callbacks on mouse wheel scroll (fixes `Pager` and lazy column/row spanning)](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1100) - [Fix `Pager` direction detection for mouse wheel](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1103) - [Fix missing clicks inside `SelectionContainer`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1106) - [Fix clipping bounds of `SwingPanel`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1147) - [Locale-aware date formatting for desktop](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1159) - [Pass the id of the node whose layout changed to accessibility controllers](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1162) - `WINDOW` layer fixes: [#1181](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1181), [#1185](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1185), [#1187](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1187), [#1189](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1189) - [Fix crash when we resize `ComposePanel` after re-adding it to the hierarchy](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1195) - [Fix propagation of `LocalLocalization`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1202) - [Re-show the tooltip on mouse-move following a click in TooltipArea](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1209) - [Fix the direction of scrolling when pressing on the scrollbar track with `reverseLayout=true`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1221) - [Fix crash and allow selection in `SelectionContainer` to start when drag starts below the bounds of the visible text](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1230) - [Fix a crash on Windows without `dcomp.dll`](https://redirect.github.com/JetBrains/skiko/pull/909) - [Fix crash when creating SwingRedrawer on DirectX](https://redirect.github.com/JetBrains/skiko/pull/917) - [Option to not throw `RenderException` when use OpenGL on macOS](https://redirect.github.com/JetBrains/skiko/pull/915) - [Sync all AccessibilityControllers when an a11y query is received](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1283) - [Fix crash when modifying Compose state from a non-UI thread](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1288) - [Close `Popup`/`Dialog` by clicking any mouse button outside](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1280) ##### Web - [Implement actual `fun isCopyKeyEvent`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1101) - [Fix metadata compilation](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1123) - [Support `sendKey` test utility function on wasm target](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1150) - [Send correct window sized on resize](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1166) - [Dispose all listened events alongside with the application being disposed](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1239) - [Modify `buttonFlags` only on `Press` and `Release`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1243) - [Fix keyboard mappings](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1249) - [Correct density rounding in `ComposeWindow::resize`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1268) - [Fix `MouseEvent` to `PointerButton` mapping](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1274) - [Correct virtual keyboard mode resolution](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1295) - [Fix browser clipboard events handling on Windows](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1329) - [Rename `viewportContainer` to `viewportContainerId` parameter in `ComposeViewport`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1334) ##### Resources - [Fix resource accessors compilation when there are huge number of resource files](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4294) - [Init resource accessors lazily and in external function to avoid `MethodTooLargeException`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4404) - [Fix `Res` class generation if the library is declared as 'api'](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4406) - [Fix resource packaging in APK when 'build' task is used with AGP 8.2+](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4408) - [Use first of preferred locales instead of a current on iOS](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4507) - [Fix `readResourceBytes` function on Android if font is located under qualified directory](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4512) - [Fix android fonts in APKs](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4509) - [Handle special characters for quantity strings](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4543) - [Select default resource if there are no exact language+region or default language match](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4577) - [Add validation checks on invalid XML or item type](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4680) ##### Gradle plugin - [Fix `Task with name 'podBuildGoogleMapsIphonesimulator' not found` in a project with Cococapods"](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4707) #### Dependencies - Gradle Plugin `org.jetbrains.compose`, version `1.6.10`. Based on Jetpack Compose libraries: - [Compiler 1.5.14](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14) - [Runtime 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.7) - [UI 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.7) - [Foundation 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.7) - [Material 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.7) - [Material3 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1) - Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0`. Based on [Jetpack Lifecycle 2.8.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0) - Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07`. Based on [Jetpack Navigation 2.7.7](https://developer.android.com/jetpack/androidx/releases/navigation#2.7.7) *** ### [`v1.6.2`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#162-April-2024) *Changes since 1.6.1* #### Features ##### Common - [Support Kotlin `2.0.0-RC1`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4596) #### Fixes ##### iOS, Desktop, Web - [Propagate composition locals to layers in the (re)composition phase](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1233) - [Add transactions to `FocusOwnerImpl` `takeFocus` and `releaseFocus` to prevent crash when a window is re-shown](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1231) - [Fix crash and allow selection in `SelectionContainer` to start when drag starts below the bounds of the visible text](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1230) ##### iOS - [Fixed crash in `TextField` when a last symbol is a carriage return symbol](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1229) #### Dependencies This version of Compose Multiplatform is based on the next Jetpack Compose libraries: - [Compiler 1.5.11](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.11) - [Runtime 1.6.4](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.4) - [UI 1.6.4](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.4) - [Foundation 1.6.4](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.4) - [Material 1.6.4](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.4) - [Material3 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1) ### [`v1.6.1`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1611-June-2024) *Changes since 1.6.10* #### Fixes ##### Multiple Platforms - [Fix endless re-layout when layout is invalidated by measure, which includes measuring `TextField(singleLine=true)` with `IntrinsicSize`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1355) - [Fix container size for `Dialog` centering inside `ImageComposeScene`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1375) ##### iOS - [Fix crash on iOS 12 caused by usage unavailable `UIMenuController` API](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1361) ##### Desktop - [Fix `DropdownMenu`/`Popup` positioning when a window is moved to a screen with a different density](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1333) - [Fix possible scrolling without animation on some mouse models](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1326) ##### Web - [Fixed crash when `DatePicker` text field receives illegal input](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1368) ##### Resources - [Fix a cached font if the resource acessor was changed](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4864) ##### Gradle Plugin - [Fix Compose Compiler configuration for Kotlin < 2.0 when kotlin-android or kotlin-js gradle plugins are applied](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4879) #### Dependencies - Gradle Plugin `org.jetbrains.compose`, version `1.6.11`. Based on Jetpack Compose libraries: - [Compiler 1.5.14](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14) - [Runtime 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.7) - [UI 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.7) - [Foundation 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.7) - [Material 1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.7) - [Material3 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1) - Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0`. Based on [Jetpack Lifecycle 2.8.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0) - Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07`. Based on [Jetpack Navigation 2.7.7](https://developer.android.com/jetpack/androidx/releases/navigation#2.7.7) *** ### [`v1.6.0`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#160-February-2024) *Changes since 1.5.12* #### Highlights An overview of highlights for this release is also available in the Compose Multiplatform documentation: [What's new in 1.6.0](https://www.jetbrains.com/help/kotlin-multiplatform-dev/whats-new-compose-1-6-0.html). ##### Common - Resource library improvements ([an example project](https://redirect.github.com/JetBrains/compose-multiplatform/tree/8ee7531c424421657842a24a5c365db53ba19e18/components/resources/demo)) - [Compile-time checking of resources through a generated `Res` class](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3961) - [Introduce top level `composeResources` dir with `drawable`, `font`, `files`, `values/strings.xml` support](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4127) - [Support for various screen densities, multiple languages and regions, and light and dark themes](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4018) - [Experimental support is available for tests in common code](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/978) - [Support Kotlin 2.0.0-Beta4](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4332) ##### iOS, Desktop, Web - [Support `LineHeightStyle.Trim`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/897) - [Add a way to use fonts installed on the system](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/898) - [Add support for text decoration line styles via PlatformTextStyle](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/999) ##### iOS - Native-like caret behaviour by long/single taps in textfields([1](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/913), [2](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/858)) - [Basic accessibility support](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1025) - [`Popup`s/`Dialog`s can now be displayed outside a `ViewController` over native components](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1031) - [Allow selecting `Text` in `SelectionContainer` by double and triple tap](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/984) ##### Web - [Compose for Web (Wasm) artifacts are available in Maven Central](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/914) ***Warning**: Kotlin 1.9.21 has [an issue](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4230) with web target. Use Kotlin 1.9.22.* ##### Desktop - [Proper clipping of `SwingPanel` interop](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/915) *(under an experimental flag, see the link)* - [`Popup`s/`Dialog`s can now be displayed outside the main window or panel and over native components](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/992) *(under an experimental flag, see the link)* #### Breaking changes ##### Common - Resource library (`compose.components.resources`) changes - resources from `*Main\resources` should be moved to `*Main\composeResources\drawable`, `commonMain\composeResources\font` or `*Main\composeResources\files` depending on the resource type - `painterResource("resource.xml")` should be replaced by `painterResource(Res.drawable.resource)` - `google()` maven repository is now required. Add this to `build.gradle.kts`: repositories { ... google() } If the project doesn't have it, there will be an error `Could not find androidx.annotation:annotation:...` or `Could not find org.jetbrains.compose.collection-internal:collection`. - [Text with `lineHeight` set is trimmed by default](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/897) - [Text with `fontSize` set without `lineHeight` inside `MaterialTheme` has different line height](https://issuetracker.google.com/issues/321872412) ##### iOS/Desktop/Web - [Deprecate `public ComposeScene` in favour of `@InternalComposeUiApi MultiLayerComposeScene`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/908) - [Hide deprecated DropdownMenu overloads](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1003) ##### iOS - Separate platform views for `Popup`s/`Dialog`s that are enabled by default, unable to draw anything out of their own bounds (for example, a shadow of the topmost container). It will be fixed in a future version, but if you're relying on this behavior, you can switch back to the old behavior by setting the `platformLayers` parameter to `false`: ```kt ComposeUIViewController(configure = { platformLayers = false }) { // ... } ``` ##### Desktop - [Remove deprecated APIs in `TooltipArea` and `PointerEvent`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1029) ##### Web (k/js) - Libraries which depend on earlier Compose Multiplatform version are not compatible with 1.6.0 anymore. This is because decoys generation was disabled. Projects which apply Compose Compiler plugin manually need to remove this argument: `plugin:androidx.compose.compiler.plugins.kotlin:generateDecoys=true`. #### Features ##### Common - [Publish new platforms for `runtime-saveable`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/894) ##### iOS - [Adjust overscroll effect params to match iOS animations](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1010/files) - [Add ability to change opacity for compose view](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1022) - [Introduce `@Composable fun UIKitViewController`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/882) - [Remove iOS experimental flag in gradle.properties](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3896) ##### Desktop - [Support select till the end of the file / till the start of the file keyboard actions on Windows](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/989) - [Add LinuxArm64 target to Compose runtime](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/977) - [Add dedicated feature flags class for desktop](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/945) ##### Web - [Change the embedded font to Roboto Regular](https://redirect.github.com/JetBrains/skiko/pull/830) ##### HTML library - [Add opportunity to use custom prefixes in `StyleSheet`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3015) - [Add `sub`, `sup` and `blockquote` elements](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3325) ##### Gradle Plugin - [Add `ui-tooling-preview` alias](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4190) - [Add `compose.uiTest` dependency](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4100) - [Add `compose.components.uiUtil` dependency](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3895) #### Fixes ##### iOS/Desktop/Web - [Fix "DropdownMenu performs onDismissRequest twice"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1057) - [Use a large rectangle for the picture bounds in RenderNodeLayer.drawLayer to prevent clipping](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1090) - [Fix closing scene during scroll animation](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1096) - [Fix "Using `painterResource(:DrawableResource)` outside desktop Window can produce `UnsatisfiedLinkError`"](https://redirect.github.com/JetBrains/skiko/pull/866) - [Fix "Rect::makeLTRB expected l <= r" crashes](https://redirect.github.com/JetBrains/skiko/pull/867) - [Fix "`TextLayoutResult#getLineForVerticalPosition` returns wrong value + slow performance"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1012) - [Run all effects before sending synthetic events](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1034) - [`Font` constructor with lazy data loading](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/906) - [Optimise `TextLayoutResult#getLineForOffset`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/934) - [Fix "SwingPanel/UIKitView doesn't apply Modifier.offset if it's after Modifier.size"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/922) - [DatePicker. Fix empty row](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/921) - [DatePicker. Fix selection of the current day](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/877) - [Fix `LayoutCoordinates.localToWindow` coordinates conversion for non-full Compose components](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/956) ##### iOS - [Fixed unexpected fling animation over scrolling content](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1039) - [Fix UIKitView z-order](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/965) - [Fix missing case for loading `SystemFont` on iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1013) - [Fix selection container crash](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1016) - [Fix `WindowInfo.containerSize` without `platformLayers` flag](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1028) - [Disable encoding on separate thread for iOS](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/907) - [Synchronise IME insets with iOS keyboard](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/875) ##### Desktop - [Protect against `MouseInfo.getPointerInfo()` returning null in `WindowDraggableArea`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1049) - [Support Rtl in `SplitPane`](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4265) - [Fix a native crash on `makeGL`](https://redirect.github.com/JetBrains/skiko/pull/869) - [Add Arial and Consolas as backup fonts on Linux and mention font name when one fails to load](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/994) - [Fix blurry app icon in the system application switcher](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/890) - [Insert a new line on `NumPadEnter`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/988) - [Don't restart the drag gesture when the `onDrag(matcher=` changes](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/976) - [Fix "Resizing window on desktop sometimes triggers onClick handlers of Composables"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/949) - [Fix "`ComposePanel` doesn't calculate its preferredSize correctly when it's called before doLayout"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/884) - [Fix input methods on JBR, disable input methods when we lose focus](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/881) - [Fix "BasicTextField could not input any Chinese character when using JBR"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/885) - [Take into account `enabled` in `scrollable` for mouse input](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/880) - [Fix NPE for getComponentAfter/Before in ComposePanel](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/878) - [Transparency support for D3D](https://redirect.github.com/JetBrains/skiko/pull/837) *(previously it supported via fallback on OpenGL)* ##### Web - [Add a `SystemThemeObserver` implementation for wasmJs](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/998) - [Fix keyboard events with meta key on wasm/js targets](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/1088) - [Added WASM to `components.uiToolingPreview` library](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4286) - [Fix "The cursor is invisible in compose web"](https://redirect.github.com/JetBrains/skiko/pull/846) - [Use an alternative implementation of `Image.toBitmap`](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/917) ##### Gradle Plugin - [Fix failing when `org.jetbrains.compose` is applied from a script plugin](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3951) #### Dependencies This version of Compose Multiplatform is based on the next Jetpack Compose libraries: - [Compiler 1.5.8](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.8) - [Runtime 1.6.1](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.1) - [UI 1.6.1](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.1) - [Foundation 1.6.1](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.1) - [Material 1.6.1](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.1) - [Material3 1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.0) See [the announce](https://android-developers.googleblog.com/2024/01/whats-new-in-jetpack-compose-january-24-release.html) of Jetpack Compose 1.6. Notes: - `Changes to default font padding` affects only Android target. - `Added support for selection by mouse, including text.` concerns only Android. Other targets supported it before 1.6. - Some of the features are not ported yet (they will be ported in the next versions): - [BasicTextField2](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4218) - [Support for nonlinear font scaling](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4305) - [Multipaltform Drag and drop](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4235). It works only for Android right now. For desktop there is the old API `Modifier.onExternalDrag` - [MultiParagraph.fillBoundingBoxes](https://redirect.github.com/JetBrains/compose-multiplatform/issues/4236) See [the announce](https://material.io/blog/material-3-compose-1-2) of Material 1.2. ### [`v1.5.12`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1512) #### Common ##### Features - [Support Kotlin 1.9.22](https://redirect.github.com/JetBrains/compose-multiplatform/pull/4075) #### Desktop ##### Fixes - [Fix "BasicTextField NPE-crash on JBR 17.0.9 on Linux when clicked"](https://redirect.github.com/JetBrains/compose-multiplatform-core/pull/973) #### Dependencies This version of Compose Multiplatform is based on the next Jetpack Compose libraries: - [Compiler 1.5.8](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.8) - [Runtime 1.5.4](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.5.4) - [UI 1.5.4](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.5.4) - [Foundation 1.5.4](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.5.4) - [Material 1.5.4](https://developer.android.com/jetpack/androidx/releases/compose-material#1.5.4) - [Material3 1.1.2](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.1.2) ### [`v1.5.11`](https://redirect.github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1511-November-2023) #### Common ##### Features - [Support Kotlin 1.9.21](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3966) - [Support Kotlin 2.0.0-Beta1](https://redirect.github.com/JetBrains/compose-multiplatform/pull/3934) #### iOS ##### Fixes - [Fix crash at GrGpuResource::release()](https://redirect.github.com/JetBrains/compose-multiplatform/issues/3862) - [Fix crash with custom font](https://redirect.github.com/JetBrains/compose-multiplatform/issues/3822) - [Composable functions returning null cause crash](https://redirect.github.com/JetBrains/compose-multiplatform/issues/3900) (fixed in Kotlin 1.9.21 and JetBrains Compose Compiler 1.5.4) #### Desktop ##### Fixes - [Fix race condition in animatConfiguration
đ Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
đŠ Automerge: Disabled by config. Please merge this manually once you are satisfied.
â» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
đ Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.