Changelog· Page 7

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

· v1.319

Marketing attribution, analytics widgets and product costs

Marketing attribution

The storefront records first- and last-touch attribution against a client session and sorts each visit into a channel, then carries that attribution from the cart onto the finished order. Sales-by-channel and traffic-by-channel widgets on the dashboard answer which channels bring visitors and which bring revenue, which is rarely the same ranking.

Analytics widgets

The dashboard gained a cohort retention heatmap, trend widgets, cart abandonment stats, a gross/net toggle, order-derived KPIs as widgets and daily traffic-source rollups. Between them you can see whether repeat purchases are holding up month over month rather than guessing from a single revenue line.

Product costs and profitability

Record a cost per variant and the dashboard reports profit alongside revenue, with a cost-coverage figure showing how much of the catalogue has costs filled in so you know how far to trust the figure.

Also shipped

  • Meta CAPI purchase events sent server-side – purchases reach Meta from your server, so ad reporting survives blockers and dropped cookies
Fixes4
  • [analytics]Net refunds and correct customer and top-product metrics
  • [analytics]Revalidate the analytics route after widget-config saves
  • [analytics]Qualify order columns in the hand-written top-products query
  • [checkout]Store a real totalNet on finalized orders
· v1.318

Newsletter campaigns, back-in-stock emails and blog post translations

Newsletter campaigns

Pick a preset audience with live subscriber counts, feature products in the body, and schedule the send through a durable workflow that fires whether or not anyone is watching. Test sends go to any address you name, and a readiness checklist now tells you what's still missing instead of a guard that blocked you from building the campaign at all.

Back-in-stock emails

Customers who asked to be told when a sold-out variant returns get an email the moment stock comes back. A shopper who would otherwise have drifted elsewhere gets pulled back without anyone on your team remembering to follow up.

Per-locale blog post translations

Blog posts carry a translation per locale, and published posts are picked up by the store translation workflow alongside the rest of your content.

Also shipped

  • Hyperlinks in product descriptions – point at a size guide, a material spec or a companion product from inside the description
  • Legacy Storebuilder stores convert in place – move a Storebuilder store onto Elliot without rebuilding it from scratch
  • Unsubscribe link and List-Unsubscribe headers on welcome and coupon-expiry emails
Fixes13
  • [ai]AI assistant dashboard links follow the real admin navigation
  • [ai]AI assistant provisions the Builder sandbox instead of refusing the store
  • [checkout]Ship /account messages to the checkout client
  • [emails]Don't skip the merchant order confirmation when the customer email dedupes
  • [emails]Let product names wrap in the order confirmation
  • [emails]Skip abandoned-cart recovery email for unsubscribed recipients
  • [emails]Wrap raw Resend error objects in real Errors
  • [newsletters]Close race windows in the send/delete state machine
  • [newsletters]Compare schedule instants, not strings, in the fire-time guard
  • [newsletters]Settle the editor on the row a test send or schedule created
  • [newsletters]Surface a missing store address in test sends
  • [posts]Re-host images supplied through the API
  • [storefront]Unsubscribe via an explicit action, not a page-render side effect
· v1.317

Catalogue translation write endpoints

Product and catalogue translations can now be written through the API, not only read. Translations can be kept in sync programmatically or pushed in from an external translation tool, instead of being retyped in the admin one locale at a time.

Fixes1
  • [api]Restore the OpenAPI document by adding the schema metadata it needs
· v1.316

Login and signup placeholders

The login and signup forms show example values in each field, so what belongs where is obvious before you start typing.

Fixes1
  • [ai]AI assistant resolves the store from your session
· v1.315

Attendee CSV export

Export an event's attendee list as a CSV straight from the event. That gives you a check-in sheet, a badge print run or a mail merge without anyone copying names out of the admin by hand.

Also shipped

  • AI-guided onboarding by default – new merchants set their store up by talking to the AI assistant rather than working through a setup form
Fixes1
  • [furgonetka]Show the pickup point's code and address, not just its name
· v1.314

Store-scoped admin URLs

The whole admin now lives under /s/<store-slug>. Every screen resolves its store from the URL rather than from whatever store your session last touched, and the slug is carried through OAuth provider callbacks in a signed cookie so connecting an integration lands you back where you started. Links and bookmarks point at one specific store, teams running several stores stop acting on the wrong one by accident, and every store id arriving in a request is membership-checked before anything is read or written.

