Highlights
- Added standalone IndexedDB-backed local resources for durable server-owned snapshots without requiring a client request.
- Added local.query and local.infinite adapters with exact argument restore, stale-time revalidation, and graceful in-memory fallback.
- Added normalized collections with custom entity identity, fragment merge and revision controls, version cleanup, and list/detail fan-out.
- Added static and lazy collection-level scopes for public, user, and tenant cache isolation, including protection against cross-scope response commits.
- Added documentation and agent guidance covering local-first boundaries, server initialization, optimistic updates, and synchronization behavior.
- Fixed selector .load calls on frozen snapshots produced by derived, computed, validation, and history model extensions.
Upgrade
npm install @comwit/state@2.2.0
The deprecated comwit compatibility package is also available at 2.2.0 and re-exports @comwit/state.
Both packages are published under the npm latest tag.
Validation
- 369 library tests passed.
- TypeScript type checking passed.
- Library and documentation production builds passed.
Full changelog: v2.1.0...v2.2.0