Compose-Multiplatform-KmpViewModel-Unsplash-Sample
Compose-Multiplatform-KmpViewModel-Unsplash-Sample copied to clipboard
Update dependency org.jetbrains.compose to v1.8.0
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jetbrains.compose | 1.5.12 -> 1.8.0 |
Release Notes
JetBrains/compose-jb (org.jetbrains.compose)
v1.8.0
Changes since 1.7.3
Highlights
Multiple Platforms
- Compose Multiplatform codebase is fully migrated to K2. Please note that native and web klibs can be consumed only with Kotlin 2.1.0 or newer. Also, due to underlying changes in the compiler plugin, it's better to recompile libraries against the new version. Please let us know if you find any compatibility issues during this migration #1778
- Implement multiplatform
BackHandlerandPredictiveBackHandler. And use them in material3 widgets and androidx-navigation library #1771
iOS
- Remove experimental flag from
fun enableTraceOSLog()#1652
Web
- Improves text input support in Safari on mobile and desktop #1941
- Correct certain text input scenarios on Web targets #1941
Resources
- Add
FontVariation.Settingssupport to the resources library #5183
Breaking Changes
Tests
runOnIdlewill now executeactionon the UI thread aligning the behavior with Android #1601runOnIdlewill no longer callwaitForIdleafter executing the action aligning the behavior with Android #1601- Advancing
mainClocksuch that it doesn't reach the next frame, will no longer cause a recomposition #1618 - IdlingResource interface was moved from commonMain to android and desktop source sets. The related experimental methods of ComposeUiTest were moved too. They are not available for Web and iOS anymore. Consider using waitUntil function as an alternative. Note: it's a breaking change only for Web and iOS, but not for Desktop and Android #1822
Multiple Platforms
- Multiplatform lifecycle was migrated from a internal
core-bundlemodule to the androidx SavedState. Libraries that useorg.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstateororg.jetbrains.androidx.savedstate:savedstateshould migrate to the latest version #1850 - A custom implementation for deprecated
LocalTextInputServiceis no longer supported #1974
iOS
- Update
AccessibilitySyncOptionsand removeAccessibilityDebugLoggerfrom public API #1604 - Remove obsolete Canvas Layers mode on iOS #1680
- Add Composable annotation to the
WindowInsets.Companion.waterfallgetter to match the expected API #1919
Desktop
- Deprecated/experimental
Modifier.onExternalDraghas been removed - commonModifier.dragAndDropTargetAPI should be used instead #1606
Migration Notes
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 torepositories {...}block if it is not there yet #1819 - material/material3 libraries no longer add a dependency to
material-icons-coreso if your project relied on that, you will have to explicitly add that dependency in yourbuild.gradle[.kts]files: #2030 implementation("org.jetbrains.compose.material:material-icons-core:1.7.3")
iOS
LocalUIViewControllermoved to theandroidx.compose.ui.uikitmodule #1608ComposeUIViewControllerDelegatemarked as deprecated. Use the parent view controller to override the methods of theUIViewControllerclass #1651- Experimental classes
CupertinoScrollDecayAnimationSpecandCupertinoOverscrollEffectare removed from public API #1806
Gradle Plugin
- The Compose Gradle Plugin requires Kotlin Gradle Plugin 2.+ version now. Old
org.jetbrains.compose.compileris not supported anymore and the API to configure it was removed #5293
Features
Multiple Platforms
- Support configurable vertical text centering via
LineHeightStyle.Alignment#1569 - Support Variable Fonts In All Platforms #1623
- Update skia to m132 #1823
- Adopt a new
Clipboardinterface with suspend functions, which work correctly on all targets including Web. TheClipboardManagerwas deprecated because it was not possible to correctly implement it for Web #1796
iOS
- Support state announcements for scrollable lists in VoiceOver #1644
- Support for accessibility gestures for left-to-right languages #1663
- (Experimental)
ComposeUIViewControllerConfiguration.useSeparateRenderThreadWhenPossibleflag that allows offloading GPU commands encoding to the separate thread and improving performance #1694 - Initial Drag&Drop support #1690
- Align Compose components semantics with UIKit views accessibility #1719
- Accessibility navigation uses safe area to calculate when focused rect is out of bounds #1745
- Support VoiceControl on iOS #1780
AccessibilitySyncOptionsremoved. The accessibility tree is built on demand #1780- Calculate the order and location of semantic elements in the same way as it's done on Android #1809
- Support
UIAccessibilityContainerTypeSemanticGroupfor traversal groups #1809 - Compose works correctly with nested
UIScrollViews, as well as withinUIScrollViews #1818 - Added the ability to close modal Compose view controllers (with non-scrollable content on them) with a swipe gesture #1818
- 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.navigationtransition 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
- Add ability to recreate Composable after
ComposeUIViewControllerleaves view controller hierarchy #1877 - Support trackpad pointer input #1893
- Save Composable state when view controller leaves view controller hierarchy #1904
- 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
Desktop
- Improved performance on Windows by replacing the native code compiler to Clang (in 1.8.0 comparing to 1.7.3) #1863
- Software rendering (used on some VMs) FPS is 6.397x higher on average
- Reducing the size of a packaged application. Example https://kmp.jetbrains.com:
- the installer size is changed from 44.9 Mb to 44.1 Mb
- the installed size is changed from 107 Mb to 103 Mb
- The default ProGuard version is set to 7.7.0 #5279
- If there are any new errors in the release build, update the ProGuard rules
- A usual workaround is to add
-keep classfor the associated with error class in "Location:" - If the error contains
androidx.package, it might a Compose bug, please report in https://youtrack.jetbrains.com/issues/CMP. The-keep classworkaround should also work in this case
Web
- Adds experimental
PointerIcon.fromKeywordfunction to change the browser cursor #1704
Resources
- Add new API to preload and cache font and image resources on web targets:
preloadFont,preloadImageBitmap,preloadImageVector#5159
Gradle Plugin
- Support compose resources in
androidLibrarytarget #5157
Navigation
- Basic support a navigation by deep links #1610
- Commonize
navController.navigate(Uri)method #1617 - Implemented non-android
navController.handleDeepLink(NavDeepLinkRequest)method #1617 - New API to configure browser navigation buttons and the address line #1621
- Navigation via a browser address field #1640
Fixes
Tests
- Clear the canvas before rendering each frame in tests, to avoid drawing different frames on top of each other, resulting in incorrect images being returned by
captureToImage#1820
Multiple Platforms
- Fix changing
FontRenderingSettingsis not reflected until composition restarts #1595 - The overhead for running an empty test has been significantly reduced #1615
- Fix missing implementation on non-Android platforms for
ModalDrawerSheetoverload withDrawerStateargument #1763 - Fix light position for during shadow rendering to match the Material specification and Android behaviour #1754
- Fix light source position for shadow rendering to match the Material specification and Android behavior #1784
- Fix inconsistency between Android and Desktop in
placeWithLayerscale application: offset is not scaled now (Android behavior) #1784 - Fixed the output of
TextField(TextFieldState)(akaBasicTextField2) 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 closedduringGraphicsLayer.record#1839 - Compose runtime module now exposes its dependency on Kotlin Coroutines API (changed from
implementation()toapi()) #1883 - Correctly set
ScrollState.viewportSizefor (Basic)TextField(TextFieldState)#1896 - Changes pressing backspace in a textfield to delete diacritic marks, if any, rather than the entire character #1869
- Fixed
IllegalArgumentException: maxWidth(value) must be >= than minWidth(0)crashes when aTextFieldwithtrailingIconis too narrow #1936 - Fixed crash when dragging selection in
TextField(TextFieldState)while also editing the text, such as by pressing Backspace #1969 - Fix
InterceptPlatformTextInputfor the legacy TextField #1974
iOS
- Deprecate
defaultUIKitMain()#1585 - Fixed visibility of
androidx.compose.material3.internal.formatWithSkeletonthat was accidently marked as public #1609 - Fix a bug where the accessibility tree did not reload when VoiceOver was enabled #1656
- Fix Display Cutout Padding when rotating the device #1645
- Fixes an interruption while typing characters on a Chinese keyboard #1692
- Accessibility reading of content when obscured by layers such as pop-ups and dialogs #1698
- Enables Cupertino Overscroll by default for scrollable components #1753
- Experimental method
optOutOfCupertinoOverscroll()removed #1753 - Fix iOS Accessibility element tree construction within merged nodes #1750
- Performance issues when iOS screen reader is active fixed #1780
- Fixed issues where the interactive pop gesture would stop working #1818
- Fixes an issue where it's not possible to close the
UIMenuthat appears over the Compose content #1818 - Fix touches tracking for multitouch gestures #1827
- Fixed a bug where touches could be handled by back gesture and composable content at the same time #1879
- 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
ComposeUIViewControlleris 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
- 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
MetalViewwhen Compose controller re-enters view hierarchy #1938 - Fix the first layer appearance freeze #1948
- Fixed text editing behavior (typing / deleting) in
BasicTextField(TextFieldState)with appliedOutputTransformation#1953 - Fixed incorrect undo behavior for text deletion in
BasicTextField(TextFieldState)#1956 - Fix composite input in
BasicTextField(TextFieldState)#1984 - Fixes an issue where the accessibility engine could leave a scrollable list without reading it to the end #1986
- Fix Accessibility navigation through traversal groups in Container mode #1987
- Fix focus for items within dialogs when full keyboard access is enabled #1990
- Fix gesture handling for third party interop views #1993
- Fix the keyboard reappearing after it was dismissed via
LocalSoftwareKeyboardControllerinBasicTextField(TextFieldState)#1974 - Fix overscroll touches assertion when back handler is involved #2017
- Fixed incorrect selection and navigation by arrow keys from a hardware keyboard in
BasicTextField(TextFieldState)#2018 - Fix back gesture after modal popup appearance #2019
- Fixed the behavior of a context menu in the text fields inside modal screens #2028
Desktop
- Fix for excessive garbage generation from redrawing on Swing #1657
- Fix drag-and-drop when the list of supported actions doesn't include
Move#1683 - Fix accessibility focus when using
compose.swing.render.on.graphics=true#1688 - Fix "Context menu on desktop shows incorrect items after the second showing" #1693
- Fixed rare crash when using a scrollbar for lazy grid with animated enter/exit items #1707
- Fix possible exception during
Dialog/Popupcreation in case ofcompose.layers.type=COMPONENTand pointingwindowContainertoComposePanelitself #1747 - Fix interop initial z-order placement on Windows with
compose.interop.blendingflag (1.7.0 regression) #1774 - Fixed the background of transparent windows/dialogs on Windows becoming opaque as the window is moved #1772
- Elements marked with
Modifier.semantics { hideFromAccessibility() }should now be correctly hidden from a11y #1798 - Fixed the positioning of the IME candidate popup for
TextField(TextFieldState)(akaBasicTextField2) #1794 - Fixed input of diacritics via long-press on macOS in
TextField(TextFieldState)(akaBasicTextField2) #1810 - Radio buttons and any other elements using
Modifier.selectablewithRole.RadioButtonwill have their state reported to accessibility viaAccessibleValue.getCurrentAccessibleValue()and asAccessibleState.CHECKEDingetAccessibleStateSet()#1797 - [Windows] Fixed ordering of
SwingPanels when usingcompose.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
onRenderApiChangedinComposeWindowandComposeDialognot working when the renderer changes due to fallback, rather than explicit change #1911 - [Swing Interop] Fixed
compose.interop.blending=truecompletely breaking Swing interop on Windows when Direct3D is unsupported. Note that interop blending is still supported on Windows only if Direct3D is available #1913 - Fixed only the first character being temporarily shown in a
SecureTextField#1853 - Changes in
TextFieldStateare 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.sendApplyNotificationsfrom a thread other than the event dispatching thread #1955 - Fix missing window shadows on macOS in case of usage
compose.interop.blendingflag #1908 - Fix
Execution failed for task ':composeApp:proguardReleaseJars'whenmaterial3is included in the project #5261
Web
- The
BasicTextFieldhandles browser copy/cut/paste events correctly now. Previously, they were ignored #1795 - Mobile browsers: the virtual keyboard is shown when the
TextFieldis clicked/receives focus #1865 - Fix text selection with mouse in
TextField#1876 - 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
TextandTextFields, to avoid them being drawn as tofu #1943 - Fix touch events processing. Now
Modifier.detectTransformGestureswill allow to handle zoom and rotation gestures #1942
Resources
- Read
android:autoMirrored="true"property and pass it to ImageVector builder #5140 - Fix string resource's regex for placeholders to correctly match multi-digit placeholders #5187
Navigation
- Fixed
No destination with ID 0 is on the NavController's back stackcrash on iOS #1596 - Fix incorrect navigation up on the root screen for non-android targets #1736
- Fixed browser navigation integration when route paths contain special symbols #1738
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.8.0. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.9.0-beta01. Based on Jetpack Lifecycle 2.9.0-beta01 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0-beta01. Based on Jetpack Navigation 2.9.0-beta01 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.1.0. Based on Jetpack Material3 Adaptive 1.1.0
v1.7.3
Changes since 1.7.1
Features
Desktop
Fixes
iOS
- Taps should be properly registered on interop views with
UIKitInteropInteractionMode.Cooperativeinteraction mode - Interactive pop (swipe to go back) on
UINavigationControllershould recognize correctly
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.7.3. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.4. Based on Jetpack Lifecycle 2.8.5 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha11. Based on Jetpack Navigation 2.8.0 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.0.1. Based on Jetpack Material3 Adaptive 1.0.0
v1.7.1
Changes since 1.7.0
Fixes
Multiple Platforms
- Fixed
Modifier.clickablebinary compatibility with 1.6 on non-JVM targets - Fixed
Modifier.toggleableandModifier.selectablebinary compatibility with 1.6 on non-JVM targets - Fix issue where
DateRangePickerdoesn't show confirmation button on iOS and Desktop - Fix Skia paragraph caching performance degradation
iOS
- Fling animation works correctly for fast scrolling gestures
- Fix HorizontalPager snapping on iOS
- Fixed double recomposition on the first screen
- Fix Accessibility Items availability inside dialogs
- Memory leak due to Compose view controller never GCed
Desktop
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.7.1. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.4. Based on Jetpack Lifecycle 2.8.5 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha10. Based on Jetpack Navigation 2.8.0 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.0.1. Based on Jetpack Material3 Adaptive 1.0.0
v1.7.0
Changes since 1.6.11
Highlights
Resources
Navigation
Web
skiko.jsis 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.skiko.jswill be removed from the k/wasm distribution in the future releases.skiko.jsis still needed in case of K/JS Compose Multiplatform for web apps
Breaking changes
iOS
UIKitViewandUIKitViewControllerinpackage androidx.compose.ui.interopare deprecated. New API are mentioned in deprecation message. Deprecated invocations should work fine unless customonResizeis used, it is disallowed now and will print a warning.- Actual of expected
InteropViewon iOS isUIRespondernow instead ofUIView. It's the first common ancestor forUIViewControllerandUIView, both of which can be integrated using iOS interop APIs - The app will crash by default, if
CADisableMinimumFrameDurationOnPhoneis not set to true inInfo.plist. Use newly addedComposeUIViewControllerConfiguration.enforceStrictPlistSanityCheckto opt-out of this behavior
Desktop
Android
Resources
Features
Multiple Platforms
- The
clickablemodifier now responds to NumPadEnter and Spacebar, too, in addition to Enter LocalLifecycleOwnermoved from Compose UI tolifecycle-runtime-composeso that its Compose-based helper APIs can be used outside of Compose UI- Skia is updated to m126
- Commonized
org.jetbrains.compose.material3:material3-window-size-classmodule - Commonized
org.jetbrains.compose.material3.adaptive:adaptive*modules - New multiplatform module "material-navigation" (in beta status)
material3-adaptive-navigation-suiteis multiplatform now- Support Kotlin 1.9.25
iOS
- Initial iOS floating cursor support
- Added
accessibilityEnabled: Boolean = trueargument toUIKitViewandUIKitViewController preferredStatusBarStyle,preferredStatysBarAnimationandprefersStatusBarHiddenare added toComposeUIViewControllerDelegateto allow status bar appearance modification- Improvements in touches processing to detect if touches were meant to be delivered to interop views, or should be processed by Compose
- New
UIKitViewandUIKitViewControllerAPI inpackage androidx.compose.ui.viewinterop. Support ofonResetto 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
Desktop
- Add constructor with
RenderSettingstoComposePanel. Added a classRenderSettingswithval isVsyncEnabled: Boolean?. When set totruegives a hint to renderer implementation of the particularComposePanelto reduce the latency between the input and visual changes in exchange for possible screen tearing - Add public
moveEnabledandpositionPercentagesetters inSplitPaneState - Implemented Drag-and-Drop from AOSP:
Modifier.dragAndDropSourceandModifier.dragAndDropTarget - Added support for input methods (languages such as Chinese, Korean, Arabic) to BasicTextField(TextFieldState, ...)
- Add dynamic Drag&Drop target indication (🚫 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
decorationargument
Resources
- Speed resources web rendering up by the reading a cached value instantly
- If there is no resource with suitable density, use resource with the most suitable density, otherwise use default (similar to the Android logic)
- Add a customization for resources directories. Now it is possible to use e.g downloaded resources
- Now the gradle plugin generates resources map to find a resource by a string ID
- 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
- Added utility functions to decode
Bitmap ByteArray as ImageVectorandXML ByteArray as ImageVectorin the common code andSVG ByteArray as Painterin the non-android code - Added support of test resources in Compose Multiplatform projects
- Added support of multi-module resources in JVM-only projects
Gradle Plugin
Fixes
Multiple Platforms
- Fix "ComposePanel. Focus moves to child after focusing/unfocusing the main window"
- Don't show code completion for non-existenst API in
commonMainthat fails on Android withNoSuchMethodException - Fix order of interop elements in some cases
- Fixed
Popupjerking during ripple effect animation - Fix applying
ShaderBrushto part ofAnnotatedString - Fix text
brushanimation and optimized updating some visual text properties (applying time is reduced up to 40%) - Fix initial cursor position in the empty
TextFieldwith explicitly setTextAlignment - Fix focus for editable
TextFieldinsideExposedDropdownMenuBox - Fix changing
FontRenderingSettingsis not reflected until composition restarts
iOS
- Pressing directional keys on a physical keyboard connected to iOS device doesn't cause a crash
- Dismissing popup or dialogue within a very short timespan after its creation doesn't cause a crash
- Fix missing invalidations during native view resize
- Fixed a memory spike when continuously resizing the
ComposeUIViewController(such as when used in modal sheet presentation context with different detents) - visibility of selection handles in single-line textfields with LTR + RTL text in iOS
- Interop views are now correctly clipped when their measured clipped and unclipped bounding boxes don't match
- Touches inside interop views are not exclusive to them and are processed on Compose side as well.
- Fix
material3.ModalBottomSheetsafe area usage - Fix hiding interop element during quick scroll
- Fixed the keyboard appearing when selecting from SelectionContainer
- Fix status bar padding on iPad devices
- VoiceOver doesn't allow to perform a11y actions (scrolling, activate, customActions) when disabled() semantics is present in affected element
- Fix frame drops when dragging scrollable content on iOS
- A new approach to implementation of
platformLayers. 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. Dialogs andPopups now have their insets calculated correctly even when the frame ofComposeUIViewControllerspawning them doesn't intersect any safe areas- Fix offset issues with keyboard and
TextField - Fix "Incorrect
imePaddingand high cpu usage when repeatedly opening and closingKeyboardon iOS" - Fix "Selection handlers in wrong positions in a fullscreen TextField"
- Fix keyboard closing while scrolling content with Text Fields
- Fix "UriHandler.openUri no longer works on iOS 18"
Desktop
- Fix possible
UninitializedPropertyAccessExceptionindesktopTest - Fixed
ComposePanel.requestFocus(), making it correctly assign focus to the first focusable child - When using
ComposePanelinside a Swing application on macOS, VoiceOver will now correctly go into theComposePanelwhen traversing accessible elements - When using
ComposePanelinside a Swing application on Windows with NVDA turned on, focus will now correctly go into theComposePanelwhen traversing with (ctrl)-shift-tab - Correctly save
WindowStatewith unspecifiedsizeinstead of crashing - Fix
IndexOutOfBoundsExceptioncrash on Windows when traversing a11y elements - Fix scrolling non-same direction nested scrolls with trackpad
- Fix fling velocity for precise wheel scroll
- [macOS] Fix crash when right-clicking an empty
SelectionContaineror on the padding of aTextinside aSelectionContainer - Fix bounds of
ComposePanelin IntelliJ on macOs - Fix UI glitch when resizing a Compose window via its
WindowState
Web
- Process
keydownandkeyupkeys for identified keys from virtual keyboard - Allow preloading the fallback fonts. This enables the usage of emojis and other unicode characters without manually composing the Text with AnnotatedString
- Make sure the web app distribution doesn't contain a duplicate
skiko.wasm - Prevent a crash on mobile web when selecting some text in
SelectionContainer
Resources
- Delete
contextClassLoaderusage on JVM targets - Create an empty resource dir with "podspec" task instead "podInstall"
- Fix resource accessors escaping. Now it is possible to use resources with names: "package", "is", "item_$xxx" etc
- Read exactly requested count of bytes from InputStream on jvm platforms
- Now drawables from upper DPIs will be downscalled to the expected size. (the same behavior as on Android)
Gradle Plugin
- Make sure tryGetSkikoRuntimeIfNeeded is executed only during the task execution
- Delete outdated build services
- Support project isolation
- Fix a gradle project misconfiguration when KSP and Room are used
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.7.0. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.3. Based on Jetpack Lifecycle 2.8.5 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha10. Based on Jetpack Navigation 2.8.0 -
Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.0.0. Based on Jetpack Material3 Adaptive 1.0.0
v1.6.11
Changes since 1.6.10
Fixes
Multiple Platforms
- Fix endless re-layout when layout is invalidated by measure, which includes measuring
TextField(singleLine=true)withIntrinsicSize - Fix container size for
Dialogcentering insideImageComposeScene
iOS
Desktop
- Fix
DropdownMenu/Popuppositioning when a window is moved to a screen with a different density - Fix possible scrolling without animation on some mouse models
Web
Resources
Gradle Plugin
Dependencies
-
Gradle Plugin
org.jetbrains.compose, version1.6.11. Based on Jetpack Compose libraries: -
Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0. Based on Jetpack Lifecycle 2.8.0 -
Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07. Based on Jetpack Navigation 2.7.7
v1.6.10
Changes since 1.6.2
Highlights
- Experimental multiplatform support of
LifecycleandViewModel. See [documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/com
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, 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 was generated by Mend Renovate. View the repository job log.