3.4.0
Changes since version 3.4.0-beta01
- Fixed Child Stack and Child Pages incorrectly initialized when state is not restored (#938)
Earlier changes since version 3.3.0
- Use SPDX identifier in POMs (#851 by @TheMrMilchmann)
- Relax
StrictModewith restarting the Activity stack for deep links (#853) - Don't restart Activity stack when there is no deep link (#854)
- Added
backHandlerPriorityargument tochildContextextension function (#859) - Updated Compose to
1.8.0-rc01andcompileSdkVersionto 35 (#870) - Added Child Items navigation model (#878, #882, #880)
- Added
PagesNavigator#setItemsextension function (#881) - Deprecated
Value#getValueoperator overload (#885, see #877) - Exposed
ChildPagesPagertypealias (#886, see #883) - Avoid using
Modifier.graphicLayerin predictive back animatables (#884, see #877) - Fixed IndexOutOfBoundsException in ChildPages (#887, see #866)
- Added JetpackComponentContext API (#895, #896)
- Updated Compose to
1.8.2(#897) - Fixed
ClassCastExceptioninSlotNavigator#dismissonwasmJson Kotlin 2.2 (#888, see #879) - Explicit error handling in Relay (#899, see #892)
- Expose
StackAnimationScopefromChildStackinstead ofAnimatedVisibilityScope(#901, #925) - Use
graphicsLayerwithCompositingStrategy.Offscreenin predictive back animations (#919, see #918) - Renamed
androidPredictiveBackAnimatabletoandroidPredictiveBackAnimatableV1(#921) - Added
androidPredictiveBackAnimatableV2from Android Vanilla Ice Cream (#923) - Fixed incorrect enter shape in
androidPredictiveBackAnimatablewhen not fullscreen (#922) - Fixed
ChildPagesanimation sometimes stuck when interrupted (#924) - Fixed Child Slot state not saved when not active (#916)
- Fixed CCE in
SlotNavigator#dismissonwasmJs(#915) - Fixed
ChildPagescomposable discards the selected index change while not in composition (#930, see #929) - Fixed Web History Navigation duplicates history items when nested (#933, see #907)
The new Child Items navigation model
This release introduces a new experimental navigation model – Child Items. It's designed specifically for displaying child components in lazy lists or grids, but can also be used to organize components in an arbitrary list with flexible lifecycles. See the updated docs.
New JetpackComponentContext API
This release adds a new module jetpack-component-context that provides the JetpackComponentContext API for interop with AndroidX Architecture Components. See the updated docs for more information.
The new androidPredictiveBackAnimatableV2 animation
The androidPredictiveBackAnimatable has been renamed to androidPredictiveBackAnimatableV1. Plus the new androidPredictiveBackAnimatableV2 animation was added, resembling the standard predictive back animation from Android Vanilla Ice Cream and Baklava. See the updated docs for more information.
https://github.com/user-attachments/assets/88119f4a-b134-480a-8f58-4fc855133b06
The new StackAnimationScope
The ChildStack composable function now exposes StackAnimationScope instead of AnimatedVisibilityScope, providing access to stackAnimationDirection: Direction? property. This allows better UI customization during stack animations.
Improved predictive back animation scaling quality
This release significantly improves the quality of scaling when performing predictive back animations with Jetpack Compose.
Versions and dependencies
Kotlin: 2.1.0
Essenty: 2.5.0
kotlinx-serialization: 1.6.3
Multiplatform Compose: 1.8.2