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
Fixes
- 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