Skip to content

Releases: JetBrains/compose-multiplatform

1.8.0-beta02

09 Apr 17:53

Choose a tag to compare

1.8.0-beta02 Pre-release
Pre-release

Changes since 1.8.0-beta01

Features

iOS

  • Support text input when Full Keyboard Access is enabled #1917
  • Added native behavior for tap, long tap and multiple tap to BasicTextField(TextFieldState) #1923
  • Magnifier support for BasicTextField(TextFieldState) #1926

Fixes

Multiple Platforms

  • Fixed IllegalArgumentException: maxWidth(value) must be >= than minWidth(0) crashes when a TextField with trailingIcon is too narrow #1936
  • Fixed crash when dragging selection in TextField(TextFieldState) while also editing the text, such as by pressing Backspace #1969

iOS

  • Fix Text Menu opening after Select All action tap #1930
  • Fix freeze where scrolling was cancelled but the overscroll effect was not completed #1928
  • Fix overscroll animation freeze when pull-to-refresh is triggered #1932
  • Fix issue where root compose canvas does not resize without animation #1934
  • Fix issue where dialog layer may not be shown #1934
  • Remove focus on accessibility nodes with clearing semantics #1933
  • Fix adding extra MetalView when Compose controller re-enters view hierarchy #1938
  • (prerelease fix) Fix deletion of certain RTL or diacritics characters #1952
  • Fix the first layer appearance freeze #1948
  • Fixed text editing behavior (typing / deleting) in BasicTextField(TextFieldState) with applied OutputTransformation #1953
  • Fixed incorrect undo behavior for text deletion in BasicTextField(TextFieldState) #1956
  • (prerelease fix) Fix Text Menu popup placement #1971

Desktop

  • Fixed only the first character being temporarily shown in a SecureTextField #1853
  • Changes in TextFieldState are now correctly reported to the transformations when inputting composite characters (e.g. ㅀ), instead of the whole text being replaced on each new character #1853
  • Fixed a potential deadlock when calling Snapshot.sendApplyNotifications from a thread other than the event dispatching thread #1955
  • Fix missing window shadows on macOS in case of usage compose.interop.blending flag #1908
  • Fix Execution failed for task ':composeApp:proguardReleaseJars' when material3 is included in the project #5261

Web

  • Fix horizontal scroll when using touchpad and pressing Shift #1909
  • Prevent app from crashing when running in an insecure context where Web Clipboard API is unavailable #1931
  • Replace tab characters with spaces in Text and TextFields, to avoid them being drawn as tofu #1943
  • Fix touch events processing. Now Modifier.detectTransformGestures will allow to handle zoom and rotation gestures #1942

Navigation

  • (prerelease fix) Fixed navigation on JS targets #1939
  • (prerelease fix) Encode only parameters in web navigation routes to have nicer UX #1940
  • (prerelease fix) Add a flag to disable iOS back gesture detection #1951
  • (prerelease fix) Fixed default pop NavHost animations if enter/exit animations are customized only #1963

Dependencies

1.8.0-beta01

20 Mar 15:24

Choose a tag to compare

1.8.0-beta01 Pre-release
Pre-release

Changes since 1.8.0-alpha04

Breaking Changes

Multiple Platforms

  • Add @Composable annotations to the actual WindowInsets.Companion.* extensions to match the expected declarations #1919, #1720

Features

iOS

  • Add ability to recreate Composable after ComposeUIViewController leaves view controller hierarchy #1877
  • Support trackpad pointer input #1893
  • Save Composable state when view controller leaves view controller hierarchy #1904

Fixes

iOS

  • Removed permissions alert when pasting text into a TextField #1894
  • Fix crash when removing popup during scene size change animation #1878
  • Fix accessibility elements rects when ComposeUIViewController is shifted #1899
  • Fixed an issue where it wasn't possible to open a popup using pointer input devices #1906
  • Fix popup safe drawing padding when usePlatformInsets = true #1920
  • Fix an issue where Compose would retain the old state when its view was reappeared #1921
  • (prerelease fix) Fix non-interactive UI after interop view tap #1925

Desktop

  • [Windows] Fixed ordering of SwingPanels when using compose.interop.blending=true #1901
  • [macOS] Fix, for some cases, the background flashing when closing a window/dialog. This can still happen if an animation is running when the window or dialog is closing #1911
  • Fix onRenderApiChanged in ComposeWindow and ComposeDialog not working when the renderer changes due to fallback, rather than explicit change #1911
  • [Swing Interop] Fixed compose.interop.blending=true completely breaking Swing interop on Windows when Direct3D is unsupported. Note that interop blending is still supported on Windows only if Direct3D is available #1913

Dependencies

1.8.0-alpha04

07 Mar 09:13
a265145

Choose a tag to compare

1.8.0-alpha04 Pre-release
Pre-release

Changes since 1.8.0-alpha03

Highlights

Desktop

  • Improved performance on Windows by replacing the native code compiler to Clang. See details in JetBrains/skiko#1020 (comment) #1863
    • DirectX rendering FPS is 17 % higher
    • Software rendering FPS is 73 % higher
    • Skiko binary size is reduced from 16.7 to 12.1 Mb on x64 and from 17.4 to 10.5 Mb on arm64
    • Note that the numbers are measured on one machine and also can differ between Compose 1.7 and Compose 1.8 (will be updated in the stable Release Notes)

Known Issues

iOS

  • Back gesture may remain stuck in the middle, the fix will be available in the next pre-release version #1861

Breaking Changes

