Skip to content

Releases: addon-stack/storage

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 08:41

🚀 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

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 04 May 21:25

🚀 Release @addon-core/storage v0.6.0 (2026-05-04)

✨ Features

  • add custom equality comparison for update method (89874b9)

    • Introduce compare option for update() to skip writes based on custom equality logic.
    • Extend StorageUpdateOptions with compare field for precise control over update logic.
    • Ensure no-op writes do not trigger unnecessary updates or storage writes.
    • Add comprehensive test coverage for compare usage.
    • Update documentation with examples to demonstrate custom compare usage.

📝 Documentation

  • improve atomic updates section in README (f457ced)

    • Expand explanation of atomic updates for browser extensions.
    • Provide examples for extension state shared across multiple contexts.
    • Clarify use cases such as counters, retries, toggles, and queue metadata.

🙌 Contributors

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 09 Apr 18:17

🚀 Release @addon-core/storage v0.5.0 (2026-04-09)

✨ Features

  • add LockManager to serialize concurrent operations (8b9d49c)

    • Introduce LockManager for atomic storage updates, leveraging the Web Locks API.
    • Enhance storage operations with lock options for update, remove, and clear.
    • Expand test coverage to include concurrency handling and custom locks implementation.
  • enhance package metadata and dependencies (87a6a31)

🐛 Bug Fixed

  • handle non-string values in SecureStorage changes gracefully (65f3e9e)

  • release: specify npm registry in release-it config (b540405)

📝 Documentation

  • add CI badge to README (79fd044)

  • improve and expand documentation for storage features (bb0af71)

    • Provide clearer descriptions of storage APIs, features, and use cases.
    • Enhance examples for SecureStorage, MonoStorage, atomic updates, and React bindings.
    • Include notes on Web Locks API reliance, namespaces, and storage areas.
    • Update examples with modern TypeScript syntax and best practices.

🤖 CI

  • husky: update pre-commit hook to handle partially staged files (6c14915)

  • release: update release workflow, Node version, and npm config (f62686e)

🧹 Chores

  • deps: update dependencies and lockfile to latest versions (82b41d1)

  • update formatting, mailmap, and test label icon (4ee7b34)

    • Adjusted .release-it.cjs to include an icon for the "test" label.
    • Updated jest.config.ts to enforce consistent spacing within objects.
    • Added .mailmap file to consolidate and standardize author email aliases.

🛠️ Refactoring

  • release: simplify and clean up release-it configuration (ff864e1)

  • simplify and standardize async storage operations (ae61d0c)

    • Replace custom promises with callWithPromise for consistency and readability.
    • Remove unnecessary throwRuntimeError calls and redundant error handling.
    • Streamline onChanged listener management using handleListener helper.

🙌 Contributors

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 14:42

🚀 Release @addon-core/storage v0.4.0 (2025-10-07)

✨ Features

  • enhance watch callbacks with key differentiation (97e4557)

    • Updated watch to include key-specific callbacks and pass key names to global callbacks.
    • Refactored StorageWatchOptions into separate callback types for consistency.
    • Adjusted tests to validate key-specific callback behavior and new parameters.
    • Improved error handling in AbstractStorage for unhandled key changes.

📝 Documentation

  • update README and CONTRIBUTING guidelines for clarity (aa79667)

    • Expanded peer dependency details in README (including @types/react-dom).
    • Updated descriptions for watch() callbacks and getAll() behavior.
    • Clarified SecureStorage key formatting for namespaced storage.
    • Improved MonoStorage watch() explanation with deep comparison info.
    • Revised CONTRIBUTING.md to align with a Simplified GitFlow model.
    • Removed references to release/* and hotfix/* branches in release process.

🤖 CI

  • replace release workflows with unified release pipeline (a39f5d4)

    • Consolidated release-prepare.yml and release-publish.yml into a single release.yml.
    • Streamlined CI with dynamic matrix computation for better flexibility and coverage.
    • Updated .release-it.cjs with enhanced contributor logic and changelog formatting.
    • Introduced .gitattributes to enforce consistent line endings across the repo.
    • Improved biome configuration to exclude coverage and dist directories.

🧹 Chores

  • update dependencies and replace @adnbn/browser with @addon-core/browser (fa3bbaa)

    • Updated @addon-core/browser to v0.2.1, replacing @adnbn/browser.
    • Bumped multiple Jest-related dependencies to v30.2.0 for consistency.
    • Included new transitive dependency signal-exit v4.1.0.

🛠️ Refactoring

  • replace shallowEqual with dequal for deep equality checks (d2a5e43)

    • Removed custom shallowEqual method in favor of using dequal for better accuracy.
    • Updated MonoStorage logic to apply deep equality checks with imported dequal.
    • Adjusted .gitignore with additional entries for environment and build artifacts.
    • Updated package-lock.json with dequal dependency and removed unused modules.

🙌 Contributors

v0.3.6

Choose a tag to compare

@github-actions github-actions released this 26 Sep 11:36

🚀 Release @addon-core/storage v0.3.6 (2025-09-26)

🛠️ Refactoring

  • update release-it config to hide unused sections (1ce0a4d)

    • Updated configuration to hide docs, build, and chore sections in changelogs.
    • Removed chore and build from patch types for version bump logic.
    • Added releaseName field in GitHub releases for better naming consistency.
  • update release-it configuration for better npm publish (ae54a77)

v0.3.5

Choose a tag to compare

@github-actions github-actions released this 25 Sep 21:44

🚀 Release @addon-core/storage v0.3.5 (2025-09-25)

🐛 Bug Fixed

  • release-it: remove redundant releaseName field from config (92bfca4)

    • Deleted the releaseName field under the GitHub section as it is not used.
    • Simplifies the configuration for release management.

🧹 Chores

  • release: v0.3.4 [skip ci] (7b9bf6d)

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 20:56

🚀 0.3.1

  • re-enable and refine writerOpts for release configuration- Uncommented and refined writerOpts in shared.cjs for structured release notes.
  • Enhanced commitPartial to properly handle subject fallback and body rendering.
  • Restored and fine-tuned sorting for type, scope, and subject fields.
  • shared.cjs: comment out writerOpts in release configuration- Temporarily disabled writerOpts block by commenting it out in shared.cjs.
  • Ensures configuration is bypassed while retaining the original logic for reference.
  • ci: improve commitPartial and release notes grouping logic- Updated commitPartial in shared.cjs to include type and scope formatting enhancements.
  • Enabled grouping of commits by type with sorting on scope and subject.
  • Adjusted commitGroupsSort and commitsSort for better structured release notes.
  • ci: streamline release messaging and enhance template structure- Updated committed.cjs to remove release notes from commit message template.
  • Improved shared.cjs by adjusting commitPartial to use headers for better readability.
  • Added headerPartial to include version information in generated release notes.
  • ci: update release-sync workflow and enhance commitPartial- Updated release-sync.yml to use devmasx/merge-branch@master for branch syncing.
  • Migrated workflow syntax to use from_branch and target_branch for clarity.
  • Improved commitPartial in shared.cjs by adjusting templates and ensuring better alignment.
  • Enabled hidden attribute for all Semantic Release type presets.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 15:27

0.3.0 (2025-09-24)

ci: add workflow to sync main into develop upon release

  • Introduced release-sync.yml to automatically merge main into develop post-release.

  • Utilizes tibdex/merge-branch@v3 to handle the branch sync process.

  • Triggers on successful completion of the Release Publish workflow.
    ci: enhance commitPartial to properly handle type and scope checks

  • Updated commitPartial template in shared.cjs to include a type check.

  • Ensures release notes are generated only if a valid type is present.
    add keywords, author, and contributors metadata

  • Added keywords for improved discoverability of the package.

  • Included author and contributors fields for better attribution.

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 23 Sep 21:48

0.2.3 (2025-09-23)

standardize indentation and adjust lint-staged configuration

  • Updated indentation in all Semantic Release config files for consistency.

  • Standardized import format for commonPlugins across configs.

  • Enhanced lint-staged and biome.json to include .cjs and .mjs file formats.
    restructure Semantic Release configs and update workflows

  • Moved release configs to release directory for better organization.

  • Split shared plugins into shared.cjs for reduced duplication across configs.

  • Updated release-publish.yml and release-prepare.yml to reference new config paths.

  • Removed outdated semantic-release.config.cjs and semantic-release.preview.cjs.

  • Excluded src/types.ts from the build entrypoint in tsup.config.ts.
    migrate build tooling to tsup and update dependencies

  • Replaced @rslib/core build config with tsup for a streamlined setup.

  • Removed .changeset directory and rslib.config.ts as part of build tool migration.

  • Updated semantic-release.preview.cjs indentation for consistency.

  • Added esbuild-fix-imports-plugin and tsup to devDependencies for improved module bundling.

  • Updated import in useStorage.ts to reflect proper module export.

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 23 Sep 14:17

0.2.2 (2025-09-23)

Bug Fixes

  • remove unused --debug flag from Semantic Release dry run (9108ff3)