SectionsBundlesPricingFAQBlogAboutContactContactInstall on Shopify

Everything we've shipped.

A running log of what's new in Modulo — sections, blocks, bundle improvements, and the occasional fix. For what's next, see the public roadmap.

improved

Installed sections before paid slots? You keep them all

If you added sections while every section was free, you keep every one of them at no cost. Your next section costs one slot, not one slot for each section you already have.

Read
Total shipped
129
New
68
Improved
36
Fixes
25
September / 2026

September

6 shipped
improved

Installed sections before paid slots? You keep them all

If you added sections while every section was free, you keep every one of them at no cost. Your next section costs one slot, not one slot for each section you already have.

Section slots went on sale this week. Slots meter how many sections a store has installed at a time: the free plan covers 8, and each slot you buy adds one more, for good.

That rule had an unfair edge for stores that were here first. If you installed 30 sections while everything was free, you were 22 over the allowance the moment slots existed, and adding a 31st meant buying 23 slots before a single new one would install. You could not even swap one section for another.

What changed

Every store that installed sections before slots existed now holds exactly the capacity it was using. Nothing was removed, nothing was charged, and nothing needs doing on your side.

  • You keep every section you have, and they keep updating.
  • Your next section costs one slot, the same as for a brand-new store.
  • Uninstall a section and its slot frees up for a different one.

If you bought slots in the days between the launch and this change, they were not deducted. They sit on top as extra room.

Where to see it

Open any section in the catalog. The slot readout now shows the capacity you actually hold. A store that was holding 30 reads 30, and the buy panel offers a single slot for $7 when you want one more.

Thank you

If you added sections while everything was free: thank you for being early. You keep every one of them, and only what you add from here costs a slot. If your plan page says otherwise, tell us, the chat at the bottom right reaches us directly.

improved

Collection Wall: a background photo, six across, and a two-row swipe

Three additions asked for by a merchant running Collection Wall: a background photo behind the whole section, up to six products per row on desktop, and a mobile swipe that carries two rows instead of one long stack.

Three additions to Collection Wall, all from one merchant's request. Every existing install renders exactly as it did before. Each of these is off, or at its old value, until you change it.

A background photo

Under Section colors there is now a Background photo. It sits behind the whole section, product grid and all, and it is tinted with the background colour you already chose rather than with a second colour you would have to tune separately. That is the point: every text colour in this section was picked against that ground, so the photo joins the palette instead of replacing it.

Photo overlay controls how much of the colour covers the photo. It starts at 70%, which is the figure where the small grey text (the subheading, the vendor line, the crossed-out compare-at price) still clears the readable contrast floor even over a solid black photograph. You can take it down to 55% to show more of the image; below 70% the theme editor tells you what you are trading away, and only you can see that note.

The photo is loaded at a size that suits the screen asking for it, and it is never allowed to take priority over your product images.

Up to six products per row

Products per row (desktop) now goes to 5 and 6, for catalogues where the point is breadth. Give them the room: set Content width to Wide or Full bleed under Section layout, or six cards inside the standard container get narrow. Tablets drop back to four automatically, so a six-across grid never renders as a row of slivers on an iPad.

A two-row swipe on phones

Mobile layout gains Swipe (two rows). The one-row swipe and the stacked grid are both unchanged and still there.

Two rows put roughly twice as many products on screen without making the section twice as tall: a shelf a thumb travels sideways rather than a column it scrolls past. Cards keep the same width as the one-row swipe, the next column peeks in to show there is more, and an odd number of products simply leaves the last slot empty instead of stretching anything.

improved

The Blocks page now tells you which blocks are already on your theme

Blocks are grouped by what they do, every block already on your published theme is marked Live, and the page finally explains where blocks actually get added.

The Blocks page was a flat wall of seventeen cards. It did not say what a block is, where one goes, or whether you had already added it. This rebuild fixes all three.

Live on your theme

Any block that is on your published theme now carries a Live badge, and says in how many places if it is in more than one. That is read from the theme itself every time you open the page, so it is not a setting that can fall out of date.

This is the question the page could never answer before. If you have added Sticky Add to Cart and forgotten, the card now tells you rather than leaving you to go and look.

What it still cannot tell you is where on the page a block sits, and it knows nothing about a draft theme. For that, the theme editor is the place to look.

Grouped by what they do

Blocks are now in three labelled groups instead of one long grid:

  • Sell products for the buy decision, like Sticky Add to Cart, Upsell and Product Header
  • Build trust for the things that answer doubt, like Shipping Info, Reviews and Payment Icons
  • Create urgency for Stock Urgency, which is kept on its own because it only ever reports real inventory

There is no filter to set and no search to type. Seventeen blocks do not need either, and a group can never come back empty.

Where blocks actually get added

A section is installed onto your theme by Modulo. A block is not: you add it yourself, inside Shopify's theme editor, from a group called Apps that nothing in the app ever named.

That is now the first thing on the page, with the click path written out and the same illustration the setup guide uses. Underneath it are three guides for when it still goes wrong: the difference between sections and blocks, what to do when the theme editor does not open, and what to check when a block is placed but you cannot see it on your store.

Smaller things

The price is now on the button for anyone on the free plan, instead of appearing after the click. Cards are the same shape as the ones on your dashboard and in the Sections catalogue, so the three pages finally read as one product.

