Changelog
1.5.1 (2026-09-22)
Improvements
- The extension passes Magento Marketplace's automated code checks again, so it can be packaged and published there — a piece of internal code added in 1.4.1 was rejected by the packaging build and left 1.4.1 and 1.5.0 undistributable. Nothing about how blocks are chosen or displayed changes.
Fixed
- Fixed a recommendation block being credited 0 revenue for a grouped product it had shown — the limitation noted in 1.5.0. A grouped product is never ordered as itself: the shopper buys its associated products, and those reach the order under their own IDs, so the sale the block had driven matched nothing on the order. A block that showed a grouped product is now credited with the associated products the shopper bought from it, so Orders and Revenue for that block in the Product Blocks grid and in the performance report reflect those sales. Bundles were already credited correctly and are unaffected.
1.5.0 (2026-09-21)
Features
- Revenue credited only for the products a block actually showed — Until now a recommendation block was credited with the whole order — every item in the basket plus shipping — as long as the shopper had clicked that block anywhere in the session. One cheap item from the block alongside a full basket of unrelated products read as the block earning the lot, which made the Revenue column in the Product Blocks grid and in the performance report useless for deciding which blocks earn their screen space. A block is now credited with the value of just those ordered items it had put on screen: row total including tax, minus that line's discount. Shipping belongs to no item, so it is credited to no block, and a configurable product's line is counted once rather than twice. Clicks recorded before the upgrade did not store what the block had shown, so orders arising from them now credit 0 instead of the old whole-order figure — this is deliberate, as those are exactly the rows the old figure overstated. Known limitation: a block showing a grouped product credits 0, because the associated products are ordered under their own IDs and the grouped product itself never appears on the order (tracked as issue 323). Bundles are credited correctly. ⚠️ A new nullable column
shown_product_idsis added to tablemst_related_analyticsbybin/magento setup:upgrade; nothing existing is touched and no data is migrated.
Improvements
- Attribution works on every storefront that renders a recommendation block — Luma, Hyvä, and blocks placed through the widget — because the products shown are recorded once per block on the block wrapper both themes already emit, rather than on each product item (neither theme renders its own items in the general case, so a per-item marker would have left Hyvä and widget-placed blocks recording nothing and crediting $0). Your blocks also look exactly as they did before: one extra attribute on an element that was already there, with no new wrapper element that could shift the layout under flex or grid CSS.
- Product pages no longer repeat a block's product lookup. Building the list of products for a block runs the selection-rule query, the native related/up-sell/cross-sell lookup, and a paged product load; that whole sequence used to run again every time anything else on the page asked the block for its products — twice per block, or three times on themes that use the
getItemCollection()alias. It is now worked out once per block per page load.
1.4.1 (2026-09-18)
Improvements
- Speeded up product pages that show several recommendation blocks for a configurable product. To decide whether a block should be displayed, the extension checks the product against the block's display conditions, and for a configurable product it also checks every one of its child products. That whole check was repeated from scratch for each block on the page, so a product with many variations and several blocks did the same work over and over. The verdict is now worked out once per product and set of display conditions and reused for the rest of the page — blocks with different display conditions are still evaluated separately, so which blocks appear does not change.
1.4.0 (2026-09-16)
Features
- Turn click statistics off per store view — A new Enable tracking setting under Stores Configuration Mirasvit Related Products Statistics lets you stop the extension from recording impressions and clicks. It is set per store view, so you can switch it off on one busy store and leave it on elsewhere, and it is Yes by default, so nothing changes until you turn it off. With it off your recommendation blocks no longer send a tracking request to the server as each page loads — one production store was making 4,059 of those requests a day, each loading the whole application — and the Product Blocks grid shows Statistics tracking is disabled in place of Impressions, Clicks and CTR. Orders and Revenue keep working, because they come from order data rather than from tracking, and statistics already collected are kept. Hyvä storefronts honour the setting as well. ⚠️ Configuration path
mst_related/statistics/is_tracking_enabled.
Improvements
- The statistics figures shown in the Product Blocks admin grid — Impressions, Clicks, Orders and Revenue — can now be translated; they were previously hardcoded English.
Fixed
- Fixed order revenue being credited to the wrong recommendation block. When a shopper clicked products in more than one block before placing an order, the whole order was attributed to the first block clicked instead of the most recent one, so the per-block Orders and Revenue figures in the Product Blocks grid and in the performance report pointed at the wrong block. Attribution now follows the last block the shopper clicked.
- Fixed the extension's tracking requests slowing down storefront pages. Every recommendation block sent its own tracking request while the page was still loading, and each of those requests opened a visitor session it never used. On stores with a locking session backend (Redis, for example) those requests queued behind the page that spawned them and added anywhere from 0.4 to 1.3 seconds to how long the page took to finish — more on a page carrying several blocks. The tracking endpoint no longer touches the session.
- ⚠️ Fixed Product Selection Rules failing with an error on stores upgraded from older versions. A rule whose conditions had been saved in the old, pre-JSON storage format could no longer be opened in the admin or applied on the storefront — the page failed with a 500 error. Running
bin/magento setup:upgradenow converts those saved conditions (columnconditions_serializedof tablemst_related_rule) to the current format. A row is rewritten only after the converted value has been read back and compared as identical, and any row that cannot be converted safely is left exactly as it was and named in the error log together with the reason, so you can find that rule and re-save its conditions by hand. The conversion runs once and can be re-run without harm.
1.3.11 (2026-09-03)
Fixed
- ⚠️ Fixed the extension's debug output being visible to any visitor on your storefront. Adding
?debug=mst-relatedto a product or category page URL printed the extension's internal diagnostics — including the raw database queries behind each block — to anyone who used it, with no login required. Debug output is now shown only when the new Developer Mode setting is turned on, under Stores Configuration Mirasvit Related Products General (configuration pathmst_related/general/dev_mode). It is off by default, so nothing is exposed after the upgrade; switch it on only while troubleshooting, and leave it off on production stores. Reported by Michiel Gerritsen (Control Alt Delete). - Fixed the Product has image condition in Product Selection Rules ignoring store views. The condition always looked at the image set for the default store, so on a store view where a product's image is overridden — including a view where it is deliberately left without one — the condition gave the wrong answer, and products could also appear more than once in the same block. The condition now reads the image of the store view being viewed and falls back to the default store's image only when that view has none.
- Fixed the Product Blocks admin grid forgetting your display settings. Changes to the number of rows per page, which columns are shown, sorting, and applied filters were lost as soon as you left the page or reloaded it, and saved grid views were unavailable. The grid now remembers these preferences between visits, the same way the Product Selection Rules grid already did.
1.3.10 (2026-08-20)
Improvements