Skip to content

3.0.0

Compare
Choose a tag to compare
@arkivanov arkivanov released this 13 Jul 21:35
· 133 commits to master since this release

⚠️ This release is published without compatibility metadata variant - the IDE may flag MVIKotlin as unresolved if you are using Kotlin 1.6.20 or above. This is fixed in v3.0.1.

What's new since v3.0.0-beta02

  • Reordered DSL generics (#36)
  • Replaced getMainThreadId stack trace with error message (#37)
  • Updated Kotlin to 1.7.1, Gradle to 7.4.2, AGP to 7.2.0, Essenty to 0.4.2, coroutines to 1.6.3 (#44, #46)
  • Added settings dialog to IDEA Time Travel Plugin (#41)
  • The Time Travel desktop client app is now built on CI, artifacts are attached to releases (for Windows and Linux only, please build from sources for macOS) (62b76fc)

Release highlights since v2.0.4

  • Experimental Store DSL - see the docs
  • Used Essenty library, removed Lifecycle from mvikotlin module, deprecated keepers module
  • Late Store initialization (and ability to instantiate from background thread) - see the docs
  • Added Apple silicon targets
  • Added Time Travel client app for desktop, removed the native one for macOS, improved the Time Travel protocol
  • Added experimental Chrome DevTools extension for time travelling - see the docs
  • Introduced CoroutineExecutor and CoroutineBootstrapper, deprecated SuspendExecutor and SuspendBootstrapper
  • Removed previously deprecated InstanceKeeper and StateKeeper from the mvikotlin module, removed previously deprecated mvikotlin-extensions-androidx module
  • Allow duplicate store names in TimeTravelController. TimeTravelStoreFactory now doesn't need the fallback StoreFactory
  • Renamed Result to Message in Store
  • Renamed handleIntent and handleAction methods to executeIntent and executeAction respectively in Executor interface
  • Deprecated Android TimeTravelView
  • Refactored all samples
  • Some bug fixes and improvements