Skip to content

1.5.0

Latest

Choose a tag to compare

@unadlib unadlib released this 17 Mar 17:04
· 576 commits to main since this release

Coaction v1.5.0

Highlights

  • Hardened core store update semantics and synchronization. coaction now filters unsafe keys during initialization and fast-path updates, preserves symbol-keyed descriptors, treats setState(null) as a no-op, removes duplicate patch notifications, preserves slice siblings in local object fast paths, and rejects stale fullSync fallbacks before they can roll back mirrored state.
  • Reworked React auto selectors to use explicit cached selector maps via useStore.auto() and useStore({ autoSelector: true }), avoiding hidden hook calls in property getters.
  • Fixed full-state React subscriptions for mutable adapters so MobX, Pinia, and Valtio-backed stores rerender correctly for both full-state readers and selectors.

Adapter Updates

  • @coaction/jotai and @coaction/redux now notify Coaction subscribers after external writes, keeping bindings and middleware in sync.
  • @coaction/mobx, @coaction/pinia, @coaction/valtio, and @coaction/zustand now clean up adapter-installed subscriptions more reliably on store.destroy().
  • @coaction/xstate gained official binder-adapter contract and type coverage for local whole-store integrations.
  • @coaction/yjs was internally refactored into focused sync, value-conversion, and remote-operation modules without changing the public API.
  • @coaction/logger now guarantees trace cleanup when traced actions throw or reject.
  • All maintained adapters are aligned with coaction@^1.5.0.

Documentation & Quality

  • Refreshed the README and added architecture, adapter-contract, runtime, threading, API-evolution, and support-matrix docs.
  • Documented autoSelector key limitations and clarified maintained runtime, adapter, and middleware boundaries for the 1.5 line.
  • Added broader binder-adapter contract coverage, mutable-adapter React tests, and middleware-order coverage.

Full Changelog: v1.4.1...v1.5.0