---
title: "Changelog"
description: "Merchant-visible changes to SMART Bundles App & Upsells, newest first."
url: "https://smart-bundles.io/changelog"
product: "SMART Bundles App & Upsells"
---


# Changelog

Merchant-visible changes to SMART Bundles App & Upsells, newest first.

## 2026-11-02: Cart drawer, variant picker and link fixes

- When a theme or cart app greys out its Add to cart button while it adds, the widget no longer swaps in its own button for a moment.
- In the widget's variant pickers, an option that has no variant with the shopper's other picks now looks sold out, as set in **Sold out values**. Shoppers can still pick it, and the other options move to a variant that exists.
- When the app adds or removes a gift, the cart drawer on Dawn-style themes such as Refresh now updates right away and stays open or closed as it was. On Impact, a second drawer no longer appears inside the first.
- With **Link product bundle items to their pages** on, the other products in a Complete the bundle offer now link to their product pages. The product being viewed isn't linked, so a click can't reload the page and lose the shopper's picks.
- Clicking a linked product name in the editor preview no longer opens that page inside the app.

## 2026-11-02: Statistics leave out test orders

- Shopify test orders no longer count toward the statistics on the home page. Test orders placed before this change may still be in your totals.

## 2026-10-30: Mix and match: shoppers pick the products

- New **Shoppers pick the products** option on Mix and match offers. The first item is the product being viewed, and shoppers choose the rest in the widget from the products in **Show this bundle on**. Sold-out products are left out. It's on for new offers; existing offers stay as they are. See [Mix and match offer](https://smart-bundles.io/help/bundles/mix-and-match-offer).
- Choose what happens to **Empty slots** (block Add to cart until every slot is filled, fill them with this product, or add only the chosen products), how **Slots start** (empty or with this product) and what the **Card price** counts.
- Style the picker in **Design > Element styles > Product picker**: list or grid, products per row, colors, image sizes, search, sort and default order. Its storefront texts are in **Widget text**.
- Offers where shoppers pick the products are always one-time purchases, so **Allow subscription** is hidden on them.
- The next time you open the app, Shopify asks you to approve one new permission. The app uses it to list your products in the picker.
- Home page: the refresh button is gone (stats load when the page opens and when you change the range), and on phones the range buttons share the width evenly.

## 2026-10-27: New Free gift discount

