Skip to content

Release 0.9.0

Compare
Choose a tag to compare
@chRyNaN chRyNaN released this 12 Jul 17:33
· 8 commits to develop since this release

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 in NavigationEvent with elapsed system milliseconds
  • Expose the kotlinx.serialization and com.chrynan.parcelable libraries as transitive dependencies
  • Fixed incorrect usage of default Parcelable object instead of parcelable parameter in rememberSavableNavigator functions
  • Fixed NavigationEvent serializer by manually implementing the serializers using a delegate to a snapshot wrapper class
  • Created DestinationAndContext wrapper class and updated the NavigationContainer composable function to use that class, removing all other NavigationContainer 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