Skip to content

3.2.1

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Nov 16:49
· 160 commits to master since this release
3a821db

Breaking changes

  • Android minimum API requirement is now 23, because Google forced us by upgrading it in activity-ktx.

🚀 New Features

Enforce must-use return value (#152).

If you enable compiler flag -Xreturn-value-checker=check, the IDE will warn you when you create a store/subscription/plugin and not use it.

  • add lambda intent emit { } lambda overload
  • improve return type in store.test { } with SubscriptionAware to test subscriptions. You can now access subscriberCount in tests.
  • Batch intent decorator now exposes onUnhandledIntent. This is used when the intent is batched, but then was unhandled. This is likely a temporary solution to "catch" those intents, as due to intents being deferred, we can' use our regular onUndeliveredIntent functions.
  • implement new sample showcasing serialized state transactions

🐞 Bug Fixes

This update includes many important fixes for decorators and child stores.

  • #173 ensure delegate unsubscribes child stores
  • fix off-by-one in batch intents decorator
  • harden decorator batching and timeouts
  • treat batched intents as undelivered on stop
  • call onUndeliveredIntent correctly when buffer overflows
  • cancel coroutines launched in plugins during tests when harness block ends. This fixes "hanging" tests due to plugins launching coroutines.
  • allow decorators to define handlers even if children don't specify a hook. this fixes skipped logic in decorators because the plugin didn't define a callback.
  • synchronize batched intent flushing

❔ Other

  • extend update_deps.sh to autobump docs
  • Enhance documentation for updateState function (#169)
  • Add Claude Code GitHub Workflow (#175)
  • update config
  • update deps: kotlin 2.2.21
  • promote subscription aware APIs to stable
  • add more tests for delegates
  • let kotest run on more platforms since 6.0
  • trim redundant tests
  • expand decorator test coverage
  • test coverage for conflate decorators
  • validate batch queue flush
  • enable return value checker and other flags
  • change syntax of setOnce to be infix
  • fix deprecations
  • gradle 9.2

📚 Docs

add docusaurus-plugin-llms for AI-friendly documentation

New Contributors

Full Changelog: 3.2.0...3.2.1