From bb2636fede5e41737cccec34bb042e2d36bdefc0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 6 Oct 2026 15:27:48 +0000 Subject: [PATCH] Version Packages (`canary`) --- .../ltrac-2085-cart-shipping-form-refresh.md | 23 --------- .changeset/ltrac-2154-kv-read-cache-ttl.md | 22 --------- ...rac-2164-retry-transient-graphql-errors.md | 5 -- core/CHANGELOG.md | 48 +++++++++++++++++++ core/package.json | 6 +-- packages/client/CHANGELOG.md | 6 +++ packages/client/package.json | 2 +- 7 files changed, 58 insertions(+), 54 deletions(-) delete mode 100644 .changeset/ltrac-2085-cart-shipping-form-refresh.md delete mode 100644 .changeset/ltrac-2154-kv-read-cache-ttl.md delete mode 100644 .changeset/ltrac-2164-retry-transient-graphql-errors.md diff --git a/.changeset/ltrac-2085-cart-shipping-form-refresh.md b/.changeset/ltrac-2085-cart-shipping-form-refresh.md deleted file mode 100644 index 5f2847abdb..0000000000 --- a/.changeset/ltrac-2085-cart-shipping-form-refresh.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -'@bigcommerce/catalyst-core': patch ---- - -Fix the cart shipping estimator not updating until a page reload. After "View shipping options", "Add shipping", or a quantity change, the shipping form now reflects the new address, quote, and selected option immediately. - -## Migration - -In `core/vibes/soul/sections/cart/client.tsx`, key the `ShippingForm` on the server's shipping state so it remounts when that state changes: - -```tsx -{shipping && ( - -)} -``` diff --git a/.changeset/ltrac-2154-kv-read-cache-ttl.md b/.changeset/ltrac-2154-kv-read-cache-ttl.md deleted file mode 100644 index 0e1af9ef91..0000000000 --- a/.changeset/ltrac-2154-kv-read-cache-ttl.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -'@bigcommerce/catalyst-core': patch ---- - -Speed up routing cache reads on BigCommerce Native Hosting. The Cloudflare KV adapter now caches reads at each Cloudflare location for 5 minutes instead of Workers KV's 60-second default, so most `with-routes` lookups that miss the in-process cache take a few milliseconds instead of a trip to central KV storage. The trade-off is staleness: in the worst case, a storefront status change (maintenance mode, launch) can take up to about 11 minutes to reach a location instead of about 7. It's usually sooner, since the background refresh's write is normally visible at once in the location that made it. Route changes have the same 4 extra minutes on top of their 30-minute window. - -## Migration - -In `core/lib/kv/adapters/cloudflare-kv.ts`, pass a `cacheTtl` when reading from the namespace: - -```ts -const ROUTES_READ_CACHE_TTL_SECONDS = 60 * 5; - -// RoutesKvNamespace -get(key: string, options: { type: 'json'; cacheTtl?: number }): Promise; - -// CloudflareKvAdapter.mget -const value = await this.namespace.get(key, { - type: 'json', - cacheTtl: ROUTES_READ_CACHE_TTL_SECONDS, -}); -``` diff --git a/.changeset/ltrac-2164-retry-transient-graphql-errors.md b/.changeset/ltrac-2164-retry-transient-graphql-errors.md deleted file mode 100644 index 1716421a73..0000000000 --- a/.changeset/ltrac-2164-retry-transient-graphql-errors.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@bigcommerce/catalyst-client": patch ---- - -Retry Storefront GraphQL queries that fail on a dropped connection or a `502`, `503`, or `504`. Previously a single upstream hiccup threw straight to the error page ("There was a server error!"). Queries are now retried up to twice, after 100ms and 300ms, including when the connection drops while the response body is being read (`TypeError: terminated`). Mutations are never retried, since they aren't idempotent, and 4xx responses, GraphQL errors, and aborted requests fail immediately as before. Each retry logs a `console.warn` naming the operation, the attempt, and the failure (for example `[BigCommerce] Retrying query GetSite after HTTP 502 (attempt 2 of 3)`), so recovered failures still show up in server logs. diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index d3209dd27f..a10d914a12 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -1,5 +1,53 @@ # Changelog +## 1.12.3 + +### Patch Changes + +- [#3254](https://github.com/bigcommerce/catalyst/pull/3254) [`75aa709`](https://github.com/bigcommerce/catalyst/commit/75aa7099f9da397aac96eae1e24f0cdda6d7ffad) Thanks [@jorgemoya](https://github.com/jorgemoya)! - Fix the cart shipping estimator not updating until a page reload. After "View shipping options", "Add shipping", or a quantity change, the shipping form now reflects the new address, quote, and selected option immediately. + + ## Migration + + In `core/vibes/soul/sections/cart/client.tsx`, key the `ShippingForm` on the server's shipping state so it remounts when that state changes: + + ```tsx + { + shipping && ( + + ); + } + ``` + +- [#3261](https://github.com/bigcommerce/catalyst/pull/3261) [`24dacae`](https://github.com/bigcommerce/catalyst/commit/24dacaebb7fcdb8956dafcf0aaecb0c10071e5fe) Thanks [@jorgemoya](https://github.com/jorgemoya)! - Speed up routing cache reads on BigCommerce Native Hosting. The Cloudflare KV adapter now caches reads at each Cloudflare location for 5 minutes instead of Workers KV's 60-second default, so most `with-routes` lookups that miss the in-process cache take a few milliseconds instead of a trip to central KV storage. The trade-off is staleness: in the worst case, a storefront status change (maintenance mode, launch) can take up to about 11 minutes to reach a location instead of about 7. It's usually sooner, since the background refresh's write is normally visible at once in the location that made it. Route changes have the same 4 extra minutes on top of their 30-minute window. + + ## Migration + + In `core/lib/kv/adapters/cloudflare-kv.ts`, pass a `cacheTtl` when reading from the namespace: + + ```ts + const ROUTES_READ_CACHE_TTL_SECONDS = 60 * 5; + + // RoutesKvNamespace + get(key: string, options: { type: 'json'; cacheTtl?: number }): Promise; + + // CloudflareKvAdapter.mget + const value = await this.namespace.get(key, { + type: 'json', + cacheTtl: ROUTES_READ_CACHE_TTL_SECONDS, + }); + ``` + +- Updated dependencies [[`4db7221`](https://github.com/bigcommerce/catalyst/commit/4db7221e2d2e9bbc4c2541306f7b50daabbef4b9)]: + - @bigcommerce/catalyst-client@1.0.4 + ## 1.12.2 ### Patch Changes diff --git a/core/package.json b/core/package.json index 1ec53c6d89..944ad6334d 100644 --- a/core/package.json +++ b/core/package.json @@ -1,10 +1,10 @@ { "name": "@bigcommerce/catalyst-core", "description": "BigCommerce Catalyst is a Next.js starter kit for building headless BigCommerce storefronts.", - "version": "1.12.2", + "version": "1.12.3", "catalyst": { - "version": "1.12.2", - "ref": "@bigcommerce/catalyst-core@1.12.2" + "version": "1.12.3", + "ref": "@bigcommerce/catalyst-core@1.12.3" }, "private": true, "engines": { diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index 8dbc2d6412..b7c09600ce 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 1.0.4 + +### Patch Changes + +- [#3263](https://github.com/bigcommerce/catalyst/pull/3263) [`4db7221`](https://github.com/bigcommerce/catalyst/commit/4db7221e2d2e9bbc4c2541306f7b50daabbef4b9) Thanks [@jorgemoya](https://github.com/jorgemoya)! - Retry Storefront GraphQL queries that fail on a dropped connection or a `502`, `503`, or `504`. Previously a single upstream hiccup threw straight to the error page ("There was a server error!"). Queries are now retried up to twice, after 100ms and 300ms, including when the connection drops while the response body is being read (`TypeError: terminated`). Mutations are never retried, since they aren't idempotent, and 4xx responses, GraphQL errors, and aborted requests fail immediately as before. Each retry logs a `console.warn` naming the operation, the attempt, and the failure (for example `[BigCommerce] Retrying query GetSite after HTTP 502 (attempt 2 of 3)`), so recovered failures still show up in server logs. + ## 1.0.3 ### Patch Changes diff --git a/packages/client/package.json b/packages/client/package.json index 8a10478e64..2ffdcbb797 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,7 +1,7 @@ { "name": "@bigcommerce/catalyst-client", "description": "BigCommerce API client for Catalyst.", - "version": "1.0.3", + "version": "1.0.4", "repository": { "type": "git", "url": "https://github.com/bigcommerce/catalyst",