Update dependency org.jetbrains.compose to v1.8.0 #144
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.5.12
->1.8.0
Release Notes
JetBrains/compose-jb (org.jetbrains.compose)
v1.8.0
Changes since 1.7.3
Highlights
Multiple Platforms
BackHandler
andPredictiveBackHandler
. And use them in material3 widgets and androidx-navigation library #1771iOS
fun enableTraceOSLog()
#1652Web
Resources
FontVariation.Settings
support to the resources library #5183Breaking Changes
Tests
runOnIdle
will now executeaction
on the UI thread aligning the behavior with Android #1601runOnIdle
will no longer callwaitForIdle
after executing the action aligning the behavior with Android #1601mainClock
such that it doesn't reach the next frame, will no longer cause a recomposition #1618Multiple Platforms
core-bundle
module to the androidx SavedState. Libraries that useorg.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate
ororg.jetbrains.androidx.savedstate:savedstate
should migrate to the latest version #1850LocalTextInputService
is no longer supported #1974iOS
AccessibilitySyncOptions
and removeAccessibilityDebugLogger
from public API #1604WindowInsets.Companion.waterfall
getter to match the expected API #1919Desktop
Modifier.onExternalDrag
has been removed - commonModifier.dragAndDropTarget
API should be used instead #1606Migration Notes
Multiple Platforms
google()
repo torepositories {...}
block if it is not there yet #1819material-icons-core
so if your project relied on that, you will have to explicitly add that dependency in yourbuild.gradle[.kts]
files: #2030implementation("org.jetbrains.compose.material:material-icons-core:1.7.3")
iOS
LocalUIViewController
moved to theandroidx.compose.ui.uikit
module #1608ComposeUIViewControllerDelegate
marked as deprecated. Use the parent view controller to override the methods of theUIViewController
class #1651CupertinoScrollDecayAnimationSpec
andCupertinoOverscrollEffect
are removed from public API #1806Gradle Plugin
org.jetbrains.compose.compiler
is not supported anymore and the API to configure it was removed #5293Features
Multiple Platforms
LineHeightStyle.Alignment
#1569Clipboard
interface with suspend functions, which work correctly on all targets including Web. TheClipboardManager
was deprecated because it was not possible to correctly implement it for Web #1796iOS
ComposeUIViewControllerConfiguration.useSeparateRenderThreadWhenPossible
flag that allows offloading GPU commands encoding to the separate thread and improving performance #1694AccessibilitySyncOptions
removed. The accessibility tree is built on demand #1780UIAccessibilityContainerTypeSemanticGroup
for traversal groups #1809UIScrollView
s, as well as withinUIScrollView
s #1818BasicTextField(TextFieldState)
#1598androidx.navigation
transition animation on iOS is as close as possible to the iOS back gesture #1861ComposeUIViewController
leaves view controller hierarchy #1877BasicTextField(TextFieldState)
#1923BasicTextField(TextFieldState)
#1926Desktop
-keep class
for the associated with error class in "Location:"androidx.
package, it might a Compose bug, please report in https://youtrack.jetbrains.com/issues/CMP. The-keep class
workaround should also work in this caseWeb
PointerIcon.fromKeyword
function to change the browser cursor #1704Resources
preloadFont
,preloadImageBitmap
,preloadImageVector
#5159Gradle Plugin
androidLibrary
target #5157Navigation
navController.navigate(Uri)
method #1617navController.handleDeepLink(NavDeepLinkRequest)
method #1617Fixes
Tests
captureToImage
#1820Multiple Platforms
FontRenderingSettings
is not reflected until composition restarts #1595ModalDrawerSheet
overload withDrawerState
argument #1763placeWithLayer
scale application: offset is not scaled now (Android behavior) #1784TextField(TextFieldState)
(akaBasicTextField2
) transformations incorrectly leeching into the untransformed text itself, when input method is used (Chinese and other languages with multi-keystroke character input) #1833IllegalArgumentException: Object already closed
duringGraphicsLayer.record
#1839implementation()
toapi()
) #1883ScrollState.viewportSize
for (Basic)TextField(TextFieldState)
#1896IllegalArgumentException: maxWidth(value) must be >= than minWidth(0)
crashes when aTextField
withtrailingIcon
is too narrow #1936TextField(TextFieldState)
while also editing the text, such as by pressing Backspace #1969InterceptPlatformTextInput
for the legacy TextField #1974iOS
defaultUIKitMain()
#1585androidx.compose.material3.internal.formatWithSkeleton
that was accidently marked as public #1609optOutOfCupertinoOverscroll()
removed #1753UIMenu
that appears over the Compose content #1818TextField
#1894ComposeUIViewController
is shifted #1899usePlatformInsets = true
#1920MetalView
when Compose controller re-enters view hierarchy #1938BasicTextField(TextFieldState)
with appliedOutputTransformation
#1953BasicTextField(TextFieldState)
#1956BasicTextField(TextFieldState)
#1984LocalSoftwareKeyboardController
inBasicTextField(TextFieldState)
#1974BasicTextField(TextFieldState)
#2018Desktop
Move
#1683compose.swing.render.on.graphics=true
#1688Dialog
/Popup
creation in case ofcompose.layers.type=COMPONENT
and pointingwindowContainer
toComposePanel
itself #1747compose.interop.blending
flag (1.7.0 regression) #1774Modifier.semantics { hideFromAccessibility() }
should now be correctly hidden from a11y #1798TextField(TextFieldState)
(akaBasicTextField2
) #1794TextField(TextFieldState)
(akaBasicTextField2
) #1810Modifier.selectable
withRole.RadioButton
will have their state reported to accessibility viaAccessibleValue.getCurrentAccessibleValue()
and asAccessibleState.CHECKED
ingetAccessibleStateSet()
#1797SwingPanel
s when usingcompose.interop.blending=true
#1901onRenderApiChanged
inComposeWindow
andComposeDialog
not working when the renderer changes due to fallback, rather than explicit change #1911compose.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 #1913SecureTextField
#1853TextFieldState
are now correctly reported to the transformations when inputting composite characters (e.g. ㅀ), instead of the whole text being replaced on each new character #1853Snapshot.sendApplyNotifications
from a thread other than the event dispatching thread #1955compose.interop.blending
flag #1908Execution failed for task ':composeApp:proguardReleaseJars'
whenmaterial3
is included in the project #5261Web
BasicTextField
handles browser copy/cut/paste events correctly now. Previously, they were ignored #1795TextField
is clicked/receives focus #1865TextField
#1876Text
andTextField
s, to avoid them being drawn as tofu #1943Modifier.detectTransformGestures
will allow to handle zoom and rotation gestures #1942Resources
android:autoMirrored="true"
property and pass it to ImageVector builder #5140Navigation
No destination with ID 0 is on the NavController's back stack
crash on iOS #1596Dependencies
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-beta01Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.9.0-beta01
. Based on Jetpack Navigation 2.9.0-beta01Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.1.0
. Based on Jetpack Material3 Adaptive 1.1.0v1.7.3
Changes since 1.7.1
Features
Desktop
Fixes
iOS
UIKitInteropInteractionMode.Cooperative
interaction modeUINavigationController
should recognize correctlyDependencies
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.5Navigation libraries
org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha11
. Based on Jetpack Navigation 2.8.0Material3 Adaptive libraries
org.jetbrains.compose.material3.adaptive:adaptive*:1.0.1
. Based on Jetpack Material3 Adaptive 1.0.0v1.7.1
Changes since 1.7.0
Fixes
Multiple Platforms
Modifier.clickable
binary compatibility with 1.6 on non-JVM targetsModifier.toggleable
andModifier.selectable
binary compatibility with 1.6 on non-JVM targetsDateRangePicker
doesn't show confirmation button on iOS and DesktopiOS
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.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.1
. Based on Jetpack Material3 Adaptive 1.0.0v1.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](https://www.jetbrains.com/help/kotlin-multiplatform-dev/comConfiguration
📅 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.
This PR was generated by Mend Renovate. View the repository job log.