3.2.0-alpha01
Pre-release
Pre-release
·
368 commits
to master
since this release
⚙️ 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
ContainerViewModelclass 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
intentextension 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 usingcollectfor states instead ofcollectLatest. When therenderfunction 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 aProvideroverload and collect states manually.
❔ Other
- removed deprecated
useStatefunction andStoreConfiguraIontop-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