Changelog
Version history and release notes.
Pre-release (in development)
August 2026 — image tuning, the account icon, and a compliance pass
- New: pre-order, with no app and nothing to buy. Let a variant keep selling when it is out of stock, tag the product
preorder, and the Add to cart button becomes Pre-order while the stock line says so — per variant, so a size you still have reads In stock on the same page. Add a ship date in the tag (preorder:2027-03-12), or use a date metafield if different variants land on different dates, which a product-wide tag cannot express. Every pre-order line carries a hidden marker and a visible Ships date into the order, the cart, the checkout and the confirmation email. One limit stated plainly: Shopify's Orders list filters on tags, not on line item properties, so turning those markers into a filterable "Pre-orders" queue takes a one-off Shopify Flow rule — the chapter walks through it. How to set it up. - New: a Recently viewed section. The products a shopper has looked at before, newest first, on any template you like — it earns its place on the cart and product pages especially. The cards are the same ones your collection grid uses, so nothing looks bolted on, and the product currently being viewed is left out. The history lives in the shopper's own browser and is never sent anywhere, so it needs no cookie banner — which also means it looks empty in the theme editor, and the section tells you so rather than leaving you wondering. Details.
- New: a back to top button. Appears once a shopper has scrolled about a screen down. It matters most with Load more or infinite scroll switched on, where a collection page grows without end and the footer keeps receding. It steps aside automatically while the sticky Add to cart bar is showing, so the two never overlap, and it honours the shopper's reduce-motion setting. On by default. Details.
- Under the bonnet: adding to the cart from a collection grid or a cart recommendation now carries a product's line-item properties through with it. Nothing changes for existing stores — it was only ever noticeable on features that put information on the line, which pre-order is the first of.
- New: an FAQ section, with FAQ structured data built in. A list of questions and answers as an accordion, and the only section that describes itself to search engines: switch on Describe these as FAQ structured data and it emits FAQPage markup built from the very same questions the page renders, so the two cannot drift apart — which matters, because Google requires marked-up questions to match what a visitor actually sees. Works on any template: a help page, a product page, a blog article. One honest caveat: Google limited FAQ rich results to authoritative government and health sites back in August 2023, so this will not give a shop the expandable questions under its search listing. It is worth having because it states your questions and answers in a form search engines and AI answer engines can read directly — but we would rather tell you that than let you switch it on expecting a rich snippet. What it does and does not do.
- The product page's Delivery and Returns rows now show your real policies. They previously held a short hand-written summary that had to be kept in step with Settings → Policies by hand — and on our own demo store it had already drifted out of date. Both rows now pull the policy itself, so there is one copy to maintain instead of two. If you prefer a short summary on the product page, the free-text option is still there.
- New: collection title and description alignment, desktop and mobile. The collection page header can be left, centred or right aligned, with its own value for each — so a centred title on a phone can still sit left on a wide screen. Title and description move together, and the description keeps its comfortable reading width instead of stretching the full page, so centred reads as genuinely centred rather than centred text in a left-hand column. It follows the description wherever you have put it, above or below the results. Left on both, as before, unless you change it. Details.
- New: the collection description can sit below the results. A Description position control on the collection page offers Above the results (the default, unchanged) or Below the results, which moves the description under the product grid and pagination, running full width beneath the filter sidebar as well as the products. It is there for long, keyword-heavy category copy that earns its place for search but pushes the products themselves down the page — below the results you keep the copy without making every shopper scroll past it first. The control only appears when the description is switched on, and a collection with no description still renders nothing in either position, so there is no stray divider or empty gap on the collections you have not written copy for. Details.
- Dynamic checkout buttons keep Shopify's own colours. Shop Pay, Google Pay, Apple Pay, PayPal and the plain "Buy it now" all render exactly as Shopify draws them — the theme sizes and places them, and nothing more. These are marks shoppers recognise, and a Shop Pay button that is not purple is a button shoppers trust less; Shopify's brand rules say the same. Your Add to cart button remains fully yours to style.
- Fixed: with buttons side by side, Add to cart could stretch to twice its height. When a fast-checkout button carried a "More payment options" link beneath it, Add to cart grew to match the pair. It now keeps its own height, level with the top of the checkout button.
- Fixed: the password page and gift card page never showed a logo. Both read a theme setting that does not exist, so they always fell back to the store name. They now use the logo from Settings → General → Brand — the one Shopify already uses at checkout and in the Shop app — so there is one place to set it and nothing new to configure in the theme.
- Fixed: a custom label on the Size guide or Share block showed as "Translation missing". The label typed into the block settings was being looked up as a translation instead of shown as written.
- The SKU block can now show the barcode too. It has become SKU and barcode: show the SKU, the barcode (whatever is in the variant's Barcode / ISBN / UPC / GTIN field, as text), or both — stacked or side by side — with the labels optional. Each value hides itself on a variant that has none, and the whole block hides when there is nothing to show, so it can be switched on across the store without empty labels appearing on products that don't carry the data. Existing stores see no change: SKU-only, stacked, exactly as before.
- Inventory status is now a traffic light. The "In stock" / "Only 7 left" / "Out of stock" line on the product page colours itself by default: green in stock, amber once a variant falls to your low-stock number (10 out of the box), and red at a new Very low stock below number (3 out of the box) and when sold out. Green and red follow your theme's success and error colours, so they match your palette without any setup; each level can still be overridden with its own colour on the block. Previously the line inherited the plain text colour unless you set every colour yourself. The message stays honest — it still reads your real stock count and never invents scarcity.
- Fixed: a white strip could appear between the announcement bar and the homepage hero. The transparent header pulls the page content up beneath it by a measured amount, and that measurement was taken once, early — if your font finished loading afterwards and made the header a few pixels taller, the difference showed as a white gap above the hero on every slide. The offset now tracks the header's actual size, so the hero stays flush against the announcement bar no matter when fonts or images arrive.
- New: Add to cart and Buy it now can sit side by side. A switch on the Buy buttons block — Show buttons side by side — puts the two on one row instead of stacked, which suits product pages where vertical space is tight. Off by default, so nothing changes unless you turn it on. Where the column is too narrow for a readable pair — most phones — they stack as before, automatically; there is no separate mobile setting to keep in step. The switch only shows while dynamic checkout buttons are on, since without them there is nothing to pair.
- An accessibility pass from a Lighthouse audit, three fixes. The mobile menu and the sticky Add to cart bar were reachable with the keyboard while off-screen, so tabbing through a page silently stepped through controls nobody could see — both are now properly out of reach until opened. The slideshow's slide dots were smaller than the 24px minimum touch target and are now comfortably tappable, with the dots looking exactly as they did. And testimonial star ratings are now announced correctly by screen readers ("Rated 5 out of 5 stars"). Nothing to change on your side.
- The first slideshow image on your homepage now tells the browser it is the most important thing on the page (
fetchpriority="high"), so it starts downloading ahead of everything else and the page's measured Largest Contentful Paint improves. Applies only when the slideshow sits at the top of the page — a slideshow further down deliberately doesn't claim priority over what's above it. - New: heading and subheading size sliders on each slide. Slides could already have their own colours, but not their own text sizes, so a three-word headline and a long one were stuck at the same size and the only way to change either was to resize type across the whole store. Both now have their own pixel slider. The defaults — 56px heading, 16px subheading — match how slides looked before, so nothing moves unless you move it. The slider sets the desktop size and mobile scales down proportionally, so a big desktop headline won't overflow a phone, and your Typography heading scale still applies on top. Details.
- Fixed: the slide subheading appeared below the heading instead of above it. The small line of text above a hero headline — "New season", "Winter 26/27" — was rendering underneath it, where it read as a stray caption rather than an introduction. It now sits above the heading as intended, on every slide, with no change needed on your part. The underlying page structure is unchanged, so this does not affect how search engines or screen readers read the page.
- Three new documentation chapters. Subscriptions & selling plans, Gift card page and Contact page cover features that were already built into the theme but had no chapter of their own. The subscriptions chapter also corrects the product page, which previously implied subscriptions needed an app block — they do not; the theme renders selling plans itself.
- Fixed: sale percentages were rounding down, so a 10% discount showed as "9% off". This affected every place the theme prints a percentage — sale badges, the product price, the savings on a subscription plan, and the variant dropdown on cart recommendations. A price ending in a penny that didn't divide evenly lost the fraction rather than rounding, so genuine 30%, 15% and 10% discounts displayed as 29%, 14% and 9%. Percentages now round to the nearest whole number and match what you set. Nothing to change — existing discounts will simply show the right figure. (Free-shipping progress bars deliberately still round down, so a bar can never look complete before the threshold is actually met.)
- Equal width variant buttons rebuilt — one button size for the whole picker, and rows now wrap. Two things were wrong. Long option values such as "Midnight Black" were broken mid-word across three lines even when the row had plenty of space to spare, which affected any value longer than about seven characters — most colour names. And each option row sized its buttons independently, so a product with Colour, Size and Flex showed three different button sizes down one card. Now every button in the picker shares one width, worked out from the longest value name anywhere in it, and an option with more values than fit across the column continues onto a second or third line instead of being squeezed. Rows with fewer values leave space at the end rather than stretching. The alignment control now appears for Fit to label only — the other three modes span the full column, so there was nothing for it to align. Details.
- The 404 page is built. It was a bare "Page not found" with a link home; it now has a search box — the most useful thing a page like this can offer, since the visitor is there because they couldn't find something — plus an editable heading and message, and an optional row of products from a collection you choose, which turns a dead end into a way back into your catalog. The new chapter.
- Collection images are no longer cropped by default. Collection tiles now have the same Image fit control the product gallery has, set to Contain out of the box, so the whole image shows instead of having its edges cut off by the card shape. Choose Cover if you prefer the fuller, cropped look.
- New: collection card typography — Theme settings → Typography → Collection cards. Title size and text alignment, each with its own mobile value, applying to every collection tile in the store — the homepage Collection list and the
/collectionspage together. This replaces the per-section "Result text alignment" on the Collection list section, which is the same consolidation product cards got: two surfaces with their own copy of one setting is two surfaces that drift. If you had it set to anything other than centred, set it again in its new home. Collection titles are also a little bolder. - The collections list page is built.
/collections— the page listing every collection in your store — was a placeholder and is now a proper page: your choice of columns for desktop and mobile, image shape, optional product counts, text alignment, card styling, and a heading you can set. Two fixes worth knowing about: it now pages properly, where before it silently stopped at 50 collections and showed no way to reach the rest; and a collection with no image of its own falls back to its first product's photo instead of rendering an empty tile. Details. - Collection banners are now on out of the box. If a collection has an image set in Shopify admin, it shows as a banner at the top of that collection page. Collections without an image are unaffected — there is no empty space and no placeholder. Switchable per collection template under Collection page → Show collection image.
- New: card text colour on the Collection list section. It already let you set a card background and border; now the text on the card has its own colour too, so a dark card no longer means dark text you cannot change. Leave it blank to keep following your theme colours.
- New: express checkout buttons on the cart. Shop Pay, PayPal, Google Pay and Apple Pay now appear under the Checkout button on both the cart page and the slide-out cart, not just on the product page. Nothing to switch on in the theme — they follow whatever you have enabled in Settings → Payments, and render nothing at all if that is empty. They stack full-width down the cart page's totals column, and share one row in the slide-out cart where vertical space is scarcer. Details.
- The slide-out cart's Order note row now carries an open/close arrow matching the product page's collapsible rows, and the note row and recommendations band have both been tightened — together they give back around the height of a full line item, so more of the cart is visible without scrolling.
- The slide-out cart now shows cart-level discounts and takes an order note. With an automatic discount running, the drawer previously showed a subtotal lower than its own items added up to and said nothing about why — each discount is now named with its amount, exactly as the cart page shows them. The order note arrives as an Order note row you can open, so it costs one line until someone uses it.
- The order note switch has moved to Theme settings → Cart from the cart page's own section settings, so one switch governs the cart page and the slide-out cart together and they cannot end up disagreeing. If you had turned the note off, set it again in its new home.
- Fixed: changing a quantity within half a second of typing an order note could paint the previously saved note back over what you had just typed. The note is now saved before the cart re-draws, and is also flushed if you leave the page.
- The password page is now a real page. It shows your logo (or your store name where there is no logo), the visitor message you write in Online Store → Preferences, the password box, and a link back to your admin — with an optional background image, colour settings and an email sign-up that tags pre-launch subscribers so you can mail them on launch day. It loads none of the theme's global CSS or JavaScript, because none of it is on that page. The new chapter. Note that development stores always show Shopify's own password page, so this is only visible on a store on a paid plan.
- New: augmented reality on 3D products — "View in your space". Upload a 3D model to a product and a View in your space button now appears on the model, dropping the product into the shopper's own room at real-world scale. It works from the full-screen zoom viewer as well, and a product with several models gives each one its own button. Nothing to switch on. The button appears only on devices that can actually run AR — iOS 13 or later, Android 7 or later — so on a desktop browser there is deliberately no button rather than one that does nothing. Details.
- 3D models are now marked with a 3D icon in the gallery's thumbnail strip instead of a play icon, which was advertising them as videos.
- New: image quality tuning — Theme settings → SEO → Images. Tune image sizes for speed serves image files sized to how they actually display, with a quality selector: High (full 2× sharpness), Balanced (1.5× — rarely visible, much smaller files, the default) or Performance (1×, smallest). A kill switch restores full sharpness everywhere. The product page's zoom viewer always fetches the full-resolution image regardless. Details.
- Images from Files now honour their focal point. Set a focal point on an image in Content → Files — or on any image you pick in a section's image setting — and every cropped rendering keeps that point in frame instead of centring blindly. Product media is the exception, and it is Shopify's limitation rather than the theme's: a focal point set in the product's media editor is not exposed to themes at all, so product images and the product gallery still crop from the centre. If a product photo matters at a particular crop, upload it through Files and set the focal point there.
- Faster first paint on collections and the blog. The one image at the top of each page — the first product card, the collection banner, the featured blog post — now loads immediately instead of lazily, which is the difference between a fast and a penalised Largest Contentful Paint. Everything below the fold stays lazy, as it always was.
- New: the account icon. With customer accounts enabled, the header shows Shopify's own account component beside the cart on desktop and mobile — passwordless Shop sign-in included. Switchable under Header → Show account icon. Details.
- New: Follow on Shop. The footer can show Shopify's Follow on Shop button so shoppers can follow your store in the Shop app — Footer → Show Follow on Shop button, shown only when your store uses the Shop channel.
- Search results now render everything Shopify returns. A search reached without the theme's own product restriction (a hand-typed URL, an old link) returns blog posts and pages too; these previously counted toward the results total but rendered as blank rows. Posts now use the blog's article card and pages a simple text card. Details.
- Custom Liquid is now a block as well as a section — paste a snippet between any two blocks inside a section, the product page's info column included.
- The customer order page now shows discounts per line — each named, with the original price struck through — alongside the order-level discounts it already showed.
- Settings text now uses American English spellings ("Color", "catalog"), matching Shopify's admin conventions. Labels only — nothing about how any setting works has changed.
- Under the bonnet: every add-to-cart path in the theme now goes through one shared module, and every cart request is locale-aware — on a store whose languages live under a URL subfolder (
/fr/), adds from the collection grid, quick add and the product page previously posted to the wrong locale. - Fixed: the Custom Liquid section's colour pickers now inherit your theme colours when left blank, as every other section's do — they previously defaulted to white and near-black regardless of your palette.
August 2026 — the blog, built
- The blog index and article page are built — both were placeholders until now. The index lists posts as cards in a grid or list with a featured-newest-post option, crawlable topic pills on Shopify's own tag URLs, and the same three loading modes as collections (pagination, Load more, infinite scroll). The article page gets three featured-image styles, a capped reading width, reading time, an optional progress bar measured against the article text, share without third-party scripts, previous/next links, related posts and Shopify's native comments with moderation-aware messaging. The full chapter.
- Blog and article structured data (
Blog,BlogPosting) ship with the same per-type SEO toggles as the rest of the theme. - Everything works with JavaScript off — pills, pagination, comments and the comment form are plain HTML.
August 2026 — adding to the cart from a collection or a search
- Product cards can now carry a variant dropdown and an Add to cart button on the price row. The control that arrived on cart recommendations last month is now available on the collection page and the search results page, from a single switch in Theme settings → Add to cart on product cards with a per-surface toggle for each — the same shape Filtering and Badges use. It is always visible and never opens anything — the shopper picks a size on the card and adds it where they stand. Off by default; a Variant limit (default 12) sends genuinely complex products to the product page rather than offering a dropdown nobody can read.
- It stacks with quick add. The quick shop icon and size chips sit on the product image, so they and the price row can both be used at once. The one exception is the Add to cart button quick-add style, which renders in the same place on the card — the price-row setting isn't offered while that style is selected, rather than quietly producing two Add buttons under one product name.
- Unlike quick add, this control honours your After adding to cart setting. Quick add always shows the cart because a pop-up closing with no visible result reads as a failure; here the button confirms in place, so "Stay on the page" means what it says. With the slide-out cart, the drawer opens as usual.
- Works with JavaScript off — each card's row is a real form that posts to the cart with the chosen variant.
- The price on a card now matches the variant that is about to be added. Where a card offers a picker it shows the selected variant's price, not the product's "From" price — on a product whose variants differ in price those are two different numbers, and the "From" figure is the cheapest variant, which may not be the one selected. Changing the dropdown moves the price, the was-price and the saving together.
- Fixed, and it affected the cart too: cart recommendations have been showing a product's "From" price beside an Add button that adds a specific variant since the control was introduced. Same fix, both surfaces.
- New: one place for every Add to cart button — Theme settings → Add to cart buttons. Style (filled or outlined), colour, text colour, border width and border colour, applying to the product page's Add to cart and the Add buttons on product cards together. There is no longer a second set of button controls anywhere to keep in step, and no way to restyle one surface and leave the other behind. The Buy buttons block's own colour and border settings are gone with it — they were a third place to set one thing, and "per template" was never really per product, since a template is shared by every product assigned to it.
- A single product can still differ, properly — via metafields. Button colour, text colour, hover colour, hover text colour, border width, border colour and a background image can each be set on one product to override your theme settings, and anything you leave unset carries on following the theme. Step-by-step setup, with the definitions to create.
- New: button hover colours, theme-wide. Theme settings → Buttons → Hover sets a hover colour and hover text colour for every button in the theme at once — product page, cards, cart tiles, section call-to-actions. Both blank by default, and blank leaves hover behaving exactly as it did before. Buttons using a per-product background image shift the tint over the photo instead, so they respond too rather than going inert behind the image.
- New: product card title size and alignment — Theme settings → Typography → Product cards. Title size and text alignment, each with its own mobile value, applying to every product card in the store. Alignment moves the title and price together so they always line up. This replaces the per-section "Result text alignment" on Featured collection and Product recommendations — those two defaulted to centred while collection and search pages rendered left, so a store was inconsistent out of the box; it is now one value everywhere. If you had those centred, set the new alignment to Center. The Collection list section keeps its own control, since it shows collection tiles rather than product cards. The cart's recommendation tiles keep a fixed size — they are narrow and cap their titles at a set number of lines.
- On a phone, the variant picker takes its own line. Where a card is only about 170px wide there is no room for a variant name, a price and a button side by side, so the row now breaks deliberately — dropdown across the top, price and Add to cart beneath — instead of wrapping wherever it runs out of room. Products with no dropdown are unchanged.
- Product card titles now use a heading level one below their section's own heading rather than a fixed H3, so a page's heading order no longer skips a level. This is an accessibility fix — screen readers navigate by heading level — and changes nothing you can see.
- Sale badges on the image are unchanged and deliberately so — they describe the product ("Up to 30%" where variants differ), so they stay accurate whichever variant is chosen. It's the price line, which makes a claim about one variant, that follows the picker.
- Under the bonnet: the control's stylesheet and script were split out of the cart's, so a collection page loads only what this row needs instead of the whole cart stack. No change to how the cart behaves.
August 2026 — search
- The search results page is built. Results now render as a product grid using the same cards as your collection pages — badges, sale price formats, second-image hover and quick add all included — with faceted filters, sort, and your choice of pagination, Load more or infinite scroll. It replaces a plain list of text snippets. How to set it up.
- Filters work on search. Theme settings → Filtering → Show filters on search results has existed for a while with nothing to act on; it now puts the full filter system — all three layouts, swatches, groups and pills — onto search results. Narrowing by a filter keeps the shopper's search terms.
- Search sorts by Relevance by default, with Price low to high and Price high to low. Those three are Shopify's entire list for search — the alphabetical, best-selling and date orders exist only on collections.
- Three separate empty states, because they are three different problems: no results for the terms (with spelling and wording suggestions), results that your filters emptied (with a Clear all that keeps the search), and landing on the search page having typed nothing.
- The header flyout's "view all results" link now hands over to the results page consistently with the flyout itself, so the results match what was previewed.
August 2026 — adding from the cart, and combined lines
- Cart recommendations can now be added to the cart without leaving it. Each suggestion carries a variant dropdown and an Add to cart button on one row under the price, in the drawer and on the cart page. Single-variant products skip the dropdown; products with more variants than you allow show Choose options and link to the product page instead, rather than offering a list nobody can read. Works with JavaScript off — each tile is a real form. New switches: Add to cart from the recommendation and Most variants to list. How it works.
- The cart can combine a product Shopify has split across two lines. Shopify keeps units on separate lines when only some of them earned a discount — a Buy X get Y offer such as the free gift milestone is the usual cause — which makes a cart look as though it duplicated an item. Combine duplicate lines (on by default) shows one row per product with the quantities added up, and editing or removing that row acts on all of it in one instruction. Checkout still lists them separately; the totals always match. Lines a shopper could tell apart — personalised, subscription, or the free gift — are never combined. Details.
- Fixed: after accepting the free gift, cart recommendations were suggesting products related to the gift rather than to what the shopper had actually bought.
- Fixed: cart recommendations could suggest a product already in the cart.
- Fixed: a variant chosen on a recommendation could quietly reset to the product's default when anything else in the cart changed, so the next click added the wrong variant.
- Fixed: the "choose an option" label read out to screen readers with stray character sequences in place of punctuation, on cart recommendations, collection quick add and the product page's "Goes well with" tiles.
- Fixed: the cart drawer's item list wouldn't scroll by touch. With more than a couple of items in the cart, the list could only be moved by dragging its scrollbar, and the Checkout button was pushed below the fold on phones. The list now scrolls properly, a flick at either end no longer scrolls the page behind the drawer, and a vertical drag that lands on a recommendation tile scrolls the cart instead of being swallowed by the sideways-scrolling row.
- Cart recommendation tiles reworked from your feedback: whole product images rather than cropped ones, bolder titles and prices, price and the Add to cart controls on one line, every card the same height whatever the product names do, and an off-white band behind the whole section so it reads as its own area. The band follows your theme's surface colour, so it restyles with the rest of the theme.
August 2026 — the rewards bar
- The free-shipping bar has grown into a three-milestone rewards bar. Free shipping, a free gift and a discount — each its own switch with its own threshold, label and icon, shown in threshold order with a segmented progress bar. Icons turn to ticks as the subtotal passes each milestone, and the message names the next reward: "You are £12.00 away from Free gift". How it works — and what to set up first.
- The bar is display only, by design. The theme never adds a free product or changes a price — the gift and discount milestones describe automatic discounts you create (Buy X get Y, and Amount off order, each with a minimum purchase amount matching the threshold). The settings say so next to each switch, with a link to the guide, so the bar can't quietly promise something checkout won't deliver.
- Message wording now takes
[label]alongside[amount], so custom messages work whichever milestone is next. Existing threshold and message settings carry over; a store using only free shipping sees one milestone, one segment — the bar it always had. - The gift milestone can offer the gift itself. Pick your gift product in the new Free gift product setting and, once the threshold is crossed, the bar shows it with an "Add for free" button — one tap, in the cart at £0, row flips to a tick. Deliberately a button rather than an automatic add, and the theme verifies the line really came back free — if your discount isn't set up right it removes the item again instead of charging for a "gift". Setup guide.
- Colour pickers on every milestone — each milestone has its own bar colour (its segment as it fills) and reached colour (its completed segment and tick). Left blank, they follow the theme's accent and success colours, so restyling the theme restyles the bar with it.
- The rewards bar now shows in every currency you sell in. Set your thresholds once in your store's main currency and shoppers browsing in another market's currency see them converted at Shopify's own live rate, rounded the way Shopify rounds its prices — a £50 milestone reads as $70 where your £52 products read as $72. Progress, ticks, the remaining amount and the gift offer are all worked out in the shopper's currency. Nothing to maintain per market, and nothing to update when rates move: the rate is read fresh from Shopify on every page. Previously the bar hid itself outside your main currency. Details.
- The free gift no longer takes up a line in the cart. While it's free, the bar's "Free gift added" row represents it and carries its own Remove, so the cart list stays about what the shopper chose. And if the order stops qualifying, the gift is taken back out of the cart before it can show as a priced line, rather than quietly turning into a charge — no alert needed, the bar just goes back to counting down. Spend back over the threshold and it's one tap to re-add. A shopper who buys that product deliberately gets an ordinary line as usual. How it behaves.
- Cart recommendations are now a carousel. In the drawer and on the cart page, suggested products sit in one scrollable row with arrows beside the heading, instead of a grid that grew downwards and pushed the cart items and checkout button out of view. Your setting sets how many the carousel holds — up to 12 on the cart page — and the arrows only appear when there's more than fits. Swipe and trackpad scrolling work too.
- Fixed: on a page using the transparent header, the cart icon's item count showed as an empty circle. The badge was borrowing the header's colour for its background, which left white digits on a white pill; it now keeps its own colours on every page.
- Fixed: on a page using the transparent header (typically the homepage), the mobile menu drawer appeared empty apart from the currency picker. Its links were being painted in the header's own text colour — white over the hero image — against the drawer's light background. Panels that carry their own background, the mobile drawer and the search flyout, now always follow your theme text colour.
- Fixed: the currency selector's first country couldn't be clicked — the open dropdown sat beneath the header, which swallowed clicks on the top row. The dropdown now stacks above the header while open.
- Fixed: the warning shown when a free gift stops qualifying printed a stray character sequence in place of its apostrophe.
August 2026 — the cart: drawer and page
- Variant links now preview properly on social. Share
?variant=and the image follows that variant where it has its own photo, with its price and availability sent to Facebook and Pinterest — while the canonical URL stays clean so search still sees one product page. Product pages also gained theog:type, price, currency and availability tags that Rich Pins and catalogue matching read. How it works. - The cart is built — as a slide-out drawer and a full cart page, chosen by one setting. Drawer (the default) opens with the fresh cart whenever something is added from anywhere — product page, quick add, or the "Goes well with" bundle — and from the header cart icon. Page mode ships none of the drawer's code and adds a choice of staying put or going to the cart after each add. The cart page always exists at /cart, and works completely — quantity edits, removal, checkout — with JavaScript off.
- Line items honour the same quantity rules as the product page — minimums, increments and stock ceilings per line — and show every discount Shopify has actually applied, by name, at line and order level. Empty and app-internal line properties are never shown.
- Free-shipping progress bar — "Spend £X more for free delivery" with your own wording and threshold, filling as the cart grows. It states the free-shipping rate you've configured — the theme can't read rates, so the number is yours. (Since superseded by the three-milestone rewards bar above, which also converts for other currencies.)
- "You may also like" in the cart — off by default, on two independent switches. One for the drawer, one for the cart page, so you can put cross-sells where they help without crowding the panel a shopper opened to check out from. Either one shows your curated Search & Discovery complementary products first, Shopify's recommendations where you haven't curated, and nothing at all when neither applies. With both off, no recommendation markup is produced and nothing is fetched.
- Quick add opens on a variant, not a blank panel. The pop-up now arrives with the first available variant chosen, its price shown and Add to cart live — matching what the product page does. Applies anywhere quick add appears — collection pages, featured collections on the homepage, and the recommendation sections at the foot of a product page.
- Quick add now ends at the cart. Adding from a collection grid closes the quick add pop-up and shows the cart — the drawer slides out, or the shopper goes to the cart page in page mode. Previously the pop-up stayed open over the grid, which read as an add that hadn't worked. Applies to the one-variant adds and size chips as well as the pop-up.
- Tighter cart lines. The variant now sits after the price, and the quantity stepper and Remove share that line where there's room — dropping to their own line when the variant is long. Two rows per item instead of four, which the drawer feels most.
- Every change re-renders from Shopify's answer. No client-side arithmetic anywhere in the cart — subtotals, discounts and the shipping bar can never drift from what checkout will charge. Refused changes (not enough stock) surface Shopify's own message.
- An order note box that saves as the shopper types, taxes-included wording that follows your tax settings, and a fully keyboard-accessible drawer (focus trapped while open, Esc to close).
August 2026 — pickup availability, savings on the Sale badge, and a full-width description section
- New: Pickup availability block for the product column. Shows whether the selected variant is ready to collect — "Pickup available at Shop Name" and the ready time from your pickup settings — with a pop-up listing every pickup location's availability, address and phone number. It reads the local pickup locations in your Shopify admin, updates with every variant change, and renders nothing at all on stores without pickup. Ships on the product template under the buy buttons.
- The Sale badge can now state the saving — a new Sale badge label setting with three formats: "Sale", "Save 30%", or "Save £5". The figure is worked out per variant so it never advertises a discount no variant offers; when variants differ it reads "Up to 30% off", and the percentage always rounds down. Applies everywhere the badge shows — product cards and the product page gallery.
- New: Product description section — the full-width description under the gallery as a single named section, instead of building it from a Custom section by hand. Optional heading with tag control, per-device text alignment, padding, colours and a narrow-reading-width switch. The description block and Custom section route still work exactly as before.
- Fixed: with sold-out options set to Hide, an option value hidden when the page first loaded could stay unavailable in the sticky bar's picker even after picking a combination that made it available again. The bar now carries every value and shows or hides them as availability changes.
- Fixed: two settings headers (the "Colors" header in the Product description and Sticky add to cart sections) showed a raw translation key in the editor instead of the word.
August 2026 — a real variant picker in the sticky bar
- The sticky add-to-cart bar now carries the same variant controls as the product page — swatches, buttons or a dropdown per option, instead of a flat list on single-option products and a link back to the picker on everything else. A shopper deep in the description can change size or colour without scrolling back up.
- The bar's picker has its own settings, separate from the product page picker: control type per option, the buttons-to-dropdown threshold, unavailable styling, button widths and alignment. A one-row bar wants different choices from a full-width column, so they're configured independently rather than inherited.
- Layout follows the product image. Desktop keeps everything on one line at the thumbnail's height — image, title, picker, add to cart — with nothing wrapping. Mobile stacks the title above the picker and button. The thumbnail now always shows the whole image instead of cropping it, and the bar's height no longer shifts between a tall product photo and a wide one.
- Changing a variant in the bar drives the real picker, so the server resolves it the same way it would on the page, and the bar follows changes made anywhere else including the back button.
- Fixed: theme colours left empty could make elements lose their background entirely rather than falling back to a sensible colour — most visibly the sticky bar, which could render transparent over the page in the theme editor. Every theme colour now resolves to a real value.
August 2026 — every block can be added back
- Fixed: most product blocks and all three footer blocks could not be added from the editor at all. They arrived with the theme and could be removed, but never re-added — the "Add block" picker simply didn't list them. Title, price, SKU, vendor, variant picker, quantity, buy buttons, inventory status, sales points, trust badges, size guide, rating, share, separator and "Goes well with" are all now in the picker, as are the footer's menu, text and newsletter columns. Remove one to try a layout and it's there when you want it back.
- Product blocks are offered only where they work. They appear in the product section's picker and nowhere else, so a Buy buttons or Variant picker block can't be placed on a page that has no product to sell.
- The description block gains text alignment — left, centre or right, as separate desktop and mobile settings. Alignment is set on the block itself, so tables, lists and images inside the description keep their own layout.
- Three new icons — Document, Information and List — added to every icon picker in the theme. The set had nothing document-shaped, which is what a Description or Specifications row wants.
- The description block can now go outside the product section — put it in a Custom section under the product and the description runs full width beneath the gallery, instead of in the column beside it. It shows nothing where there is no product or no description.
August 2026 — the collapsible group
- Collapsible rows in the product column now live inside a Collapsible group — add the group once, then add rows inside it, the same nesting as the trust icons. The settings every row should share moved to the group and are set once: heading size, icon position (left or right), row spacing and rule colour.
- One row open at a time — a group switch: opening a row folds the open one away, so a long accordion never sprawls down the column. Built on the browser's own native behaviour, not JavaScript — keyboard, screen readers and in-page search all keep working, and there is still not a byte of script involved.
- The product template ships Description, Delivery and Returns inside a group with one-at-a-time on. The standalone Collapsible content section hosts the same rows directly, as before.
- Rows can now show a store policy — choose your shipping, refund, privacy, terms of service or subscription policy from Settings › Policies, so a Delivery row shows the real policy with nothing copied. A blank heading uses the policy's own name.
- Fixed: collapsible rows and trust icon cells could not be added in the editor at all — the "Add block" picker showed them as empty. Both are now addable inside their containers (and only there — a bare row never appears in the general block list as a false alternative to the group).
- Fixed: the Product information section declared no block limit, so Shopify's default of 16 applied — a block-rich column hit an invisible wall trying to add more. The limit is now 50.
August 2026 — "Goes well with", and bundles a shopper can build
- A new product-column block showing the complementary products you picked in Shopify's free Search & Discovery app. Nothing to set up in the theme: no metafield to create, no tags, no product handles — install the app, choose the items under Product recommendations, and they appear in your order. Add three to one product and five to the next; that's what shows.
- Shoppers can build a bundle from them — a tick box on each tile and a bar totalling what's selected, adding everything plus the product being viewed in a single action, with its chosen quantity.
- Variants without leaving the page — a dropdown on tiles for products that have options, and the tile's photo changes to the variant's own image when it has one. Sold-out options are marked unavailable before they can be picked. Products with a lot of variants link to their own page instead, at a limit you set.
- Bundle discounts work through Shopify's own automatic discounts — "Buy X get Y", or amount-off-products with a minimum quantity. No app and no code needed. The theme shows your own wording for the offer and, after the items are added, the saving Shopify actually applied — never a percentage typed into a setting, which nothing could keep honest.
- Three layouts (rows, two up, scrolling row) as desktop/mobile pairs, and a switch to show the products as a plain list instead. Renders nothing on products you haven't chosen any for, and works as a list of linked products with JavaScript off.
August 2026 — recommendations, collection cross-sells and collapsible content
- "You may also like" — a product recommendations section powered by Shopify's engine, loaded lazily as the shopper scrolls to it. When Shopify has nothing to suggest the section occupies no space at all.
- "More from this collection" — the same section with its source switched to the product's own collection: it shows the other items from the smallest collection the product belongs to, so a dedicated style collection ("Wanna Bee") automatically beats the big category ones. Server-rendered, no JavaScript, never shows the product being viewed. Both variants ship stacked on the product template and can be styled independently.
- Collapsible content section — the product page's accordion rows are now available as a standalone section on any page: FAQ on the homepage, policies on an info page, or full-width product detail. The preset arrives with Delivery, Returns and Product care rows ready to edit.
- Collapsible rows can now show the product description — a per-product Description tab, the layout Impulse merchants expect. The product template now ships description-in-a-row, open by default, above Delivery and Returns rows.
- Fixed: a collapsible row's heading was passed through the translation system and rendered "Translation missing" — caught on the feature's first real use.
August 2026 — badges on the product page gallery
- The same badges your product cards show now appear on the product page gallery — Sale, Sold out, New and your custom
badge1:–badge4:tag badges, so the label that earned the click doesn't vanish on the product page. - The product page has its own position and maximum (top-left or top-right; up to 6 badges, set per device) in the Product information section's gallery settings, independent of the card settings. Style, size and colours stay shared so badges look the same everywhere.
- Badges hold their corner while the mobile gallery is swiped, never cover the zoom or arrow buttons, and never intercept a tap meant for the image.
- One switch per product page template turns them off; the theme-wide badge switch still removes all badge markup everywhere for stores using a badge app.
August 2026 — eight new product information blocks
- Collapsible rows — accordion sections for delivery, returns or care, from your own text or a page. Built on the browser's native disclosure element, so they're keyboard accessible and findable by in-page search.
- Inventory status — "In stock" / "Only 3 left" / "Out of stock" for the selected variant, with your own low-stock threshold. Real stock only: the theme will never show invented "people are viewing this" counters.
- Sales points — icon plus one line, repeatable. Trust badges — a row of up to six images with captions. Separator — a rule for grouping blocks.
- Size guide — a button that opens one of your pages in a pop-up, reusing the image viewer already in the theme so it costs no extra download until it's opened.
- Rating — stars from your review app's metafield, with the same setting feeding your Google structured data so the two can't disagree. Hidden until a real rating exists.
- Share — the device's own share sheet, or copy-link on desktop. No third-party buttons, scripts or tracking pixels.
August 2026 — buy buttons, quantity rules and gift cards
- Adding to the cart no longer reloads the page, and the header cart count updates as it happens. A failed add now says why, under the button, in your store's own words — previously it failed silently.
- Quantity rules: the stepper follows the variant's minimum, maximum and increment, and is capped by real stock where Shopify tracks inventory and overselling is off. The rule in force is stated under the stepper, and the + / − buttons stop at the boundary rather than appearing broken.
- Gift cards can be sent to a recipient — an opt-in tickbox reveals recipient email, name, personal message and an optional send date, so Shopify emails the gift card to them instead of the buyer. Appears automatically on gift-card products; nothing to configure.
- Shop Pay Instalments — the "pay in 4" message, on by default and self-hiding where the store or order value doesn't qualify.
- Quantity and gift-card details now survive a variant change, with the quantity re-checked against the new variant's rules.
- Option label styling in the variant picker: alignment, bold and underline as desktop/mobile pairs, covering the selected-value read-out as well as the option name.
August 2026 — variant picker and server-rendered switching
- Three picker types — swatches, buttons, dropdown — chosen per option, so a t-shirt gets colour swatches beside size buttons. Every option defaults to Auto with a per-option override for the first three options.
- Auto judges the buttons-to-dropdown switch from real fit — the longest value name against the picker's actual width — not a bare value count. An Auto dropdown threshold checkbox reveals a manual slider for merchants who want to pin the number.
- Four button width modes (Fit to label, Equal width, Fill row, Single scrolling row) as desktop/mobile pairs, with alignment where it applies — and a picker width slider per device that narrows the picker from the right.
- Unavailable values: cross out (default), hide, or show as available — computed server-side, so always accurate.
- Variant switching is now server-rendered: picking a variant re-renders the product information from Shopify itself, so price, unit price, availability, SKU and app blocks are always exactly what a fresh page load would show. Variant URLs are shareable and the back button behaves; a plain variant form keeps JavaScript-off shoppers buying.
- The sticky bar knows the selected variant: a small variant selector in the bar on single-option products, and the selected values as a scroll-back-to-picker link on multi-option ones.
- Swatches use Shopify's native option-value swatches from your admin — no apps, no image-naming conventions.
August 2026 — product page rebuild
- Fully block-based product information: every element is its own block, and the shared block library (heading, text, image, button, icon, group) plus app blocks can now be added to the product column and positioned anywhere.
- Media gallery rebuilt — eight desktop layouts: thumbnails on any of the four sides, carousel, stacked, mosaic, and featured + grid. The last three show every image at once and use no JavaScript.
- Four mobile gallery layouts: swipe carousel with dots or a counter, thumbnails below, or stacked scroll. The carousel uses the phone's native scrolling rather than a slider library.
- Image shape, fit, gallery width, spacing and thumbnail size all merchant-controlled, with Natural shape and Contain fit as defaults so nothing crops your photography unless you ask.
- Video and 3D now display properly — previously they appeared as still images. YouTube and Vimeo embeds load only when the shopper presses play, keeping third-party players and their tracking off the page for everyone else.
- Unit pricing on the product page — previously shown on collection cards only.
- Image zoom: a full-screen viewer with genuine magnification to 4×. On desktop the image follows the pointer once zoomed — no dragging, the way the large retailers do it — with the wheel or a click to zoom. On touch: pinch, double-tap, one-finger pan and swipe. Plus a thumbnail rail for multi-image products, an on-screen zoom cluster with a live percentage for anyone who'd rather press a button than know a gesture, and full keyboard support (
+,−,0, and arrows that pan while zoomed and navigate while not). Optional hover magnify on the product page itself. The zoom viewer and full-resolution images are downloaded only when a shopper actually zooms, so it costs nothing to everyone else. - Buy button styling: background, text and border colours, plus an optional per-product background image via a metafield. See the new Metafields chapter.
- Accessibility: a visible keyboard focus ring across the whole theme, full keyboard navigation in the gallery, screen-reader announcements as images change, and reduced-motion support.
- New Metafields documentation chapter, and a rewritten Product Page chapter.
August 2026 — quick add
- Add to cart straight from the grid, in four merchant-chosen styles: off, an Add to cart button, an always-visible quick shop icon in any corner of the image, or a strip of size chips on the card.
- Behaviour follows the product, not the setting: single-variant products add directly; a single option of up to ten values shows every value inline with sold-out values greyed rather than removed; anything needing a real choice opens a popup or goes to the product page, your call.
- One quick-shop panel with two dressings — a compact card for the icon style, option pickers for the button and chip styles.
- Degrades to a link, never a dead control: every quick-add control is a real product-page link underneath, so a blocked or still-loading script means browsing, not a button that does nothing.
- Off by default, and off means no quick-add markup, styles or scripts on the page at all.
- New Collection Page documentation chapter covering quick add, the grid, the toolbar and the loading modes.
August 2026 — collection filtering
- Native storefront filtering rendering your Search & Discovery filters — checkboxes, colour/image swatches, per-option result counts and a typed price range, styled entirely from the theme palette.
- Three desktop layouts, merchant's choice: sidebar (left/right, optionally scroll-following), horizontal button bar with automatic "More filters" overflow, or a drawer. Mobile always uses the drawer, with a live "Show N results" button.
- Instant apply with removable active-filter pills and Clear all; filtered views are real, shareable URLs and the back button behaves; fully functional without JavaScript.
- Collapsible groups with a merchant default (all open / all closed / first only) — groups with active filters always open, and long option lists fold behind "Show more".
- Future-proof by design: the theme renders whatever filter types Shopify supplies, so new platform filter types work the day Shopify ships them.
- Grid loading modes on the collection page: pagination, Load more, or infinite scroll with a footer-friendly auto-load cap — search engines always see full numbered pagination.
- Master kill switch for clean handover to search-and-filter apps — off means zero filter markup, styles or scripts.
- New Collection Filters documentation chapter, including the price-filter/multi-currency platform behaviour.
August 2026 — product badge system
- Product badge engine on every product card: Sold out, Sale and New (opt-in, 5–90 day window) computed from real shop data — no app, no fake urgency.
- Custom badges via tags:
badge1: Your labelthroughbadge4: Your label— the number picks one of four merchant-set colour pairs and controls display order. Each number has its own on/off switch for one-click bulk hiding without editing tags. - Four badge styles (Square, Pill, Outline, Tag), with layout, size, position and maximum-per-card all as desktop/mobile pairs.
- Per-badge background and text colours that inherit from the theme palette when unset.
- Master kill switch for clean handover to badge apps — off means zero badge markup.
- Badge opacity (desktop/mobile pair): fades the badge background so imagery shows through — text stays solid for readability.
- Fixed: discounted-and-sold-out products no longer render two overlapping badges.
August 2026 — app integration surface
- Predictive search kill switch (Theme settings → Search): off removes the flyout markup and scripts entirely; the header icon links straight to the search page — clean handover to instant-search apps.
- Stable data hooks:
data-product-idanddata-product-handleon every product card,data-collection-gridon the collection grid. - App blocks accepted on the collection page, between the toolbar and product grid.
- New App Integration documentation chapter covering all four kill switches, hooks and theme events.
July 2026 — collection page
- Collection page rebuilt: optional collection banner image, title with heading-tag control, rich-text description, and a toolbar carrying the product count and Shopify's native sort options — each switchable on its own.
- Per-device product grid: products per page (8–48), desktop and mobile column counts, image shape, and second-image hover, sharing the card styles and badges used across the theme.
- Unit pricing on product cards, meeting the Theme Store requirement for products sold by weight or volume.
- Section background plus separate heading, card title and card text colours — all blank by default so they inherit your palette.
- Two distinct empty states: an empty collection, and a filter combination that matched nothing with Clear all still in reach.
CollectionPageandItemListstructured data rendered server-side.
July 2026 — SEO control centre & HTML sitemap
- SEO settings group with a master kill switch and granular toggles — each JSON-LD type, social sharing tags and utility-page noindex can be switched off individually to avoid conflicts with SEO apps.
- Structured data upgraded to a linked entity graph — stable
@ididentifiers with cross-references (website → publisher → organization). - Built-in HTML sitemap: four page templates —
html_sitemap(hub),html_sitemap_collections,html_sitemap_productsandhtml_sitemap_blogs— covering every page, collection, product, blog, article and policy. Fully dynamic, paginated for large catalogs, with a footer link setting. The pages find each other automatically: assign a template and the hub links to it.
July 2026 — block architecture & card styles
- Rebuilt on Shopify's approved theme-block architecture with a shared block library (heading, text, button, image, icon, group) — plus a Custom section for free-form composition.
- New Card style controls (background, border, drop shadow) on collection list, featured collection and promo tiles.
- Desktop/mobile pairs across design controls: heading alignment, results alignment, result text alignment, columns, padding and section spacing.
- Image shape setting (Square / Landscape / Portrait / Natural) on collection list and featured collection.
- Promo tiles: per-tile colours, independent tile heading/text alignment, section background.
- Multicolumn: per-column colours and borders, desktop/mobile padding.
- Currency picker rebuilt as a flag-based disclosure; utility bar legibility over transparent headers.
- Fixed: product cards no longer fade to blank on hover when a product has a single image.
Earlier
- Complete homepage system: slideshow (art-directed mobile images, per-slide colours), multicolumn, rich text, collection list, featured collection, promo tiles, image with text, testimonials, blog posts, newsletter.
- Header platform: 9 logo/nav layouts, mega menus with promo images, transparent homepage mode, three sticky behaviours, utility bar with market pickers, block-based announcement bar.
- Predictive search flyout with server-rendered results.
- Block-based product page with sticky add-to-cart and variant-aware gallery.
- SEO system: H1 guarantee with merchant override, heading tag controls on every section, breadcrumbs, full JSON-LD layer.
Formal versioning begins at the Shopify Theme Store release.