Skip to content

4.0.0-alpha01

Pre-release
Pre-release
Compare
Choose a tag to compare
@arkivanov arkivanov released this 02 Dec 15:31
· 26 commits to master since this release
dc70f60
  • Updated Reaktive in mvikotlin-extensions-reaktive module to version 2.0.0 (#110 by @acousticksan)
  • Updated Essenty to 1.3.0 (#119)
  • Deleted all deprecated code (#113)
  • Merged rx, rx-internal and utils-internal modules into mvikotlin module (#115)
  • Updated Kotlin to 1.9.21 (#114)
  • Disabled debug artifact publications for Android (#117)
  • Support sending Actions from Executors (#116)
  • Replaced getState argument function in Executors and state property in DSL with state() function (#118)

Updates and breaking changes

Please see the updated docs from more information.

Reaktive update to version 2.0.0

Reaktive library in the mvikotlin-extensions-reaktive module is updated to version 2.0.0, making the new version binary incompatible with MVIKotlin v3.x. If you are using this, make sure you also update Reaktive in your project

Deleted all deprecated code

All previously deprecated code is now removed:

  • The keepers module - please use StateKeeper from library Essenty.
  • SuspendBootstrapper and SuspendExecutor - please use CoroutineBootstrapper and CoroutineExecutor respectively.
  • TimeTravelView - please use either the time-travel IDEA plugin or the standalone desktop client, or copy TimeTravelView to your project.

The rx module is merged into mvikotlin module

Please replace the rx dependency from your project and replace com.arkivanov.mvikotlin.rx.* imports with com.arkivanov.mvikotlin.core.rx.*.

Sending Actions from Executors (experimental)

MVIKotlin now allows sending Actions from an Executor back to the Executor itself. This makes it easier to reuse Actions, and also better proper logging and time-traveling. This makes the new version of MVIKotlin binary incompatible with v3.x. See the updated docs.

The new state() function

The getState argument function in Executors and the state property in DSL is replaced with state() function. This makes the API simpler, and there is no need to pass getState argument around.

Versions and dependencies

Kotlin: 1.9.21
Essenty: 1.3.0

Module mvikotlin-extensions-reaktive

Reaktive: 2.0.0

Module mvikotlin-extensions-coroutines

kotlinx.coroutines: 1.7.3