improved

Product Editorial: an add-to-cart button, and badge tags that ignore capitals

Cards in Product Editorial can now carry an add-to-cart button, and a badge rule matches its tag whether you typed Preorder or preorder.

Two changes to Modulo: Product Editorial, both from the same merchant.

An add-to-cart button on the card

Product Editorial was built as a quiet photography shelf: the whole card is one link to the product page and nothing else. That is still what it does out of the box, and nothing about an existing shelf changes.

There is now a Quick add group in the section settings with a checkbox, Show a cart button on each card. Turn it on and every card gets a button under the price.

What the button says depends on the product, and it is decided for you:

  • A product with one version gets your cart button. It adds without leaving the page, and your theme's own cart count and cart drawer update straight away.
  • A product with sizes or colours gets a Choose options link to the product page instead. A cart button there would have to guess which size to add, and we would rather not sell somebody a version they never picked.
  • A sold-out product shows your sold-out wording, greyed and not clickable.

All three sit in the same box, so the buttons line up across a row even when one card's name runs to two lines and its neighbour's does not. You can change the wording on the first two.

If you are on a phone with a bad connection, or JavaScript has not finished loading, the button still works — it just takes you to the cart page the way a normal form does.

Badge tags now ignore capitals

A badge rule matches a product tag. Shopify keeps the capitals you type, so a product tagged Preorder did not match a rule looking for preorder, and the badge simply did not appear, with nothing on screen to explain why.

They now match. Preorder, preorder and PREORDER are the same tag.

The theme editor now tells you when a badge rule found nothing

If a badge rule is looking for a tag that none of the products on the shelf carry, the theme editor now says so, and lists the tags those products actually have — so you can copy one straight across, or see that the products have no tags yet and go add one.

That message only ever appears while you are editing. Your customers never see it.

improved

Concern Tabs — a "shop all" card at the end of every shelf

The last slot in each product shelf is now a card that takes the shopper to that category's whole collection.

A shopper who swipes to the end of a category shelf used to have nowhere to go but back. There is now one more slot after the last product: a card carrying the category's name and a Shop all link, sitting behind a single hairline seam so it reads as the end of the row rather than another product.

It is on by default and takes the same width and the same snap position as the cards beside it, so nothing in the shelf moves.

Where it sends people

In order:

  1. A link you type on the category itself, if you set one.
  2. Otherwise, the collection that category is already showing.

A category built from a hand-picked product list with no collection and no typed link gets no card at all — an empty link that reloads the page you are on is worse than no link, so the card simply does not appear there. The theme editor tells you which categories are in that state.

What you can change

Under Shop all card:

  • Turn it off entirely.
  • Card title — leave it empty and each card uses its own category's name, or type one title to use on every shelf.
  • Card link text — "Shop all" out of the box.

Each category also gets its own optional "Shop all" link, under the product list.

improved

Product Frame — cart drawer, or no buy button at all

Add to cart can now open your theme's cart drawer instead of the cart page — or you can hide the buy button entirely and run Product Frame as a browse-only grid.

Product Frame's Add to cart has always been a real product form, so clicking it submitted the page and landed the shopper on /cart. That is still the default, and nothing changes for an existing section.

There is now a second choice under Buy button → After adding to cart:

  • Go to the cart page — what the section has always done.
  • Stay here and open the cart drawer — the item is added in the background, and your theme is asked to open its cart drawer.

It works from the card button, from the size chips, and from inside quick view. Themes without a cart drawer stay on the page with the cart count updated rather than jumping away.

A note on how it behaves when things go wrong: if the browser has JavaScript turned off, or a script is still loading, the button falls back to the original full-page add. It never becomes a control that does nothing.

Shopify's own Buy now button is unaffected — it goes straight to checkout by design, and no theme or app can change that.

Hiding the button

Buy button → Show the button has a third choice: Never — browse only.

The card becomes a photo that links to the product page, with no buy control on it at all. Sold-out products still show their label, because that is a fact about the product rather than an offer — and when one of them is in the row, the strip under every photo stays reserved so all your cards keep the same height. When nothing in the row is sold out, that strip collapses and the photo gets the space back.

Quick view is unaffected, so Never plus quick view gives you a clean grid that can still sell.

August / 2026

August

10 shipped
improved

Product Buy Box now accepts app blocks

Add a Modulo bundle, or any other app's block, straight into the buy column beside your Add to cart button.

Product Buy Box previously accepted only its own blocks, so there was no way to put a Modulo bundle inside it. If you were using the buy box as your product page, the bundle had nowhere to live. That was a real gap, not a setting you were missing.

The section now accepts app blocks. In the theme editor, open Product Buy Box, click Add block, and you will see an Apps group alongside the built-in blocks. Pick your Modulo bundle there and drag it wherever it belongs, most often just above the Add to cart button.

A few things happen automatically once a bundle is in the column:

  • The quantity stepper steps aside, because the bundle's pack options already choose the quantity, and the Add to cart button takes the full width instead of leaving a gap where the stepper was.
  • Shopify's express wallet button is hidden while a bundle is showing. It bypasses the product form, so it would charge for a single item no matter which pack the shopper picked.
  • On a product that is not part of any bundle, the block renders nothing and leaves no empty space behind it.