- New **Free gift** discount type. The gift goes into the cart by itself when the cart reaches an amount or a number of items, or while a discount code is entered, and comes out again when the cart stops qualifying. See [Set up a free gift](https://smart-bundles.io/help/free-gifts/set-up-a-free-gift).
- Up to 5 gift tiers, a gift price (free, a percentage off or a set price), a checkout label, eligibility by customer tags, new customers only or markets, usage limits for codes, combinations and active dates.
- Free gift needs the app embed turned on in your theme. The create page checks it for you.
- **Gift with purchase** is now called **Buy X get Y**, because customers add those items to the cart themselves. Its editor points you to Free gift when you want the gift added for them. Your existing discounts keep working as before.
- A gift left in the cart after its discount is gone is now removed, so shoppers aren't charged for it.

## 2026-10-21: Custom JavaScript removed

- The custom JavaScript field is gone from **Settings > Custom code**, and JavaScript saved there before no longer runs on your store. **Custom CSS** stays, shop-wide and per bundle.
- Custom CSS can't load outside files any more. Images and fonts from your store's own Shopify files, cdn.shopify.com and Google Fonts still work. CSS that tries anything else can't be saved, and the field tells you why. See [Widget design and custom CSS](https://smart-bundles.io/help/bundles/widget-design-and-custom-css).

## 2026-10-19: Offers with personalisation apps

- When a personalisation app such as Printess hides the Add to cart button while its editor is open, the whole offer quantity now goes to the cart with the personalisation. Before, one item was personalised and the rest were added blank. This works on themes whose product form has its own quantity box, as Dawn's does.

## 2026-10-18: Pre-selected variants stay in place

- When an offer has **Pre-selected variants** for each item, they now stay when the product page opens on a specific variant, for example after a refresh or from a variant link. The page's variant only fills items without one.

## 2026-10-16: Alternative product offers on the storefront

- **Alternative product** offers now show in the widget on the product page. Before, only the editor preview showed them. If you made one earlier, save the bundle once. See [Alternative product offer](https://smart-bundles.io/help/bundles/alternative-product-offer).
- A product added through an Alternative product card now counts only for that offer, not toward the bundle's other offers, so checkout matches the cards.
- When one cart line could get both a Complete the bundle offer and a quantity break, checkout now charges the bundle price shown on the card.
- On recent versions of Dawn and themes built on it, such as Refresh, the cart drawer now shows the new items after the widget's own Add to cart instead of opening empty. With the theme's pop-up cart notification, the pop-up now shows instead of a jump to the cart page.

## 2026-10-15: Gift steps, theme picker and quantity box

- **Progressive gifts** no longer shows a step whose gifts are all sold out.
- **Hide theme variant picker** is now a setting of its own and also works with the widget's variant pickers off. Shoppers then get each offer's pre-selected variant, or the one already chosen on the page.
- On themes where the quantity box isn't part of the Add to cart form, that box is now hidden while an offer sets the quantity, so it can't show a number the cart won't use.
- Prices in the editor preview no longer show HTML code when your store's money format contains it.

## 2026-10-10: Cart drawer refresh on Dawn themes

- On Dawn and themes built on it, the cart drawer and cart count now update right after the widget's own Add to cart, also when the cart was empty. Before, the drawer could stay out of date or look empty until a reload.
- The **Bundle widget for a chosen product** theme block now shows the bundle when you pick a product in the block.

## 2026-10-09: Checkout matches the offer cards

- A Complete the bundle discount now applies only to complete bundles in the cart. A leftover item no longer keeps part of the bundle's discount.
- Buying a Complete the bundle offer no longer unlocks a gift that belongs to another offer, and the same gift is no longer added twice with the second one charged.
- When two offers have the same quantity, the card the shopper picked is the one that applies at checkout, and each card shows its own price and gift.
- A gift set to **All variants** now shows a variant picker when the product has more than one variant, and the shopper's choice is the one added. Before, the first variant was always added.
- Volume discount: **Exclude products with compare at price (already on sale)** now works. Items on sale are left out of the discount and don't count toward the tiers.

## 2026-10-09: Safer editing

- If a discount was changed somewhere else after you opened it, saving from the old tab now stops with a message to reload, instead of overwriting the newer changes.
- Deleting an offer now also deletes the gifts and upsells linked only to it. Before, they stayed behind and switched to any purchase or all offers.
- The Advanced discount editor opens again when an item has no name. Such items get a default name.

## 2026-10-08: Add to cart on Prestige and Stretch

- On Prestige and Stretch themes, offers that add more than one line to the cart work again. Before, Add to cart could wait and then show Could not add to cart. The theme's loading spinner no longer shows during the widget's short add.

## 2026-10-04: Radio buttons back on Dawn themes

- The round select buttons on offer cards and subscription options show again on Dawn and themes built on it.

## 2026-10-03: Advanced discount pickers and phone layout

- In the Advanced discount editor, product groups, countries, languages and delivery method types can be picked again in the edit window.
- The home page fits on phones without sideways scrolling.

## 2026-10-02: The new bundle editor

- New **Bundle** discount type: one editor for **Quantity breaks**, **Mix and match**, **Complete the bundle**, **Buy X, get Y** and **Alternative product** offers. The offers show in a widget on the product page, and the discount applies from what's in the cart. See [Create your first bundle](https://smart-bundles.io/help/getting-started/create-your-first-bundle).
- Start from a template or from scratch, with a live preview while you edit.
- **Extras** tab: Countdown timer, Progressive gifts, Upsell add-ons, Savings summary, Subscriptions and Sticky add to cart. Gifts and upsells can also sit on a single offer.
- **Design** tab with color presets, layouts and styles for each part of the widget, plus custom CSS per bundle. **Settings** tab for variant pickers (dropdowns, buttons, color or image swatches), a low stock alert, scheduling, eligibility and combinations.
- A free gift is removed from the cart by itself when its bundle leaves the cart, so it's never charged at full price.
- The home page shows Total revenue, Added revenue, Orders and Average order value for orders that included a bundle, for Today, 7 days, 1 month or All time. Orders count once they're paid.
- The app's admin now comes in English and 24 other languages: Czech, Danish, Finnish, Norwegian, Swedish, Thai and Hungarian are new.
- Bundle deals you made before keep working, now marked (legacy).
