Releases: arkivanov/MVIKotlin
Release list
4.4.0
- Updated Kotlin to 2.2.21 and other deps (#154 by @el-qq)
- Notarized Time Travel Client app for macOS (can be downloaded below from the Assets section)
Versions and dependencies
Kotlin: 2.2.21
Essenty: 2.5.0
Module mvikotlin-extensions-reaktive
Reaktive: 2.4.0
Module mvikotlin-extensions-coroutines
kotlinx.coroutines: 1.10.2
4.3.0
- Updated Kotlin to
2.1.0and other deps (#147) - Added
Store#stateFlow(Lifecycle)andStore#labelsChannel(Lifecycle)API, promoted to stable (#148)
Versions and dependencies
Kotlin: 2.1.0
Essenty: 2.4.0
Module mvikotlin-extensions-reaktive
Reaktive: 2.3.0
Module mvikotlin-extensions-coroutines
kotlinx.coroutines: 1.9.0
4.2.0
4.1.0
- Use
typeOfas key instead ofKClassinInstanceKeeper#getStore(#138) - Updated Kotlin to
2.0.0, Essenty to2.1.0(mind the release notes), and other dependencies (#139)
Versions and dependencies
Kotlin: 2.0.0
Essenty: 2.1.0
Module mvikotlin-extensions-reaktive
Reaktive: 2.2.0
Module mvikotlin-extensions-coroutines
kotlinx.coroutines: 1.8.1
4.0.0
Changes since version 4.0.0-beta01
- Updated Essenty to
2.0.0(#134) - Promoted Executor
onActionandforwardmethods to stable (#133) - Promoted DSL APIs to stable (#135)
Earlier changes since version 3.3.0
- Support
wasmJstarget (#122, #124) - Updated Reaktive in
mvikotlin-extensions-reaktivemodule to version2.0.0(#110 by @acousticksan) - Deleted all deprecated code (#113)
- Merged
rx,rx-internalandutils-internalmodules intomvikotlinmodule (#115) - Disabled debug artifact publications for Android (#117)
- Support sending Actions from Executors (#116)
- Replaced
getStateargument function in Executors andstateproperty in DSL withstate()function (#118)
Updates and breaking changes since version 3.3.0
Please see the release notes of the version 4.0.0-alpha01 to learn about all breaking changes and migration guides.
Versions and dependencies
Kotlin: 1.9.23
Essenty: 2.0.0
Module mvikotlin-extensions-reaktive
Reaktive: 2.1.0
Module mvikotlin-extensions-coroutines
kotlinx.coroutines: 1.8.0
4.0.0-beta01
- Updated Kotlin to 1.9.23, Essenty to 2.0.0-beta01, coroutines to 1.8.0, Reaktive to 2.1.0 (#131)
Versions and dependencies
Kotlin: 1.9.23
Essenty: 2.0.0-beta01
Module mvikotlin-extensions-reaktive
Reaktive: 2.1.0
Module mvikotlin-extensions-coroutines
kotlinx.coroutines: 1.8.0
4.0.0-alpha02
4.0.0-alpha01
- Updated Reaktive in
mvikotlin-extensions-reaktivemodule to version2.0.0(#110 by @acousticksan) - Updated Essenty to
1.3.0(#119) - Deleted all deprecated code (#113)
- Merged
rx,rx-internalandutils-internalmodules intomvikotlinmodule (#115) - Updated Kotlin to
1.9.21(#114) - Disabled debug artifact publications for Android (#117)
- Support sending Actions from Executors (#116)
- Replaced
getStateargument function in Executors andstateproperty in DSL withstate()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
keepersmodule - please use StateKeeper from library Essenty. SuspendBootstrapperandSuspendExecutor- please useCoroutineBootstrapperandCoroutineExecutorrespectively.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