This works for other apps' blocks too, not only ours, so reviews, loyalty and subscription widgets can sit in the buy column as well.

One thing worth knowing: app blocks always read the product of the page they are on, not the product picked in the section's settings. If those two are different, the theme editor now tells you so rather than letting it pass silently.

To get it, open the Modulo section catalog and choose Update to latest on Product Buy Box. Your settings are kept.

improved

Slideshow Classic: keep your text still

Turn on Keep text fixed across slides and only the photos change. Your headline and buttons stay exactly where they are.

Slideshow Classic gives every slide its own text, which is right for a slideshow where each slide makes its own point. It is the wrong shape for a banner, where you want one headline sitting still while the imagery moves behind it. Until now the text rode along with the photo and moved on every change.

Open Layout and turn on Keep text fixed across slides. The photos keep rotating, and your eyebrow, heading, subheading and buttons stay put. No fading, no sliding, no re-animating on every change.

The text it shows is the text on your first slide, so there is nothing new to type. Turn the setting on and the words you already wrote stay on screen. Turn it back off and every slide goes back to carrying its own text, exactly as before. Nothing you have written is lost either way.

Two details worth knowing. Text typed on the other slides is ignored while the setting is on, so put your banner copy on slide one. And if you have given your slides their own links, those still work: clicking the photo behind the text follows that slide's link, while your buttons keep their own destinations.

Your existing slideshows are untouched. The setting ships off, and a slideshow with a single slide has nothing to rotate, so it is unaffected either way.

improved

Product Quick Buy — choose 1 or 2 products per row on mobile

A new 'Products per row on mobile' setting lets you show two products side by side on phones instead of one.

Product Quick Buy used to drop to a single product per row on phones, with the photo beside the text. That reads well for a few large products, but merchants running a packshot catalogue asked to browse two-up on mobile the way shoppers expect.

There is now a Products per row on mobile setting under Layout, with 1 or 2.

  • 1 keeps the current layout, photo left and details right. This stays the default, so nothing changes on your existing sections until you switch it.
  • 2 keeps the stacked card at half width and automatically stacks the Add to cart and Checkout buttons, so both labels still fit on a narrow card.

Desktop and tablet are unchanged: the section still uses your Products per row setting on desktop, and two per row on tablet.

Also fixed in the same update: on narrow cards the price and the crossed-out original price could run outside the card instead of wrapping onto a second line. They now wrap, which matters most in currencies that print long amounts.

improved

Your unsaved bundle edits can't slip away

Editing a bundle now raises Shopify's own Save bar, and leaving the page with unsaved changes asks first instead of quietly discarding them.

Changing how a bundle looks — swapping the layout, picking a colour, flipping a toggle — never touched your store until you pressed Save. That part was fine. What wasn't fine is that nothing on screen said so. The only hint was the Save button in the top corner waking up, a long way from the control you had just touched, and clicking away from the page took the change with it without a word.

Shopify's Save bar, not ours

Make a change and the admin's own Save bar slides in across the top, the same one you see when you edit a product. Save commits. Discard puts everything back to the last saved version — not to how the page looked when you opened it, so a save you already made is never undone by a discard afterwards.

Leaving now asks

If you try to navigate away with unsaved changes — a link inside the app, the browser Back button, closing the tab — you get asked first. Nothing is thrown away on your behalf.

New bundles are covered too

This used to apply only when editing an existing bundle. A half-built new bundle is the one with nothing saved anywhere to fall back on, so it now gets the same protection.

Saving still works exactly as it did, and the confirmation you get after a successful save is unchanged.

improved

Bundle block now ships half the JavaScript

The bundle block's script dropped 49% on the wire, from 15.4 KB to 7.9 KB compressed. Same behaviour, nothing for you to change.

The bundle block runs a script on your product page to switch tiers, re-price the cards, and add the right quantity to the cart. That script has been growing for months as we fixed things, and it had become the heaviest file we ship.

It is now half the size: 15.4 KB down to 7.9 KB compressed, a 49% cut. It also comes in under Shopify's recommended ceiling for an app block script for the first time.

What this changes for you

Nothing to click, and nothing to redo. Your bundles look and behave exactly as they did. Your settings, tiers, gifts and design presets are all untouched. The only difference is that product pages carrying a bundle block download less code before the block becomes interactive.

Being straight about the scope: this is one file getting smaller. It helps pages with a bundle block on them, it will not change your store's speed score on its own, and your own images and theme are still the bigger factors on most stores.

How we did it

The script carries a lot of written explanation inside it, notes for whoever touches that code next, and it turned out those notes were 43% of what shoppers were downloading. We had assumed they cost almost nothing, so we had never looked. They did cost something.

The notes now stay in our source and shoppers get a compressed version, so we keep the documentation and your customers stop paying for it. We also added a check that fails our build if this file ever creeps back over Shopify's recommended size, so it cannot quietly grow again.

If you spot anything off with your bundles after this, the chat at the bottom right reaches us.

improved

Quantity picker for one-size products

Product Shelf and Product Picks now show a quantity dropdown on products that only come in one size, so every card has a working picker instead of a dead label.

If a product came in two sizes, the card showed a dropdown. If it came in only one, the card showed the size as plain grey text, because there was nothing to choose. Sitting side by side in the same row, that looked like the dropdown had failed on half your products.

