Release 0.9.0
Warning: This release contains Breaking API Changes.
What's Changed
- Updated Compose Multiplatform dependency to version
1.4.1
- Removed kotlinx.datetime dependency and replaced
Instant
usage inNavigationEvent
with elapsed system milliseconds - Expose the kotlinx.serialization and com.chrynan.parcelable libraries as transitive dependencies
- Fixed incorrect usage of default
Parcelable
object instead ofparcelable
parameter inrememberSavableNavigator
functions - Fixed
NavigationEvent
serializer by manually implementing the serializers using a delegate to a snapshot wrapper class - Created
DestinationAndContext
wrapper class and updated theNavigationContainer
composable function to use that class, removing all otherNavigationContainer
functions
Breaking Changes
Before there were two NavigationContainer
composable functions: one that had a content
closure parameter that received a single NavigationDestination
value, and one that had a content
closure parameter that received both NavigationDestination
and NavigationContext
values. This caused confusion and required explicitly declaring the parameters in the closure so that the type system knew which function was being used.
Now, there is only a single NavigationContainer
composable function that has a content
closure parameter which takes a single DestinationAndContext
type:
NavigationContainer(navigator) { (destination, context) ->
}
As seen in the above example, even though there is only one DestinationAndContext
type, we can make use of destructuring declarations to explicitly define the values as different variables.
Merged PRs
Fixed Issues
Full Changelog: 0.8.0...0.9.0