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/.changeset/ltrac-2203-checkout-url-certificate-wait.md b/.changeset/ltrac-2203-checkout-url-certificate-wait.md deleted file mode 100644 index bf54bef1af..0000000000 --- a/.changeset/ltrac-2203-checkout-url-certificate-wait.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@bigcommerce/catalyst': patch ---- - -`catalyst channels update --checkout-url` now checks that the checkout URL is serving a certificate, and warns if it isn't, so the command doesn't finish silently before checkout loads. On a native hosting deployment hostname (`c.`), where setting the URL is what provisions the certificate, it waits for the certificate to be issued first. diff --git a/.changeset/ltrac-2260-upgrade-git-merge-base.md b/.changeset/ltrac-2260-upgrade-git-merge-base.md deleted file mode 100644 index d8199d0470..0000000000 --- a/.changeset/ltrac-2260-upgrade-git-merge-base.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@bigcommerce/catalyst": patch ---- - -Fix `catalyst upgrade` failing with ``unknown option `merge-base'`` on git versions older than 2.40. 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/catalyst/CHANGELOG.md b/packages/catalyst/CHANGELOG.md index 88623e0143..5df1010d89 100644 --- a/packages/catalyst/CHANGELOG.md +++ b/packages/catalyst/CHANGELOG.md @@ -1,5 +1,13 @@ # @bigcommerce/catalyst +## 1.4.3 + +### Patch Changes + +- [#3268](https://github.com/bigcommerce/catalyst/pull/3268) [`4b2daee`](https://github.com/bigcommerce/catalyst/commit/4b2daeeed3fd82699a98ebac0f00891907d2d8ae) Thanks [@jorgemoya](https://github.com/jorgemoya)! - `catalyst channels update --checkout-url` now checks that the checkout URL is serving a certificate, and warns if it isn't, so the command doesn't finish silently before checkout loads. On a native hosting deployment hostname (`c.`), where setting the URL is what provisions the certificate, it waits for the certificate to be issued first. + +- [#3267](https://github.com/bigcommerce/catalyst/pull/3267) [`9d528fc`](https://github.com/bigcommerce/catalyst/commit/9d528fc7b06c63d56a1882829014c2fd57f4bd99) Thanks [@jorgemoya](https://github.com/jorgemoya)! - Fix `catalyst upgrade` failing with ``unknown option `merge-base'`` on git versions older than 2.40. + ## 1.4.2 ### Patch Changes diff --git a/packages/catalyst/package.json b/packages/catalyst/package.json index cc2edfc526..67786e8fb5 100644 --- a/packages/catalyst/package.json +++ b/packages/catalyst/package.json @@ -1,6 +1,6 @@ { "name": "@bigcommerce/catalyst", - "version": "1.4.2", + "version": "1.4.3", "type": "module", "repository": { "type": "git", 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", diff --git a/packages/create-catalyst/CHANGELOG.md b/packages/create-catalyst/CHANGELOG.md index 65d2cdcc85..98f69569a8 100644 --- a/packages/create-catalyst/CHANGELOG.md +++ b/packages/create-catalyst/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 2.0.8 + +### Patch Changes + +- Updated dependencies [[`4b2daee`](https://github.com/bigcommerce/catalyst/commit/4b2daeeed3fd82699a98ebac0f00891907d2d8ae), [`9d528fc`](https://github.com/bigcommerce/catalyst/commit/9d528fc7b06c63d56a1882829014c2fd57f4bd99)]: + - @bigcommerce/catalyst@1.4.3 + ## 2.0.7 ### Patch Changes diff --git a/packages/create-catalyst/package.json b/packages/create-catalyst/package.json index 2d95c93740..49b484f0b7 100644 --- a/packages/create-catalyst/package.json +++ b/packages/create-catalyst/package.json @@ -1,6 +1,6 @@ { "name": "@bigcommerce/create-catalyst", - "version": "2.0.7", + "version": "2.0.8", "repository": { "type": "git", "url": "https://github.com/bigcommerce/catalyst",