Those cards now carry a quantity dropdown instead. A 5 kg bag of flour reads "5 kg × 1", "5 kg × 2", "5 kg × 3", so the shopper can still see the size and can now buy more than one without opening the product page.

What this changes for you

Nothing to set up. The setting that controls this is on by default, and it is now called Show variant and quantity picker under the Card group, so it is easier to find. The rule is simple:

  • A product with real options gets the size or option dropdown, exactly as before.
  • A product with one option gets a quantity dropdown.
  • Either way, every card in the row ends up with a dropdown of the same size, so the row stays even.

The quantity list stops at your real stock. If Shopify is tracking inventory for that product and you do not allow overselling, a product with 3 left offers 1, 2 and 3, not 10. We would rather show fewer options than let a shopper pick a number that fails at the cart.

Getting the update

Open Sections in the app, find Product Shelf or Product Picks on your installed list, and choose Update to latest. Your headings, colours, product choices and every other setting are kept. Only the section code is replaced.

Thanks to the merchant who reported this one and sent screenshots. That is what made it clear the row looked broken rather than merely inconsistent. If something looks off on your cards after updating, the chat at the bottom right reaches us.

improved

Category cards: pick a collection and the whole card links itself

Six category and collection sections now take a collection picker, so the image becomes a working link without you finding the Link field first.

If you added one of our category sections, uploaded your photos and then found the images didn't go anywhere, this is why: the card only became a link once you filled in the Link field, and it was easy to miss.

Every one of these now has a Collection picker sitting above Link:

  • Category Circles
  • Category Cards
  • Category Slant
  • Collection Grid
  • Collection Rail
  • Collection Slider

Pick a collection and the whole card — image included — links straight to it. Nothing else to fill in.

Your existing sections are untouched

If you already typed something into Link, it still wins. The collection picker is only used when Link is empty, so nothing you have already set up changes or needs redoing.

Link is still there for anything that isn't a collection: a page, a single product, or an external URL.

The whole card was always the click target rather than just the title — that part hasn't changed. What's new is that it no longer takes a second step to switch on.

Thanks to the merchant who pointed this out. If something in Modulo works but takes more steps than it should, the chat at the bottom right reaches us.

improved

Slideshow Classic: a colour per line of text

Give the eyebrow, heading and subheading their own colours, or leave them empty and keep one colour for all three.

Slideshow Classic used to paint the eyebrow, heading and subheading in a single Text colour. Now each one can have its own.

Open Colors and you will find three new pickers under Text: Eyebrow color, Heading color and Subheading color. Leave any of them empty and that line keeps following the Text colour exactly as before, so nothing changes on the slideshows you have already built until you decide to change it.

A small detail worth knowing: the eyebrow and subheading are normally softened slightly so the heading leads. The moment you choose a colour for one of them, that softening lifts and you get the exact colour you picked. A softened colour blends with the photo underneath, so it is never quite the colour on the swatch.

Also fixed: on some themes the slideshow text was picking up the theme's own heading and paragraph colours instead of the Text colour you had set. That showed up most often as dark text sitting on a dark photo. The slideshow now states its colours outright, so your setting wins.

improved

Header Pill: live cart count and a built-in cart drawer

The cart count now updates the instant something is added, from anywhere on the page, and tapping the cart opens a real drawer instead of only loading the cart page.

Two changes to Modulo: Header Pill, both from a merchant report.

The count is live now

The cart badge was written once, when the page was built. That was correct on every page load and wrong from the first add onwards: if a shopper added something without the page reloading, the number sat still until they navigated somewhere else.

Themes keep their own cart badge current, but they do that by re-rendering their own header, which is the section you switched off in order to use this one. So the update never reached us.

The header now watches the cart itself. Any add, quantity change or removal, from anywhere on the page, updates the badge within a moment. That includes:

  • your theme's own add-to-cart button on a product page
  • Frequently Bought Together, Volume Bundles, Sticky Add to Cart and Quick Buy
  • other apps that write to the cart

Nothing to turn on. It applies as soon as you update the section.

The cart opens a drawer

Tapping the cart used to do one thing: load the cart page. Now it slides open a cart drawer with the items, quantity controls, remove, the subtotal and a checkout button, so shoppers keep their place on the page.

The drawer is the header's own rather than a hook into your theme's. That is deliberate: most themes keep their cart drawer inside their header section, so it disappears along with the header you replaced. Building ours means it works the same on every theme.

You can switch back at any time under Icons → Tapping the cart → Goes to the cart page.

Updating

Open the section in your Modulo catalog and choose Update to latest. Your settings are kept.

improved

Bundles: one dropdown per option, not one per variant

With Let Customers Pick Each Variant turned on, a product with more than one option (color and size, for example) now shows a separate dropdown for each, instead of one long list of combined variant names. Combinations you don't stock are marked as the shopper picks, and picking your way into one blocks Add to cart with a clear message.

If you use the Let Customers Pick Each Variant setting, each unit in the bundle gets its own dropdown so shoppers can choose a variant per item, not just a quantity. Until now, that dropdown listed every variant by its full name, so a product with color and size options showed a single list like "Black / S", "Black / M", "White / XXL", and so on. The more options a product had, the longer and harder to scan that list got.

