B2B address book fields are no longer alpha in Storefront GraphQL
The B2B address book fields in the Storefront GraphQL API are no longer marked as alpha.
- Address mutations —
addAddress,updateAddress, anddeleteAddressno longer carry the alpha deprecation notice. - Address query —
addressoncompanyandcustomer.activeCompanyno longer carries the alpha deprecation notice. - Address settings —
site.settings.b2b.config.addressandsite.settings.b2b.extraFields.addressno longer carry the alpha deprecation notice.
Other B2B fields that are still in alpha, such as site.settings.b2b.extraFields.user, are unchanged.
For details, see the Storefront GraphQL API reference.
Catalyst 1.13.0
Catalyst 1.13.0 adds a DISABLE_ANALYTICS environment variable that turns off every analytics integration in the storefront, sends the ProductViewed event once per product per visit, and retries Storefront GraphQL queries that fail on a transient upstream error.
DISABLE_ANALYTICS: set it totrueat build time and the storefront sends no analytics. That covers BigCommerceVisitStartedandProductViewedevents, Google Analytics, Script Manager scripts in the Analytics category, and Vercel Analytics and Speed Insights. Existing analytics cookies are removed.ProductViewedonce per visit: every product page request used to send aProductViewedevent, so refreshes and repeat views each cost an uncacheable GraphQL mutation. A newcatalyst.productViewscookie records the products already reported in the current visit.- Retries for transient GraphQL failures: queries that fail on a dropped connection or a
502,503, or504are retried up to twice instead of showing the error page. Mutations are never retried. - Cart shipping estimator refresh: after “View shipping options”, “Add shipping”, or a quantity change, the shipping form shows the new address, quote, and selected option without a page reload.
- Product page fixes: the gallery updates when a variant has a different default image, and add to cart uses the product being viewed even if the hidden
idfield was edited. - Faster routing cache reads on Storefront Hosting: routing lookups that miss the in-process cache are cached at each Cloudflare location for 5 minutes, so most take a few milliseconds.
See the full 1.13.0 release notes for migration details and release tags.
Catalyst CLI 1.5.0
The Catalyst CLI (@bigcommerce/catalyst) 1.5.0 adds ways to send feedback and error reports to BigCommerce, checks the checkout certificate after setting a checkout URL, and fixes catalyst upgrade on older git versions and catalyst logs tail dropping events.
catalyst feedback: sends feedback, a bug report, or a feature request at any time. Pass--titleand--description, or answer the prompts. Thecatalyst debugreport is attached, with no secret values and the home directory shown as~. Pass--no-diagnosticsto send without it.- Post-deploy survey: after a successful
catalyst deploy, the CLI can ask how your experience was on a 0 to 10 scale, with an optional comment. It asks at most once every three months on each machine, and never in CI or without a terminal. Press Enter without a number to skip it. Only the score, your comment, the CLI version, and the command name are sent. - Error reports: after an unexpected error, the CLI asks whether to send an error report to BigCommerce. The default is No. Errors you can fix yourself, such as bad input, an expired token, or a 4xx response, don’t ask. In CI, without a terminal, or without credentials, the CLI suggests
catalyst feedbackinstead. Pass--no-hintsor setCATALYST_NO_HINTSto turn off the survey, the error report question, and the hint. - Checkout certificate check:
catalyst channels update --checkout-urlchecks that the checkout URL serves a certificate and warns when it doesn’t. On a Storefront Hostingc.<project>hostname, where setting the URL provisions the certificate, it waits for the certificate first. - Storefront Hosting naming: help text, prompts, and messages say Storefront Hosting instead of Native Hosting or Commerce Hosting.
catalyst create --hosting bigcommercereplaces--hosting commerce, which still works but prints a deprecation warning. catalyst upgradeon older git: no longer fails withunknown option `merge-base'on git versions older than 2.40.catalyst logs tailreconnects cleanly: no longer drops log events when it rotates its connection, and no longer prints the same event twice after reconnecting.
For details, see the Catalyst CLI reference.
Page widgets now return the widget template version
The Get Page Snapshot endpoint of the REST Content API now returns version_uuid on every widget, so you can map each widget in a page snapshot to the exact widget template version it was built against.
version_uuidis the UUID of the widget template version the widget uses. It matches theversion_uuidthat the Widgets API returns for the same widget.- Empty when unversioned: a widget with no template version returns
version_uuidas an empty string. - Read-only: the Publish or Overwrite Page Content endpoint ignores
version_uuid, so a snapshot can be published without changes.
For details, see Get Page Snapshot.
Passwordless customer login guide matches the login.php behavior
Thanks to user feedback, the passwordless customer login guide now describes what the POST /login.php?action=passwordless_login request actually returns, and why a 200 response does not always mean a sign-in link arrived.
- Corrected
sent_emailvalue: the response returnsreset_password, notpassword_reset, when the account requires a password reset on next login. In that case the customer receives a password change email instead of a sign-in link. - A
200means queued, not delivered: the guide now explains that email delivery is asynchronous and lists the cases where a200is returned without an email, such as the outgoing email limit on new trial stores. - Documented
400and503responses: the status code table now covers invalid JSON, invalid email or redirect values, and email send failures, with the exact error bodies. - Request format and CSRF requirements: the body must be raw JSON,
redirect_urlis reduced to its path, and requests sent from a page with an active storefront session need theX-Sf-Csrf-Tokenheader or they are redirected without sending an email. - Troubleshooting section: a checklist for the “success response but no email” case.
For details, see Passwordless customer login.
Store timezone text in Promotions Manager
Restores the missing store timezone text to the Schedule section when creating/editing a promotion in Promotions Manager.
Price ranges match for products with a single price point
Fixes price ranges that differed between pricing responses for products with a single-value price range and a default option selection that changes the price.
- Products with required options: when the price from the default option selection is higher than a single-value price range, the price range now uses that higher price.
- Products without required options: the price range now includes the product’s calculated price.
WebMCP for storefronts
WebMCP exposes your store’s shopping tools to AI agents running in a shopper’s browser through the WebMCP browser standard, with no theme changes or code.
- On by default: WebMCP is enabled on all Stencil storefronts and on Catalyst storefronts hosted on Cloudflare. Custom headless storefronts running on Cloudflare can have WebMCP enabled too.
- Synced from server-side MCP: When server-side MCP is enabled on your store, its product, cart, and checkout tools are synced to WebMCP automatically, so agents in the shopper’s browser use the same tools.
- Default image scanning tools:
scan_images_c2paandinspect_image_c2paread content provenance (C2PA) metadata from images on the page. - Managed in the control panel: Review the exposed tools or opt out under Settings > API and MCP > MCP.
For details, see WebMCP.