Skip to content

3.0.0-alpha01

Pre-release
Pre-release
Compare
Choose a tag to compare
@arkivanov arkivanov released this 09 Dec 00:03
690b454
  • Complete migration to kotlinx-serialization (#553)
  • Added support for the wasmJs target for browser (#564)
  • Renamed extensions-compose-jetbrains module to extensions-compose (#559)
  • Removed deprecated Value#subscribe and Value#unsubscribe methods (#554)
  • Renamed predictiveBackAnimation animation argument to fallbackAnimation (#555)
  • Added STARTED status to ChildNavState (#557)
  • Added API to discard saved state on Android (#558)

Multiplatform Compose Extensions

The extensions-compose-jetpack module is removed, the extensions-compose-jetbrains module is renamed to extensions-compose. Please update your dependencies accordingly and replace all com.arkivanov.decompose.extensions.compose.jetbrains.* imports with com.arkivanov.decompose.extensions.compose.*.

Compose for iOS, macOS and Web support

Starting with this release there is no need to use -compose-experimental version suffix. The support of Compose for iOS, macOS and Web is now published under the main version.

Compose for Wasm

Starting with this release Compose for Wasm (wasmJs target) is also supported.

Migration to kotlinx-serialization

This release completes the migration to kotlinx-serialization and removes the support of Parcelable/Parcelize. See the updated docs for more information.

Changes in ChildNavState

The ChildNavState.Status enum (Generic Navigation) has changed and now includes STARTED variant. Please see the updated docs.

Removal of Value subscribe and unsubscribe methods

Previously deprecated methods Value#subscribe and Value#unsubscribe are removed. The Value#observe method returning Cancellation is renamed to subscribe. The Value.observe(Lifecycle, ...) method is also renamed to subscribe.

API to discard saved state on Android

The defaultComponentContext function now accepts two new optional arguments:

  • discardSavedState - a flag indicating whether any previously saved state should be discarded or not, default value is false. Can be useful for handling deep links in onCreate, so that the navigation state is not restored and initial state from the deep link is applied instead.
  • isStateSavingAllowed - called before saving the state. When true then the state will be saved, otherwise it won't. Default value is true.

Versions and dependencies

Kotlin: 1.9.21
Essenty: 2.0.0-alpha01
kotlinx-serialization: 1.6.2
JetBrains Compose: 1.6.0-alpha01