Changelog· Page 3

The latest updates, improvements, and fixes to Your Next Store. Subscribe via RSS. Curious what's coming? See the roadmap.

· v1.300

Custom domains for every store and a fully localized admin

Custom domains for every store

Pointing your own domain at a store no longer requires a Builder project sitting behind it. Any store can run on its own domain, whichever way its storefront was built — what used to be an accidental Builder-only privilege is now simply how domains work.

Fully localized admin

The admin is translated end to end: products, categories and inventory, orders, customers, coupons and invoices, the builder chat and design surfaces, store settings and domain management, and the home dashboard. A build-time guard catches hardcoded strings before they ship, so coverage doesn't quietly erode as new screens land.

Also shipped

  • The AI assistant asks for human approval before destructive operations, laying out what it's about to do on a confirmation card first
Fixes10
  • Add version-skew protection
  • [admin]Keep server-only whats-new code out of the client bundle
  • [api]Derive store from session when minting API keys
  • [chatbot]Format money via formatMoney to stop 100x inflation
  • [checkout]Derive isPaid from Stripe instead of trusting the client
  • [checkout]Verify address ownership before attaching to cart
  • [create]Wrap onboarding routes in IntlClientProvider
  • [domains]Remove www counterpart redirect before its target domain
  • [orders]Tolerate legacy snapshots missing originalPrice
  • [orders]Type test snapshot from the order schema
· v1.299

Merchant support center and flat editor style

Merchant support center

A support inbox now lives at /manage/support: raise a case, follow it, and get an email when it moves, all without leaving admin or hunting for an address to write to. Support cases are exposed in the store API as well, with their own data layer and notification emails behind them.

Flat editor style across admin forms

Coupon and shipping-method forms have been restyled to the flat editor look, the bundle editor picks up edit-in-place fields, and type selectors are now radio cards you can read at a glance instead of a dropdown you have to open. SEO descriptions prefill from the entity's own description, so one more field arrives already filled in.

Also shipped

  • Tax rate can be assigned to a product on create and update through the API
  • Per-currency variant prices can be set through the API
Fixes21
  • [admin]Keep the bundle group grip inline with its name
  • [ai]AI assistant suggests fresh templates when you ask again
  • [ai]AI assistant no longer reports a successful store creation as failed
  • [ai]AI assistant no longer claims a task is done after only looking for the tool
  • [ai]AI assistant reports amounts in the store currency consistently
  • [api]Improve coupon schema validation
  • [api]Keep defaultable support-case fields optional in SDK types
  • [api]Revalidate product cache on promotion changes
  • [builder]Recover a gone (410) sandbox in /design preflight
  • [bundles]Round bundle price once, not per item
  • [checkout]Reject carts below Stripe's per-currency minimum
  • [discounts]Cap percentage coupons and promotions at 100%
  • [discounts]Clamp percentage discounts to item price in money math
  • [inventory]Apply stock adjustments atomically
  • [media]Block SSRF in remote image ingestion
  • [products]Reject a price that rounds to zero cents
  • [promotions]Scope collection promotions to members in product grid
  • [promotions]Stop product-scoped promotions leaking on product pages
  • [refunds]Scope restock update to the authenticated store
  • [setup]Merge storeName into settings instead of overwriting
  • [setup]Require session on POST, never trust body userId
· v1.298

Coupon editing in admin

Coupons get a proper edit page in admin, so a live campaign with a wrong end date or the wrong percentage can be corrected in place instead of deleted and recreated under a new code. Get-by-id and delete types ship in the SDK alongside it, for anyone driving coupons through the API.

Also shipped

  • Collection editor polish: a clearer picker and tidier Details controls
Fixes8
  • [api]Return 400 for malformed JSON body in PATCH /products
  • [api]Return 400 for malformed UUID path params instead of 500
  • [api]Return JSON 404 for unmatched /api paths
  • [auth]Recover sessions missing an active organization
  • [design]Stop hydration mismatch and status-effect loop in builder
  • [design]Treat a clean tree as a no-op when publishing
  • [og]Resolve font path with fileURLToPath and 404 on missing entity
  • [orders]Finish dedup column rename; harden abandoned carts query
· v1.297

Montonio payments, coupon scoping and collection editor

Embedded Montonio payments

Checkout can now take Montonio payments inline, so shoppers reach for the bank transfers and card methods they already use across the Baltics and Poland without being bounced to another site. Every redirect on the way to a paid order is a chance to lose it, and this removes one.

Coupon scoping

A discount can be limited to a collection, a category or a brand, which turns "20% off outerwear" into a single coupon instead of a hand-maintained product list. The scope is set in the admin coupon form and is readable and writable through the API.

Collection editor redesign

The collection edit form has been rebuilt around edit-in-place fields — click the value you want to change, change it, move on. Editing happens where the information is displayed rather than in a separate form you have to open first.

