github JetBrains/compose-multiplatform v1.8.0-alpha04
1.8.0-alpha04

latest releases: v1.8.0+dev2171, v1.8.0+dev2169
pre-release3 days ago

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

Don't miss a new compose-multiplatform release

NewReleases is sending notifications on new releases.