2 days late, but... new compose artifacts are out ...
# compose
c
2 days late, but... new compose artifacts are out 🎉 compiler 1.5.9 • Fix composable calls in anonymous object initializer • Count recursive local declarations as captures • Fix Intrinsic remember changes behavior related to Java method refs by forceing .changed for function types with intrinsic remember • Added an experimental optimization that will remove the groups around functions that are not skippable such as explicitly marked as
@NonSkippableComposable
and functions that are implicitly not skippable such inline functions and functions that return a non-Unit value such as
remember
. • This optimization can be enabled by passing plugin option,
-P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true
to the Kotlin compiler. material3 1.2.0 • A View-Compose interop rendering bug was introduced in
PrimaryTabRow
as part of a performance improvement change. The workaround is to use
TabRow
with
TabRowDefaults.PrimaryIndicator
• A bunch of updates are in the release notes since it's a decently sized "stable" release. Read the blog post for the good details 1.6.1 of anim, foundation, material, runtime, ui • Compatibility fix for
KeyframesSpec
. (I2bdf3, b/322214617) • Fix staggered grid measure when scrolled over limit. (bffc39) • Add check for layout with large dimensions. (e74af5) • Fix placement of 0-sized items at the start of the staggered grid. (785f94) • Call onRelease callback in the same order as onForgotten. (31ce3b) • Filter changed states that are not observed in
snapshotFlow
. (796b80) • Fixed a backwards compatibility issue with
SemanticsPropertyReceiver.performImeAction
and
SemanticsActions.PerformImeAction
. (Ie0bb2, b/322269946) • Layouts now issue an error while measuring when one returns an abnormally large size. This kind of error normally happens when the measurement uses maximum constraints directly without checking for
Constraints.Infinity
. The check will help developers find problems with the layout having the wrong size rather than in a layout that contains it. (I339a9) 1.7.0-alpha02 of anim, foundation, material, runtime, • Fixed
Modifier.animateContentSize
not resetting properly when used in
LazyList
. (I070512, b/322525716) • Fixed
IllegalStateException
on
KeyframesSpec
when using out of range timestamps. (I341b8, b/322839811) •
HorizontalPager
,
VerticalPager
and
PagerState
are promoted to stable. (I67660, b/316966909) • Added
LocalTextLinkStyle
composition local that allows to change the style of the links in Text across the app. If you're using your own theme in the app, you should be setting this composition local according to your theming. When using Material theme the color of the link by default will be set to Material's primary color. (I7eb10) • Introduced
receiveContent
modifier that provides developers with a way to receive rich content in Jetpack Compose. •
receiveContent
integrates with
BasicTextField2
to accept rich content provided by the software keyboard, or via Clipboard paste action. (I81b72) • In this change we're replacing
SnapFlingBehavior
with
TargetedFlingBehavior
in pager to unlock other use cases and provide greater flexibility. (I762ea) • In this change we're making Snapping APIs Stable. We're also cleaning up some of the testing code and adding more samples to Snapping. (Id8da9) • Introduce
TargetedFlingBehavior
, a
FlingBehavior
that allows propagating information about the state of the ongoing animation and it's target scroll offset. (I6a207) •
BasicTextField2
now keeps the cursor in view while typing when it has been scrolled out of view or would move out of view due to input. (Ieb856, b/237190748) • Adds an experimental API for configuring prefetch behavior of LazyLists. (I022a4) • Invalidate composable lambdas in subcompositions on the same frame. (98301c) • Call
onRelease
callback in the same order as
onForgotten
. (2cd790) • Filter changed states that are not observed in
snapshotFlow
. (796b80) • Modify snapshot observer in place when it is already transparent. (f60f30) • Optimize
SnapshotIdSet.lowest()
. (7ae149) • Use an allocation-free
fold()
in
SnapshotIdSet
. (532b7d) • Remove iterator allocation (83f96b) •
PopupProperties
constructor that takes a
usePlatformDefaultWidth
parameter is no longer experimental. (I8f8d2) • Added an overload of
ComposeTestRule.waitUntil
that takes a string description of the condition to include in the timeout message. (I9413e) • New semantics API
unset()
to remove semantics properties that are added in the same modifier chain. New semantics property
isOpaque
. (I8c583, b/317966058, b/246056649) • Removed
originalEventPosition
from copy method in public API of
PointerInputChange
. (I7bead) • Fixed an a11y bug allowing non-tabs and non-radiobuttons to be clickable when selected. (I2181c) •
VelocityTracker
will now have the fix for adding points on by default. The fix can still be turned off by setting
VelocityTrackerAddPointsFix
to false if there's any issues. (Ib3877, b/269487059) • Fixed backwards binary incompatibility in
TextStyle
and
ParagraphStyle
. (I179f0, b/320819734) • Added a new
DialogProperties
constructor without platform-specific parameters. (I45829) • Added a new
PopupProperties
constructor without platform-specific parameters. (I9a038) • Reminder you can use the chris banes alpha bom library for a non stable bom
K 8
❤️ 7
gratitude thank you 1
I found these updates most interesting: • Add check for layout with large dimensions. • Fixed
Modifier.animateContentSize
not resetting properly when used in
LazyList
. • Added
LocalTextLinkStyle
composition local that allows to change the style of the links in Text across the app. If you're using your own theme in the app, you should be setting this composition local according to your theming. • In this change we're replacing
SnapFlingBehavior
with
TargetedFlingBehavior
in pager to unlock other use cases and provide greater flexibility. •
BasicTextField2
now keeps the cursor in view while typing when it has been scrolled out of view or would move out of view due to input. • Adds an experimental API for configuring prefetch behavior of LazyLists. (I022a4) • Invalidate composable lambdas in subcompositions on the same frame. (98301c)