v0.61.0 — September 23, 2026
Added
Added
- Setup fees and deposits are charged at checkout. Amounts saved in Settings, Fees are now actually charged. The app creates a hidden product for each fee and adds one line of each to the cart alongside the subscription, once per order. The customer account shows the setup fee and the deposit with a Refundable, Non-refundable or Refunded badge, and the cancel and return screens say what happens to the deposit.
- Choosing subscriptions or rentals is now a task. “How do customers pay?” moved from a banner into the first must-do task on Getting started, with a live preview of each option. Answering it adds the matching checklists, and their tabs glow until you open them. You can change the answer later from “Change what you offer” at the top of the page.
- “Help me decide” when changing what you offer. The guided questions were only in the setup wizard. “Change what you offer” now offers them too, so you can work through them again later. The questions still suggest an answer and hand you back to the picker to confirm.
- The Custom plan is now Partner, and can move to a paid plan. Shops on a managed plan see it called Partner with a gold band, instead of “Custom”. The pricing page now shows every plan with a Switch button, so a Partner shop can move onto Base, Growth or Pro. Each plan card carries its own colour band in Settings, Plan.
- One question at the start of setup. The About You step asked what brings you here and then seven priorities. It now asks one question, “What are you here to do?”, as four cards: first time, switching, growing or exploring. Picking “switching” still asks which app.
- The checkout payment shows in the billing cycles table. The billing cycles table started at the first renewal, so the payment taken at checkout looked missing. It now shows as cycle 0 at the top, marked as billed, dated at the order and linking to it. Subscriptions imported without an order show no row.
- Plan names and prices on comparison rows. The plan comparison repeats each plan’s name and price on every section row, so the columns stay identifiable as you scroll. The trial pill is gone since the button already says it.
- Per-metric web vitals in the console. Internal only: extra page-speed diagnostics for our developers.
- Sentry warning when a task is marked stuck. Internal only: we are alerted in real time when you mark a setup task as stuck.
Changed
Changed
- Home opens faster. Home no longer shows the attention card, the monthly recurring revenue figure or recent activity. All three cost most of Home’s load time and all three live elsewhere: the attention rows are on the Operations page and monthly recurring revenue is in Analytics. The Operations page and the payments queue also load with fewer database reads.
Fixed
Fixed
- Your default market is set for you. “Pick your default market” was a must-do task for stores selling in more than one market, but it needed the Pro plan, so Base and Growth stores got a task they could not finish. The app now reads the default from Shopify. If you already picked one, it is left alone.
- Setup finishes on the right page. The last setup screen said “Go to my tasks”, but a store with no plan was sent to pricing instead, and after approving a plan it landed on Home. The last screen now says “Choose your plan” when you have none, and approving a plan takes you to your tasks. When a page sends you somewhere else, a short message now says why.
- Bundle template preview at the right size. The bundle template preview drew its contents grid as tiny squares in a narrow column. It now sits in a storefront-sized column and the grid fills it.
- Bundles say they are a recurring purchase. The bundles copy in the setup wizard, the summary and the Tasks tab never said the box is paid for on a schedule. It does now.
v0.60.0 — September 17, 2026
Added
Added
- Home redesigned around today’s work. Home now starts with what needs you today: one row per queue, with a button to open it. Below it you see subscription and rental figures for what your store sells, a Coming up card for the next 7 days, your next setup task and quick actions. Lifetime value moved to Analytics. The I’m stuck dialog now offers a free 30-minute onboarding session.
- Clearer new booking page. The new booking page groups its fields into two cards: what is rented, and when and how many. A Before you can save checklist shows what is still missing. An end date before the start date, or dates with no stock free, show as problems to fix.
- Ask Sidekick about your subscriptions. Shopify Sidekick can now answer questions using your subscription data: how many subscriptions you have, monthly recurring revenue, finding a specific subscription, failed payments, and cancelled subscriptions waiting on a return. Answers link straight to the subscription in the app. Rentals are not covered yet. Available on every plan.
- Simpler subscription page in the customer account. Customers see one Next payment card with the product, the amount and the actions they can take right now, with the rest under More. Actions that don’t apply are hidden instead of greyed out. If cancelling isn’t possible yet, a short line says why. One details list replaces the three overview cards.
- Pick an asset’s product in Shopify’s product picker. Creating or editing an asset now opens Shopify’s product picker, so you can find any product in your store. If the product has more than one variant, choose it from a dropdown. New assets start as Available or Maintenance.
Changed
Changed
- The app is priced in US dollars. Plan prices keep the same numbers but are now in US dollars: Base 49.95 and Pro 5,000 and the support package is $300. If you subscribed in euros, your plan stays in euros.
- Subscription bundles on every plan. Subscription bundles no longer need the Pro plan. Every plan can create bundles, and the storefront bundle card, including adding products to empty slots, works on any plan.
- The Rental subscription type is now called Physical product. The Rental subscription type is now called Physical product everywhere in the app, so it isn’t confused with bookings. Your existing plans work exactly as before. The subscription type chart in Analytics also now says Recurring delivery instead of Consumable.
- The app opens faster. The app opens faster from the Shopify admin. It skips a repeated sign-in check on the way in, and it is ready about 3 seconds sooner when nobody has used it for a while.
Fixed
Fixed
- Fixed amounts and custom prices save on multi-currency stores. Plans with a fixed amount off or a custom price now save on stores that sell in more than one currency. Before, the save failed and asked you to switch to a percentage discount. A note explains that these amounts are in your store currency and Shopify converts them for other markets.
- Payments that need a decision open a decision dialog. In Operations, Payments, clicking a payment that needs a decision now opens a dialog with the choices: retry, email the customer, skip or cancel. Before, it opened the subscription page, which didn’t mention the failed payment. That page now also shows a banner for an overdue invoice.
- Product swap only offers active products. When customers swap a product from their account, archived and draft products no longer show up as options. The swap dialog is also simpler and says which product gets replaced.
- The From price only counts plans the customer can choose. The From price at the top of the purchase options on your product page now uses the cheapest plan the customer can actually pick. Before, it could show a lower price from a bundle, another market or another app.
- No more Unauthorized errors after a long session. Clicking around the app after it had been open for a while could show Unauthorized. The app now quietly signs you in again, or sends you to the right page, instead.
- Layout tidy-ups. What’s New, Integrations and Support now use the same page width as the rest of the app. The bundle tables use regular text instead of bold.
v0.59.0 — September 14, 2026
Added
Added
- Thank you and Order status pages link to the new subscription. After checkout, the Thank you page and the order status page in the customer account can show a Manage subscription section for orders that include a subscription or rental. It opens the customer’s subscription straight away. Add the block in the checkout editor; the setup guide has a new step for it. Available in English and German.
- Bundle setting: returned items stop billing. A new setting in the bundle editor, Returned items stop billing, off by default. Turn it on and when a customer returns one item from a bundle, or removes it from their account, the bundle’s price drops by that item’s share. The Active bundles list, the bundle page and invoices show the reduced amount.
- Empty bundle slots offer the bundle’s other products. On the storefront bundle card, an empty slot is now a button. It opens a list of the other products in the bundle with an Add button next to each, so customers fill their box without leaving the page. Products that are archived, in draft, unpublished or sold out are left out. Needs the Pro plan.
- A tidier bundle page in the customer account. The customer’s bundle page has a new layout: a short explanation at the top, a Slot badge on every item, Swap under the title and the return button at the bottom of each card. Buttons show a spinner while they work. Items that are no longer on your online store show their real image and title instead of an error.
- Bundle editor preview shows real product images. The storefront preview in the bundle editor now fills the box with the images of the products you assigned, in order. With no products assigned it shows a short hint instead of blank tiles.
- Warning when a bundle product is priced below its share. The bundle editor now warns when a product’s cheapest variant costs less than the per-item share of a bundle size. Such a box would sell for less than the price you set, because the discount can only lower a product’s price. The warning names the size, the share and the products, and does not block saving.
- Tasks page warns when a product template lost its Buy buttons block. The purchase selector needs the theme’s Buy buttons block to add to cart. The Tasks page now checks each product template for it and flags templates where the block is missing or hidden, with a link into the theme editor.
- Colour-coded metrics on the Subscriptions page. At the top of the Subscriptions page, Active, New, Cancelled and Paused are now tinted tiles with bigger numbers. The Last 30 days note sits below them.
Changed
Changed
- Pricing reset: three paid plans, no Free plan, no usage caps. Three plans: Base at €19.95, Growth at €49.95 and Pro at €99.95 per month, plus 2%, 1.5% or 1% of subscription and rental revenue. Every plan comes with a 14-day free trial, once per plan. Annual billing is no longer offered; stores already on an annual plan keep it. New installs pick a plan after setup. Stores installed before this change keep their free access. No plan has usage caps.
- Four features now need Growth or Pro. Product buyout and restocking fees need Growth. Per-market pricing and product auto-assignment need Pro. Returns stay available on every plan. If your store drops below the needed plan, saved settings stop applying until you upgrade; existing market bindings keep working.
- Bundles no longer issue return labels. The app no longer creates a shipping label when a bundle return is approved. Arrange the return shipment in Shopify as for any other return. The app still tracks the return, frees the item’s slot when the return is closed, and shows the status in the customer account.
- Faster admin. The admin loads faster. Home shows its layout right away and fills in the metrics, attention list and activity as they arrive. A section that cannot load shows a short note instead of failing the page.
Fixed
Fixed
- Bundle renewals ship the box and invoice it as one line. Renewal orders for a bundle now keep the real items, so you see the box to ship instead of a placeholder line priced from one item. Renewal invoices show one line for the box at its price. The Active bundles list now shows the next billing date and order number.
- Returns you create in Shopify show on the bundle straight away. A return created from the order page in Shopify now shows up on the bundle as soon as it is approved, with the In transit badge on the item, instead of only once the return is closed.
- Returning several units of the same product frees the right number of slots. When a bundle has the same product in several slots and the customer returns more than one, every returned unit now frees a slot. Before, only one slot was freed.
- Termination fees are only charged on Pro. Stores that set up termination fees on Pro and later moved to a lower plan kept charging them on cancellation. The fee is now zero below Pro, and no charge is created.
- One wording for the commission everywhere. The pricing page, the plan settings card and Shopify’s approval screen now describe the commission the same way: a percentage of subscription and rental revenue. The approval screen also states Shopify’s usage cap.
- Your Plan tells a store without a plan to choose one. Settings, Your Plan said Free, Legacy free plan for a new store that had not picked a plan yet. It now says No plan yet with a Choose a plan button.
- CSV export tells you why it was refused. Exporting subscriptions, invoices or assets to CSV used to do nothing when the export was refused, for example below the Growth plan or with nothing selected. The reason now shows in an error message.
- No more Page not found after saving a plan. Saving a plan sometimes landed on a Page not found screen even though the save worked. Fixed.
- Buyout settings show a field error for out-of-range values. Typing a value outside the allowed range in the buyout settings showed Failed to save settings. The field now shows the allowed range instead.
v0.58.0 — September 10, 2026
Added
Added
- Cancelled rentals stay open until the item is back. When a rental or bundle is cancelled, the subscription now moves to Pending return instead of Cancelled, and stays there until you confirm the item is back. The item stays assigned to the customer until then. Look for these subscriptions under the Pending Return tab, not Cancelled.
- See when a cancelled rental is due back. The subscription page now shows the date a cancelled rental should be returned by. Your customer sees the same date in their account with a Cancelled, return pending badge, and no longer sees a next payment or actions for a subscription that has ended.
- Overdue returns get their own view. Operations, Returns, Subscriptions now has an Overdue view for cancelled rentals that were not returned by their due date. The due date is the end of the paid period, not the day of cancellation. Overdue returns also show on the Today agenda and on Home, with a Confirm return button.
- Deposits are refunded when the return is confirmed. For rentals and bundles, the deposit is now refunded as store credit when you confirm the return, not when the subscription is cancelled. This also fixes a gap where deposits were never refunded for subscriptions cancelled from the admin.
- Set a subscription price instead of working out a percentage. In the plan editor, a new price field sits under the percentage discount. Type the price you want to charge and the percentage is worked out for you, or change the percentage and the price follows. Plans with fixed amounts in a multi-currency store get a Switch to percentage button. Plans tied to a market now preview real market prices.
- One card for rentals and subscriptions in the setup wizard. The setup wizard now shows three cards instead of four. Rentals and subscriptions are one choice. On the Tasks page a short question then asks which of the two you offer, with a preview of what customers will see. You can pick both.
- The 14-day trial is on the plan buttons. On the Pricing page, the buttons for Base, Growth and Pro now say Start 14-day trial instead of Upgrade. The trial applies to every upgrade, not only your first one.
- Restart onboarding from Settings. Settings, General has a new Setup guide card with a Restart onboarding button that opens the setup wizard again. The wizard’s welcome step now shows logos of stores running on circuly.
- Checklist rows jump to the field; per-product buyout prices are opt-in. In the plan editor, clicking a Before you can save row now takes you to the exact field. On the Advanced tab, per-product buyout prices are behind an Enable per-product override buyout checkbox. Unticking it clears the prices you entered.
- Colour-coded activity on Home. Recent Activity on Home now colours each badge by what happened: green for successful payments and completed returns, red for failed payments, and so on. Rows highlight when you hover over them, so it is clearer that they open the subscription.
Changed
Changed
- Fulfillment queue filter uses the same words as the badges. In Operations, Fulfillment, the Status filter now offers Unfulfilled, Fulfillment overdue and Fulfillment scheduled, matching the Status column. It only offers statuses the current tab can contain, so a filter can no longer show an empty table under a non-zero count. The State A to Z sort was removed.
Fixed
Fixed
- Cancelled bundles now appear in the returns queue. When a bundle subscription is cancelled, it now moves to Cancelled in your bundle list and appears in Operations, Returns as one row showing how many items are still out. Each item’s return status shows on the bundle page. Returns closed in Shopify clear the row once every item is back.
- Bundle returns with several items now release every item. A return covering several bundle items now frees all of them, not just one. The Return in transit badge appears as soon as you approve the return, even without a shipping label.
- Fixed prices work in single-currency stores with several markets. Fixed amount and custom price discounts were blocked on any store with more than one market. They now work whenever every market that can see the plan uses your store currency. Stores selling in several currencies are still asked to use a percentage, because Shopify converts fixed amounts at its own rate.
- Create new view button removed where it did nothing. The Create new view button on the Payments, rental Inventory, Bookings and Pricing lists opened a dialog whose Create button did nothing. It is gone.
- Upgrade from the Pricing page opens Shopify’s approval page again. Clicking Upgrade on the Pricing page showed an Unauthorized error instead of taking you to Shopify’s plan approval page. Fixed.
v0.57.1 — September 3, 2026
Added
Added
- Customers can see their buyout progress. The subscription page in the customer account now has a Buy out card. It shows whether buying out is available yet, how many payments have been made, progress toward the minimum, and the buyout price with a confirmation step once it is available.
- Cancel a pending buyout. A subscription with an open buyout invoice now has a Cancel buyout button on the banner. It removes the invoice and resumes the subscription. If the customer already paid, the buyout is completed instead of cancelled.
- The new customer accounts task completes itself. The Switch on new customer accounts task on the Tasks page now reads your store settings and ticks itself off, instead of asking you to mark it done.
Changed
Changed
- Rocket plan removed. The Rocket plan is gone from the Pricing page. It offered nothing Pro does not. Stores on Rocket were moved to Pro.
Fixed
Fixed
- Paid buyouts are no longer expired by mistake. If a customer paid a buyout invoice but Shopify’s confirmation never arrived, the buyout could be marked expired and the subscription billed again. The nightly check now asks Shopify whether the invoice was paid and completes the buyout instead.
- Ended subscriptions look ended in the customer account. A subscription that was bought out or has ended no longer shows a next payment, greyed-out action buttons or raw status codes in the customer account. Every status now has a readable label, and the payments-made count comes from actual charges rather than elapsed time.
- Invoice download links no longer expire while the page is open. Customers who left their subscription page open for more than 15 minutes got a Download token expired error when downloading an invoice. The download link is now created at the moment they click.
v0.57.0 — September 1, 2026
Added
Added
- Customers can download their subscription invoices. Your customers can now download a PDF of each subscription invoice from their account. The Invoices list sits on the subscription page they already use to manage their plan. Invoices stay available even if you switch invoicing off later, so nobody loses access to a receipt they were given.
- Pick the theme you’re setting up. The Tasks page now has a “Theme you’re setting up” picker next to the progress stats. It lists your live and unpublished themes, starts on the live one, and remembers your choice. Every theme task now checks that theme, so a task no longer looks finished because an old draft still has the block.
- Add blocks straight from the Tasks page. Theme tasks now open the theme editor with the block already in place, instead of dropping you at the theme library to find and add it yourself. The purchase-selector task lists your product templates and shows which ones already have it. The bundle progress bar task opens your cart the same way.
- Home shows what needs attention, not just how many. The “needs attention” box on Home now lists each kind of open work with a link straight to it, instead of a single total. Recent Activity rows are clickable and take you to the subscription. The Setup Guide button now goes to the Tasks page, where setup actually lives.
- The Rentals checklist is here. If rentals are one of your offerings, the Tasks page now walks you through getting bookings live: create a pricing template, make a product rentable, add the purchase selector, review your booking policy, block dates you can’t rent out, and publish. The first steps tick themselves off as you complete them.
Changed
Changed
- The admin does less work on every click. Pages in the admin now make fewer requests behind the scenes. Refreshing a list or saving on a settings page no longer re-runs the whole page, so lists and settings respond faster.
- A simpler purchase-selector styling guide. The styling guide now covers the purchase selector only, with an “Edit in theme editor” link at the top. The cross-sell and bundle progress sections have moved out, and the numbered markers no longer nudge the surrounding text around.
v0.56.2 — August 27, 2026
Fixed
Fixed
- Renewals stop charging for shipping again. Shipping paid at checkout was being charged again on every renewal for rentals and digital subscriptions, which only ship once. New contracts now clear that charge as soon as they are created, so it never builds up. Contracts created before this were fixed in an earlier release.
v0.56.1 — August 27, 2026
Added
Added
- Filter the Operations calendar and see projected revenue. The Operations calendar now has filter chips so you can narrow it down to just renewals, hand-overs, or returns. Each day also shows the revenue expected from renewals, both in a tooltip and in the day panel. Weekends and past days are shaded so it’s easier to get your bearings.
Fixed
Fixed
- Book your support session straight from the support hours card. If you’ve bought support hours, the card now has a direct link to book your 30-minute session, instead of telling you we’ll email you.
- Plan names stay in German for German-primary stores. If your store’s main language is German, subscription plan names in the cart and at checkout now show correctly in German instead of falling back to English.
- Purchase-selector plan labels show correctly in German. The subscription widget on the product page was showing English wording like “Every week” even on German storefronts. It now shows the correct German wording.
v0.56.0 — August 26, 2026
Added
Added
- A shorter, friendlier setup wizard. The wizard you see after installing is rebuilt: it greets you, asks what you are hoping to get out of the app, and asks what you sell — and you can pick more than one answer. Not sure yet? A short Help me decide tool asks a few questions about your product and suggests offerings, without picking for you. The wizard no longer asks you to configure anything: it hands you straight to the new Tasks page.
- The Tasks page: a guided setup checklist for every merchant. A new Tasks entry in the sidebar walks you through getting your store set up. It shows a tab for each offering you picked in the wizard, plus a Getting started tab that always comes first. Many tasks tick themselves as you finish the real work in your store. You can change what you offer at any time from the page header, and if you get stuck on a task you can flag it so our team gets in touch.
- Subscriptions speak German on the storefront. If your store has German as a language, subscription shopping now shows in German: the widget on the product page, the “Subscription start” line in the cart, and your plan names in the cart and at checkout. Nothing to configure — it follows the languages your store publishes, and plans you rename stay translated.
- Operations calendar: see the work coming up, day by day. Operations has a new Calendar tab showing renewals, rental hand-overs and returns, expected subscription returns and payment retries on a real calendar. Busy days are shaded darker, so a heavy week stands out at a glance. Pick a one-month or three-month view, click any day, and you see exactly what is due with links into each item.
Changed
Changed
- The plan form says “Recurring delivery”, not “Consumable” — the same words the onboarding wizard uses. Wording only: your existing plans, storefront and checkout behave exactly as before.
- Clearer switching between rentals, subscriptions and customer returns in the Fulfillment and Returns queues: you now pick which list you are looking at with a switch above the tabs, and the tabs below always belong to that one list. Filters from one list no longer stick around when you switch to another.
v0.55.0 — August 24, 2026
Added
Added
- You can now buy a 3-hour support package (€300) under Settings → Support package. It is billed through Shopify, the same way your plan is. The page shows how many hours you have left; once they run out the button turns into Add 3 more hours, so you buy one package at a time. Nothing happens automatically — our team gets in touch after you buy. The same page also offers a free 30-minute onboarding call you can book straight into our calendar.
- The subscription start-date step can now be switched off. A new theme setting, Ask for a start date, is on by default, so your storefront does not change. Turn it off in the theme editor if your subscriptions always start straight away — the calendar step disappears and shoppers go straight to Add to cart. Billing is the same either way: Shopify still charges the first cycle at checkout.
- Bundle boxes now show what is inside, not just how many. The bundle card shows a picture of every item in the box, with empty spots as placeholders up to the next size you priced — so a shopper can see how many more items they need to unlock it. The grid gets bigger the moment they reach a new size.
Changed
Changed
- Our name is written “circuly” in lowercase everywhere in the admin. Wording only.
- Clearer names for the two subscription button-label fields in the theme editor, so you can tell which one your storefront is actually using. Any wording you already saved is kept.
Fixed
Fixed
- The rental pricing preview no longer starts blank. It shows an example widget right away, instead of staying blank until you had already filled in the daily rate — which is exactly when you want to see it. The sample figures are labelled so you know they are not yours.
- A missing default market is now explained on the plan form. If you create a plan and your saved default market is no longer available, the app names the missing market instead of leaving the Market field silently empty — which read as though it were asking you to choose a default all over again.
v0.54.0 — August 17, 2026
Added
Added
- You can now sell subscriptions in person with Shopify POS. Your staff can add a subscription plan to a sale from the POS home screen, from a line already in the cart, or from a product’s page. Checkout is the normal POS checkout — nothing new to learn. Needs a supported version of Shopify POS and an online device; one-off products without a plan are left untouched.
- One bundle can now offer several sizes, each at its own price — 3 items for €30, 5 for €45, 7 for €60. Before, that meant building three separate bundles. Your customer picks a size on the product page, and checkout unlocks only at a size you priced; at an in-between count they see what the next size up costs. Bundles you already have keep working exactly as they are.
- A bundle can be limited to one market, under Where it sells on the bundle form. Picking a market also sets its prices in that market’s currency. Leave it on all markets and it sells everywhere — which is what every existing bundle does.
- Bundles missing from your Bundles list can be recovered. If a bundle exists in your store but never shows up in the app, Migrate bundle data now brings it back so you can edit or delete it normally. Bundles with no readable price are reported rather than guessed at.
- The back button now returns you to the queue you came from. Open an item from the fulfillment, returns or payments queue and you go back to that queue with your filters, search, sorting and page still in place — instead of landing on the Rentals overview and setting it all up again.
Changed
Changed
- Each section now opens on the page you use daily, not a settings page: Subscriptions opens on Subscriptions, Rentals on Rentals, Bundles on Active bundles. The other tabs are still there, just no longer first. Saved links keep working.
- Clearer tab names in Subscriptions — “Contracts” is now Subscriptions, and “Plans” is now Your plans. Page titles match the tabs. Only the names changed.
Fixed
Fixed
- An order that was retried can no longer be invoiced twice. Before, the same sale could occasionally produce a second invoice.
- Your monthly commission cap now holds when several charges land at once. Before, charges processed at the same moment could each pass the check separately and together go over your cap.
- A bundle that stopped appearing on your storefront is now fixed by saving it again. Before, the save could quietly do nothing, and only Migrate bundle data could repair it.
- “Return this item” now works on a customer’s bundle page. Before, the button showed on every item and failed every time with nothing on screen to say why. It now appears only on items that can genuinely be returned.
- Both bundle cards work when a product is in two bundles. Before, only the first one did — the second looked completely normal but never counted items or changed its button. Swapping now also offers every size and colour of an eligible product, not just the first.
- Bundle price warnings use your own currency instead of always being written in euros.
v0.53.0 — August 10, 2026
Added
Added
- See which subscriptions are still waiting for a unit. They now show up in Operations as a list you can work through, instead of one subscription at a time. You only see this if you track serial numbers.
- The start date your customer picked now shows on the subscription. Before, only the order showed it. The first charge still happens at checkout, as always.
- Cancel an order in Shopify, and circuly can cancel its subscriptions too. Off by default — turn it on in Settings → Automation.
- Cancelled subscriptions where the customer still has the goods now have their own tab in the returns queue. Hit “Mark received” when the item comes back.
- Write your own add-to-cart button text for each purchase option — “Rent Bit Now” instead of “Pick a start date”, for example. Leave one blank and we use ours.
- Put the purchase selector on your home page or a landing page, using a Featured product section. Two selectors on one page each stay tied to their own product.
- New setting: hide your theme’s own buy buttons. Those buttons skip the selector’s rules, so a customer could add a rental without picking dates. Off by default — we recommend turning it on. Hide your theme’s Buy buttons block instead of deleting it; the selector needs it.
- New setting: collapse the options your customer hasn’t picked, so a product with several purchase options reads as a short list. On by default — turn it off to keep every option expanded.
- The bundle form now has the same checklist and live preview as the plan form.
Changed
Changed
- Operations tabs now look and behave like the rest of the app — no blank flash while the page loads, and you can middle-click or open a tab in a new window.
- The customer accounts block is now called View subscriptions (order action) in Shopify’s picker, instead of its old placeholder name.
Fixed
Fixed
- The date picker submitted the day before the one your customer clicked if they were in a timezone ahead of UTC — Germany included. It now submits the date shown.
- Ending a rental put back more stock than it took, which could leave a rental stuck or quietly take units from your other rentals. It now returns exactly what it reserved.
- Shopify notifications no longer go missing when the database briefly drops a connection.
- Some return notifications arrive from Shopify empty. We were counting those as handled. They are now flagged so we can look into them.
- Creating a plan no longer opens with fields already marked red. A checklist in the sidebar tells you what’s still missing, and clicking a line takes you straight there — so you always know why Save is greyed out.
- Two visual fixes in the purchase selector: white stripes around the selected option, and a squeezed start-date tooltip that broke onto one word per line.
- Problems that used to fail quietly — bundle pricing not reaching checkout, a plan not being created, a half-finished Klaviyo sync — now alert us.
v0.52.0 — August 3, 2026
Added
Added
- Rental lifecycle: safer cancellations, confirmed completions, and delivery fulfilment. Cancelling a rental no longer refunds the customer automatically — you decide in Shopify what is owed, and the cancel dialog says exactly that. Cancelling is only offered while a rental is still being prepared; once delivered, the units are with the customer, so the cancel button is disabled with an explanation and the way to end the rental is completing it. “Mark received & complete” is now Mark as completed and asks for confirmation first — if the rental was scheduled to run longer, the dialog warns that completing now ends it early and by how many days. “Mark handed over” is now Mark as delivered, and it creates the real Shopify fulfilment for the rental’s order line, so the order shows as fulfilled and Shopify sends its usual shipping notifications. If the fulfilment cannot be created, the rental still moves forward and you get a warning instead of a blocked action.
Fixed
Fixed
- Some of Shopify’s return-closed notifications arrive in a minimal format that omits the return’s full identifier. Those failed to record, so the affected return never showed as closed in the Customer returns view. circuly now derives the identifier from the minimal form, and two notifications about the same return arriving at the same moment no longer collide.
v0.51.5 — August 1, 2026
This entry retroactively covers v0.51.3, v0.51.4, and v0.51.5, which shipped as hotfixes without their own changelog entries.
Added
Added
- Bundle templates can be duplicated in one click, so a new bundle can start from an existing one instead of being rebuilt from scratch.
- When a store installs circuly we now record whether it runs multiple locations, so setup and support can account for that from day one.
Fixed
Fixed
- Subscriptions with overdue or failing charges are billed more reliably: the app no longer asks Shopify for billing history from before a subscription existed (which blocked charging young subscriptions entirely), a charge that fails with an unexpected error is recorded with a proper reason — and a store that has closed or been frozen stops being retried every hour — and retrying an overdue billing cycle now charges the intended cycle instead of being rejected by Shopify.
- Fixed a class of background crashes that occurred when an outbound call to a connected integration was cut off mid-request.
- Rentals refinements: clearer inventory status colours, working list pagination, a tidier booking detail page, and fleet resizing bounded to safe values.
- When a cross-sell item cannot be added to the cart on the storefront, the customer now sees why instead of nothing happening.
v0.51.0 — July 27, 2026
This release also covers v0.50.1 (18 July) and v0.50.2 (20 July), which shipped without their own changelog entries. Their changes are included below.
Added
Added
- Operations gains a Payments tab listing every subscription with an overdue invoice, split into “Needs decision” (retries exhausted — it’s waiting on you) and “Retrying” (circuly will try again automatically). Each row shows the customer, amount, attempts so far, next retry, and how long it has been overdue, and you can skip the cycle, change the billing date, cancel, or copy the customer’s email without leaving the list. The tab appears for any store with subscriptions — rentals are no longer required to use the Operations hub.
- Two new payments-queue actions: Retry payment now charges the customer immediately instead of waiting for the next scheduled attempt, and Send payment-update email sends them Shopify’s own secure link to update the card on that subscription. Both confirm first, and repeated clicks on Retry won’t double-charge.
- Operations opens on a Today agenda of what actually needs clearing: four urgency-ordered groups — Money, Out the door, Coming back, Health — each reading “N to clear today”. Groups you don’t use stay hidden, so a subscriptions-only store sees payments and returns with no empty rental section. It covers overdue payments, rentals due out or expected back today, overdue handovers and returns, returns awaiting your confirmation, inventory sync problems, and unpaid bookings whose start date is here or close. Home’s attention card is replaced by a single “N items need attention” pointer into Operations, so there is one place to look.
- Bookings and Rentals merge into one Rentals list and one page per rental, with a progress stepper across the top: In cart → Awaiting payment → Preparing → Out with customer → Completed. The status wording is now the same everywhere — “Preparing” instead of the old “Converted”/“Confirmed” jargon — and the activity feed shows the whole story in one timeline, from the customer holding dates in their cart through handover and return. Filter by status, asset, or date range, and search by customer email or order number. Existing links and bookmarks keep working.
- A product can now belong to several bundles at once. Adding a product to a second bundle used to silently overwrite the first, and the original stopped showing on that product page with no warning. A product page now stacks one card per bundle it belongs to, oldest first. Customers still build one bundle at a time in the cart — nothing about checkout changes — and removing a product from one bundle leaves its other bundles intact.
Changed
Changed
- Confirming a returned rental now runs the same steps whether you scan it, confirm it from the subscription page, or clear it from the Operations agenda. If the subscription is cancelled in Shopify but the local cleanup afterwards fails, you get a clear “cancelled but cleanup failed” message instead of a generic error that made it look like nothing happened.
- On the inventory hub, the product name is now plain text with an explicit “View product” action that opens Shopify in a new tab, and “Return to available” is promoted to the row’s main button.
Fixed
Fixed
- The Operations fulfilment queue listed rental contracts from other circuly stores — including order names and customer emails — while the per-tab counts beside them were correct for your store, which made it easy to miss. The queue is now scoped to your store only. Nothing was editable across stores, and the returns queue was never affected.
- Markets that inherit their currency from Shopify rather than setting their own were skipped entirely, so they never appeared in market lists, per-market pricing, or coverage warnings. They now sync. B2B, POS, and channel markets are no longer synced at all, where before they could show up looking like your catch-all market.
- On stores where payment captures instantly, a paid rental booking could stay stuck at “Awaiting payment” forever — no rental created, and the booking expiring on its own start date even though the customer had paid. The paid step now waits for the order step to finish, and a new hourly safety net picks up any paid booking that still has no rental.
- A booking waiting on payment displayed as “Pending”, and the greyed-out “Mark as confirmed” button explained itself with “Cannot move from Pending to Pending”. Such bookings now read “Awaiting payment” everywhere, and every disabled action explains itself in plain language.
- Switching between variants on a rental product could latch the buy button into a permanent “Sold out” state even when the variant was in stock, with a full page reload the only way out. Every customer switching variants on a multi-variant rental product hit this.
- Multi-currency shops: the home dashboard no longer adds different currencies together. Lifetime value is shown per currency, the same way monthly recurring revenue already was, and the MRR tooltip agrees with the figure on the card above it.
- Analytics counts subscriptions from the date their order was placed rather than the date circuly first imported them, so a migrated subscription base no longer collapses onto a single import day. “Subscriptions by type” counts the same subscriptions as the status chart beside it, both distribution charts are labelled “all time”, and charts with no data say so properly instead of looking broken. Section headings no longer share a row with the chart below them.
- Native-first inventory: stock changes never actually reached Shopify, and rental products set up before a recent fix read as zero availability. Both are fixed, and growing or shrinking a rental pool now moves units between Shopify and the pool instead of double-counting them. New installs have defaulted to this engine since v0.50.0 (17 July), so if you installed between 17 and 18 July, check the Inventory movement log for entries stuck at PENDING; stores on the older engine were never affected.
v0.50.0 — July 17, 2026
Added
Added
- Price rentals as a percentage of each variant’s own product price, instead of one flat rate that billed a €500 and a €1,200 variant identically. Pick “Variant price” mode, set one daily percentage, and every variant prices itself from its own Shopify price. The deposit stays a fixed amount either way, and the price shown on the date picker is exactly what checkout charges. Existing templates keep their current flat rates until you switch them over.
- Rental pricing templates now default to your store’s own currency instead of always starting at EUR, and the currency picker only offers currencies your store can actually charge in. Optional fields (weekly and monthly rates, deposit, minimum reserve) can now be cleared — emptying one and saving actually removes it. Minimum reserve is a simple on/off toggle with an input.
- The subscription plans list shows each plan’s buy-out mode — Dynamic, Fixed, or Off — at a glance.
- Stores installing the app from now on start on the new native-first inventory engine, where rental availability draws on your regular Shopify stock rather than a separate rental-only pool. Existing stores are unaffected and keep their current setup.
Changed
Changed
- Rentals, Subscriptions, and Bundles each opened on an “Overview” tab that was just a grid of links to the tabs sitting right below it. That tab is gone — clicking a hub in the sidebar takes you straight to its first real page. Existing links and bookmarks keep working, and the Operations Overview stays, since it’s a real dashboard.
- Removed an “Inventory mode” choice from the add-product wizard that did nothing, along with the outdated “Shared mode coming soon” promise in the documentation.
- Internal reliability: rental duration and price-preview logic now share one implementation, automatically checked against the real server price across hundreds of generated cases.
Fixed
Fixed
- The inventory stock number is now labeled “Available (Shopify)” to match the column of the same name in your Shopify admin — the old “on hand” label meant something different in Shopify than what we were showing.
- The inventory movement log now reads in plain language: product names instead of internal IDs, clickable order links, and understandable status and error text.
- Flipping the minimum-reserve toggle on and back off no longer leaves the Save/Discard bar stuck on screen when nothing has changed.
- When adding a rental product whose variants aren’t set up to keep selling once out of stock, the message now explains what’s actually needed — and a “Fix inventory settings & add” button applies the change and adds the product in one click. Previously it advised turning off inventory tracking, which was itself blocked.
- Stores not yet on the new inventory engine no longer see an Inventory navigation item that only led to a dead-end page.
v0.49.0 — July 13, 2026
Added
Added
- Customers can return one item from a subscription bundle themselves: they request the return from the bundle page, you approve it, and Shopify emails them a prepaid return label. The rest of the bundle and the recurring price stay untouched — once the item arrives the slot frees up and a replacement can be swapped in. You control whether returns are offered and the return window from your Returns settings.
- Drive rentals through their whole lifecycle from the Operations hub: mark items handed over to the customer, then mark them received when they come back — one at a time or in bulk from the fulfilment and returns queues. Received units automatically free up for the next booking.
- For products tracked as individual units, inspect each unit on return and record its condition — good, needs cleaning, needs repair, damaged, or missing. Units routed to cleaning or repair are held out of bookable stock until they’re ready, and you can mark them ready from the unit’s detail page.
- Remove a product from rentals by row, in bulk, or from its detail page. History is preserved, and removal is blocked with a clear reason if any units are still out with customers.
- Rent-to-own buy-out prices can be set per market and overridden per product, with a warning when a newly added market has no price configured yet.
- Charge an early-termination fee when a customer cancels: the fee is invoiced automatically and the customer gets the invoice link.
Changed
Changed
- Rental product names and photos now resolve from Shopify at read time, so they stay current across every rental table and detail page.
- Your Shopify session access token is now encrypted at rest, and the app uses expiring, automatically refreshed access tokens ahead of Shopify’s 2027 requirement for public apps.
- Rental tracking modes are now labeled “Pooled” and “Individually tracked”.
Fixed
Fixed
- The dashboard revenue trend chart grouped its newest month incorrectly depending on server timezone; months now align with the revenue they report.
- Quieter, more accurate error alerting — expected storefront rejections no longer raise alerts.
v0.48.0 — June 19, 2026
Added
Added
- Rentals are ready to go live: real date-by-date availability tracking, a guided 3-step product-setup wizard, automatic public-holiday blackouts, and an admin action to cancel a rental and refund the customer in full.
- Behind-the-scenes monitoring so rental booking conflicts and refunds are caught and resolved early.
- Membership bundles that include rentable products now correctly reserve those units against rental availability.
- Attach subscription plans to specific product variants, not just whole products.
- App commission is now charged on rental order subtotals.
- Preview the bundle and rental storefront widgets from inside the admin before going live.
- Choose how each subscription plan’s buy-out price is calculated: Dynamic (from the live retail price), Fixed (a price you set), or Off. Both modes subtract what the customer has already paid.
Changed
Changed
- Rentals are now labeled “Rental” / “Rentals” across the admin for clarity (previously “Rental Contract”).
- Settings navigation is grouped, and Bookings and Rentals are split into clearer separate pages.
- Reliability and safety hardening across the rental engine.
- New merchant documentation for setting up and running rentals.
Fixed
Fixed
- Corrected rental buyout pricing and consumption tracking.
- Rental availability now respects day boundaries correctly.
- Subscription price pills update correctly when switching product variants.
- Internal reliability: the rental inventory ledger test suite now runs automatically in CI.
v0.47.0 — June 12, 2026
Added
Added
- Multi-market support: scope subscription plans to specific Shopify Markets, so you can offer the right plans per region. Plans bind to markets, the storefront filters by market, and market data syncs automatically.
- Per-currency rental pricing: rental pricing now shows the correct local price per currency for multi-market catalogs.
- Bookings and rental contracts now record the market they were created in, for accurate per-market reporting and currency handling.
- The subscription-plans list shows which market each plan is bound to, at a glance.
- A read-only Market status panel on General settings shows which markets are detected and active.
- Bundle storefront surfaces use a clean neutral theme by default, before you customize them.
Changed
Changed
- Settings are consolidated into a single store with a reordered settings navigation.
- Behind-the-scenes reliability improvements for market and selling-plan-group syncing, plus internal code organization cleanups.
Fixed
Fixed
- Editing a plan that spans multiple markets now saves correctly instead of silently failing.
- Multi-market lists, gates, and badges now populate correctly instead of appearing empty.
- The plan editor keeps your selected products and variants when editing, the Edit button is reliable, and the list refreshes after saving.
- Selection stays in sync across purchase options on the product page.
- The sidebar highlights the correct page and the rental-contracts tab shows an accurate count.
v0.46.0 — June 8, 2026
Added
Added
- 14-day free trial: new subscribers now get a 14-day free trial on any paid plan. The pricing page shows the trial note when you upgrade (Shopify grants the trial once per merchant).
- Annual billing: choose annual billing on any paid plan to save versus paying monthly. A monthly/annual toggle on the pricing page lets you compare both.
- Onboarding now captures what you sell — subscriptions, rentals, or bundles — in the welcome wizard so setup can be tailored to your store.
- Preview the storefront product-page subscription widget directly inside the app, without leaving admin.
- A refreshed, reusable setup guide walks you through the steps to get live.
Changed
Changed
- Rentals are out of developer preview — now available to all merchants (within the free-tier rental cap).
- Subscription bundles are now a Pro plan feature — available to merchants on the Pro plan and above, in the admin and on the storefront.
- Settings are reorganized into clearer sections with free-plan cleanup, and you can now see your usage against your plan’s limits.
- The support area has a refreshed layout with tabbed navigation and open-ticket counts.
- All storefront purchase options continue to render from a single product-page block, with improved bundle rendering.
- Behind-the-scenes reliability and consistency improvements across webhooks and shared app code.
Fixed
Fixed
- Bundle discounts now self-heal if activation silently fails, and you can bulk-delete bundles from the list.
- Assigning many products to a bundle is faster and shows save progress as it works.
- Webhook processing now recovers from dropped database connections and handles closed shops gracefully.
v0.45.0 — May 27, 2026
Added
Added
- Subscription bundles (developer preview): merchants can bundle multiple products into one subscription that customers buy and manage as a single unit. Storefront PDP shows the active bundle, a manage page lets customers edit or remove it, and discounts activate automatically via a discount function.
- Rental engine — individually tracked assets (Phase 4): rental contracts can now allocate to a specific physical unit instead of a pooled quantity. Each unit has its own retire/lose/recover lifecycle, and fulfillments activate per-line subscriptions on the matched unit.
- Rental engine — inventory bridge (Phase 5b): the rental admin can resize the fleet inline, and the app projects rental inventory into Shopify so the storefront stops over-selling sold-out units. Storefront calendar paint also tints weekends and follows the admin’s holiday country.
- Operations hub: a dedicated top-level section for warehouse and fulfillment teams, covering a daily fulfillment queue, returns queue, and an asset overview.
- Unified Purchase Selector storefront block: one product-page block that surfaces every purchase option (one-time, subscription, rental, bundle) with dynamic add-to-cart, includes/trust copy, and full accessibility + mobile support. Replaces the legacy per-mode blocks behind the UNIFIED layout flag.
- Subscription delivery constraints: merchants can configure lead time, delivery horizon, and blackout dates on selling plans, and the storefront enforces them at purchase time.
Changed
Changed
- Subscription plans and contracts are now consolidated into a single Subscriptions hub with three tabs (Overview, Plans, Contracts). Shopify Admin deep links continue to work.
- Admin UI polish across rental and subscription pages: every admin page is now full-width, App Bridge SaveBar replaces inline Cancel/Save buttons everywhere, and the asset detail / scanner / inventory pages got a layout pass.
Fixed
Fixed
- Rental cart subtotal now uses the discount function instead of cart-line repricing (which Shopify rejects when a selling plan is attached). The fleet resize modal also closes cleanly on save.
- App Bridge SaveBar now clears on navigation, and the post-sync toast no longer loops.
- Rental-inventory detail pages no longer 404 after edits, and pricing template updates redirect to the index after save.
v0.44.0 — May 18, 2026
Added
Added
- Subscription plan creation is no longer gated by billing tier — every merchant can create plans regardless of their plan.
- Rental admin surfaces landed (developer preview): inventory, pricing templates, bookings (index, detail, create), rental contracts (index, detail), blackouts (calendar view, holidays, range add), and booking & rentals settings. Hidden behind a developer-merchant gate until GA.
- Rental storefront integration (developer preview): Liquid date picker block on product pages, live availability paint, and a public Add-to-cart flow that creates a pre-pay Booking tied to the cart.
- Rentals Phase 3 — the post-payment lifecycle. When a paid order matches a Booking, the app creates a Rental Contract, hooks into orders/create/paid/cancelled/edited webhooks, and refunds the customer end-to-end when an upstream cart conflict cancels the booking.
- Pricing-template assignment from the rentals admin: mark a product as rental and pick which pricing template applies. Storefront and admin always stay in sync.
- Rentals demo mode: storefront block and admin pages can render mocked data for sandbox stores and merchant demos.
- Theme-extension diagnostics banner surfaces extension health on the storefront so merchants can spot widget issues without inspecting the page.
- Rentals are gated to developer merchants while in preview. Non-developer merchants see no rentals UI yet.
Changed
Changed
- Rental admin pages now use the full admin width so tables with many columns no longer scroll horizontally at default width.
Fixed
Fixed
- Theme widgets now render only circuly’s selling plan groups — native Shopify subscription groups no longer leak into the circuly widget on storefront product pages.
- When a rental booking is auto-cancelled because the dates were lost to a faster checkout (layer-3 conflict), the refund now covers the shipping charge as well as the rental — the buyer never received the rental, so the shipping is refunded in full.
- Storefront app-proxy routes are now aligned with how Shopify strips the proxy path before forwarding to the app — rentals storefront requests reach the right handler.
v0.43.0 — May 11, 2026
Added
Added
- Foundation for short-term rentals — booking lifecycle, availability calendar engine, and a public availability API. No admin UI surface in this release; merchant-facing screens follow in v0.43.1.
- Phase 1 shared rental inventory layer (foundation that Phase 2 builds on).
- Suspended merchants are now blocked from authenticated traffic so they cannot keep using the app while their account is on hold.
Changed
Changed
- Internal type cleanups across subscription settings and refund enums to reduce future regressions.
Fixed
Fixed
- Billing cron no longer silently skips merchants or misclassifies cycle-mismatched contracts.
- Selling plan edit page no longer adds phantom variants when the catalog spans multiple pages.
- Analytics now captures page-leave events for more accurate engagement measurement.
- Klaviyo integration: the in-app “Klaviyo reference guide” link is restored and now opens the hosted docs (event properties, advanced flow patterns, segment prompts).
v0.42.0 — April 30, 2026
Added
Added
- Brand-new Analytics page with key metrics and per-page metric strips on related screens
- Shopify Flow integration with 14 subscription lifecycle triggers — automate workflows when subscriptions are created, paused, cancelled, billed, and more
- Redesigned subscription plan Review step with at-a-glance stat tiles for cleaner pre-save validation
- Slimmer, modern cross-sell widget that mirrors the parent plan’s billing exactly
- Cross-sell rules now support a per-row Purchase mode override (one-time vs subscription)
Changed
Changed
- Tabbed widget variant polished further on the storefront
- Internal type and diagnostics improvements from review follow-ups
Fixed
Fixed
- Custom date range in analytics is now re-pickable, and future-date selections no longer cause crashes
- Plan-edit tables now show the pagination range label
- Top Products list now tiebreaks by MRR when active subscriber counts match, surfacing the most valuable products first
v0.41.0 — April 24, 2026
Added
Added
- Choose your widget layout during onboarding in the new Appearance step
- Onboarding now advises previewing your theme before going live
- New tabbed widget variant and a dedicated Theme settings page in the admin
Changed
Changed
- Onboarding is shorter — the “Your Features at a Glance” step has been removed
- Shopify extensions upgraded to the latest UI platform versions
- Shopify dependencies updated to the latest 2025-07 patches
Fixed
Fixed
- Pricing adjustments no longer revert to the Variant price unexpectedly
- Smoother first render and more reliable local setup scripts
- Invoice template previews show your uploaded logo; WebP is no longer accepted
- Product prices use Shopify’s current API for better accuracy
- Customer account layout renders correctly again
- More reliable navigation inside the customer account extension
- Fewer background processing hiccups on order and payment events
- Recent Activity list rows line up consistently across entries
- Pro plans can now downgrade to Free with a clear confirmation step
v0.40.0 — April 17, 2026
Added
Added
- Subscription limit indicator showing how many subscriptions you’ve used vs your plan cap
- Free plan no longer charges commission fees
- Customers can retry failed payments directly from the customer portal
- Contextual help links added throughout the app for quick access to documentation
- Selling plan form simplified with a new tabbed layout
- Create assets directly from the asset page without leaving the screen
- Onboarding now detects your theme extension and guides setup per template
- New “About You” step during onboarding to personalize your experience
Changed
Changed
- Subscription type “Normal” renamed to “Rental” — existing data migrates automatically
- Replaced hardcoded values with proper enums across the codebase
- Unified brand color consistency throughout the app
- Development and production app configurations aligned
Fixed
Fixed
- Contact Sales link now opens correctly outside the app
- Billing date editing now uses Shopify’s authoritative cycle range
- Metafield values are properly validated for uniqueness
- Billing date restrictions on the client side removed for flexibility
- Skip and unskip operations now use accurate locally computed dates
- Subscription eligibility diagnostics improved in the troubleshoot page
- Store subscription eligibility now correctly reflects merchant status
- FAQ section repositioned below the support form for better flow
- Fixed a rendering loop in the admin query hook
v0.39.0 — April 13, 2026
Added
Added
- Cancel subscriptions directly from the admin panel as a merchant
- Explore the app in demo mode and access developer settings for testing
- Onboarding setup guide is now clearer with improved steps
- Open a support ticket directly from the troubleshoot page
- Your current Shopify plan is now tracked for better support
- Polished onboarding completion screen with clearer next steps
Changed
Changed
- Updated to the latest Shopify platform version for improved compatibility
Fixed
Fixed
- “Deliver every” label no longer shows for non-consumable subscription products
- Subscription cycle information text is now accurate
- Selling plan pricing options and number inputs are cleaner and more intuitive
- Auto-assign rules can no longer be accidentally submitted twice
- Improved data privacy compliance when stores are removed
- Improved webhook security and removed unused event handlers
- Subscription interval validation now prevents invalid values during setup
- Error messages are now clearer and more helpful
v0.38.0 — March 24, 2026
Added
Added
- Migrate existing subscriptions from other apps into circuly
- New merchants can explore the app in demo mode before setting up
- Cleaner frequency dropdown and commitment details in the customer portal
- Migration tool is now available exclusively on the Custom plan
- Commission charges now only apply to subscriptions created through circuly
- Faster subscription plan lookups with local data storage
- Better visibility into automatic billing with attempt tracking
Changed
Changed
- Updated and corrected merchant-facing documentation
- Expanded help documentation with 5 new pages
Fixed
Fixed
- Payment options display now works reliably across all Shopify themes
- Improved app loading performance by removing redundant operations
- Corrected App Store listing links and logos
- Changelog sections now display expanded by default for easier reading
v0.37.1 — March 19, 2026
Added
Added
- Commission charges now only apply to subscriptions created through circuly — orders from other subscription apps are automatically excluded
v0.37.0 — March 12, 2026
Added
Added
- Scan barcodes or look up serial numbers directly from the app
- Troubleshoot wizard to diagnose why a product isn’t eligible for subscriptions
- Automatically assign products to subscription plans by tag
- Clickable attention cards for faster navigation to issues
- Your contact email now syncs automatically from Shopify
Changed
Changed
- Redesigned selling plan form for a cleaner, more intuitive setup experience
- Subscription status badges now use consistent, easier-to-read colors
Fixed
Fixed
- Subscription discounts now apply correctly when swapping products or variants
- Skip and unskip cycle tracking now works reliably
- Navigation menu correctly hidden for users without an active plan
- Overdue contracts are now included in automatic billing
- Clickable rows work consistently across all list pages
- GDPR compliance webhooks now handled correctly
- Creating subscription plans now respects your current plan tier
- Reactivate banner no longer shows for cancelled subscriptions
v0.36.0 — March 4, 2026
Added
Added
- Step-by-step onboarding flow to help you get started faster
- Refresh button on all list pages for quick data updates
- See what’s new with the built-in changelog page
- Simplified setup banner in the extension
- Filter assets by status and copy serial numbers with one click
- Subscriptions list page now has a cleaner, more polished layout
- Error pages now include a direct link to open a support ticket
Changed
Changed
- Internal code improvements for settings pages
- Dashboard cards have a fresh, polished look
- List pages now have better sorting and selection features
- Internal code quality improvements
Fixed
Fixed
- Downgrade button now clearly warns before changing plans
- Clicking a row in list pages now navigates correctly
- Description field help text is now accurate
- Selling plan form labels and help texts are clearer
- Fixed a rare crash when dismissing the What’s New card
v0.35.0 — March 2, 2026
Added
Added
- View billing history directly in the customer portal
- Search and filter contracts in the customer portal
- Upgrade prompts now show which features require a higher plan
Changed
Changed
- Billing cycle actions are now more compact and easier to use
- Variant picker only shows products assigned to the selling plan
- Internal code improvements for consistency
Fixed
Fixed
- Invoice logos now fit properly with a preview before saving
v0.34.0 — February 26, 2026
Changed
Changed
- Internal database cleanup for better performance
- Pricing page descriptions are clearer and easier to understand
Fixed
Fixed
- Improved app startup reliability
- Improved app stability during high traffic
- Better error display when something goes wrong
v0.33.1 — February 26, 2026
Fixed
Fixed
- New users are now properly guided to choose a plan on first install
v0.33.0 — February 25, 2026
Added
Added
- New pricing page with side-by-side plan comparison
- Upgrade prompts appear when accessing features not included in your plan
v0.32.0 — February 25, 2026
Added
Added
- New tiered plan system with different feature levels for each plan
Fixed
Fixed
- Invoice template correctly resets to defaults when requested
v0.31.2 — February 24, 2026
Changed
Changed
- Faster loading of the subscription widget on your storefront
- Product rows are now fully clickable for easier navigation
Fixed
Fixed
- Improved app stability and error handling
- Improved app reliability on startup
- Cross-sell product rows are now fully clickable
- Cross-sell layout works better on mobile and syncs with cart
- Improved app reliability during initial setup
v0.31.1 — February 23, 2026
Fixed
Fixed
- App loads faster with reduced memory usage
- One-time purchase price updates correctly when switching variants
- Subscription dropdown highlights the correct option when switching variants
- Cancellation notice only shows for active subscriptions
v0.31.0 — February 20, 2026
Changed
Changed
- Invoice template editor now has tabs for preview, editing, and settings
- All settings are now on a single page with side navigation
Fixed
Fixed
- Dashboard cards and invoice filters are better aligned
- Reactivation no longer applies to terminated subscriptions
- Resolved billing and swap timing issues
- Performance improvements