Multiple Platforms

  • Google Maven now contains some artifacts for all Kotlin targets including Wasm and JS. Compose Multiplatform now depends on those artifacts and user projects might need to add google() repo to repositories {...} block if it is not there yet #1819
  • Multiplatform lifecycle was migrated from a internal core-bundle module to the androidx SavedState. Libraries that use org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate or org.jetbrains.androidx.savedstate:savedstate should migrate to the latest version #1850
  • (prerelease fix) Material3 is reverted from Jetpack Compose Material3 1.4.0-alpha07 to 1.3.1 because 1.4.0 Stable will be released only after Compose Multiplatform 1.8.0. As a workaround to continue using the new API, replace:
    implementation(compose.material3)
    
    by:
    implementation("org.jetbrains.compose.material3:material3:1.8.0-alpha03")
    
    Jetpack Compose Material3 1.4.0 will be merged again sometime after the Compose Multiplatform 1.8.0 release #1868

Features

iOS

  • Support new haptic feedback types #1831
  • Support for focusable nodes when Full Keyboard Access is enabled on iOS #1825
  • Floating cursor support for BasicTextField(TextFieldState) #1598
  • Add support for Bold Text accessibility setting #1846
  • Bhojpuri language support for VoiceOver #1838
  • Add support for Reduce Motion accessibility setting #1847
  • Default androidx.navigation transition animation on iOS is as close as possible to the iOS back gesture #1861
  • Support accessibility text input #1875
  • Support text input for UI Tests #1875
  • Accessibility: added ability to traverse nodes within a scrollable container #1837

Fixes

Multiple Platforms

  • Fixed the output of TextField(TextFieldState) (aka BasicTextField2) transformations incorrectly leeching into the untransformed text itself, when input method is used (Chinese and other languages with multi-keystroke character input) #1833
  • Fix possible IllegalArgumentException: Object already closed during GraphicsLayer.record #1839
  • (prerelease fix) Change an Esc button interception from onPreviewKeyEvent to onKeyEvent in the desktop BackGestureDispatcher implementation. It fixes problems when user's code handles the Esc-button #1860
  • (prerelease fix) Fix a problem when an onBack callback is updated but listener is not #1860
  • (prerelease fix) Fix memory leak in some cases of re-usage internal layout nodes #1873
  • Compose runtime module now exposes its dependency on Kotlin Coroutines API (changed from implementation() to api()) #1883
  • Correctly set ScrollState.viewportSize for (Basic)TextField(TextFieldState) #1896

iOS

  • (prerelease fix) Fixed issue where cross-directional scrolling could intercept and cancel each other #1851
  • Fixed a bug where touches could be handled by back gesture and composable content at the same time #1879

Desktop

  • (prerelease fix) Restore compatibility with Ubuntu 20.04 #1870
  • (prerelease fix) Fix "Could not resolve version conflict" in non-Gradle projects #1872

Web

  • Mobile browsers: the virtual keyboard is shown when the TextField is clicked/focues #1865
  • Fix text selection with mouse in TextField #1876

Navigation

  • (prerelease fix) Fix a desktop back navigation when Esc button clicked #1890
  • (prerelease fix) Fix an iOS back navigation after a swipe on disallowed edge #1890

Dependencies

1.8.0-alpha03

13 Feb 10:24
5f00f48

Choose a tag to compare

1.8.0-alpha03 Pre-release
Pre-release

Changes since 1.8.0-alpha02

Highlights

Multiple Platforms

Breaking Changes

Multiple Platforms

iOS

Features

Multiple Platforms

iOS

Fixes

Multiple Platforms

iOS

Desktop

Web

Dependencies

1.8.0-alpha02

20 Jan 14:29
19ed537

Choose a tag to compare

1.8.0-alpha02 Pre-release
Pre-release

Changes since 1.8.0-alpha01

Highlights

Resources

Features

iOS

Web

Fixes

Multiple Platforms

iOS

Desktop

Resources

Navigation

Dependencies

1.7.3

20 Dec 10:24
5615795

Choose a tag to compare

Changes since 1.7.1

Features

Desktop

Fixes

iOS

Dependencies

1.8.0-alpha01

06 Dec 17:38
f999cb0

Choose a tag to compare

1.8.0-alpha01 Pre-release
Pre-release

Changes since 1.7.1

Highlights

iOS

Breaking Changes

Multiple Platforms

Desktop

Features

Multiple Platforms

iOS

Desktop

Resources

Gradle Plugin

Navigation

Fixes

Multiple Platforms

iOS

Desktop

Resources

Navigation

Dependencies

1.8.0-dev1905

05 Nov 05:25
bf6b00e

Choose a tag to compare

1.8.0-dev1905 Pre-release
Pre-release
v1.8.0-dev1905

[gradle] Skip resource configuration for androidLibrary target since …

1.8.0-dev1899

30 Oct 18:19
5e60212

Choose a tag to compare

1.8.0-dev1899 Pre-release
Pre-release
[gradle] Support new AGP with androidLibrary target (#5157)

Since AGP `8.8.0-alpha08` there was added support generated assets in
the new `androidLibrary` target.
We have to support a new target configuration and work with compose
multiplatform resources

Fixes https://youtrack.jetbrains.com/issue/CMP-6982

## Testing
- Added gradle tests

## Release Notes
### Features - Gradle Plugin
- Support compose resources in `androidLibrary` target

1.8.0-dev1897

29 Oct 06:10
7e9832f

Choose a tag to compare

1.8.0-dev1897 Pre-release
Pre-release
Changelog for 1.7.0 (#5154)

Co-authored-by: Ivan Matkov <[email protected]>