Fixes5
  • [admin]Keep server-side redirects inside the current store
  • [admin]Keep the current section when switching store
  • [admin]Scope the credits poll to the store in the URL
  • [products]Refresh the list for the merchant who just saved
  • [products]Scope bulk product writes to the session's store
· v1.313

Faster admin lists and collection browsing by variant

Faster admin lists

Every list table in admin picked up numbered pagination with pending indicators, optimistic updates for deletes, bulk actions and module toggles, and loading skeletons shaped like the rows they stand in for. Table search stays mounted and responsive as you type, so working through a few thousand products feels like a local app instead of a round trip per keystroke.

Collection browsing by variant

Collections gained a products endpoint and browse one card per variant, so a collection of shirts shows each colour as its own card rather than hiding them behind a single entry.

Also shipped

  • Domains settings leads with connecting a domain – the page opens on the action most merchants came for instead of burying it below the list
Fixes10
  • [admin]Make sidebar group identity and active state consistent
  • [admin]Optimistic-list edge cases and streaming for the remaining lists
  • [admin]Pagination a11y and prefetch, URL-driven hub tabs
  • [admin]Read the URL at call time in search and filter controls
  • [admin]Replace the remaining native confirms with AlertDialog
  • [admin]Stop reporting success on failed mutations
  • [domains]Keep unpublished stores' custom domains off the storefront
  • [domains]Revalidate the whole settings subtree and return checkout to /buy
  • [i18n]Close audited namespace gaps and trim the admin root page
  • [support]Mark cases read from a client mount, not during render
· v1.312

Faster publishing for migrated stores and Gallery lightbox

Faster publishing for migrated stores

Migrated stores publish directly, without spinning up a Builder sandbox first. Pushing a change live becomes a matter of seconds rather than a wait long enough to walk away from.

Images in the storefront Gallery block open in a click-to-enlarge lightbox, letting shoppers inspect the detail on a product shot without leaving the page they're on.

Also shipped

  • Clearer preferred carrier at checkout – the carrier you've marked as preferred stands out visually in the shipping step, nudging more orders onto the courier you'd rather work with
Fixes4
  • [checkout]Honor the preferred carrier whenever the store offers it
  • [ai]AI assistant keeps queued prompts in the order you sent them
  • [search]Make suggestions and the results page agree
  • [search]Unify product matching and ranking with browse
· v1.311

Email marketing addons and capability-scoped API keys

Mailerlite and GetResponse addons

Connect Mailerlite or GetResponse with an OAuth click and your customers, orders and product activity sync across on their own. The list on the email side stays current without a CSV export in between, so campaigns can be targeted by what people actually bought.

Capability-scoped store API keys

A store API key now grants only the capabilities you pick when you create it. A key handed to an inventory script can read stock and nothing else, which makes integrations and outside contractors far less risky to give credentials to.

Also shipped

  • Blog editor with visual and HTML modes – write posts in a rich editor or drop down to raw HTML, and pasted text arrives clean instead of dragging in formatting from wherever it was copied
Fixes5
  • [api]Close a cross-tenant write and billing bypass in /api/v1
  • [coupons]Open the edit form on the coupon's actual scope
  • [events]Run add-on handlers after the response so they aren't cut off
  • [search]Cover product descriptions and translations
  • [setup]Bound store creation and honour the billable flag
· v1.310

Live chat on support cases, AI assistant dock and storefront speed checks

Live chat on support cases

Support cases now read as a chat conversation, with unread badges for the team, an AI briefing panel with generated summaries, and a daily digest of the replies nobody has read yet. Per-reply emails to merchants are opt-in with a notification when a case closes, and a task on a case can be handed to the AI assistant with its progress visible to the merchant.

AI assistant dock

The assistant moved into a Linear-style bottom dock, so it stays a keystroke away while you work through orders or products instead of claiming the screen.

Storefront speed checks

Ask the AI assistant how fast your storefront is and it measures the page Google actually reaches, on demand and after every publish. The result comes back as a scorecard that names the part of the page costing you load time, so the fix is a specific image or script rather than a vague warning.

Fixes5
  • [coupons]Accept the date values the admin form is handed back
  • [coupons]Make the product selector read as an input
  • [ai]AI assistant no longer drops messages after an abandoned approval
  • [support]Merge consecutive same-author messages regardless of gap
  • [support]Unbreak summary generation and surface its real errors