Skip to navigation

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, and deleteAddress no longer carry the alpha deprecation notice.
  • Address query — address on company and customer.activeCompany no longer carries the alpha deprecation notice.
  • Address settings — site.settings.b2b.config.address and site.settings.b2b.extraFields.address no 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 to true at build time and the storefront sends no analytics. That covers BigCommerce VisitStarted and ProductViewed events, Google Analytics, Script Manager scripts in the Analytics category, and Vercel Analytics and Speed Insights. Existing analytics cookies are removed.
  • ProductViewed once per visit: every product page request used to send a ProductViewed event, so refreshes and repeat views each cost an uncacheable GraphQL mutation. A new catalyst.productViews cookie 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, or 504 are 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 id field 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 --title and --description, or answer the prompts. The catalyst debug report is attached, with no secret values and the home directory shown as ~. Pass --no-diagnostics to 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 feedback instead. Pass --no-hints or set CATALYST_NO_HINTS to turn off the survey, the error report question, and the hint.
  • Checkout certificate check: catalyst channels update --checkout-url checks that the checkout URL serves a certificate and warns when it doesn’t. On a Storefront Hosting c.<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 bigcommerce replaces --hosting commerce, which still works but prints a deprecation warning.
  • catalyst upgrade on older git: no longer fails with unknown option `merge-base' on git versions older than 2.40.
  • catalyst logs tail reconnects 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_uuid is the UUID of the widget template version the widget uses. It matches the version_uuid that the Widgets API returns for the same widget.
  • Empty when unversioned: a widget with no template version returns version_uuid as 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_email value: the response returns reset_password, not password_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 200 means queued, not delivered: the guide now explains that email delivery is asynchronous and lists the cases where a 200 is returned without an email, such as the outgoing email limit on new trial stores.
  • Documented 400 and 503 responses: 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_url is reduced to its path, and requests sent from a page with an active storefront session need the X-Sf-Csrf-Token header 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.



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_c2pa and inspect_image_c2pa read 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.