Skip to content

3.2.0-alpha01

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Mar 10:17
· 368 commits to master since this release
b0d3cf5

⚙️ Dependencies

  • Compose Multiplatform 1.8.0-alpha04. This compose release contains breaking changes, such as dropped support for Kotlin K1, Kotlin <2.0 and androidx libraries changes. Please stay on 3.1 if you're still using compose 1.7.3!
  • Kotlin 2.1.20-RC
  • Essenty 2.5-beta01
  • Ktor 3.1

🚀 New Features

  • Add ContainerViewModel class that allows grabbing the exact type of the container from the ViewModel. This is more flexible as it allows clients to access public methods of the container class itself, instead of just the Store contract.
  • add intent extension functions on Container. This makes sending intents easier when Containers are used
  • add store name to exception messages for easier debugging. Sometimes the error messages are not helpful because they are thrown outside the store. This change allows to find the store with the problem from the stacktrace

🐞 Bug Fixes

  • fix intent DSL extensions accepting 0 intents / actions. This is a binary breaking change, but shouldn't need any source changes. It was made because a call like store.intent() was possible, sending 0 intents, which is a developer error.
  • Fix store.subscribe() overloads using collect for states instead of collectLatest. When the render function is slow (e.g. resources, file reads, widgets, services) it could lead to the backpressure buildup from the store. This release changes state updates to be cancelled instead, ensuring you show the latest data. I hope that no one relied on the old non-cancellable behavior, but if you do, consider using a Provider overload and collect states manually.

❔ Other

  • removed deprecated useState function and StoreConfiguraIon top-level properties.
  • updated run configurations for contributors

📚 Docs

  • Add documentation on DI setup with Kodein and Koin #138 #131. The page contains ready-to-use samples on how to inject containers using DI as ViewModels with lifecycle and backstack support.
  • Add resources page with articles, case studies, samples #139
  • Update contribution guide with more detailed setup