Releases: arkivanov/Essenty
2.1.0
2.0.0
Changes since version 2.0.0-beta02
- Added
Bundle#putSerializable
andBundle#getSerializable
extension functions forkotlinx-serialization
(#166) - Updated Kotlin to
1.9.23
andkotlinx-serialization
to1.6.3
(#168)
Earlier changes since version 1.3.0
- Removed
Parcelable
support, fully migrated tokotlinx-serialization
(#132) - Enabled
wasmJs
browser target (#137) - Added
discardSavedState
flag for AndroidStateKeeper
builder function (#130) - Added
discardSavedState
argument toSavedStateRegistryOwner#stateKeeper
extension function (#131) - Added
discardRetainedInstances
flag to AndroidInstanceKeeper
(#135) - Don't throw if
InstanceKeeper
is already destroyed (#129) - Disabled debug artifact publications for Android (#134)
- Use Base64 for byte array encoding in
SerializableContainer
(significantly reduces the size) (#138) - Fixed a crash when serializing nullable
SerializableContainer
(#141) - Don't use
reified T
inInstanceKeeper#getOrCreate
(#140) - Fixed possible
ZipException
crash during state restoration on some Android devices (#143, see #142) - Added enabled changed listeners to
BackDispatcher
(#146) - Replaced
PredictiveBackDispatcher
with normal methods inBackDispatcher
(#147) - Added
BackDispatcher#connectOnBackPressedCallback
extension function (#148) - Added
BackHandler#isRegistered
method (#150) - Added
Bundle#putSerializableContainer
andBundle#getSerializableContainer
extension functions (#149) - Added
ApplicationLifecycle
forios
andtvos
targets (#155) - Cancel/start back gesture progress on callback change (#154)
- Removed deprecated code (#156)
- Updated Reaktive to
2.1.0
and kotlinx-coroutines to1.8.0
,lifecycle-reaktive
module now supportswasmJs
target (#162) - Added
ApplicationLifecycle#destroy
method (#163)
Versions and dependencies
Kotlin: 1.9.23
kotlinx-serialization: 1.6.3
Module lifecycle-coroutines
kotlinx-coroutines: 1.8.0
Module lifecycle-reaktive
Reaktive: 2.1.0
2.0.0-beta02
- Added
ApplicationLifecycle#destroy
method (#163)
Versions and dependencies
Kotlin: 1.9.21
kotlinx-serialization: 1.6.2
Module lifecycle-coroutines
kotlinx-coroutines: 1.8.0
Module lifecycle-reaktive
Reaktive: 2.1.0
2.0.0-beta01
- Updated Reaktive to 2.1.0 and kotlinx-coroutines to 1.8.0,
lifecycle-reaktive
module now supportswasmJs
target (#162)
Versions and dependencies
Kotlin: 1.9.21
kotlinx-serialization: 1.6.2
Module lifecycle-coroutines
kotlinx-coroutines: 1.8.0
Module lifecycle-reaktive
Reaktive: 2.1.0
2.0.0-alpha07
- Added
ApplicationLifecycle
forios
andtvos
targets (#155) - Cancel/start back gesture progress on callback change (#154)
- Removed deprecated code (#156)
Versions and dependencies
Kotlin: 1.9.21
kotlinx-serialization: 1.6.2
Module lifecycle-coroutines
kotlinx-coroutines: 1.8.0-RC
Module lifecycle-reaktive
Reaktive: 2.0.1
2.0.0-alpha06
- Added enabled changed listeners to
BackDispatcher
(#146) - Replaced
PredictiveBackDispatcher
with normal methods inBackDispatcher
(#147) - Added
BackDispatcher#connectOnBackPressedCallback
extension function (#148) - Added
BackHandler#isRegistered
method (#150) - Added
Bundle#putSerializableContainer
andBundle#getSerializableContainer
extension functions (#149)
Breaking changes
This release contains some breaking changes in BackDispatcher
interface.
The BackHandler
interface got one new method - isRegistered(BackCallback)
. This can be used to check whether the callback is already registered or not.
The BackDispatcher
interface got two new methods: addEnabledChangedListener
and removeEnabledChangedListener
. Now it's possible to receive notifications when the enabled state of BackDispatcher
is changed (e.g. when a registered BackCallback
becomes enabled or disabled, etc).
The PredictiveBackDispatcher
interface is removed. The BackDispatcher
interface now has four normal methods for controlling the predictive back gesture: startPredictiveBack
, progressPredictiveBack
, cancelPredictiveBack
, plus the existing back
method. This makes it much easier to delegate the gesture from BackCallback
and AndroidX OnBackPressedCallback
to BackDispatcher
.
Versions and dependencies
Kotlin: 1.9.21
kotlinx-serialization: 1.6.2
Module lifecycle-coroutines
kotlinx-coroutines: 1.8.0-RC
Module lifecycle-reaktive
Reaktive: 2.0.1
2.0.0-alpha04
2.0.0-alpha03
2.0.0-alpha02
- Use Base64 for byte array encoding in
SerializableContainer
(significantly reduces the size) (#138)
Versions and dependencies
Kotlin: 1.9.21
kotlinx-serialization: 1.6.2
Module lifecycle-coroutines
kotlinx-coroutines: 1.8.0-RC
Module lifecycle-reaktive
Reaktive: 2.0.1
2.0.0-alpha01
- Removed
Parcelable
support, fully migrated tokotlinx-serialization
(#132) - Enabled
wasmJs
browser target (#137) - Added
discardSavedState
flag for AndroidStateKeeper
builder function (#130) - Added
discardSavedState
argument toSavedStateRegistryOwner#stateKeeper
extension function (#131) - Added
discardRetainedInstances
flag to AndroidInstanceKeeper
(#135) - Don't throw if
InstanceKeeper
is already destroyed (#129) - Disabled debug artifact publications for Android (#134)
Complete migration to kotlinx-serialization
This release completes the migration to kotlinx-serialization
, the support of Parcelable/Parcelize is removed.
WASM support
Essenty now supports the wasmJs
target!
Versions and dependencies
Kotlin: 1.9.21
kotlinx-serialization: 1.6.2
Module lifecycle-coroutines
kotlinx-coroutines: 1.8.0-RC
Module lifecycle-reaktive
Reaktive: 2.0.1