Catalyst 1.11.1
Catalyst 1.11.1 is a patch release covering a Next.js security upgrade, date limits on product detail page date options, and a shared routing cache on BigCommerce Native Hosting.
- Next.js security release — Next.js is upgraded from 16.2.11 to 16.3.4. 16.3.3 patches two critical advisories: unauthenticated remote code execution on Windows-hosted servers (GHSA-p293-qw3h-jr36), and unauthenticated remote code execution in the Image Optimization API when AVIF files are used (GHSA-2xp9-vwfh-vxw4). 16.3.4 re-enables AVIF image optimization after that fix.
- Date option limits on the PDP — a Date modifier’s earliest date, latest date, and limit mode now disable out-of-range days in the product detail page date picker, instead of letting shoppers pick any date.
- A shared routing cache on Native Hosting —
proxies/with-routesnow caches redirects and storefront status in a Cloudflare Workers KV namespace, instead of silently degrading to an in-process memory cache that is not shared across edge invocations. Vercel Runtime Cache still takes priority, with Upstash and memory as the remaining fallbacks.
See the full 1.11.1 release notes for details and release tags.
Checkout domains for Catalyst channels
Checkout is always served by BigCommerce, never by your Catalyst application, so the domain it runs on is channel configuration rather than anything in your storefront code. A new Checkout Domains page covers moving it onto a subdomain of your own storefront domain, and the Catalyst CLI reference now documents the commands that read and write it.
channels info— prints a channel’s storefront, canonical, and checkout URLs, and warns when checkout sits on a different main domain than the storefront. It is the default subcommand, so barecatalyst channelsdoes the same thing.channels update --checkout-url— sets the channel’s checkout URL, and--remove-checkout-urlreverts to the shared checkout domain.deploy --update-checkout-url— prompts for the checkout URL after a successful deploy, alongside the already-supported--update-site-url.- The same-main-domain requirement — BigCommerce rejects a checkout URL that does not share a main domain with the channel’s storefront URL, which is what keeps shopper sessions and carts carrying into checkout in browsers that restrict cross-domain cookies.
- Channels on an auto-generated hostname — cannot take a custom checkout domain, because a certificate cannot be issued for a subdomain at that depth on a BigCommerce-managed zone. Those channels use the shared checkout domain, which is cross-domain from the storefront and best treated as a development setup.
catalyst domains addis not the command for this — it routes a domain to your Native Hosting project, and the project never serves checkout. The checkout domain is set on the channel, with a certificate provisioned on the BigCommerce side.
For details, see Checkout Domains.
Catalyst CLI 1.4.0
The Catalyst CLI (@bigcommerce/catalyst) reaches 1.4.0 with checkout domain support for channels, a substantial OpenNext Cloudflare adapter upgrade, and fixes to Windows builds, codegen, and credential handling.
- Checkout domains for channels —
catalyst channels info, now the default subcommand so barecatalyst channelsdoes the same thing, prints a channel’s storefront, canonical, and checkout URLs.channels updategains--checkout-urland--remove-checkout-url, anddeploygains--update-checkout-urlalongside--update-site-url. All of them warn when checkout sits on a different main domain than the storefront, which is where shopper sessions and carts stop carrying into checkout in browsers that restrict cross-domain cookies. - OpenNext Cloudflare adapter 1.17.3 to 1.20.6 —
catalyst buildandcatalyst deploynow offer to update a project’s own@opennextjs/cloudflarepin when it has fallen behind the version the CLI targets, and reinstall so the worker compiles against it. That pin lives in the project’spackage.json, so it previously stayed at whatever version the project was scaffolded with. The offer is skipped under--prebuiltand in non-interactive environments, which report the command to run instead. The range picked up includes a security fix for encoded paths bypassing middleware matching, a fix for/_next/static/*returning 404 on past deployments, and R2 cache population over remote dev, which is not subject to the Cloudflare API rate limit that failed builds for large catalogs. - Breaking: Node 20 is no longer supported — the
enginesrange is now^22.0.0 || ^24.0.0, because every Wrangler release the new adapter accepts requires Node 22 or later. In practicebuildanddeployalready could not work on Node 20; what regresses iscatalyst start. buildanddeployrun GraphQL codegen — a fresh project no longer needs a manualpnpm buildbefore its first deploy.buildanddeploywork on native Windows — the generatedopen-next.config.tshardcodednode_modules/.bin/next build, which OpenNext runs throughcmd.exe, where the extensionless POSIX shim and forward-slash path fail to resolve. It now invokesnode ./node_modules/next/dist/bin/next build, which works the same under both shells.- A
CATALYST_ROUTES_KVnamespace is bound at deploy — the generated Wrangler config binds the KV namespace backing the routing cache inproxies/with-routes, so it has a shared store on Native Hosting rather than a per-invocation in-memory cache. Pairs with the Cloudflare KV adapter in Catalyst 1.11.1. catalyst createno longer writesCATALYST_ACCESS_TOKENto.env.local— the CLI never read it back, so its only effect was to imply that env files supply CLI credentials, leading users to addCATALYST_STORE_HASHalongside it and then hitMissing credentials..env.localnow carriesBIGCOMMERCE_*build variables only, and CLI configuration lives in.bigcommerce/project.json. Existing projects are unaffected; the stale entry is harmless and is left in place.
For details, see the Catalyst CLI reference.