Each unit now shows one dropdown per option instead: a Color dropdown and a Size dropdown, side by side. Shoppers pick color, then size, the way they would on your product page.

As they pick, any value that would lead to a combination you don't stock is marked, so it's clear before they commit to it. If a shopper does land on a combination that isn't available, Add to cart is blocked and a message tells them so, rather than adding the wrong thing silently.

Nothing to set up. Existing bundles with the setting already on pick this up automatically. Products with only one option are unchanged, and bundles that don't use the per-unit picker aren't affected at all.

July / 2026

July

4 shipped
improved

Sections that need setup now say so

Twenty sections depend on something you create in Shopify, like a discount code or a published blog post. The section preview now tells you which one, before you add it, and links straight to the right screen.

Some sections cannot work on their own. A popup that shows a discount code does not create that discount: it displays the code and applies it at checkout, and your own discount rules decide everything after that. Until now nothing said so, so the first sign of a problem was a code that appeared to do nothing.

Twenty sections have a dependency like that. Opening any of them in the catalog now shows what it needs, above the Add to theme button, with a link that opens the exact screen in your Shopify admin where you can set it up.

There are four kinds:

  • A discount code, for the popup, countdown and sale sections that display one.
  • A published blog post, for the blog sections. With no articles they render as an empty strip rather than an error.
  • A reviews app, for the sections that show star ratings. Without one the stars stay hidden and the rest of the section works normally.
  • A best-selling collection, for Best Sellers. The ranking tabs only appear when the collection you pick is sorted that way.

One detail is worth calling out, because it is the most common cause of a code that looks broken: the discount type has to match the offer. A buy-one-get-one needs a "Buy X get Y" discount. Created as a percentage, the code will apply correctly and the second item still will not be free.

Also in the catalog

The "New this week" tab is gone. It filtered to the same sections the catalog already lists first, so it was a control for something the default order was doing anyway. New sections now carry a New badge on the card instead, which stays visible whichever category or sort order you are browsing.

Filter counts now match what you will actually get. Pick a category and the tab counts narrow with it, rather than continuing to count the whole library, and a tab with nothing in it no longer shows a zero.

Your filters are also part of the page address now, so a refresh keeps them and you can send someone a link to exactly the view you are looking at.

improved

Slideshow Classic — link the whole slide

Make the entire slide image clickable, so designs with text and buttons baked into the photo link straight through.

Slideshow Classic slides could only be clicked on their buttons. If your slide artwork already has the headline and a "Buy now" laid into the photo, there was nothing to click.

Each slide now takes an optional Slide link. Set it and the whole image becomes clickable, so you can design the slide exactly how you like and let the entire thing lead to one destination.

A few details worth knowing:

  • Buttons still win. If a slide has both a slide link and buttons, each button keeps its own destination. Only the area around them follows the slide link.
  • Swiping still works. Swiping a linked slide on a phone changes the slide instead of opening the link.
  • Add a link description. A whole-slide link has no text of its own, so screen readers need one. It falls back to the slide heading, then the image's alt text.

Leave the slide link blank and nothing changes.

improved

Bundles: even side-by-side packs, your choice of layout

Side-by-side bundle packs now stay even instead of the selected one stretching wide. A new Options placement setting lets you keep the picker and free gift attached to the pack, or move them to a clean row below for perfectly uniform cards.

Side-by-side bundle packs now stay even. Before, the selected pack stretched wide to fit its variant dropdowns and free gift while the other packs shrank to slivers. Now the packs hold equal widths, so the row looks balanced no matter which one a shopper picks.

You also get a new Options placement setting (under Layout, when you choose the side-by-side layout):

  • Attached to pack (default): the per-unit picker and free gift stay on the selected card, exactly where they were. The selected card grows a little taller to fit them.
  • Row below: the picker and gift move into a clean full-width row beneath the packs, so all of the cards stay the exact same size.

Nothing changes for your existing bundles unless you switch the setting. Prices, savings, badges, and your "buy more, save more" tiers all read the same, and the editor preview matches whichever option you pick.

Read more
improved

Sections catalog: a category sidebar that stays with you

Categories are now organized into five goal-based groups with stable positions, the list scrolls on its own while you browse, and the request-a-section card is always in view.

Finding the right section just got faster. The category sidebar in the Sections catalog is now organized into five groups that match what you are trying to do: Capture attention, Sell products, Build trust, Explain & show, and Convert & site chrome. Every category also carries its own icon now, so you can spot Hero, Testimonials, or FAQ at a glance. Categories keep a fixed position inside their group, so once you know where FAQ lives, it stays there. No more reshuffling as new sections ship.

The sidebar also keeps itself on screen. The category list scrolls independently while you browse the catalog, so switching categories never means scrolling back to the top of the page. And the request card is now always one glance away instead of hiding at the bottom of the list.

That card got clearer too. Missing a section, or want one of ours changed for your store? Send us a screenshot of what you have in mind and we build it for you, usually within 30 to 60 minutes. And if your theme ever causes problems with a section, the card now has a direct line to live chat so you get help right away.

Read more
June / 2026

June

11 shipped
improved

Editorial Story heading font + Hero Kinetic contrast

Editorial Story can now use your theme's heading font, or any font from your library. Hero Kinetic's overlay can be lightened or darkened so your text always has enough contrast over the image.

