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 2026Releases
latest 60 of 227-
2.12.104 Aug 2026Release notes
Open source →⛔ ⛔ This is an invalid release superseded by 2.12.1.1 correctly built on top of 2.12.x for Magento 2.4.9+ ⛔ ⛔
-
2.12.1-rc130 Jul 2026 pre-releaseRelease notes
Open source →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
-
2.12.029 May 2026Release notes
Open source →🏆 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/magentointeractive commandelasticsuite:category-position:migrateto 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): 5This 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
- @groomershop-mt made their first contribution in #3833
- @mtytula made their first contribution in #3841
Full Changelog: 2.11.18.1...2.12.0
-
2.11.2004 Aug 2026Release notes
Open source →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
-
2.11.20-rc130 Jul 2026 pre-releaseRelease notes
Open source →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
-
2.11.1929 May 2026Release notes
Open source →🏆 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/magentointeractive commandelasticsuite:category-position:migrateto 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): 5This 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
- @groomershop-mt made their first contribution in #3833
- @mtytula made their first contribution in #3841
Full Changelog: 2.11.18.1...2.11.19
-
2.11.19-rc122 Apr 2026 pre-releaseNothing published for this version
-
2.11.1818 Mar 2026Nothing published for this version
-
2.11.1711 Feb 2026Nothing published for this version
-
2.11.1602 Nov 2025Nothing published for this version
-
2.11.1530 Jul 2025Nothing published for this version
-
2.11.1406 Jun 2025Nothing published for this version
-
2.11.1323 Apr 2025Nothing published for this version
-
2.11.1224 Mar 2025Nothing published for this version
-
2.11.1124 Feb 2025Nothing published for this version
-
2.11.1010 Dec 2024Nothing published for this version
-
2.11.916 Sep 2024Nothing published for this version
-
2.11.812 Jul 2024Nothing published for this version
-
2.11.714 Jun 2024Nothing published for this version
-
2.11.610 Apr 2024Nothing published for this version
-
2.11.516 Jan 2024Nothing published for this version
-
2.11.416 Sep 2023Nothing published for this version
-
2.11.304 Jul 2023Nothing published for this version
-
2.11.225 May 2023Nothing published for this version
-
2.11.114 Apr 2023Nothing published for this version
-
2.11.014 Mar 2023Nothing published for this version
-
2.10.3504 Aug 2026Release notes
Open source →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
-
2.10.35-rc130 Jul 2026 pre-releaseRelease notes
Open source →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
-
2.10.3429 May 2026Release notes
Open source →🏆 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/magentointeractive commandelasticsuite:category-position:migrateto 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): 5This 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
-
2.10.34-rc121 Apr 2026 pre-releaseNothing published for this version
-
2.10.3318 Mar 2026Nothing published for this version
-
2.10.3211 Feb 2026Nothing published for this version
-
2.10.3102 Nov 2025Nothing published for this version
-
2.10.3030 Jul 2025Nothing published for this version
-
2.10.2906 Jun 2025Nothing published for this version
-
2.10.2823 Apr 2025Nothing published for this version
-
2.10.2715 Apr 2025Nothing published for this version
-
2.10.2624 Mar 2025Nothing published for this version
-
2.10.2524 Feb 2025Nothing published for this version
-
2.10.2410 Dec 2024Nothing published for this version
-
2.10.2316 Sep 2024Nothing published for this version
-
2.10.2212 Jul 2024Nothing published for this version
-
2.10.2114 Jun 2024Nothing published for this version
-
2.10.2010 Apr 2024Nothing published for this version
-
2.10.1915 Jan 2024Nothing published for this version
-
2.10.1816 Sep 2023Nothing published for this version
-
2.10.1704 Jul 2023Nothing published for this version
-
2.10.1625 May 2023Nothing published for this version
-
2.10.1514 Apr 2023Nothing published for this version
-
2.10.1409 Mar 2023Nothing published for this version
-
2.10.1324 Jan 2023Nothing published for this version
-
2.10.1214 Oct 2022Nothing published for this version
-
2.10.1127 Jul 2022Nothing published for this version
-
2.10.1019 Apr 2022Nothing published for this version
-
2.10.904 Jan 2022Nothing published for this version
-
2.10.825 Oct 2021Nothing published for this version
-
2.10.730 Sep 2021Nothing published for this version
-
2.10.613 Aug 2021Nothing published for this version
-
2.10.505 Jul 2021Nothing published for this version
-
2.10.430 Apr 2021Nothing published for this version