3.2.0
Changes since version 3.2.0-beta03
- Updated Essenty to
2.2.0
and Compose to1.7.0
(#801)
Earlier changes since version 3.1.0
- Allow duplicate configurations as an experimental feature (#731)
- Fixed "Key was used multiple times" crash with
duplicateConfigurationsEnabled
flag enabled (#734) - Added new experimental stack animation API with Shared Element Transitions support (#753)
- Annotated
StackNavigator#push
as delicate API (#747) - Renamed
Pages
composable function toChildPages
, promoted all Child Pages API to stable (#756) - Force javaTarget 11 for all non-Android JVM targets (#758)
- Renamed
PredictiveBackParams#animatableSelector
parameter toanimatable
(the new animation API) (#762) - Make
predictiveBackParams
parameter a function instead of just a value (the new animation API) (#761) - Fixed a bug when predictive back gesture is interrupted (the new animation API) (#760)
- Disable input during predictive back animation (#775)
- Don't animate the previous child after predictive back gesture finished and stack popped (the new animation API) (#774)
- Added Child Panels navigation model (#782, #789)
- Removed unused type parameters from the experimental
PredictiveBackParams
API (#777) - Make
animator
argument optional in the experimentalstackAnimation
API (#787) - Fixed incorrect predictive back animation playing on hardware back button click (the new animation API) (#779)
- Fixed stack animation not updating to new child component instance when active configuration is unchanged (#794, see #792)
- Don't seek stack animation transition on back start when predictive back animatable is specified (the new animation API) (#797)
Experimental Duplicate Configurations feature
This release adds an experimental support of duplicate configurations in all navigation models. The feature can be enabled using the DecomposeExperimentFlags.duplicateConfigurationsEnabled
flag. If the feature is enabled, Decompose will not throw errors when duplicate configurations are detected. Instead, it will try its best to properly manage the components. Please see the updated docs for more information.
Please take into account that this feature is experimental and might go away in a future release.
New experimental StateKeeper and InstanceKeeper extensions
This release is based on Essenty 2.2.0, which brings some new extensions for StateKeeper
and InstanceKeeper
:
StateKeeper.saveable(...)
andStateKeeperOwner.saveable(...)
- experimental.InstanceKeeperOwner.retainedInstance { ... }
- stable.
Please see the update docs for saveable and retainedInstance.
The new experimental animation API
This release adds a new artifact extensions-compose-experimental
with a brand new API surface for stack animations with the support of Shared Element Transitions. Please see the updated docs for more information and examples.
Child Pages API is stable
The entire Child Pages API is now stable. The Pages
composable function has been renamed to ChildPages
, for consistency with the new ChildStack
composable function from the new experimental animations.
The new Child Panels navigation model
This release adds a new navigation model for multi-pane navigation: Child Panels. This navigation is somewhat similar to List-Details Layout. Please see the updated docs for more information.
Versions and dependencies
Kotlin: 2.0.20
Essenty: 2.2.0
kotlinx-serialization: 1.6.3
Multiplatform Compose: 1.7.0