TreStack Bundles changelog
How TreStack Bundles was built, day by day.
The build log of TreStack Bundles, taken from its repository and dated by the day the work landed. Newest first. TreStack Bundles is coming to the Shopify App Store and cannot be installed yet.
Status
Coming to the App Store
The listing is written and not submitted yet, so the app cannot be installed today.
Build plan
Phases 0 to 7 built
Deal types, design, analytics, A/B tests, translations and markets, billing.
Storefront script
About 54 KB gzipped
On a product page with a deal, in the build of 2026-10-11. Timed once, on 2026-10-10, on one Horizon store.
Build dates
29 September to 11 October 2026
The days the work landed in the app repository.
The build, day by day.
Each entry sums up a group of changes in plain terms. Internal work that changes nothing a merchant or a shopper sees, such as moving the app's server code to a new language on 9 October, is left out or folded into the entry it supported.
11 October 2026
Live chat inside the app admin
A chat window in the TreStack Bundles admin reaches the people who build the app. It loads after the admin page has loaded and never appears on your storefront.
The help pages describe billing and page weight correctly
The billing help now says what happens at a plan's cap: a monthly plan is charged the price difference to the plan that covers that period, as one usage charge and never above the Unlimited price, while an annual plan pays a fee per $100 above the cap. The FAQ no longer says pages without a deal load only a 1 KB loader: the controller, about 10 KB, loads on every page with the app embed on.
10 October 2026
Four plans with a new price list
The plans are now Starter at $9.99, Growth at $19.99, Pro at $49.99 and Unlimited at $129 a month, with yearly billing at 20 percent off. Every plan includes every feature. Plans differ only in the added revenue they cover in 30 days: $1,000, $5,000, $20,000, or no cap. The Plans page shows each plan card with its price first and the revenue it covers right under it.
Annual plans are billed for revenue above their cap
From this date, when an annual plan passes its added revenue cap in a 30 day period, the app bills each started $100 above it: $0.49 on Starter, $0.42 on Growth, $0.28 on Pro, and nothing on Unlimited. It is a one-time charge you approve in Shopify, and amounts under $0.50 carry over to the next period. If a charge is not approved within 7 days, deals pause until it is. The charge was built on 2 October and switched on today.
The moving badge ring pauses when nobody can see it
A border badge ring stops moving while it is scrolled off screen or the browser tab is hidden. On our development store, with a slow phone profile, it kept the page busy about 90 ms of every second while moving and about 12 ms once scrolled away.
The widget waits for your page, and its size has a limit
We tried downloading the widget's code early from the top of the page. The widget showed about a second sooner, but the theme's own styles, fonts and images arrived later, and the largest image on a Horizon product page took 0.3 s longer, so it was taken out the same day. The widget still starts once the browser has read the page. The app's tests now fail if the widget's code grows past its budget: 46 KB for the deal code, 10.5 KB for the controller and 1.5 KB for the loader, gzipped.
A new Most popular sticker, and ring text that turns the corners
The Most popular badge is now a tilted oval sticker with sparkles, in your badge color, and its words are still text, so they translate. The bar's price moves down to clear it. The moving border badge is now one rounded band whose text follows the curve around each corner instead of breaking there, and it still stops for shoppers who ask for reduced motion.
Editor and page fixes
The deal editor keeps its form column when the preview holds a long line, the warning about another deal on the same products no longer has an empty row, and a closed group on the Translations page no longer shows an empty box.
8 October 2026
Subscriptions in deals
For products sold with selling plans from a subscriptions app, a deal can offer a one-time or subscribe choice with its own discount. The box lists every plan the chosen variant has, including pre-order and try before you buy plans. A bar with a fixed price for the set shares it across its items, each then taking its selling plan's own saving, and a gift can be limited to subscribers. A Subscription template and a matching smart A/B test come with it.
The admin follows the updated Shopify admin patterns
Every page has the same loading state and proper empty states. The Templates page shows one card per discount type with its Choose button first, the Plans page shows every plan at once, and a press anywhere on a closed editor section opens it. The link in an error banner scrolls to the field that needs fixing. Tables, translations, banners and the editor header fit narrow screens, and variant dropdowns stay inside a narrow bar on the storefront.
7 October 2026
Keyboard and screen reader support, and launch preparation
Shoppers can move through offers and swatches with Tab and the arrow keys, Escape closes pop-ups, sold-out values are announced, and after a choose a variant alert the keyboard lands on the missing choice. The sticky add-to-cart bar's code now loads only where it is used. Unfinished screens, such as Settings, are out of the admin, and when Shopify asks for a store's data to be deleted, its raw analytics events are deleted too.
Deal list and Analytics tidied
A deal's name no longer overlaps its status column and its expand arrow sits beside it. Publish is greyed out on a published deal with nothing new to publish. Numbers in tables line up, the Analytics page no longer scrolls sideways, and its cards and titles align.
6 October 2026
A/B tests of a deal
Test two to four variants of a deal, set by hand or built around one change with Smart A/B test: discount, badge, highlights, timer, scratch-off, sticky bar, savings summary or title. Each shopper keeps seeing one variant and pays that variant's price at checkout. Results show visitors, conversion rate, revenue and revenue per visitor per variant, and mark a significant winner once there is enough data. Set the winner or stop the test, and finished tests go to an archive.
Translations, and checkout labels in the shopper's language
The widget's own texts come in English and 19 other languages and follow the storefront language. A Translations page lets you translate each deal's texts per language and reword any built-in text. The discount label at checkout shows in the shopper's language.
Prices in the shopper's currency, and country preview
Prices show in the shopper's currency as your store converts them, and checkout charges the same amount. A deal limited to one market can have its amounts in that market's currency. The editor previews the deal as a shopper in a chosen country sees it, and currency converter apps are supported.
Brand colors
The app reads your brand colors from the theme once. Deals can use them, and changing a brand color updates every deal that uses it. The Templates page has a Brand choice in its color bar.
Chart values on hover, and sections that fold
The small charts, the funnel and the donut charts on Analytics show their values when you point at them, and sections that fold have an arrow in their title.
4 October 2026
Featured images per offer
Each bar can have its own featured image, and choosing that offer switches the product gallery to it on the Dawn family, Horizon, Impact, Prestige and Warehouse.
Adding to cart works with more theme code
The widget follows more of the ways a theme adds to the cart or changes it. The app's own line property is hidden wherever a cart prints line item properties, and deals on a collection hidden from the online store still find their products. Checked live on Horizon and Dawn.
2 October 2026
Colors, fonts and custom CSS
A Style section sets the deal's colors and typography, with your theme's fonts by default. Custom CSS can be added for one deal or the whole shop, and View in store opens the live product page to check a published deal.
Badges, timer, scratch-off and a sticky add-to-cart bar
Badges such as Most popular, custom text, an image, or a moving border. Highlights and show as sold out. A countdown timer, a scratch-off card, and a savings summary. A sticky add-to-cart bar after the shopper scrolls past the widget. Images on bars and rows, uploaded from the admin.
Variant swatches and default variants
Variant choices can show as pills, color buttons, image buttons, or a dropdown with a swatch, and each offer can start on a variant you pick.
Templates, and updates on Home
A Templates page starts a deal from a template, previewed with your own products, in a color bar of eight colors. Home lists what is new in the app and has a card for sending us feedback.
A warning when another bundle app is on the page, and a Dawn fix
When another bundle app shows its widget on the same product, the app says so, because two bundle apps on one product conflict. On Dawn, the dots of the offer choices were hidden by the theme and now show.
1 October 2026
More deal types: buy X get Y, bundles, mix & match
Buy X, get Y on the same product. Complete the bundle, a fixed set of products, each with its own discount and variant choice. Alternative product bars that sell a different product. Mix & match, where the shopper swaps each slot for another allowed product and the set shows as one cart line when Shopify allows it. Quantity breaks across different products, for example any 3 from a collection.
Gifts and upsells
Free gifts, as a product or free shipping, a gift selector, and progressive gifts that unlock with bigger bars. Upsells on a bar with their own discount, checkbox add-ons below the bars, and a personalisation text field with a fee per item. Deals can target collections, can be duplicated, and a deal whose discount is deleted in Shopify goes back to draft with a notice.
Analytics and the web pixel
An Analytics page with visitors, add-to-cart rate, conversion rate, added revenue and more, compared with the previous period, per deal and per bar, with charts and a CSV export. Home and the deal list show the main numbers. Views and add-to-carts come from the app's web pixel, only for shoppers who allow analytics; orders and revenue come from your store's orders.
Plans, a free trial, and billing by Shopify
Plans billed by Shopify on your Shopify bill, with a free trial and free use on development stores. A Plans page to change or cancel a plan and enter a discount code. Deals pause if a plan ends and come back when one is chosen. When a monthly plan passes its added revenue cap, the price difference to the plan that covers it is charged as one usage charge. The price list was replaced on 10 October.
30 September 2026
Quantity breaks from editor to checkout
The first deal type: buy 2 or more and save, as a percentage, an amount off, or a fixed price for the set. An editor with a live preview that uses the same code as the storefront. The widget reaches the store through the app embed and an optional app block, with no theme files edited, and adds the chosen offer to the cart in one click. A Shopify discount function applies the price at checkout, so the widget's price is the checkout price. Home lists your deals, checks whether the app embed is on, and links to the theme editor if it is not.
29 September 2026
Install, uninstall, and Shopify privacy webhooks
The app installs on a store, keeps the store record it needs, and handles uninstall and the three privacy webhooks Shopify requires from every app from the first day.
Not done yet
Not built
Ideas we have written down and not built
None of these exist in the app today, none is promised for a date, and none should be a reason to wait for the app.
- A Settings page
- AI images for offers and gifts, and AI timer titles
- Checked support for themes beyond Online Store 2.0, page builders and cart drawer apps
- Native Shopify bundles
- Showing savings in checkout
- Deal import and export
Need something from the backlog, or something missing from it? Tell us what it is for
How this page is kept
Where do these entries come from?
From the merged changes and the build plan in the app repository. The history is written for developers, so each entry here rewrites a group of changes for a merchant, and the date is the day that work landed.
Can I install TreStack Bundles?
Not yet. It is coming to the Shopify App Store: the listing is written but not submitted. This page will say when it is listed.
Will you edit entries after posting them?
Typos and broken wording, yes. If an entry turns out to be wrong, the correction is added to the entry with the date it was corrected, and the original line stays readable.
Will every release be listed?
Every release that changes what shoppers see, how the admin behaves, or what you are billed. Work that changes none of those is folded into the entry it supported.