Skip to main content

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_ids is added to table mst_related_analytics by bin/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:upgrade now converts those saved conditions (column conditions_serialized of table mst_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-related to 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 path mst_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

  • ⚠️ On upgrade, the render order stored for your existing blocks is corrected automatically to match the fixed Priority behaviour described below, so you do not have to re-save every block. Blocks whose placement order was hand-tuned in the database are left untouched.

Fixed

  • Fixed related, up-sell, and cross-sell blocks placed at the inject positions rendering nothing at all on Adobe Commerce (Magento Enterprise) and B2B. On those editions the native product blocks are replaced by Adobe's own Related Products Rules blocks, which the extension did not recognise — so the block silently produced no markup and no error. Such blocks now display their products on all editions.
  • Fixed the Priority setting working in reverse at the predefined layout positions. A lower Priority number now correctly wins: the block with the lowest number renders first and is the one that applies Ignore subsequent blocks. Previously the highest number came first.
  • Fixed the Priority setting working in reverse at the inject positions, so the same block wins there as at the layout positions.
  • Fixed a block saved without a position filling the error log. Such a block injects nowhere, yet the extension still wrote an incomplete layout record for it, which made Magento log a warning on every storefront page load for that store and theme. No record is written now, and clearing a block's position removes the record it had left behind.

1.3.9 (2026-07-22)

Fixed

  • Fixed a fatal error on category and product listing pages for stores running Magento Enterprise (Commerce) / B2B when a Product Selection Rule used a condition based on a product attribute. The page could fail to load with a database error; such blocks now render correctly on all editions.
  • Fixed exclusion conditions in Product Selection Rules (for example "attribute is not Yes" or "does not contain X"). Products that had no value stored for the attribute were being wrongly excluded, which could make the whole block disappear. These products are now included as expected.
  • Fixed the condition value list for custom Yes/No attributes in Product Selection Rules — the Yes and No options now appear in the dropdown so you can build the condition.

1.3.8 (2026-07-02)

Improvements

  • Unified how the extension decides which related, up-sell, or cross-sell block to display in a given page position. The logic that picks the highest-priority active, applicable block is now shared across all storefront placements (including Hyvä themes), so blocks appear consistently. This also enables blocks configured with Use slider = No to render correctly on Hyvä themes.

1.3.7 (2026-06-18)

Fixed

  • Fixed an error that could prevent related-product blocks from rendering inside emails. When transactional emails were generated by the queue (cron) or from the command line, the related products could fail to load with a database error. Blocks now resolve to a valid storefront view in these contexts, so the products display correctly.

1.3.6 (2026-06-18)

Fixed

  • Fixed an error that could break the Add to Cart button shown inside related product blocks, so shoppers can again add those products to the cart directly from the block.

1.3.5 (2026-06-11)

Improvements

  • Clicking anywhere on a row in the Product Blocks and Selection Rules grids now opens that record for editing, instead of only the Select action menu.
  • When you duplicate a product block or selection rule, the copy is now named with a (copy) suffix, so you can tell it apart from the original at a glance.

Fixed

  • Fixed the Reset button on the Product Block and Selection Rule edit pages — it now reloads the form and discards your unsaved changes as expected.
  • Fixed an error that appeared when adding a Product has image condition to a selection rule.
  • Fixed a failure when duplicating a product block or selection rule that had some optional settings left empty.

1.3.4 (2026-06-08)

Fixed

  • Fixed an error when saving a related products block

1.3.3 (2026-06-03)

Features

  • Ignore subsequent blocks — a new per-block toggle. When a block successfully displays its products in a page position, you can have it automatically hide any lower-priority blocks competing for the same position.

Improvements

  • The block grid now includes a Priority column with filtering, so you can see and sort your blocks by priority at a glance.
  • Adds a new is_ignore_subsequent column to the related block table.

1.3.2 (2026-05-11)

Fixed

  • Fixed an error in product selection rules when adding a condition based on the Category attribute, so category-based rules can now be saved and edited without issues.

1.3.1 (2026-05-06)

Fixed

  • Fixed a type error that prevented opening and editing existing product selection rules in the admin.

1.3.0 (2026-04-29)

Features

  • REST API for related products — manage product blocks, selection rules, and analytics over REST. Endpoints under /V1/mst-related/ cover blocks, rules, and analytics (full CRUD), plus read-only access to aggregated analytics, so external systems and integrations can create, update, list, and remove related-product configurations without using the admin UI.

Fixed

  • Fixed access to the Stores → Configuration → Mirasvit Extensions → Related Products section for admin users who had the Related Products permission granted but were still blocked from opening the configuration page.

1.2.31 (2026-04-22)

Improvements

  • Localize module to 15 locales (ar_SA, cs_CZ, de_DE, es_ES, fr_FR, it_IT, ja_JP, nl_NL, pl_PL, pt_BR, pt_PT, sv_SE, tr_TR, uk_UA, zh_Hans_CN)

1.2.30 (2026-03-11)

Fixed

  • Magento 2.4.9 compatibility

1.2.29 (2026-01-21)

Fixed

  • Compatibility with Mirasvit_Email

1.2.28 (2025-12-26)

Improvements

  • Add Price

1.2.27 (2025-11-03)

Fixed

  • CSP fixes

1.2.26 (2025-11-03)

Fixed

  • Added error generation when no theme is set

1.2.25 (2025-09-12)

Fixed

  • Select website id for Single-Store Mode

1.2.24 (2025-09-05)

Fixed

  • Fixed website filtering

1.2.23 (2025-08-27)

Fixed

  • Unrecognized method setFlag

1.2.22 (2025-08-20)

Fixed

  • Compatibility with Adobe Commerce (Magento EE)

1.2.21 (2025-08-06)

Fixed

  • Drop temporary table

1.2.20 (2025-07-25)

Improvements

  • Improved performance of the Block page

Fixed

  • Add website filtering

1.2.19 (2025-07-04)

Fixed

  • Updated temporary table name

1.2.18 (2025-06-06)

Improvements

  • Added row limits for indexing recently viewed products

1.2.17 (2025-05-22)

Features

  • Added the "Recently Viewed" source to the products selection conditions

1.2.16 (2025-04-24)

Features

  • Ability to use selection rules to set up related products for blog posts

1.2.15 (2025-04-14)

Fixed

  • Compatibility with Magento 2.4.8

1.2.14 (2024-12-24)

Fixed

  • Fixed duplicate product pairings in the "viewed_together" index

1.2.13 (2024-12-18)

Features

  • Added integration with Mirasvit Follow Up Email module

1.2.12 (2024-11-22)

Improvements

  • Compatibility with Mirasvit_Sorting - ability to use sorting criteria in related product blocks
  • Remove native related/upsell/crosssell blocks improved (multiple themes, one of them - Hyva)

1.2.11 (2024-11-05)

Improvements

  • Ability to set random order for products in related products block

1.2.10 (2024-10-30)

Fixed

  • Now the Improved Sorting module does not affect sorting in the Block

1.2.9 (2024-09-26)

Fixed

  • Processing product selection rules on category page

1.2.8 (2024-05-29)

Fixed

  • Product image size on some configurations

1.2.7 (2024-05-09)

Improvements

  • Support Mirasvit GDPR extension v1.4

1.2.6 (2024-04-24)

Fixed

  • Processing Product Selection Rules with "contains" in the condition

1.2.5 (2024-04-10)

Improvements

  • Reduced indexing time

Fixed

  • Fixed display issue in widget slider when owl carousel is installed

1.2.4 (2024-03-19)

Improvements

  • Command for restore layout after re-enable module

Fixed

  • Table already exists error

1.2.3 (2024-01-26)

Fixed

  • Item with the same ID exists error if the rule condition contains the Current Product Category

1.2.2 (2024-01-05)

Improvements

  • The Display Out of Stock Products option affects Native Related/Up-sell/Cross-sell products added to a block

1.2.1 (2024-01-04)

Improvements

  • Ability to exclude Out of Stock Products when Display Out of Stock Products option is Yes

1.2.0 (2023-12-29)

Features

  • Selecting products by image availability
  • Ability to choose sort order
  • Assigned products are located at the beginning of the block with their position

Improvements

  • Block rendering performance

1.1.34 (2023-11-24)

Features

  • Setting for statistics history lifetime

1.1.33 (2023-11-06)

Fixed

  • Error on the cart page for Hyva theme if the related products block is disabled

1.1.32 (2023-11-03)

Fixed

  • Add into Native Cross-Sell Block for Hyva theme
  • Processing Product Selection Rules for a block on the cart page.

1.1.31 (2023-10-12)

Fixed

  • Processing Product Selection Rules if the same attribute appears several times in a condition

1.1.30 (2023-10-11)

Fixed

  • Processing Product Selection Rules with "is not one of" in the condition
  • Issue with show Stock Status

1.1.29 (2023-10-04)

Fixed

  • Products selection by price for products whose Product Type is not simple

1.1.28 (2023-10-04)

Fixed

  • Products selection for a block if several stores are configured

1.1.27 (2023-10-02)

Improvements

  • Hide slider dots and slider arrows if only one page

1.1.26 (2023-09-13)

Fixed

  • Base Currency in analytics column on Product Blocs page

1.1.25 (2023-07-11)

Fixed

  • Selection rule for grouped product

1.1.24 (2023-07-10)

Fixed

  • Checking Display Conditions when adding products to Native Block

1.1.23 (2023-07-07)

Fixed

  • Error "Item with the same ID already exists"

1.1.22 (2023-07-07)

Fixed

  • Error "Item with the same ID already exists" when displaying a block

1.1.21 (2023-06-27)

Improvements

  • In the module settings added a limit of the last days for indexing

1.1.20 (2023-06-26)

Improvements

  • Added automatic reset of auto_increment to prevent potential integer overflow during indexation.

1.1.19 (2023-06-23)

Fixed

  • Resolved the 'Duplicate entry for key...' error that occurred while opening the shopping cart

1.1.18 (2023-06-23)

Improvements

  • Added additional optimizations to the product selection mechanism that was improved in version 1.1.17

Fixed

  • Resolved the issue of selecting related products for the block (shopping cart)

1.1.17 (2023-06-09)

Improvements

  • Optimized frontend performance (selecting related products with extra large indexes)

1.1.16 (2023-05-10)

Fixed

  • Rule with Current Product in condition

1.1.15 (2023-04-20)

Improvements

  • Reduced indexing time for stores with a large number of orders

1.1.14 (2023-04-04)

Improvements

  • Added left-right swipe handling

Fixed

  • Image display issue in Bulletproof Template

1.1.13 (2023-03-23)

Fixed

  • Issue with removing Native Block

1.1.12 (2023-03-15)

Fixed

  • PHP 8.2

1.1.11 (2023-02-23)

Improvements

  • Added support of Magento 2.4.6

Fixed

  • Save Block button caption
  • Conditions Contain and Not Contain in Product Rule
  • Value change when editing Rule Conditions

1.1.10 (2022-09-20)

Fixed

  • Remove Native Related Products Block and Remove Native Upsells Products Block for Hyva theme
  • Remove Native Cross Sells Products Block

1.1.9 (2022-09-09)

Improvements

  • Add into Native Related Block for Hyva theme

1.1.8 (2022-09-05)

Fixed

  • Error when displaying a block in stores with a large number of products

1.1.7 (2022-08-18)

Fixed

  • Compatibility with Magento 2.4.5

1.1.6 (2022-07-27)

Fixed

  • Issue with saving analytics

1.1.5 (2022-07-27)

Fixed

  • Call to a member function validate() on null

1.1.4 (2022-07-26)

Features

  • Display conditions

1.1.3 (2022-07-07)

Fixed

  • round(): Passing null to parameter 1() ($num) of type int|float is deprecated

1.1.2 (2022-06-20)

Improvements

  • remove db_schema_whitelist.json

1.1.1 (2022-06-06)

Fixed

  • SQLSTATE42S22: Column not found: 1054 Unknown column "FIELD(e.entity_id...
  • Issue with relative positioning of Related Products block

1.1.0 (2022-05-31)

Improvements

  • Migrate to declarative schema

1.0.24 (2022-05-17)

Fixed

  • Issue with duplicate attribute in rule condition

1.0.23 (2022-05-17)

Improvements

  • update mirasvit/module-core dependency

1.0.22 (2022-05-11)

Fixed

  • Pagination
  • Related product list style when slider is enabled
  • Issue with applying the Number of products setting to a block

1.0.21 (2022-02-23)

Fixed

  • Revenue value
  • Widget template for RTL language
  • Issue with slider

1.0.20 (2022-02-17)

Fixed

  • Cleanup Command

1.0.19 (2022-02-07)

Improvements

  • Decrease products in row QTY for mobile devices

1.0.18 (2021-11-24)

Improvements

  • Quick Data Bar

Fixed

  • Use rule option multiple times
  • Use product list widget for products template

1.0.17 (2021-06-16)

Improvements

  • Added widget
  • Added slider to the related block

1.0.16 (2021-04-19)

Fixed

  • Fix delete message for m2.4

1.0.15 (2020-12-29)

Fixed

  • Issue with logging

1.0.14 (2020-12-11)

Fixed

  • Condition "Current Product ..."

1.0.13 (2020-12-07)

Improvements

  • Ability to replace blocks in the native blocks

Fixed

  • Zen_Json to SerializeService

1.0.12 (2020-11-23)

Fixed

  • Compatibility with m2.1

1.0.11 (2020-10-13)

Fixed

  • Issue with selecting native related product ids

1.0.10 (2020-09-24)

Features

  • use native collecton (related, up-sells, cross-sells)

1.0.9 (2020-08-28)

Fixed


1.0.8 (2020-07-30)

Features

  • Added GraphQL implementation

Improvements

  • Support of Magento 2.4
  • Selection rules for non-product pages

1.0.7 (2020-07-28)

Improvements

  • Selection rules for non-product pages

1.0.6 (2020-07-16)

Improvements

  • Bulletproof template
  • Added GraphQL implementation

1.0.4 (2020-02-28)

Improvements

  • Order products

1.0.3 (2020-02-25)

Improvements

  • Apply filter by stock (by default only saleable products are suggested)

1.0.2 (2020-02-20)

Improvements

  • Ability to use custom block position
  • Indexation performance

1.0.1 (2020-02-11)

Fixed

  • Minor fixes

1.0.0 (2020-02-06)

Improvements

  • Indexation performance

0.0.1 (2020-01-22)

Improvements

  • Initial release