Skip to content

Releases: arkivanov/Essenty

2.1.0

01 Jun 11:20
bc46211
Compare
Choose a tag to compare
  • Use typeOf as key instead of KClass in InstanceKeeper#getOrCreate (#169)
  • Updated Kotlin to 2.0.0 and coroutines to 1.8.1 (#170)

Versions and dependencies

Kotlin: 2.0.0
kotlinx-serialization: 1.6.3

Module lifecycle-coroutines

kotlinx-coroutines: 1.8.1

Module lifecycle-reaktive

Reaktive: 2.1.0

2.0.0

22 Apr 15:07
e1014b8
Compare
Choose a tag to compare

Changes since version 2.0.0-beta02

  • Added Bundle#putSerializable and Bundle#getSerializable extension functions for kotlinx-serialization (#166)
  • Updated Kotlin to 1.9.23 and kotlinx-serialization to 1.6.3 (#168)

Earlier changes since version 1.3.0

  • Removed Parcelable support, fully migrated to kotlinx-serialization (#132)
  • Enabled wasmJs browser target (#137)
  • Added discardSavedState flag for Android StateKeeper builder function (#130)
  • Added discardSavedState argument to SavedStateRegistryOwner#stateKeeper extension function (#131)
  • Added discardRetainedInstances flag to Android InstanceKeeper (#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 in InstanceKeeper#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 in BackDispatcher (#147)
  • Added BackDispatcher#connectOnBackPressedCallback extension function (#148)
  • Added BackHandler#isRegistered method (#150)
  • Added Bundle#putSerializableContainer and Bundle#getSerializableContainer extension functions (#149)
  • Added ApplicationLifecycle for ios and tvos targets (#155)
  • Cancel/start back gesture progress on callback change (#154)
  • Removed deprecated code (#156)
  • Updated Reaktive to 2.1.0 and kotlinx-coroutines to 1.8.0, lifecycle-reaktive module now supports wasmJs 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

08 Apr 15:46
3ee3fc0
Compare
Choose a tag to compare
2.0.0-beta02 Pre-release
Pre-release
  • 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

05 Apr 11:59
33179f5
Compare
Choose a tag to compare
2.0.0-beta01 Pre-release
Pre-release
  • Updated Reaktive to 2.1.0 and kotlinx-coroutines to 1.8.0, lifecycle-reaktive module now supports wasmJs 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

19 Feb 22:06
ff76521
Compare
Choose a tag to compare
2.0.0-alpha07 Pre-release
Pre-release
  • Added ApplicationLifecycle for ios and tvos 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

09 Feb 15:51
9023afd
Compare
Choose a tag to compare
2.0.0-alpha06 Pre-release
Pre-release
  • Added enabled changed listeners to BackDispatcher (#146)
  • Replaced PredictiveBackDispatcher with normal methods in BackDispatcher (#147)
  • Added BackDispatcher#connectOnBackPressedCallback extension function (#148)
  • Added BackHandler#isRegistered method (#150)
  • Added Bundle#putSerializableContainer and Bundle#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

27 Jan 20:40
c138e2e
Compare
Choose a tag to compare
2.0.0-alpha04 Pre-release
Pre-release
  • Fixed possible ZipException crash during state restoration on some Android devices (#143, see #142)

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-alpha03

22 Jan 19:00
b433410
Compare
Choose a tag to compare
2.0.0-alpha03 Pre-release
Pre-release
  • Fixed a crash when serializing nullable SerializableContainer (#141)
  • Don't use reified T in InstanceKeeper#getOrCreate (#140)

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-alpha02

12 Dec 21:44
Compare
Choose a tag to compare
2.0.0-alpha02 Pre-release
Pre-release
  • 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

08 Dec 22:34
de24937
Compare
Choose a tag to compare
2.0.0-alpha01 Pre-release
Pre-release
  • Removed Parcelable support, fully migrated to kotlinx-serialization (#132)
  • Enabled wasmJs browser target (#137)
  • Added discardSavedState flag for Android StateKeeper builder function (#130)
  • Added discardSavedState argument to SavedStateRegistryOwner#stateKeeper extension function (#131)
  • Added discardRetainedInstances flag to Android InstanceKeeper (#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