Also shipped

  • Any bundle type can be created through the bundle API, not just the simplest one
  • Variant option values exposed on bundle group items, so a group can point at a specific size or colour
  • AI assistant usage draws from your AI credits, billed alongside the rest of your AI spend
  • Stripe Connect and live-payments tools available to the AI assistant, so it can walk you through switching payments on
Fixes5
  • [checkout]Report Stripe-not-connected instead of Montonio reason
  • [checkout]Support non-Stripe cart summary for Montonio
  • [compliance]Reject non-document roots in legal content validation
  • [onboarding]Stripe Connect URL during onboarding
  • [domains]Don't build links on unverified custom domains
· v1.296

New store or migration fork in onboarding

Onboarding opens with a question: are you starting a fresh store, or moving an existing one across? Each answer routes you down a path built for it, so merchants arriving with a catalog, customers and orders stop being walked through steps written for an empty store.

· v1.295

Configurable bundles and catalog import API

Configurable bundles

Bundles and sets are now a single configurable feature, with the editor rebuilt around a groups model: you define choice groups, the shopper picks within them, and each choice group carries one price, enforced when you save. Configurable bundles are exposed on the product type and on the product and cart API endpoints, so a storefront or an integration can render the choices and add the result to a cart.

Catalog import API

Bulk catalog imports run through an API backed by a durable workflow. A large import no longer depends on one request staying alive to the end — the workflow carries it through and picks up where it stopped if something interrupts it.

Fixes2
  • [bundles]Respect allowDuplicates cap and label included groups
  • [ai]AI assistant waits for the storefront build before reporting a deploy as done
· v1.294

Managed Commerce tiers and clearer AI credits

Managed Commerce tiers

Managed Commerce gains a Lite tier, and billing now opens with an explicit two-track decision: run the platform yourself on a plan, or have us run it for you. An active Managed Commerce subscription carries Pro-equivalent entitlements, with code download and the credit display bundled in, so the tier you pick answers the feature question in one step.

Clearer AI credits

Credits are shown in dollars instead of an abstract unit, the counter sits somewhere you'll actually notice it, and the transaction list is easier to reach. Knowing what a generation costs before you run it is the difference between experimenting freely and rationing.

Also shipped

  • AI assistant chat history is scoped to the store rather than to the individual user, so everyone on the team picks up the same thread
Fixes3
  • [admin]Don't let pricing fetch timeout crash admin pages
  • [auth]Throw on failed reset/verification email sends
  • [ai]AI assistant no longer re-asks questions you have already answered
· v1.293

Shipment tracking emails, Furgonetka labels and Design Sessions

Shipment tracking emails

Customers now get tracking emails driven by real carrier events, and every shipment carries a timeline of those events from pickup to delivery. That answers the "where is my order?" message before it reaches your inbox — and if you'd rather run that communication yourself, a store setting switches the customer tracking emails off.

Automatic shipping labels via Furgonetka

Paid orders generate their Furgonetka label on their own, so packing becomes print-and-go instead of a detour through a carrier portal. The pickup-point map now adapts to the environment it runs in and accepts your own Map API key, keeping Polish carrier selection working the same in test and live.

Design Sessions

The feedback flow has a name and a home: Design Sessions. Pinning comments on a live preview, handing them to the agent and reviewing what came back now sit together under one label instead of being spread across loosely related screens.

Also shipped

  • AI-guided onboarding — new merchants set their store up by talking to the AI assistant, answering questions in a conversation instead of filling in a setup form
  • Product event flag can be toggled through the products PATCH endpoint
  • Redesigned order-detail header, with the manual status control de-emphasized now that fulfillment drives status on its own
  • Product list polish: category moved into the name subtitle, clearer translation badges
Fixes2
  • [furgonetka]Narrow renewIfExpired value type to live/test shape
  • [furgonetka]Normalize Polish postcodes to NN-NNN
· v1.292

Stock change history

Inventory records every stock change as an entry in an event log — sales, returns, restocks and manual corrections, each stamped with when it happened. When a count looks wrong, you can read back how it got that way instead of reconstructing it from memory.

Fixes3
  • [api]Expose EU Omnibus price per-variant
  • [store]Make subscription cancel idempotent on store delete
  • [vercel]Treat not_found as benign when removing a project domain
· v1.291

Order operations by plan

The order tags, packing queue and bulk actions from the previous release are now packaged by plan, so the operational tooling arrives with the tier you're on. Plans that don't include order operations show an upgrade prompt in place of the controls, rather than leaving a gap you have to ask about.

Also shipped

  • Clearer B2B checkout — the billing checkbox now reads "I'm buying as a company", stating what it actually does instead of leaving business buyers to guess where invoice details come from