Two refinements to popular sections, both driven by merchant feedback.

Editorial Story: a heading font you control. The heading used to be locked to its editorial serif. Now there is a Heading font setting with three choices: keep the editorial serif, use your theme's own heading font so it matches the rest of your store, or pick any font from your library. Set it to Theme font and the heading falls in line with your theme's titles.

Hero Kinetic: dial in the contrast. The image overlay now has clear Overlay opacity and Overlay color controls. Raise the opacity with a dark colour to darken the photo for light text, or with a white colour to brighten it for dark text. Set the overlay style to Even for a uniform wash behind your heading, the same way a standard image banner works.

As always, open the section in the Modulo app and hit Update to latest. Your settings are kept.

Read more
improved

Bundles — clearer 'add the block' guidance

The Publishing card and the bundles list now remind you to add the Modulo theme block, so published bundles actually show up on your storefront.

A published bundle only appears once the Modulo block is added to your theme. Now the app makes that clear instead of leaving you guessing.

  • Publishing card: when a bundle is active, it reminds you to add the Modulo block to your theme, with a one-click link straight into the theme editor.
  • Bundles list: a simple, dismissible "Add the Modulo block" banner with the same one-click link — so you catch it before you think you're done.

Straightforward guidance, no guesswork.

Read more
improved

Bundles — redesigned builder + warmer storefront

New create/edit form, warm-brand defaults, a compact free-gift teaser, and friendlier validation. The 2-pack is now the default-selected offer on new bundles.

The bundle builder got a full pass: a clearer create form and empty state, brand-colour swatches with sensible warm defaults, collapsible style groups with per-group reset, and an honest "Publishing" card that only claims a bundle is live when the storefront block is actually present. On the storefront, unselected gift tiers now show a clean gift teaser. Fixed-amount discounts above $100 are now accepted.

Read more
improved

Insights — a calmer overview that reads as information, not alarms

A real views-and-revenue trend chart, low-confidence handling so a single order no longer shows a scary −77%, drop-off annotations on the funnel, and tidier events and sections.

The Insights page got a full pass so the numbers tell you what's happening without making a one-order day look like a crisis.

  • Views & revenue over time: a proper trend chart with both lines, a hover tooltip, and peak labels — replacing the single-spike sparklines that read as broken.
  • Calm low-data handling: below a sensible volume threshold, loud red percentages become quiet Low data / No change chips and a "still ramping up" note, so early swings don't panic you.
  • Funnel that shows the leak: each stage gap is annotated ("▼ 58% drop to carts"), and a missing checkout signal now reads as "not tracked" instead of a false 100% drop.
  • Performance vs diagnostics: Overview, Funnel and Bundles sit together; Sections and Events move to the right as the technical "is the pixel firing?" group.
  • Tidier logs: events show full timestamps with a type filter, and installed sections are de-duplicated by name with a theme count.

Same data, far easier to trust.

Read more
improved

A clearer home dashboard

The Modulo home screen is calmer and easier to act on: it opens with one clear next step, shows real previews of the section and block libraries, puts bundles front and centre, and keeps a one-tap line to support — all in the warm Modulo look.

Your Modulo home screen got a tidy-up. The goal was simple: open the app and know exactly what to do next, without hunting through clutter.

One clear next step. The page now leads with a single, obvious action — find a high-impact section for your store — instead of competing buttons. Everything you build with Modulo (sections, conversion blocks, bundles) sits below it in a clean, scannable layout.

See before you pick. The Sections and Blocks libraries each show a real wall of designs right on the card, so you can eye what's inside before you open it. Bundles & Gifting gets its own spot up top — the fastest way to grow an order.

Honest by default. No invented stats, no "we scanned your store" claims — just popular, high-impact starting points and the real counts of what's in each library.

Help is one tap away. A quiet line at the bottom lets you reach us whenever you're stuck — and you can leave a review or send feedback in the same breath, whichever works for you.

Same Modulo, less noise. Nothing you'd set up before needs redoing — this is purely the home screen.

Read more
improved

Hero Bento — per-card image opacity

Each card in Modulo: Hero Bento now has its own Image overlay opacity slider — the feature card and every promo tile dim independently. The overlay now darkens the whole photo evenly, so the slider does what you'd expect at a glance.

When a card in Modulo: Hero Bento uses a background photo, you can now dim that photo per card. The big feature card and each promo tile carry their own Image overlay opacity slider, so you can keep one image bright and pull another back behind its text — independently.

The slider now dims the whole photo. Previously the overlay was weighted toward the text side and faded out across the image, which made higher values look like they were barely doing anything. Now the dimming is even edge-to-edge, with just a touch extra under the text for legibility — so 60% looks like 60% across the whole card.

Your existing settings are kept. Open Hero Bento, find Image overlay opacity under the feature card and on each promo block, and dial each one to taste.

improved

Section catalog — clearer cards, calmer grid

Cards now lead with the section name, a category tag, and a one-line description. Quieter buttons and a contrast fix make the catalog easier to scan.

The section catalog got a polish pass focused on making it faster to find the right section.

Each card now has real signal. Every card leads with a clean section name, a category tag, and a one-line description of what it does — so you can tell a Hero from a Footer at a glance instead of studying the thumbnail.

