3.2.0-alpha03
Pre-release
Pre-release
·
314 commits
to master
since this release
🚀 New Features
- New plugins:
childStorePluginandstoreDelegatePluginallow you to compose stores into tree-like hierarchies and split responsibilities even more easily. Learn more in the new doc page - Let
PipelineContextimplement new SubscriptionAware interface to allow observing subscribers from within the store - Completely new implementation of
whileSubscribedplugin based on new SubscriptionAware support, that now includes a small delay for reporting unsubscriptions to avoid wasted resources during configuration changes on Android. Tests for the plugin have been expanded. The delay can be configured via a parameter. - implement sample app showcase for the delegated stores feature. It implements a progressive content loading feature with 7 lines of code.
- update IDE plugin live templates to allow generating plugins for a specific store or general store
- Use custom, more descriptive exceptions for duplicate store startup
🧨 API Changes
- remove deprecated
parentStoreandsavedStateplugins - The
recoverfunction is now deprecated inSavers. Instead, a newRecoveringSaveris introduced that does the same thing but works not only in framework code, but when you callsaveandrestoreas well. Due to compiler bugs, signatures of some methods had to change, so it may introduce small source breaking changes.
🐞 Bug Fixes
- add missing name parameter to init plugin
- add missing
DelicateStoreApito state property - await the completion of startup on store test DSL. This should improve test stability.
- add interruption support to blocking file IO calls in save state plugin
- fix no message when duplicate plugin is installed in store. Previously it would throw cryptic "kotlin.Unit"
- fix bogus compiler errors with usages of inline in Saver overloads
- fix clipboard copy not working in the debugger
Dependencies
- Kotlin 2.2-RC
- CMP 1.8.1
❔ Other
- update android compile sdk to 36
- remove and re-create android keystore. Make sample keystore optional for publishing.
- Update ConnectScreen ui, use ImageVector logo (#145)
- bump actions/upload-artifact from 4.6.1 to 4.6.2 (#144)
- add rules for AI
- cleanup code and address deprecations
- add tests for store lifecycle
- update docusaurus
- improve test gradle task output
- tests for child stores and delegates
- write tests for the new whileSubscribed plugin
- update docs website title style
📚 Docs
- add documentation for delegated stores
- document store delegate and child stores code
- update documentation of whileSubscribed plugin and composable stores
New Contributors
- @egorikftp made their first contribution in #145
Full Changelog: 3.2.0-alpha01...3.2.0-alpha03