Update composeMultiplatform to v1.7.0 #391
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.6.2
->1.7.0
1.6.2
->1.7.0
1.6.2
->1.7.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
JetBrains/compose-jb (org.jetbrains.compose.ui:ui-test-junit4-desktop)
v1.7.0
Changes since 1.6.11
Highlights
Resources
Navigation
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.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 appsBreaking changes
iOS
UIKitView
andUIKitViewController
inpackage androidx.compose.ui.interop
are deprecated. New API are mentioned in deprecation message. Deprecated invocations should work fine unless customonResize
is used, it is disallowed now and will print a warning.InteropView
on iOS isUIResponder
now instead ofUIView
. It's the first common ancestor forUIViewController
andUIView
, both of which can be integrated using iOS interop APIsCADisableMinimumFrameDurationOnPhone
is not set to true inInfo.plist
. Use newly addedComposeUIViewControllerConfiguration.enforceStrictPlistSanityCheck
to opt-out of this behaviorDesktop
Modifier.onExternalDrag
has been deprecated in favor of the newModifier.dragAndDropTarget
Android
Resources
compose.ui
in favour of the new resource libraryFeatures
Multiple Platforms
clickable
modifier now responds to NumPadEnter and Spacebar, too, in addition to EnterLocalLifecycleOwner
moved from Compose UI tolifecycle-runtime-compose
so that its Compose-based helper APIs can be used outside of Compose UIorg.jetbrains.compose.material3:material3-window-size-class
moduleorg.jetbrains.compose.material3.adaptive:adaptive*
modulesmaterial3-adaptive-navigation-suite
is multiplatform nowiOS
accessibilityEnabled: Boolean = true
argument toUIKitView
andUIKitViewController
preferredStatusBarStyle
,preferredStatysBarAnimation
andprefersStatusBarHidden
are added toComposeUIViewControllerDelegate
to allow status bar appearance modificationUIKitView
andUIKitViewController
API inpackage androidx.compose.ui.viewinterop
. Support ofonReset
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)BasicTextField(TextFieldState, ...)
on iOSDesktop
RenderSettings
toComposePanel
. Added a classRenderSettings
withval isVsyncEnabled: Boolean?
. When set totrue
gives a hint to renderer implementation of the particularComposePanel
to reduce the latency between the input and visual changes in exchange for possible screen tearingmoveEnabled
andpositionPercentage
setters inSplitPaneState
Modifier.dragAndDropSource
andModifier.dragAndDropTarget
decoration
argumentResources
Bitmap ByteArray as ImageVector
andXML ByteArray as ImageVector
in the common code andSVG ByteArray as Painter
in the non-android codeGradle Plugin
compose.material3AdaptiveNavigationSuite
shortcut in the gradle pluginFixes
Multiple Platforms
commonMain
that fails on Android withNoSuchMethodException
Popup
jerking during ripple effect animationShaderBrush
to part ofAnnotatedString
brush
animation and optimized updating some visual text properties (applying time is reduced up to 40%)TextField
with explicitly setTextAlignment
TextField
insideExposedDropdownMenuBox
FontRenderingSettings
is not reflected until composition restartsiOS
ComposeUIViewController
(such as when used in modal sheet presentation context with different detents)material3.ModalBottomSheet
safe area usageplatformLayers
. 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 andPopup
s now have their insets calculated correctly even when the frame ofComposeUIViewController
spawning them doesn't intersect any safe areasTextField
imePadding
and high cpu usage when repeatedly opening and closingKeyboard
on iOS"Desktop
UninitializedPropertyAccessException
indesktopTest
ComposePanel.requestFocus()
, making it correctly assign focus to the first focusable childComposePanel
inside a Swing application on macOS, VoiceOver will now correctly go into theComposePanel
when traversing accessible elementsComposePanel
inside a Swing application on Windows with NVDA turned on, focus will now correctly go into theComposePanel
when traversing with (ctrl)-shift-tabWindowState
with unspecifiedsize
instead of crashingIndexOutOfBoundsException
crash on Windows when traversing a11y elementsSelectionContainer
or on the padding of aText
inside aSelectionContainer
ComposePanel
in IntelliJ on macOsWindowState
Web
keydown
andkeyup
keys for identified keys from virtual keyboardskiko.wasm
SelectionContainer
Resources
contextClassLoader
usage on JVM targetsGradle Plugin
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.5Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha10
. Based on Jetpack Navigation 2.8.0Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.0.0
. Based on Jetpack Material3 Adaptive 1.0.0v1.6.11
Changes since 1.6.10
Fixes
Multiple Platforms
TextField(singleLine=true)
withIntrinsicSize
Dialog
centering insideImageComposeScene
iOS
UIMenuController
APIDesktop
DropdownMenu
/Popup
positioning when a window is moved to a screen with a different densityWeb
DatePicker
text field receives illegal inputResources
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.0Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07
. Based on Jetpack Navigation 2.7.7v1.6.10
Changes since 1.6.2
Highlights
Lifecycle
andViewModel
. See documentation for details2.0.0-Beta05
or higher is required)Breaking changes
2.0-RC2
, the additionalorg.jetbrains.kotlin.plugin.compose
Gradle plugin is required. See the migration guideFeatures
Multiple Platforms
ui
,material
andmaterial3
iOS
Dialog
trace
HapticFeedback
on iOSLiveRegion
semantics in a11yDesktop
alwaysOnTop
flag toDialogWindow
BasicTextField2
: #1227, #1264 full support and support for other platforms is planned for 1.7.0Web
Resources
org.jetbrains.compose.resources.multimodule.disable=true
to the rootgradle.properties
Gradle Plugin
Fixes
Multiple Platforms
NaN
font metrics by initializing typeface forTextStyle
Popup
andDesktopMenu
T::class
in inline function of@Composable
Dialog
iOS
Pager
involved in scrolling processTextField
SelectionManager
Desktop
Pager
and lazy column/row spanning)Pager
direction detection for mouse wheelSelectionContainer
SwingPanel
WINDOW
layer fixes: #1181, #1185, #1187, #1189ComposePanel
after re-adding it to the hierarchyLocalLocalization
reverseLayout=true
SelectionContainer
to start when drag starts below the bounds of the visible textdcomp.dll
RenderException
when use OpenGL on macOSPopup
/Dialog
by clicking any mouse button outsideWeb
fun isCopyKeyEvent
sendKey
test utility function on wasm targetbuttonFlags
only onPress
andRelease
ComposeWindow::resize
MouseEvent
toPointerButton
mappingviewportContainer
toviewportContainerId
parameter inComposeViewport
Resources
MethodTooLargeException
Res
class generation if the library is declared as 'api'readResourceBytes
function on Android if font is located under qualified directoryGradle plugin
Task with name 'podBuildGoogleMapsIphonesimulator' not found
in a project with Cococapods"Dependencies
Gradle Plugin
org.jetbrains.compose
, version1.6.10
. Based on Jetpack Compose libraries:Lifecycle libraries
org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0
. Based on Jetpack Lifecycle 2.8.0Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha07
. Based on Jetpack Navigation 2.7.7Configuration
📅 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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.