Delete digital product files that were removed from storage
We are beginning to roll out a fix for digital products in the control panel. Over the coming weeks, you will be able to delete a digital product’s file from the Files section even when its stored file was already removed, for example through WebDAV.
Before, if the stored file was already removed, deleting the file from the Files section failed with an error and the file stayed in the list.
BigCommerce Payments card payments stay off when you turn them off
We’re beginning to roll out a fix for BigCommerce Payments turning card payments back on after a merchant turned them off. Over the coming weeks, more stores get the fix.
- Card payments stay off: when you turn off Enable credit/debit card payments in the control panel, it stays off. Previously, a refresh of your PayPal account status, such as a PayPal account update or Refresh Status, turned card payments back on.
- PayPal removes card processing: if PayPal removes card processing from your account, card payments are still turned off. When PayPal restores it, card payments stay off until you turn them on again or reconnect your PayPal account.
- No change to your setup: the fix needs no action from merchants or developers, and no API fields, values or endpoints change.
Quote shipping method IDs documented as strings or integers
The B2B Edition Quotes API reference now describes shippingMethod.id as either a string or an integer, matching the values the Get Quote Details endpoint returns.
- BigCommerce shipping methods: return the shipping option hash as a string.
- B2B Edition custom shipping methods: return the numeric custom shipping method ID, alongside
b2bId. - Consumer guidance: treat
idas an opaque identifier and usetypeorisCustomto distinguish custom shipping methods from BigCommerce shipping methods.
For details, see Get Quote Details.
Archived states hidden from B2B Edition country state lists
We are beginning to roll out a fix so that states marked as archived, such as the Italian regions (for example Veneto), no longer appear in the state lists returned for B2B Edition address forms. You will see archived states drop out of these state lists over the coming weeks.
- B2B Edition GraphQL API - the
countriesquery no longer returns archived states in each country’sstateslist. - B2B Edition Storefront REST API -
GET /companies/addresses/countriesno longer returns archived states in each country’sstateslist. - Unchanged - countries are not filtered. Existing addresses that use an archived state, and address create and update requests that submit one, are still accepted.
Checkouts API write requests now require the modify scope
We fixed an issue where a token with only the Checkouts read-only scope could be used to modify checkout data. Over the coming weeks, requests that write checkout data with a read-only token will start returning 403 Forbidden.
- Write requests require the modify scope: requests that create, update, or delete checkout data need the Checkouts modify scope. A token with only the Checkouts read-only scope receives a
403 Forbiddenresponse for these requests. - Read requests are unchanged: tokens with the Checkouts read-only scope can continue to read checkout data.
- Action for integrations: if an integration writes checkout data, confirm that its API account has the Checkouts modify scope.
Storefront GraphQL orders return the total after gift certificates and store credit
The Storefront GraphQL API now returns an order’s total including tax after gift certificates and store credit are applied, so you can show the amount the shopper paid, matching the order total on the storefront’s account orders page.
- New field.
totalIncTaxAfterGiftCertificatesAndStoreCredit(Money!) on theBaseOrderinterface, available on bothOrderandOrderWithPayments. - Difference from
totalIncTax.totalIncTaxis unchanged and still includes the value paid with gift certificates and store credit. The new field deducts them. - No changes needed. Existing queries keep working. Add the field to your order queries to use it.
For schema details, see the Storefront GraphQL API reference:
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.