Skip to main content

October

October 2025 - Release | Improvements

Andrey Gadashevich avatar
Written by Andrey Gadashevich
Updated this week

Improvements

šŸ‘‰ Edit Variants of Added Products

We’ve redesigned the Bundle Products interface to make editing variants easier, faster, and more intuitive.

Here’s what’s new:

  • Edit icon added: A new āœļø pencil icon now appears next to each product in the bundle list. Click it to open the product selector and modify the selected product or its variants.

  • Smarter selector labels:

    • ā€œAdd productsā€ – when adding items for the first time.

    • ā€œEdit productsā€ – when adding more items or editing existing ones.

  • Simplified default variant selection: The old control was replaced with a direct link — ā€œthe first available one.ā€Clicking it opens a modal where you can change the default variant.

  • Reset default option: If you change the preselected variant, a ā€œReset default variantā€ button appears to revert back to the original.

  • Improved variant visibility: The Show all variants button now includes an arrow icon. Click to expand the full list of variants; click again to collapse with an inverted arrow and ā€œHide all variants.ā€

  • Visual refinements:

    • Product images now display in full width.

    • The drag handle icon is centered for a cleaner layout.

This update gives merchants full control when managing bundles — edit, reset, or switch product variants without leaving the bundle setup view.

Before:
Editing product variants inside a bundle was limited.

  • Merchants couldn’t change a variant without removing and re-adding the product.

  • The ā€œdefault variantā€ control was separate and not very intuitive.

  • Variant lists were hidden behind a basic button with no clear visual cues.

  • Product images and controls weren’t fully aligned, making the editing flow feel clunky.

šŸ‘‰ Free Gift

Previously, merchants had to add separate free-gift products to a bundle.

Here’s what’s new:

  • Choose one or several products or variants already in your bundle and mark them as Free.

  • The app automatically applies a 100% discount to those marked items.

  • Each free product displays a clear ā€œFreeā€ label in the bundle preview for shoppers.

  • You still have the option to combine this with other bundle discounts or layouts.

Now, the feature works in two flexible ways:

  1. Free product within a discounted bundle (Case 1)

    • Works as a 100% individual discount on any product in the bundle.

    • Merchants can mark selected variants or items as ā€œFree.ā€

    • These products automatically display a ā€œFreeā€ label in the bundle preview.

  2. Free gift as a separate product or collection (Case 2)

    • Merchants can now choose to offer a free product or an entire collection as a gift.

    • The setup interface shows Add products or Add collections options (one active at a time).

    • Customers can select one free gift from the available options during checkout.

šŸ‘‰ Shopify Functions — native bundles, faster and more reliable

We’re moved bundle logic to Shopify Functions (implemented in Rust).
This makes bundles native to Shopify, not just managed by the app.

What this means for you:

  • Accurate stock, automatically. Shopify updates component inventory the moment a bundle sells. (Read in Shopify)

  • Clear orders. Orders can show the actual items inside the bundle, so packing is simple.

  • Works everywhere. Online Store, POS, Shop app, and other channels stay in sync. (Read in Shopify)

  • Stable by design. No webhook delays or manual syncing. Logic lives in Shopify.

  • Future-proof. Your bundles keep working even if the app is disabled or removed.

  • Smoother checkout. Cart and checkout can show what’s included, building trust.

In simple terms:

  • Old way: The app pretended a product was a bundle and tried to sync stock after the sale.

  • New way: Shopify knows it’s a bundle and handles stock and orders for you.

No action required. We’ll roll this out bundle by bundle and keep you posted.

Did this answer your question?