Releases: arkivanov/Decompose
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.
BackGestureAndroidV2.mp4
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
3.4.0-beta01
3.4.0-alpha05
3.4.0-alpha04
- 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)
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.
BackGestureAndroidV2.mp4
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
3.4.0-alpha03
- Added JetpackComponentContext API (#895, #896)
- Updated Compose to
1.8.2(#897) - Fixed
ClassCastExceptioninSlotNavigator#dismissonwasmJson Kotlin 2.2 (#888, see #879)
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.
Versions and dependencies
Kotlin: 2.1.0
Essenty: 2.5.0
kotlinx-serialization: 1.6.3
Multiplatform Compose: 1.8.2
3.4.0-alpha02
- 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)
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.
Versions and dependencies
Kotlin: 2.1.0
Essenty: 2.5.0
kotlinx-serialization: 1.6.3
Multiplatform Compose: 1.8.0-rc01
3.4.0-alpha01
- 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)
Versions and dependencies
Kotlin: 2.1.0
Essenty: 2.5.0
kotlinx-serialization: 1.6.3
Multiplatform Compose: 1.8.0-rc01
3.3.0
Changes since version 3.3.0-beta01
- Updated Essenty to
2.5.0(#846)
Earlier changes since version 3.2.0
- Updated Kotlin to
2.1.0and other dependencies (#825) - Added
AnimatedVisibilityScopetoChildPanelscontent composables (#835) - Added
isPredictiveBackflag to the experimentalstackAnimationfunction with selector (#826) - Added the new Web Navigation API with nested navigation support (#821, #823, see #111)
- Added placeholders for
ChildPanelscomposable function (#811, #815) - Use
Nothingtype forChildPanelscomposable function without Extra panel (#812) - Fixed a crash when multiple retained components are created with different keys (#813, see #807)
New Web Navigation API
This release introduces the new Web Navigation API for browsers. The new API is a successor of the previous WebHistoryController, which is still available for compatibility. The new API supports different navigation models, nested navigation is also supported. Please see the docs for more information.
Versions and dependencies
Kotlin: 2.1.0
Essenty: 2.5.0
kotlinx-serialization: 1.6.3
Multiplatform Compose: 1.7.0
3.3.0-beta01
- Updated Essenty to
2.5.0-beta01(#846)
Versions and dependencies
Kotlin: 2.1.0
Essenty: 2.5.0-beta01
kotlinx-serialization: 1.6.3
Multiplatform Compose: 1.7.0
3.3.0-alpha03
- Updated Kotlin to
2.1.0, Essenty to2.4.0, AGP to8.7.3, Gradle to8.11.1(#825) - Added
AnimatedVisibilityScopetoChildPanelscontent composables (#835) - Updated Essenty to
2.5.0-alpha01(#837)
Versions and dependencies
Kotlin: 2.1.0
Essenty: 2.5.0-alpha01
kotlinx-serialization: 1.6.3
Multiplatform Compose: 1.7.0