A calmer grid. The bold call-to-action moved to the section's detail view, so the grid is no longer a wall of identical buttons competing with the previews. The previews now carry the page, and a small accessibility fix improves button readability.

Thin sections preview better, too. Slim sections like the announcement bar now sit on a subtle page backdrop so they read as "a bar on a page" rather than floating in empty white.

improved

Footers now install site-wide — set up once

The community footer now slots into your theme's Footer area instead of individual pages — so it shows on every page and is configured in one place. No more adding and re-setting it page by page.

A footer belongs at the bottom of every page — but until now, adding one meant dropping it onto each template (home, product, about, terms…) and configuring it again every time. That's fixed.

Add it once, in the Footer area. The community footer now appears in your theme editor's global Footer zone — the same place your theme's own footer lives. Add it there a single time and it renders site-wide automatically.

Configure it in one place. Because it lives in the Footer area, your settings — logo, menus, colors, contact details, payment row — are stored once and apply everywhere. There's nothing to repeat per page.

Swapping in is clean. When you add it, hide or remove your theme's default footer in the same Footer zone, and you're done.

If you'd previously added the footer onto individual pages, those keep working — you can delete them and re-add it once in the Footer area for the tidy, configure-once setup.

improved

Update your installed sections to the latest version

When we improve a section you've already added, the catalog now flags it with an 'Update available' badge — and one click pulls the newest version onto your theme. Your settings stay exactly as you left them; only the design and code are refreshed.

Until now, a section was a snapshot: once you added it to your theme, it kept the version it had on the day you installed it. Improvements and fixes we shipped afterwards never reached the sections you already had. That changes today.

You'll know when there's something new. When we ship an improvement to a section you've already installed, it now shows an Update available badge in the catalog — so you don't have to wonder whether you're on the latest. Sections you haven't touched stay quiet.

One-click "Update to latest". Open the flagged section, click its button, and you'll see a new Update to latest option next to Edit and Remove. One click re-applies the newest version to your theme — no need to remove and re-add.

Your settings are kept. This is the important part: updating refreshes the section's design and code, but everything you configured — headings, images, colors, menus, layout choices — stays exactly as you set it. There's nothing to reconfigure afterwards.

You're always in control. Updates never happen behind your back. Nothing touches your live storefront unless you click Update, and a short confirmation tells you plainly what will and won't change first. (The one thing it replaces: any manual code edits made directly to the section file in the theme editor.)

improved

Upsell block: tap-through products, your language, your currency

Recommended products are now clickable through to their product page, the 'Save' / 'Sold out' / summary labels are editable and translatable, prices always follow your store currency, and the product thumbnails are cleaner and frameless.

A round of polish for the Upsell ("Frequently Bought Together") block, driven by merchant feedback.

Tap a product, go to its page. The product image and title in each upsell card are now links to that product's page — handy on mobile, where the instinct is to tap the product. The "+ Add" button and variant picker stay separate, so adding to cart still works exactly as before.

Labels you can translate or hide. "Save", "Sold out", and the running "added to your order" summary used to be locked in English. They're now editable settings, so you can match them to your storefront's language — or hide the savings and summary with the existing toggles.

Prices always in your store's currency. Automatic recommendation cards now read your store's currency directly, so prices, compare-at and savings always show the right symbol (€, £, kr…), never a stray "$".

Cleaner, frameless thumbnails. Product images sit flush in the card with no grey box or border, blending into your theme instead of reading as framed tiles.

A quieter empty state. A freshly added block with no products picked yet no longer shows placeholder cards to shoppers — that preview is now visible only to you in the theme editor.

improved

Automatic upsell picks, fairer review prompt, faster admin

The Upsell block can now pick products automatically, the in-app review prompt is neutral and policy-compliant, and the admin dashboard loads quicker.

Upsell can pick products for you. The "Frequently bought together" block no longer needs a manual product list. A new Recommendation source setting lets you choose:

  • Related — Shopify's own recommendation engine, zero setup.
  • Complementary — products you've paired in Shopify's free Search & Discovery app.

Pick how many to show (1–10). Your manually chosen products stay on as the fallback, shown only when no automatic recommendations come back — so the block is never empty.

Cleaner product thumbnails. We removed the boxed-in border that framed each product image in the Upsell block. Thumbnails now sit flush and frameless, blending into your theme's card instead of reading as grey-bordered boxes.

A fairer review prompt. The in-app "Enjoying Modulo?" banner used to route happy merchants to the public App Store review and quietly divert everyone else to a private feedback email. That's a sentiment gate, and it's against Shopify's review policy. It's gone. Now everyone sees one neutral prompt — "How are we doing?" — with the same two always-available choices: leave a public review, or send private feedback. Your call, either way.

A quicker admin. We trimmed weight off the dashboard's first paint — slimmer font loading, inline icons instead of an icon font, and the above-the-fold image loads eagerly. Section install-status checks are now batched and run in parallel, so stores with lots of sections see status resolve faster.

May / 2026

May

5 shipped
improved

Blocks that inherit your theme

Upsell, Sticky Add-to-Cart and Product Header rebuilt to inherit your theme's fonts and colors from a single accent — plus a new tear-off Offer block in place of Trust Badges.

A wave of block redesigns with one idea behind it: a Modulo block should look like it belongs in your theme, not like an app dropped on top. Each rebuilt block now inherits your theme's font and text color and derives its tones from there — you set one accent, not a dozen color knobs. The cart and drawer mechanics underneath are unchanged and still fully tested.

