🚀 Release @addon-core/storage v0.7.0 (2026-07-18)
💥 Breaking Changes
-
LockManager is now exported as WebLockManager. Update package-root imports to
use WebLockManager; the old LockManager alias is not retained. -
set rejects undefined, and flat keys or namespaces containing ":" are rejected.
Unnamespaced SecureStorage keys now use secure:: instead of secure:, so legacy
ciphertext requires explicit raw migration. Listener data or corruption errors now terminate the
affected registration and surface asynchronously. -
support aggregate batch update comparison
✨ Features
-
add batch storage operations and subscriptions (dff46a7)
- add multi-key overloads for get, set, and update
- add subscribe with FIFO event formatting and keep watch as a per-key projection
- align Storage, SecureStorage, and MonoStorage locking, corruption, recovery, and no-op semantics
- introduce strict physical-key decoding and explicit SecureStorage legacy migration
- cover runtime, type-level, locking, codec, React, and batch-planner behavior
-
helpers: add functional storage API (5c2c43c)
- add one-shot get/set and provider factories for all storage areas
- support secure and mono providers through typed overloads
- document provider reuse and cover runtime and type contracts
-
support aggregate batch update comparison (18d9e78)
-
types: support storage without explicit state (70dce43)
- add default state generics across providers, factories, and related public types
- preserve strict schema typing while documenting the loose playground mode
- cover genericless and typed usage with compile-time assertions
📝 Documentation
-
restructure README around functional API (f7f841b)
- make functional helpers and storage-area selection the primary onboarding path
- consolidate class, batch, locking, watch, secure, and MonoStorage documentation
- clarify provider scope, recovery behavior, public errors, and runtime limits
-
update package description (053e844)
Highlight the functional API, type safety, batch operations,
encryption, and subscriptions in npm package metadata.
🧹 Chores
-
release: align breaking-change bumps before 1.0 (96c550c)
- treat breaking commits as minor releases on 0.x and major releases on 1.x
- recognize bang syntax, parser flags, notes, and breaking footers consistently
- preserve the minor release policy for revert commits
- add focused release-policy tests and contributor documentation
🛠️ Refactoring
-
locking: rename LockManager to WebLockManager (daecdaa)
- move the Web Locks implementation and tests into src/locking
- add a locking barrel and re-export built-in lockers from the package root
- keep WebLockManager as the default locker for storage providers
- document the built-in implementation and verify its public type export
🙌 Contributors
- Anjey Tsibylskij (@atldays) — commits: 9