Releases: arkivanov/Decompose
2.2.2-compose-experimental
This is the same release as 2.2.2, but with Compose for iOS and Web (Canvas, js
only) support.
Versions and dependencies
Kotlin: 1.9.21
Essenty: 1.3.0
kotlinx-serialization: 1.6.0
parcelize-darwin: 0.2.3
JetBrains Compose: 1.5.11
3.0.0-alpha03
The new LocalStackAnimationProvider
The new LocalStackAnimationProvider
API allows configuring a default stack animation for Children
and predictiveBackAnimation
. Please see the updated docs.
Versions and dependencies
Kotlin: 1.9.21
Essenty: 2.0.0-alpha02
kotlinx-serialization: 1.6.2
JetBrains Compose: 1.6.0-alpha01
3.0.0-alpha02
- Support
WebHistoryController
onwasmJs
by using serialization (#569) - Updated Essenty to
2.0.0-alpha02
(reduces the size of the saved state) (#572)
WebHistoryController on Wasm
This release adds WebHistoryController
for wasmJs
target. It is shared with js
target and now relies on kotlinx-serialization
. The WebHistoryController#attach
method got a new argument (serializer: KSerializer<C>
), which is a breaking change.
Versions and dependencies
Kotlin: 1.9.21
Essenty: 2.0.0-alpha02
kotlinx-serialization: 1.6.2
JetBrains Compose: 1.6.0-alpha01
3.0.0-alpha01
- Complete migration to
kotlinx-serialization
(#553) - Added support for the
wasmJs
target for browser (#564) - Renamed
extensions-compose-jetbrains
module toextensions-compose
(#559) - Removed deprecated
Value#subscribe
andValue#unsubscribe
methods (#554) - Renamed
predictiveBackAnimation
animation
argument tofallbackAnimation
(#555) - Added
STARTED
status toChildNavState
(#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 isfalse
. Can be useful for handling deep links inonCreate
, so that the navigation state is not restored and initial state from the deep link is applied instead.isStateSavingAllowed
- called before saving the state. Whentrue
then the state will be saved, otherwise it won't. Default value istrue
.
Versions and dependencies
Kotlin: 1.9.21
Essenty: 2.0.0-alpha01
kotlinx-serialization: 1.6.2
JetBrains Compose: 1.6.0-alpha01
2.2.1
- Updated Kotlin to
1.9.21
, Jetpack Compose compiler to1.5.6
, Multiplatform Compose to1.5.11
(#539)
Versions and dependencies
Kotlin: 1.9.21
Essenty: 1.3.0
kotlinx-serialization: 1.6.0
parcelize-darwin: 0.2.3
extensions-compose-jetpack
Jetpack Compose: 1.5.0
Jetpack Compose Compiler: 1.5.6
extensions-compose-jetbrains
JetBrains Compose: 1.5.11
2.2.1-compose-experimental
This is the same release as 2.2.1, but with Compose for iOS and Web (Canvas, js
only) support.
Versions and dependencies
Kotlin: 1.9.21
Essenty: 1.3.0
kotlinx-serialization: 1.6.0
parcelize-darwin: 0.2.3
JetBrains Compose: 1.5.11
2.2.0
Changes since version 2.2.0-beta02
- Updated Essenty to
1.3.0
(#547) - Fixed possible
NSInvalidArgumentException
crash inApplicationLifecycle
(#545) - Fixed incorrect stack animation direction when stack replaced with a smaller stack (#543)
Changes since version 2.1.4
- Added support for
kotlinx-serialization
, deprecated Parcelable APIs (#486) - Added
key
argument toPages
(#494) - Added
pushNew
extension function forStackNavigator
(#499, #514) - Added
materialPredictiveBackAnimatable
as a default animation (#533) - Added
ApplicationLifecycle
for iOS and tvOS targets (#527) - LTR/RTL support in
PredictiveBackGestureOverlay
(#535 by @alexzhirkevich, #538) - Updated Kotlin to
1.9.20
and other dependencies (#521)
Please see the previous release notes for more information and guidance:
Versions and dependencies
Kotlin: 1.9.20
Essenty: 1.3.0
kotlinx-serialization: 1.6.0
parcelize-darwin: 0.2.3
extensions-compose-jetpack
Jetpack Compose: 1.5.0
Jetpack Compose Compiler: 1.5.4
extensions-compose-jetbrains
JetBrains Compose: 1.5.10
2.2.0-compose-experimental
This is the same release as 2.2.0, but with Compose for iOS and Web (Canvas, js
only) support.
Versions and dependencies
Kotlin: 1.9.20
Essenty: 1.3.0
kotlinx-serialization: 1.6.0
parcelize-darwin: 0.2.3
JetBrains Compose: 1.5.10
2.2.0-compose-experimental-beta02
This is the same release as 2.2.0-beta02, but with Compose for iOS and Web (Canvas, js
only) support.
Versions and dependencies
Kotlin: 1.9.20
Essenty: 1.3.0-beta01
kotlinx-serialization: 1.6.0
parcelize-darwin: 0.2.3
JetBrains Compose: 1.5.10
2.2.0-beta02
- Added
materialPredictiveBackAnimatable
as a default animation (#533) - LTR/RTL support in
PredictiveBackGestureOverlay
(#538) - Fixed
PredictiveBackGestureOverlay
swipe edges not changing (#535 by @alexzhirkevich)
The new materialPredictiveBackAnimatable
API
This release adds the new materialPredictiveBackAnimatable
function that resembles the predictive back design for Android. This animation is used by default on all platforms.
Versions and dependencies
Kotlin: 1.9.20
Essenty: 1.3.0-beta01
kotlinx-serialization: 1.6.0
parcelize-darwin: 0.2.3
extensions-compose-jetpack
Jetpack Compose: 1.5.0
Jetpack Compose Compiler: 1.5.4
extensions-compose-jetbrains
JetBrains Compose: 1.5.10