Upsell → Quick-Add. The "Frequently bought together" rows got a real – 1 + quantity stepper that syncs the exact cart line, an honest star rating (pulled only from your real reviews.rating metafield — never faked), a savings chip, and a running "added to your order" summary. Seven color settings collapsed to accent + ink.

Sticky Add-to-Cart. The bar now adapts to its own width — it reveals the compare-at price, then a thumbnail, then the variant selector as space allows, while the price and Add button never move. Respects the phone's safe-area at the bottom. Five color settings collapsed to three.

Product Header. Rebuilt on the same theme-neutral foundation with header-size and savings-style presets, and settings that reveal themselves only when relevant so the panel stays short. The standalone rating/stars option was dropped here — star ratings live with the Upsell and review blocks that read real data.

New: Offer block. A tear-off voucher with a perforated notch punched through to your theme, a tag eyebrow, a benefit headline, an optional honest deadline, and a one-tap "copy code" field that confirms out loud for screen readers. It replaces the old Trust Badges block, which had zero installs and has been removed.

improved

One less toggle, one fewer 404

Bundle thumbnails now always stack by tier quantity, the Product Header preview is back in the block catalog, and the checkout-upsell extension is retired so the install footprint stays focused.

A small follow-up sweep behind today's editor cleanup.

Stack Images by Quantity is gone — and on by default. The setting used to gate whether tier cards showed 1 thumbnail or N overlapping thumbnails. It only mattered when product images were on, and the visual outcome wasn't obvious from the label. Now: if product images are enabled, tiers always render stacked thumbnails capped at 4 (so a 3-pack shows 3, an 8-pack shows 4). One fewer setting to think about; no migration on your side.

Product Header preview no longer 404s. The Product Header block was added without a catalog preview image last week, which made it 404 in the in-admin block library and produced noisy Render logs. The preview is now in place and the block renders cleanly in the picker.

Checkout upsell extension retired. The pre-purchase and thank-you upsell extension is removed. The pre-purchase target had an empty-state render bug, the thank-you target needed undocumented merchant enablement to show up, and neither was meeting the bar. Focus stays on what's solid today: Volume Bundles, page-builder sections, and theme-app-extension blocks. If you weren't using it, you'll notice nothing.

improved

Cleaner editor, honest trust signals

Tier editor simplified, social-proof and reviews now refuse to render without real data, a new Product Header block, and a more native-feeling admin chrome.

A batch of merchant-facing improvements over the past week.

Tier editor simplified. The per-tier "benefits" checklist on each Volume Bundle offer is gone — it duplicated the standalone Benefits List block. Offer cards are cleaner; storefront CSS and JS shrink. The gift-tier mismatch advisory also got rewritten so it explains both halves of the rule: gifts aren't auto-added at higher tiers, but the discount function still marks them free if they're already in the cart from elsewhere.

Trust blocks gate on real data. Social-proof and reviews blocks no longer render with placeholder counts or invented review snippets. If a real data source isn't wired up, the block stays hidden — no faked scarcity, no phantom reviews.

New block: Product Header. A single source for the product title + meta row, with size and style controls. The legacy Coupon block was retired — discount surfaces belong inside Shopify's native flows that your customers already understand.

Admin chrome went native. Pages now use Shopify's s-page shell — consistent heading sizes, slimmer support bar, wider canvas for catalog grids and the Sections / Blocks / Bundle Designs libraries. Less app-specific styling, more Shopify-native feel.

Smoother section install. Deep-links into the theme editor now open in the right window context (no broken _blank handoffs in embedded admin), and a banner surfaces if your browser blocks the popup so you know exactly what to allow. Page-builder sections also now use Shopify's native placeholder graphics when no image is set — faster installs, no app-bundled fallback weight on your theme.

improved

Insights got a real dashboard

KPI sparklines, a proportional bundle funnel, per-bundle performance with CSV export, and a 7d / 30d / 90d / all-time range picker.

The /app/insights tab used to be a compliance-only read-only page. It now does the job merchants kept asking for: see what's actually working.

  • KPI sparklines with prior-period trend chips — "+18% vs last week" visible at a glance.
  • Proportional bundle funnel — impressions → opens → adds → orders, with conversion percentages between each step.
  • Per-bundle performance table with CSV export, so you can pull data into a spreadsheet instead of screen-scraping.
  • Date range picker — 7 / 30 / 90 days or all-time. Deep-linkable via ?days= if you want to bookmark a comparison view.
  • Five-tab layout matching the cream-paper / navy / coral vocabulary the rest of the admin uses.

Still a first cut — full attribution-aware analytics is a separate post-MVP shipment — but the funnel and per-bundle CSV are enough to answer "which bundle is pulling its weight?"

improved

Trust badges — 22 new icons + 4 layouts

Per-locale labels (EN / SE / DE / FR), four layout variants, configurable spacing.

Trust badges now ship with 22 vetted icons (payment, shipping, returns, guarantees), four layouts (row, grid, stack, badge-strip), and full localization. Existing installs auto-upgrade — the schema additions are non-breaking.

Want to shape what we build next?

Vote on the public roadmap, submit a request, and follow active threads.

Open roadmap