PackageTrack
Sign in Get early access

smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

2.12.1 4.8M downloads/mo #2809 most downloaded on Packagist Smile-SA/elasticsuite

What this package is like to depend on

Last release 19 days ago

04 Aug 2026

Ships fairly regularly

a new release about every 5 weeks

Rarely documented

notes for 7 of 218 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

227 releases · first in 2016

24 releases in the last 12 months

see the full history below

Release timeline

225 releases · Mar 2016 to Aug 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 227
  1. 2.12.1 04 Aug 2026
    Release notes

    ⛔ ⛔ This is an invalid release superseded by 2.12.1.1 correctly built on top of 2.12.x for Magento 2.4.9+ ⛔ ⛔

    Open source →
  2. 2.12.1-rc1 30 Jul 2026 pre-release
    Release notes

    What's Changed

    📦 Features

    • [Analytics][Optimizer][VirtualCategories] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc in #3893
    • 💎 [Explain] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc
    • 💎 [GlobalBehavioralData] Support revenue metric by @rbayet
    • 💎 [Recommender] Add support for FPC on related products and upsells ajax requests by @rbayet
    • [Thesaurus] Allow customizing thesaurus cache TTL (from 5 mn to 30 days) by @rbayet in #3877
    • [Tracker] Allow individual tracking sales of bundle and grouped products by @rbayet in #3879

    💻 Technical

    • [Autocomplete] Compare user query/popular search terms case insensitive by @rbayet in #3880
    • 💎 [Core] self.version dependency for beacon module by @rbayet
    • 💎 [Explain|Thesaurus] Adapt to the rework of max_alternative_queries application by @rbayet
    • [GraphQl] Fix filtering on text attribute and add negation operator by @PierreGauthier in #3890
    • [GraphQl] Remove empty or disabled category from aggregation by @PierreGauthier in #3889
    • 💎 [InstantSearch] Add HTTP Cache tags to HTTP response if FPC enabled by @rbayet
    • 💎 [Recommender] Support attributes w/ standard_edge_ngram for similarity by @rbayet
    • 💎 [Recommender] Ajax endpoint: change the way the FPC cache is enabled/disabled by @rbayet
    • 💎 [Recommender] Apply cache/no-cache compatible behavior to the ajax loader by @rbayet
    • 💎 [Recommender] Add ability to limit time span for co-occurrences lookup by @rbayet
    • [Thesaurus] Enforcing max alternative queries during generation by @rbayet in #3894

    🐛 Fixes

    • [Core] Fix #3884, Search Relevance null array offset deprecation warning by @vahonc in #3886
    • [Core] Fix PHP 8.5 deprecated use of null as array key for virtual category provider by @hostep in #3876
    • 💎 [Explain] Fix rendering of ignored synonyms by @rbayet
    • 💎 [NeuralSearch] Discard case where embeddings are missing by @romainruaud
    • 💎 [NeuralSearch] Fix OpenSearch 3 compatibility (nmslib deprecated, ski… by @PierreGauthier
    • [Optimizer] Quote column names in Optimizer/Collection.php by @wienczny in #3864
    • [VirtualCategories] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • [VirtualCategories] Replaces null frontend_input for virtual cat. attributes by @rbayet in #3881

    New Contributors

    Full Changelog: 2.12.0...2.12.1-rc1

    Open source →
  3. 2.12.0 29 May 2026
    Release notes

    🏆 Main features

    Introducing Elasticsuite 2.12.x for Magento 2.4.9

    Magento 2.4.9 was officially released two weeks ago with, sadly, some breaking changes that were not present in the its latest beta because we all need a bit of fun and adventure in our lives /s.

    Since some fixes were not possible to integrate in the 2.11.x branch (which was already stretched on a wide range of PHP, MySQL/MariaDB and Elasticsearch/OpenSearch versions, let's be honest), the location of 2.4.9+ Elasticsuite compatibility will be the 2.12.x branch and this is its first official 2.12.0 release.

    💎 Highlighting of autocomplete search results

    To enable the highlighting of matched text in the popular term and product autocomplete search results, new settings are available in Elasticsuite Premium at

    • Stores > Configuration > Elasticsuite > Autocomplete > Popular Term Autocomplete > Highlight Results
    • Stores > Configuration > Elasticsuite > Autocomplete > Product Autocomplete > Highlight Results

    The feature is available both in the legacy React-based and Vanilla JS InstantSearch autocomplete.

    For popular terms, the text matching the initial user query is highlighted.
    For products, the text matching the actual search term(s) used to search for products is highlighted, so the behavior will vary according to the situation and the search terms expansion rules dictated by the settings below Stores > Configuration > Elasticsuite > Autocomplete > Advanced Settings.

    The example shown below reflects the default settings where the products found are those matching the popular search term "yoga bag", thus both term "yoga" and "bag" highlighted in the visible products.

    Future releases might provide

    • additional finer grain settings to control the highlighting
    • highlighted of additional sections of the autocomplete

    Ability to migrate only the top X legacy category product positions

    We've introduced a few releases ago the CLI bin/magento interactive command elasticsuite:category-position:migrate to allow you to migrate your legacy product positioning in categories to the Elasticsuite specific positioning.
    This release adds an interactive step where you can restrict the number of original positions to retain per category.

    /var/www/html $ php bin/magento elasticsuite:category-position:migrate
    Transfer negative positions to positive and contiguous ones? (y/n) [default: n] y
    Transfer zero positions? (y/n) [default: n] n
    Transfer positive positions? (y/n) [default: y] y
    It can be useful to set a limit on the number of positions to migrate per category, since you probably want to only make sure that: 
     - the first page of products is migrated as is ; 
     - or even better, the first two rows of the first page
       to let your optimizers merchandise the rest automatically.
    Setting a low limit also avoids slowing down category pages in the BO
    Maximum number of positions (negative then positive) per category to migrate (leave blank for all matching positions): 5
    

    This is particularly useful if you have a catalog with a significant size and some categories with a lot of products positioned, to avoid the performance issues associated with the Elasticsuite category preview having to deal with more than 200 or even 500 products positioned.
    This is also a way for you, on a per-category basis for instance, to try relying more and more on the Optimizers feature to merchandise your categories.

    💎 Frontend performance: delayed loading of Vanilla JS InstantSearch Javascript

    To improve your site FCP (First Contentful Paint) score, the InstantSearch Vanilla JS components are now loaded with defer by default.
    The React version of the InstantSearch will follow in an upcoming release.

    Please be advised that regarding the Elasticsuite tracker, for the time being, it is not possible to relocate and use delayed (defer) or asynchronous (async) execution for the two render-blocking scripts located in the <head>.

    📦 Features

    • [Catalog] Option to limit max number of product positions migration command by @rbayet in #3858
    • 💎 [InstantSearch] Highlighting of results (products, terms) by @rbayet
    • 💎 [LayeredNavigation] Add discount percentage filter by @vahonc
    • [Tracker] Add child simple order item of configurable product by @rbayet in #3819

    🐛 Fixes

    • [Catalog] Remove obsolete jquery-ui-modules/core dependency for Magento 2.4.9 compatibility by @vahonc in #3857
    • [Catalog] Fixes #3801 Prevent duplicate queries (2.10.x) by @rbayet in #3832
    • [Catalog] Fix category position migrator visibility join for CE/Mage-OS (2.10.x) by @rbayet in #3838
    • [Catalog] Fix: use catalog_product_entity join for visibility in category position migrate by @mtytula in #3841
    • [Core] Fix #3822, search placeholder german translation by @vahonc in #3823
    • [Core] Adding missing Search Relevance Config controller by @rbayet in #3829
    • [Core] Fixes #3815 search relevance config form by @rbayet in #3830
    • [Core] Fix condition check for mouseout event by @groomershop-mt in #3833
    • [Core] Fix condition check for mouseout event (2.10.x) by @rbayet in #3834
    • [Core] Fix #3828, PHP operator precedence bug in Config.php by @vahonc in #3831
    • 💎 [Healthcheck] Add missing modules to PackageVersionsMismatchCheck by @rbayet
    • 💎 [Healthcheck] Add missing modules to PackageVersionsMismatchCheck (2.11.x) by @rbayet

    💻 Technical

    • 💎 [BehavioralAutocomplete] Better performance for trending queries by @rbayet
    • [Catalog] Allow override filter type for specific attributes by @vahonc in #3821
    • [Catalog] Change the visibility of the private methods for Decimal filter by @vahonc in #3824
    • [Catalog] Removing remnant of facet coverage computation by @rbayet in #3835
    • [Catalog] Support percent as UNIT in attribute property display_pattern (slider) by @vahonc in #3825
    • 💎 [Compat] 2.4.9/Symfony 7.x compat by @rbayet
    • [Core] Fixing 2.4.9/PHPUnit issues (PHPUnit 12 required in 2.4.9) by @rbayet in #3843
    • [Core] Fixing PHPUnit 12 deprecations (dataProvider as PHP annotations) by @rbayet in #3847
    • [Core] Remove PHPUnit notice on mock object without expectations by @rbayet in #3848
    • 💎 [Core] Update composer constraint for 2.12.0 releases by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#447
    • [Core] Stemming override rule for Swedish (SE) by @rbayet in #3818
    • [Core] Introducing support for highlighting results by @rbayet in #3827
    • 💎 [Explain] Remove erroneous reference to Ab Campaign by @rbayet
    • 💎 [Explain] Decouple Explain and BehavioralOptimizer module by @rbayet
    • [Optimizer] Replace "validate-number-range" rule with a combination of the built-in rules by @vahonc in #3850
    • 💎 [InstantSearch] Add defer true to VanillaJS instant search scripts by @vahonc
    • [RuleEngine] Attribute Locator interface by @vahonc in #3836
    • [RuleEngine] Attribute Locator interface, refactor Optimizer locator with filter pool, update tests by @vahonc in #3839
    • 💎 [RuleEngine][AbCampaign] Attribute Locator interface, add A/B optimizer attribute location provider and tests by @vahonc
    • [Tracker] 2.4.9/Symfony 7.x compat by @rbayet in #3820
    • [Tracker] Add missing return type declaration by @vahonc in #3846
    • [Tools] Update 20-integration.yml by @romainruaud in #3842
    • 💎 [Tools] PHPUnit: make dataproviders static by @rbayet
    • 💎 [Tools] PHPUnit: dataproviders as annotations by @rbayet

    New Contributors

    Full Changelog: 2.11.18.1...2.12.0

    Open source →
  4. 2.11.20 04 Aug 2026
    Release notes

    What's Changed

    📦 Features

    • [Analytics][Optimizer][VirtualCategories] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc in #3893
    • 💎 [Explain] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc
    • 💎 [Explain] Show list of boosts multipliers/values when clicking global boost by @rbayet
    • 💎 [GlobalBehavioralData] Support revenue metric by @rbayet
    • 💎 [Recommender] Add support for FPC on related products and upsells ajax requests by @rbayet
    • [Thesaurus] Allow customizing thesaurus cache TTL (from 5 mn to 30 days) by @rbayet in #3877
    • [Tracker] Allow individual tracking sales of bundle and grouped products by @rbayet in #3879

    💻 Technical

    • [Autocomplete] Compare user query/popular search terms case insensitive by @rbayet in #3880
    • [Catalog] Remove duplicated ProductPlugin and associated frontend/di.xml by @Bashev in #3897
    • 💎 [Core] self.version dependency for beacon module by @rbayet
    • 💎 [Explain|Thesaurus] Adapt to the rework of max_alternative_queries application by @rbayet
    • 💎 [Explain] Optimizer percolator: use functions provider by @rbayet
    • 💎 [Explain] Percolators: handle obsolete containers from disabled modules by @rbayet
    • [GraphQl] Fix filtering on text attribute and add negation operator by @PierreGauthier in #3890
    • [GraphQl] Remove empty or disabled category from aggregation by @PierreGauthier in #3889
    • 💎 [InstantSearch] Add HTTP Cache tags to HTTP response if FPC enabled by @rbayet
    • 💎 [Recommender] Support attributes w/ standard_edge_ngram for similarity by @rbayet
    • 💎 [Recommender] Ajax endpoint: change the way the FPC cache is enabled/disabled by @rbayet
    • 💎 [Recommender] Apply cache/no-cache compatible behavior to the ajax loader by @rbayet
    • 💎 [Recommender] Add ability to limit time span for co-occurrences lookup by @rbayet
    • [Thesaurus] Enforcing max alternative queries during generation by @rbayet in #3894
    • [VirtualCategories] Handle null category IDs and broaden exception handling by @Bashev in #3898
    • [VirtualCategories] Handle null category IDs and broaden exception handling / fixing inverted logic by @Bashev in #3901

    🐛 Fixes

    • [CatalogRule] Fixes #3873 Backport of ACSD-64111 by @rbayet in #3896
    • [CatalogRule] Creation/Update date based rule: typo+i18n by @rbayet in #3899
    • [Core] Fix #3884, Search Relevance null array offset deprecation warning by @vahonc in #3886
    • [Core] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • 💎 [Explain] Fix rendering of ignored synonyms by @rbayet
    • 💎 [NeuralSearch] Discard case where embeddings are missing by @romainruaud
    • 💎 [NeuralSearch] Fix OpenSearch 3 compatibility (nmslib deprecated, ski… by @PierreGauthier
    • [Optimizer] Quote column names in Optimizer/Collection.php by @wienczny in #3864
    • [VirtualCategories] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • [VirtualCategories] Replaces null frontend_input for virtual cat. attributes by @rbayet in #3881
    • [VirtualCategories] Fixes #3870 virtual cat. router issue with non-store root virtual cat root by @rbayet in #3871

    New Contributors

    Full Changelog: 2.11.19...2.11.20

    Open source →
  5. 2.11.20-rc1 30 Jul 2026 pre-release
    Release notes

    What's Changed

    📦 Features

    • [Analytics][Optimizer][VirtualCategories] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc in #3893
    • 💎 [Explain] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc
    • 💎 [GlobalBehavioralData] Support revenue metric by @rbayet
    • 💎 [Recommender] Add support for FPC on related products and upsells ajax requests by @rbayet
    • [Thesaurus] Allow customizing thesaurus cache TTL (from 5 mn to 30 days) by @rbayet in #3877
    • [Tracker] Allow individual tracking sales of bundle and grouped products by @rbayet in #3879

    💻 Technical

    • [Autocomplete] Compare user query/popular search terms case insensitive by @rbayet in #3880
    • 💎 [Core] self.version dependency for beacon module by @rbayet
    • 💎 [Explain|Thesaurus] Adapt to the rework of max_alternative_queries application by @rbayet
    • [GraphQl] Fix filtering on text attribute and add negation operator by @PierreGauthier in #3890
    • [GraphQl] Remove empty or disabled category from aggregation by @PierreGauthier in #3889
    • 💎 [InstantSearch] Add HTTP Cache tags to HTTP response if FPC enabled by @rbayet
    • 💎 [Recommender] Support attributes w/ standard_edge_ngram for similarity by @rbayet
    • 💎 [Recommender] Ajax endpoint: change the way the FPC cache is enabled/disabled by @rbayet
    • 💎 [Recommender] Apply cache/no-cache compatible behavior to the ajax loader by @rbayet
    • 💎 [Recommender] Add ability to limit time span for co-occurrences lookup by @rbayet
    • [Thesaurus] Enforcing max alternative queries during generation by @rbayet in #3894

    🐛 Fixes

    • [Core] Fix #3884, Search Relevance null array offset deprecation warning by @vahonc in #3886
    • [Core] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • 💎 [Explain] Fix rendering of ignored synonyms by @rbayet
    • 💎 [NeuralSearch] Discard case where embeddings are missing by @romainruaud
    • 💎 [NeuralSearch] Fix OpenSearch 3 compatibility (nmslib deprecated, ski… by @PierreGauthier
    • [Optimizer] Quote column names in Optimizer/Collection.php by @wienczny in #3864
    • [VirtualCategories] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • [VirtualCategories] Replaces null frontend_input for virtual cat. attributes by @rbayet in #3881

    New Contributors

    Full Changelog: 2.11.19...2.11.20-rc1

    Open source →
  6. 2.11.19 29 May 2026
    Release notes

    🏆 Main features

    💎 Highlighting of autocomplete search results

    To enable the highlighting of matched text in the popular term and product autocomplete search results, new settings are available in Elasticsuite Premium at

    • Stores > Configuration > Elasticsuite > Autocomplete > Popular Term Autocomplete > Highlight Results
    • Stores > Configuration > Elasticsuite > Autocomplete > Product Autocomplete > Highlight Results

    The feature is available both in the legacy React-based and Vanilla JS InstantSearch autocomplete.

    For popular terms, the text matching the initial user query is highlighted.
    For products, the text matching the actual search term(s) used to search for products is highlighted, so the behavior will vary according to the situation and the search terms expansion rules dictated by the settings below Stores > Configuration > Elasticsuite > Autocomplete > Advanced Settings.

    The example shown below reflects the default settings where the products found are those matching the popular search term "yoga bag", thus both term "yoga" and "bag" highlighted in the visible products.

    Future releases might provide

    • additional finer grain settings to control the highlighting
    • highlighted of additional sections of the autocomplete

    Ability to migrate only the top X legacy category product positions

    We've introduced a few releases ago the CLI bin/magento interactive command elasticsuite:category-position:migrate to allow you to migrate your legacy product positioning in categories to the Elasticsuite specific positioning.
    This release adds an interactive step where you can restrict the number of original positions to retain per category.

    /var/www/html $ php bin/magento elasticsuite:category-position:migrate
    Transfer negative positions to positive and contiguous ones? (y/n) [default: n] y
    Transfer zero positions? (y/n) [default: n] n
    Transfer positive positions? (y/n) [default: y] y
    It can be useful to set a limit on the number of positions to migrate per category, since you probably want to only make sure that: 
     - the first page of products is migrated as is ; 
     - or even better, the first two rows of the first page
       to let your optimizers merchandise the rest automatically.
    Setting a low limit also avoids slowing down category pages in the BO
    Maximum number of positions (negative then positive) per category to migrate (leave blank for all matching positions): 5
    

    This is particularly useful if you have a catalog with a significant size and some categories with a lot of products positioned, to avoid the performance issues associated with the Elasticsuite category preview having to deal with more than 200 or even 500 products positioned.
    This is also a way for you, on a per-category basis for instance, to try relying more and more on the Optimizers feature to merchandise your categories.

    💎 Frontend performance: delayed loading of Vanilla JS InstantSearch Javascript

    To improve your site FCP (First Contentful Paint) score, the InstantSearch Vanilla JS components are now loaded with defer by default.
    The React version of the InstantSearch will follow in an upcoming release.

    Please be advised that regarding the Elasticsuite tracker, for the time being, it is not possible to relocate and use delayed (defer) or asynchronous (async) execution for the two render-blocking scripts located in the <head>.

    📦 Features

    • [Catalog] Option to limit max number of product positions migration command by @rbayet in #3858
    • 💎 [InstantSearch] Highlighting of results (products, terms) by @rbayet
    • 💎 [LayeredNavigation] Add discount percentage filter by @vahonc
    • [Tracker] Add child simple order item of configurable product by @rbayet in #3819

    🐛 Fixes

    • [Catalog] Fixes #3801 Prevent duplicate queries (2.10.x) by @rbayet in #3832
    • [Catalog] Fix category position migrator visibility join for CE/Mage-OS (2.10.x) by @rbayet in #3838
    • [Catalog] Fix: use catalog_product_entity join for visibility in category position migrate by @mtytula in #3841
    • [Core] Fix #3822, search placeholder german translation by @vahonc in #3823
    • [Core] Adding missing Search Relevance Config controller by @rbayet in #3829
    • [Core] Fixes #3815 search relevance config form by @rbayet in #3830
    • [Core] Fix condition check for mouseout event by @groomershop-mt in #3833
    • [Core] Fix condition check for mouseout event (2.10.x) by @rbayet in #3834
    • [Core] Fix #3828, PHP operator precedence bug in Config.php by @vahonc in #3831
    • 💎 [Healthcheck] Add missing modules to PackageVersionsMismatchCheck by @rbayet
    • 💎 [Healthcheck] Add missing modules to PackageVersionsMismatchCheck (2.11.x) by @rbayet

    💻 Technical

    • 💎 [BehavioralAutocomplete] Better performance for trending queries by @rbayet
    • [Catalog] Allow override filter type for specific attributes by @vahonc in #3821
    • [Catalog] Change the visibility of the private methods for Decimal filter by @vahonc in #3824
    • [Catalog] Removing remnant of facet coverage computation by @rbayet in #3835
    • [Catalog] Support percent as UNIT in attribute property display_pattern (slider) by @vahonc in #3825
    • 💎 [Compat] 2.4.9/Symfony 7.x compat by @rbayet
    • [Core] Fixing 2.4.9/PHPUnit issues (PHPUnit 12 required in 2.4.9) by @rbayet in #3843
    • [Core] Stemming override rule for Swedish (SE) by @rbayet in #3818
    • [Core] Introducing support for highlighting results by @rbayet in #3827
    • 💎 [Explain] Remove erroneous reference to Ab Campaign by @rbayet
    • 💎 [Explain] Decouple Explain and BehavioralOptimizer module by @rbayet
    • [Optimizer] Replace "validate-number-range" rule with a combination of the built-in rules by @vahonc in #3850
    • 💎 [InstantSearch] Add defer true to instant search scripts by @vahonc
    • [RuleEngine] Attribute Locator interface by @vahonc in #3836
    • [RuleEngine] Attribute Locator interface, refactor Optimizer locator with filter pool, update tests by @vahonc in #3839
    • 💎 [RuleEngine][AbCampaign] Attribute Locator interface, add A/B optimizer attribute location provider and tests by @vahonc
    • [Tracker] 2.4.9/Symfony 7.x compat by @rbayet in #3820
    • [Tracker] Add missing return type declaration by @vahonc in #3846
    • [Tools] Update 20-integration.yml by @romainruaud in #3842
    • 💎 [Tools] PHPUnit: make dataproviders static by @rbayet

    New Contributors

    Full Changelog: 2.11.18.1...2.11.19

    Open source →
  7. 2.11.19-rc1 22 Apr 2026 pre-release

    Nothing published for this version

  8. 2.11.18 18 Mar 2026

    Nothing published for this version

  9. 2.11.17 11 Feb 2026

    Nothing published for this version

  10. 2.11.16 02 Nov 2025

    Nothing published for this version

  11. 2.11.15 30 Jul 2025

    Nothing published for this version

  12. 2.11.14 06 Jun 2025

    Nothing published for this version

  13. 2.11.13 23 Apr 2025

    Nothing published for this version

  14. 2.11.12 24 Mar 2025

    Nothing published for this version

  15. 2.11.11 24 Feb 2025

    Nothing published for this version

  16. 2.11.10 10 Dec 2024

    Nothing published for this version

  17. 2.11.9 16 Sep 2024

    Nothing published for this version

  18. 2.11.8 12 Jul 2024

    Nothing published for this version

  19. 2.11.7 14 Jun 2024

    Nothing published for this version

  20. 2.11.6 10 Apr 2024

    Nothing published for this version

  21. 2.11.5 16 Jan 2024

    Nothing published for this version

  22. 2.11.4 16 Sep 2023

    Nothing published for this version

  23. 2.11.3 04 Jul 2023

    Nothing published for this version

  24. 2.11.2 25 May 2023

    Nothing published for this version

  25. 2.11.1 14 Apr 2023

    Nothing published for this version

  26. 2.11.0 14 Mar 2023

    Nothing published for this version

  27. 2.10.35 04 Aug 2026
    Release notes

    What's Changed

    📦 Features

    • [Analytics][Optimizer][VirtualCategories] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc in #3893
    • 💎 [Explain] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc
    • 💎 [Explain] Show list of boosts multipliers/values when clicking global boost by @rbayet
    • 💎 [GlobalBehavioralData] Support revenue metric by @rbayet
    • 💎 [Recommender] Add support for FPC on related products and upsells ajax requests by @rbayet
    • [Thesaurus] Allow customizing thesaurus cache TTL (from 5 mn to 30 days) by @rbayet in #3877
    • [Tracker] Allow individual tracking sales of bundle and grouped products by @rbayet in #3879

    💻 Technical

    • [Autocomplete] Compare user query/popular search terms case insensitive by @rbayet in #3880
    • [Catalog] Remove duplicated ProductPlugin and associated frontend/di.xml by @Bashev in #3897
    • 💎 [Core] self.version dependency for beacon module by @rbayet
    • 💎 [Explain|Thesaurus] Adapt to the rework of max_alternative_queries application by @rbayet
    • 💎 [Explain] Optimizer percolator: use functions provider by @rbayet
    • 💎 [Explain] Percolators: handle obsolete containers from disabled modules by @rbayet
    • [GraphQL] Backport 2.11.x agg and filtering enhancements by @rbayet in #3895
    • 💎 [InstantSearch] Add HTTP Cache tags to HTTP response if FPC enabled by @rbayet
    • 💎 [Recommender] Support attributes w/ standard_edge_ngram for similarity by @rbayet
    • 💎 [Recommender] Ajax endpoint: change the way the FPC cache is enabled/disabled by @rbayet
    • 💎 [Recommender] Apply cache/no-cache compatible behavior to the ajax loader by @rbayet
    • 💎 [Recommender] Add ability to limit time span for co-occurrences lookup by @rbayet
    • [Thesaurus] Enforcing max alternative queries during generation by @rbayet in #3894
    • [VirtualCategories] Handle null category IDs and broaden exception handling by @Bashev in #3898
    • [VirtualCategories] Handle null category IDs and broaden exception handling / fixing inverted logic by @Bashev in #3901

    🐛 Fixes

    • [CatalogRule] Fixes #3873 Backport of ACSD-64111 by @rbayet in #3896
    • [CatalogRule] Creation/Update date based rule: typo+i18n by @rbayet in #3899
    • [Core] Fix #3884, Search Relevance null array offset deprecation warning by @vahonc in #3886
    • [Core] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • 💎 [Explain] Fix rendering of ignored synonyms by @rbayet
    • [Optimizer] Quote column names in Optimizer/Collection.php by @wienczny in #3864
    • [VirtualCategories] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • [VirtualCategories] Replaces null frontend_input for virtual cat. attributes by @rbayet in #3881
    • [VirtualCategories] Fixes #3870 virtual cat. router issue with non-store root virtual cat root by @rbayet in #3871

    New Contributors

    Full Changelog: 2.10.34...2.10.35

    Open source →
  28. 2.10.35-rc1 30 Jul 2026 pre-release
    Release notes

    What's Changed

    📦 Features

    • [Analytics][Optimizer][VirtualCategories] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc in #3893
    • 💎 [Explain] Feature #3867, Mage-OS M137 Admin Theme compatibility by @vahonc
    • 💎 [GlobalBehavioralData] Support revenue metric by @rbayet
    • 💎 [Recommender] Add support for FPC on related products and upsells ajax requests by @rbayet
    • [Thesaurus] Allow customizing thesaurus cache TTL (from 5 mn to 30 days) by @rbayet in #3877
    • [Tracker] Allow individual tracking sales of bundle and grouped products by @rbayet in #3879

    💻 Technical

    • [Autocomplete] Compare user query/popular search terms case insensitive by @rbayet in #3880
    • 💎 [Core] self.version dependency for beacon module by @rbayet
    • 💎 [Explain|Thesaurus] Adapt to the rework of max_alternative_queries application by @rbayet
    • [GraphQL] Backport 2.11.x agg and filtering enhancements by @rbayet in #3895
    • 💎 [InstantSearch] Add HTTP Cache tags to HTTP response if FPC enabled by @rbayet
    • 💎 [Recommender] Support attributes w/ standard_edge_ngram for similarity by @rbayet
    • 💎 [Recommender] Ajax endpoint: change the way the FPC cache is enabled/disabled by @rbayet
    • 💎 [Recommender] Apply cache/no-cache compatible behavior to the ajax loader by @rbayet
    • 💎 [Recommender] Add ability to limit time span for co-occurrences lookup by @rbayet
    • [Thesaurus] Enforcing max alternative queries during generation by @rbayet in #3894

    🐛 Fixes

    • [Core] Fix #3884, Search Relevance null array offset deprecation warning by @vahonc in #3886
    • [Core] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • 💎 [Explain] Fix rendering of ignored synonyms by @rbayet
    • [Optimizer] Quote column names in Optimizer/Collection.php by @wienczny in #3864
    • [VirtualCategories] Fix PHP 8.5 deprecated use of null as array key for virtual category data provider (backport) by @rbayet in #3883
    • [VirtualCategories] Replaces null frontend_input for virtual cat. attributes by @rbayet in #3881

    New Contributors

    Full Changelog: 2.10.34...2.10.35-rc1

    Open source →
  29. 2.10.34 29 May 2026
    Release notes

    🏆 Main features

    💎 Highlighting of autocomplete search results

    To enable the highlighting of matched text in the popular term and product autocomplete search results, new settings are available in Elasticsuite Premium at

    • Stores > Configuration > Elasticsuite > Autocomplete > Popular Term Autocomplete > Highlight Results
    • Stores > Configuration > Elasticsuite > Autocomplete > Product Autocomplete > Highlight Results

    The feature is available both in the legacy React-based and Vanilla JS InstantSearch autocomplete.

    For popular terms, the text matching the initial user query is highlighted.
    For products, the text matching the actual search term(s) used to search for products is highlighted, so the behavior will vary according to the situation and the search terms expansion rules dictated by the settings below Stores > Configuration > Elasticsuite > Autocomplete > Advanced Settings.

    The example shown below reflects the default settings where the products found are those matching the popular search term "yoga bag", thus both term "yoga" and "bag" highlighted in the visible products.

    Future releases might provide

    • additional finer grain settings to control the highlighting
    • highlighted of additional sections of the autocomplete

    Ability to migrate only the top X legacy category product positions

    We've introduced a few releases ago the CLI bin/magento interactive command elasticsuite:category-position:migrate to allow you to migrate your legacy product positioning in categories to the Elasticsuite specific positioning.
    This release adds an interactive step where you can restrict the number of original positions to retain per category.

    /var/www/html $ php bin/magento elasticsuite:category-position:migrate
    Transfer negative positions to positive and contiguous ones? (y/n) [default: n] y
    Transfer zero positions? (y/n) [default: n] n
    Transfer positive positions? (y/n) [default: y] y
    It can be useful to set a limit on the number of positions to migrate per category, since you probably want to only make sure that: 
     - the first page of products is migrated as is ; 
     - or even better, the first two rows of the first page
       to let your optimizers merchandise the rest automatically.
    Setting a low limit also avoids slowing down category pages in the BO
    Maximum number of positions (negative then positive) per category to migrate (leave blank for all matching positions): 5
    

    This is particularly useful if you have a catalog with a significant size and some categories with a lot of products positioned, to avoid the performance issues associated with the Elasticsuite category preview having to deal with more than 200 or even 500 products positioned.
    This is also a way for you, on a per-category basis for instance, to try relying more and more on the Optimizers feature to merchandise your categories.

    💎 Frontend performance: delayed loading of Vanilla JS InstantSearch Javascript

    To improve your site FCP (First Contentful Paint) score, the InstantSearch Vanilla JS components are now loaded with defer by default.
    The React version of the InstantSearch will follow in an upcoming release.

    Please be advised that regarding the Elasticsuite tracker, for the time being, it is not possible to relocate and use delayed (defer) or asynchronous (async) execution for the two render-blocking scripts located in the <head>.

    📦 Features

    • [Catalog] Option to limit max number of product positions migration command by @rbayet in #3858
    • 💎 [InstantSearch] Highlighting of results (products, terms) by @rbayet
    • 💎 [LayeredNavigation] Add discount percentage filter by @vahonc
    • [Tracker] Add child simple order item of configurable product by @rbayet in #3819

    🐛 Fixes

    • [Catalog] Fixes #3801 Prevent duplicate queries (2.10.x) by @rbayet in #3832
    • [Catalog] Fix category position migrator visibility join for CE/Mage-OS (2.10.x) by @rbayet in #3838
    • [Catalog] Fix: use catalog_product_entity join for visibility in category position migrate by @mtytula in #3841
    • [Core] Fix #3822, search placeholder german translation by @vahonc in #3823
    • [Core] Fix #3828, PHP operator precedence bug in Config.php by @vahonc in #3831
    • [Core] Adding missing Search Relevance Config controller by @rbayet in #3829
    • [Core] Fix condition check for mouseout event (2.10.x) by @rbayet in #3834
    • 💎 [Healthcheck] Add missing modules to PackageVersionsMismatchCheck by @rbayet

    💻 Technical

    • 💎 [BehavioralAutocomplete] Better performance for trending queries by @rbayet
    • [Catalog] Allow override filter type for specific attributes by @vahonc in #3821
    • [Catalog] Change the visibility of the private methods for Decimal filter by @vahonc in #3824
    • [Catalog] Removing remnant of facet coverage computation by @rbayet in #3835
    • [Catalog] Support percent as UNIT in attribute property display_pattern (slider) by @vahonc in #3825
    • [Core] Stemming override rule for Swedish (SE) by @rbayet in #3818
    • [Core] Introducing support for highlighting results by @rbayet in #3827
    • 💎 [Explain] Remove erroneous reference to Ab Campaign by @rbayet
    • 💎 [Explain] Decouple Explain and BehavioralOptimizer module by @rbayet
    • 💎 [InstantSearch] Add defer true to VanillaJS instant search scripts by @vahonc
    • [Optimizer] Replace "validate-number-range" rule with a combination of the built-in rules by @vahonc in #3850
    • [RuleEngine] Attribute Locator interface by @vahonc in #3836
    • [RuleEngine] Attribute Locator interface, refactor Optimizer locator with filter pool, update tests by @vahonc in #3839
    • 💎 [RuleEngine][AbCampaign] Attribute Locator interface, add A/B optimizer attribute location provider and tests by @vahonc
    • [Tracker] Add missing return type declaration by @vahonc in #3846

    New Contributors

    Full Changelog: 2.10.33.1...2.10.34

    Open source →
  30. 2.10.34-rc1 21 Apr 2026 pre-release

    Nothing published for this version

  31. 2.10.33 18 Mar 2026

    Nothing published for this version

  32. 2.10.32 11 Feb 2026

    Nothing published for this version

  33. 2.10.31 02 Nov 2025

    Nothing published for this version

  34. 2.10.30 30 Jul 2025

    Nothing published for this version

  35. 2.10.29 06 Jun 2025

    Nothing published for this version

  36. 2.10.28 23 Apr 2025

    Nothing published for this version

  37. 2.10.27 15 Apr 2025

    Nothing published for this version

  38. 2.10.26 24 Mar 2025

    Nothing published for this version

  39. 2.10.25 24 Feb 2025

    Nothing published for this version

  40. 2.10.24 10 Dec 2024

    Nothing published for this version

  41. 2.10.23 16 Sep 2024

    Nothing published for this version

  42. 2.10.22 12 Jul 2024

    Nothing published for this version

  43. 2.10.21 14 Jun 2024

    Nothing published for this version

  44. 2.10.20 10 Apr 2024

    Nothing published for this version

  45. 2.10.19 15 Jan 2024

    Nothing published for this version

  46. 2.10.18 16 Sep 2023

    Nothing published for this version

  47. 2.10.17 04 Jul 2023

    Nothing published for this version

  48. 2.10.16 25 May 2023

    Nothing published for this version

  49. 2.10.15 14 Apr 2023

    Nothing published for this version

  50. 2.10.14 09 Mar 2023

    Nothing published for this version

  51. 2.10.13 24 Jan 2023

    Nothing published for this version

  52. 2.10.12 14 Oct 2022

    Nothing published for this version

  53. 2.10.11 27 Jul 2022

    Nothing published for this version

  54. 2.10.10 19 Apr 2022

    Nothing published for this version

  55. 2.10.9 04 Jan 2022

    Nothing published for this version

  56. 2.10.8 25 Oct 2021

    Nothing published for this version

  57. 2.10.7 30 Sep 2021

    Nothing published for this version

  58. 2.10.6 13 Aug 2021

    Nothing published for this version

  59. 2.10.5 05 Jul 2021

    Nothing published for this version

  60. 2.10.4 30 Apr 2021

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive