v2.0.2
Patch release with stability improvements to cache and CI workflows.- Fix: Separated LRU timestamp from TTL expiry to prevent premature cache eviction
- Fix: Resolved cache key gaps, race conditions, and LRU eviction edge cases
- Fix: Resolved cache key, price leak, search race, and URL encoding bugs
- Fix: Resolved multiple SDK bugs across cache, layers, and filters
v2.0.0
Major release with a redesigned API surface, signal-based reactivity throughout, and a simplified architecture that removes the Shopify Storefront API dependency.See the v1 to v2 Upgrade Guide for migration instructions.Highlights
- New
createClientAPI replacingcreateSdkwith a cleaner configuration interface - Signal-based controllers with built-in
subscribe()on all controllers (Collection, Search, Blocks, Suggest) - Layers-only architecture — Storefront API hydration removed; products are built entirely from Layers data
- Reactive
createProductCardcontroller with signal-based state for variant selection, pricing, and images - Content search via the new
searchContentcontroller for article/blog search - Shallow products by default — only the matched variant is included, significantly reducing payload size
- Structured error types with
ClientErrorreplacingSdkError, andisRetryablecaller predicate - Request deduplication via a new
RequestCoordinatorthat prevents redundant in-flight API calls - Simplified cache API replacing the store module with a flat
cacheinterface - Renamed public API surface —
Sdkis nowClient,autocompleteis nowsuggest,filterMapis nowfilterAliases, and more - Variant breakout support with
breakoutOptionsfor expanding variants into individual tiles - Formatted price ranges included in query results
v1.3.0
- Feature: Pluggable storage adapters for cache persistence (
localStorageAdapter,fileStorage, or customStorageAdapter) - Feature:
initialDataandrestoreFromStorageoptions oncreateSdkfor hydrating the cache at initialization - Feature: Exposed additional Layers response fields (e.g.
attributionToken) in SDK results - Fix: Made
attributionTokenoptional to prevent runtime errors when absent
v1.2.1
- Feature: Exposed variant inventory levels on the
Producttype - Fix: Compile issue resolved
- Chore: Switched npm publish to OIDC trusted publishers
v1.1.0
First stable release under the@commerce-blocks/sdk package name on npm.- Feature: Dynamic linking —
dynamicLinkingpromoted to a first-class field on all Layers endpoints - Feature: Dynamic parameter injection for Layers API requests
- Chore: Renamed package to
@commerce-blocks/sdkand published to npm
v0.2.0
- Feature: Added
onReadylifecycle hook for detecting when the SDK is fully initialized - Feature: Optimized variant attribute requests to reduce payload size
v0.1.1
- Fix: Stable signal reference in providers to prevent unnecessary re-renders
- Breaking: Auto-wrap filter conditions in
ANDgroups — filters are now automatically grouped
v0.1.0
- Feature: App-ready promise pattern and theme injection support
- Feature: Template validation and Preact subpath export
- Feature: Explicit component registration and cache configuration options
- Test: Build verification and API contract tests