Release day! :tada: Compiler Version 1.5.1 - Fixe...
# compose
c
Release day! 🎉 Compiler Version 1.5.1 • Fixed composition trace event markers in
@ReadOnlyComposable
functions with early returns which caused trace corruption. animation, foundation, material, runtime, ui 1.5.0-rc01 • Fixed an issue where calling
.value
on a primitive state type (like
MutableIntState
) would report a lint warning with an invalid fix. The inspection will now recommend migrating to the correct property. • An optional inspection to recommend migrating
mutableStateOf()
calls to their corresponding specialized types for primitives is available. Its lint ID is
AutoboxingStateCreation
. Previously, this inspection was enabled by default for all projects. To see this warning in Android Studio's editor and your project's lint outputs, change its severity from informational to warning (or higher) by declaring
warning "AutoboxingStateCreation"
inside your module's
build.gradle
or
build.gradle.kts
configuration (I wonder how beneficial this might be to enable in my project 🤔 ) • Fixed crash happening when
SubcomposeLayout
is used inside
movableContentOf()
animation, foundation, material, runtime, ui 1.6.0-alpha02 • New
ExitTransition.Hold
to display outgoing content in
AnimatedContent
until both enter & exit transition are finished. (I5984f) (🦜 WOOO been waiting for this) • Additional annotations to specify allowed inputs to composables (I51109) (not sure what this is but seems helpful) • Introduced
PagerLayoutInfo
with information collected after a measure pass in
Pager
. Also introduced
PageInfo
, the information about a single measured Page in
Pager
. (Iad003, b/283098900) • Added
SemanticsNodeInteraction.requestFocus
as a more convenient and discoverable way to request focus in tests. (Ie8722) • Completely redesigned
PlatformTextInput*
API. (I6c93a, b/274661182, b/267235947, b/277380808) •
SoftwareKeyboardController
and
LocalSoftwareKeyboardController
are no longer experimental.
LocalSoftwareKeyboardController
is also now a proper
CompositionLocal
. (I4c364) •
Modifier.transformable
now provides pan delta in
canPan
parameter to help determine the direction of the pan to allow or disallow it. (I692aa, b/266829800) • Updates the modifier
consumeWindowInsets
to extend the superclass
AbstractComposeView
(Iacd74, b/269479941) • We are moving the density dependency to the component level. This applies to the following components:
SwipeToDismiss
and Sheet based components. Please use the new overload provided where density is a parameter. (I1846e) • Added new Start alignment for
FabPosition
(Ib7aea, b/170592777) •
TextFieldColorsWithIcons
in Material 2 has been deprecated in favor of
TextFieldColors
. When overriding
leadingIconColor
or
trailingIconColor
, also override the overload with
interactionSource
. (Id57ed, b/199377790) • Optimize
rememberSaveable
(f01d79) • Defer re-reading derived states until changes are recorded (f38099) • Improve providing composition local values (a337ea) •
SideEffect
is marked as
@ExplicitGroupsComposable
to avoid generating a group. (I74815) • Avoid comparing composition local maps on reuse (782071) • Added a special case overload for
CompositionLocalProviders
that avoids overhead used to make providing multiple values faster but is overhead when providing a single value. (I6d640, b/288169379) • Fix slot table memory leak (73fcfe) • Fix how we restore
rememberSaveable
when
stateSaver
returns null (90748c) •
LookaheadLayout
and
LookaheadLayoutScope
have been deprecated for a few releases and are now removed. The replacement APIs are
LookaheadScope
that can work with any Layout. (I12ac3) • Add experimental APIs for registering global assertions, for use by testing frameworks in the future. (I12d77) material3 Version 1.2.0-alpha04 • Experimental Segmented Button API (Ifc8fb) • Dividers now have a parameter to control orientation to support vertical dividers. (I4c899, b/288438593) • Add an icon parameter to segmented button, split semantics so that segmented buttons can be selectable to implement single-select, and toggleable to implement multi-select, with
SelectableSegmentedButtonRow
and
ToggelableSegmentedButtonRow
respectively. (I38740) • Divider has been renamed to
HorizontalDivider
. Added
VerticalDivider
functionality. (I5975c) • Change the use of
ClosedFloatingPointRange
for the lighter weight
FloatRange
in experimental Material3 APIs to minimize autoboxing. (I4aab5) •
ModalBottomSheet
respects local layout direction. (Ib4f44, b/285628622) Honorable mention, lifecycle Version 2.7.0-alpha01 •
LifecycleEventEffect
API has been added to run Compose `SideEffect`s based on
Lifecycle.Event
. (nice. no more having to port this code into every app to start something based on a lifecycle event! 🦜 🦜 🦜 )
🎉 22
thank you color 10
a
Annoyingly moving from 1.5.0-beta03 to 1.5.0-rc01 introduced a dependency on building with SDK34 -- so I can't upgrade as our cloud build doesn't have 34 yet. (foundation I think has a requirement on androidx.emoji2emoji2 views helper1.4.0-rc01 which is built with SDK34.) Though it seems in the mainline branch a fix was made to pin emoji2 to be version 1.3.0 that was not included in rc01?
z
ExitTransition.Hold
🥹 Finally!
đź’Ż 2
🦜 6
v
Copy code
LifecycleEventEffect API has been added to run Compose SideEffects based on Lifecycle.Event.
Can anyone explain to me how do I know if that is added into multiplatform compose or only Jetpack compose without looking into the actual implementation / or trying the dependency?
âž• 1
r
I have this feedback from a user of my library, can someone please confirm? Do we need hedgehog to be able to compile with sdk 24? 🤔
“I can explain my situation. Currently the maximum recommended compile SDK version for Android Gradle plugin 8.1.0 is 33. So to use SDK 34, I have to update AGP to 8.2 or higher. However the current stable release of Android Studio (Giraffe) max supported AGP version is 8.1. So I will have to install Android Studio Hedgehog which is a preview canary build and I don't want to do that. So yeah SDK 34 is a blocker for me at-least.”
If so, what @Andy Himberger said is even more annoying.
m
Nooo. The bug where any horizontal pager with disabled swipe will scroll a bit when the keyboard is opened is not fixed :( This issue is so breaking, why does it have low priority??
c
Got a link? I'll star
false alarm. It was fixed! Nice