Skip to content

Releases: Smile-SA/elasticsuite

2.11.16

04 Nov 11:19

Choose a tag to compare

🏆 Main features

💎 Language support: Introducing dictionary based stemming

For handling in search the singular and plural form of nouns or conjugated versus infinitive form of verbs, Elasticsuite relies on the Elasticsearch/OpenSearch algorithmic stemming feature that support a wide variety of languages, but not all of them.

For languages not supported, we've introducing in this release in Elasticsuite Premium the ability to use Elasticsearch's / OpenSearch's dictionary based stemming feature that relies on Hunspell dictionaries used by a wide variety of spellcheckers.

This can be configured at the Store scope in Stores > Configuration > Elasticsuite > Analyzers Settings > Dictionary based stemming.

💎 Search: Detect and transform unit symbols in quantity/size expressions to preserve the meaning

By default, when indexing content and searching, most of special (non alphanumerical) characters are removed at the beginning of the text analysis and those remaining are then used to delimit/break words and finally removed.
This can be problematic if your catalog data relies heavily on units of measure and/or if your users use their symbol when searching (like " for inches or ' for feet): out of the box, there is no difference in search between 3" screws and 3' screws.

This release introduces in Elasticsuite Premium a mechanism that allows you to define "unit detection rules" rules that will replace a unit of measure symbol or shorthand notation by its full name both at indexing and search time, preserving the sense of the original expression.
For instance, if you associate the character/sequences of character ", in and in. to inches, the expressions 3" and 3in and 3in. will all be transformed to 3 inches at indexing and search time.

The new settings located in Stores > Configuration > Elasticsuite > Analyzers Settings > Unit detection configuration offer a wide coverage of use cases (location of the symbol before or after the quantity, whether the unit name replacing the symbol should be put before or after the quantity, etc).

image

Autocomplete & 💎 InstantSearch : Ability to force taking categories/products manual/edited URL rewrites into account

By default, for the categories autocomplete, Elasticsuite will rely on the fact that redirect (301) URLs will always be generated when the url_key of a category changes.
Unfortunately, if you manually edit the URL rewrite of a category in admin (Marketing > SEO & Search > URL Rewrites), or if you use a third party module that generates them according to specific rules without putting in place redirect (301) URLs, you could end up with a category being shown in the autocomplete results with a link leading to a 404 page.
The same applies on Elasticsuite Premium for products in addition to categories.

We've decided to introduce settings in Stores > Configuration > Elasticsuite > Catalog Search > Explicit URL rewrites support that can force Elasticsuite to look into the URL rewrites table at indexing :

  • Enabled for categories : which is set to Yes by default, since the overhead of looking for categories URL rewrites should be negligible to minimal
  • 💎 Enabled for products : (available on Elasticsuite Premium) which is set to No by default since the overhead can be noticeable depending on your catalog size and the number of stores you have.

Please be aware that at this time, there is no automated mechanism that flags a category or a product for being re-indexed in the search engine when an URL rewrite that targets it is changed.

Thesaurus: ability to apply the synonyms rules without regard to singular/plural forms of words

A known limitation about the thesaurus feature is that synonyms and expansions rules are triggered only when the word searched by a user is present exactly as is in the rules.
For instance

  • searching for "stories" would not trigger a "story,tale" synonym rule
  • searching for "sports" would not trigger a "sport => football,tennis,soccer,running" expansion rule

The common way to deal with that is to include the extra singular/plural form of words in the rule, for instance

  • changing the synonym rule from "story,tale" to "story,stories,tale,tales"
  • changing the expansion rule from "sport => football,tennis,soccer,running" to "sport,sports => football,tennis,soccer,running"

This can be avoided starting from this release by switching to Yes the new setting in Stores > Configuration > Elasticsuite > Thesaurus (global settings) > Enable stemming on synonym and expansion rules.

It is not enabled by default because we already know of some limitations

  • ignoring the singular/plural aspect of words will not work for multi-word synonym rules (e.g. "red dragon,blue vampire")
  • in some languages, it can happen that "double stemming" occurs, losing some precision in alternative queries
    • in french "chaises" ("chair") will be stemmed into "chais" at the thesaurus time and possibly "chai" (stem for "cellar") at search time

But do not hesitate to try the feature and give us some much welcomed feedback.

📦 Features

  • 💎 [Analysis] Detect quantity/size with units by @rbayet
  • 💎 [Analysis] Preserve some special chars by @PierreGauthier
  • 💎 [AdvancedAnalysis] Introduce Dictionary based stemming by @rbayet
  • 💎 [AB Campaign] Add the number of uses and number of results of search term in the campaign optimizer form by @rbayet
  • [Catalog] Accessibility adjustments by @saltomorales in #3688
  • [Catalog] [Autocomplete] Take categories manual/edited URL rewrites into account by @rbayet in #3731
  • [Core] Support custom scoring model/similarity at the attribute/field level by @rbayet in #3712
  • 💎 [Explain] Document thesaurus stemming use by @rbayet
  • 💎 [Explain] Add clarification about the weight in matches. Mentions the scoring model/algorithm. by @rbayet
  • [Indices] Analysis: adding token type info by @rbayet in #3735
  • 💎 [InstantSearch] Take categories manual/edited URL rewrites into account by @rbayet
  • 💎 [InstantSearch] Take products manual/edited URL rewrites into account by @rbayet
  • 💎 [Recommender][Healthcheck] Critical healthcheck for the similarity attribute(s) by @rbayet
  • [Thesaurus] Allow using stemmed words to match rules by @rbayet in #3708

🧰 Technical

  • [Analysis] Handle uppercase elision by @PierreGauthier in #3729
  • 💎 [CascadeSearch] Analysis: add implicit word delimiter parameter by @rbayet
  • [Catalog][Autocomplete] Pull category URL suffix from store scope by @rbayet in #3728
  • 💎 [Core] Metapackages: clean alphabetical list of modules by @rbayet
  • [Core] Prevent firebear/importexport messing up analysis config by @rbayet in #3696
  • [Core] Analysis: add implicit word delimiter parameter by @rbayet in #3737
  • [Core] Analysis: introducing constant and token filters for special characters handling by @rbayet in #3738
  • [Core] Stemmer selection in admin, minor CSS tweak by @rbayet in #3702
  • [Core] Fix for upcoming PHP 8.5 deprecation, casting to double is no longer allowed by @hostep in #3732
  • 💎 [Hyva][Recommender] Recommender blocks (loader) to the correct location by @rbayet
  • 💎 [HyvaCompatibility] CSP: register inline script tags by @rbayet
  • [Indices] Escape analysis tokens by @rbayet in #3734
  • 💎 [InstantSearch] Pull Category URL suffix from store scope config by @rbayet
  • 💎 [InstantSearch] Pull Product URL suffix from store scope config by @rbayet
  • [Optimizers/Catalog] UI component: reposition search terms' Uses/Popularity' by @rbayet in #3691
  • [Optimizers] Conditions engine useable when Virtual Categories module disabled by @rbayet in #3721
  • [Thesaurus] Max number of rewritten queries to 50 by @rbayet in #3711
  • [Thesaurus] #3713 Force leniency when creating index by @rbayet in #3716
  • [Thesaurus] Disabling by default stemming in thesaurus rules. by @rbayet in #3733

🐛 Fixes

  • [CatalogGraphQl] Fixes #3643 functionally (ES searchContext update) properly by @rbayet in #3686
  • [Catalog][GraphQL] Fix #3574, add customer group condition for price filtering by @vahonc in #3714
  • [GraphQl] Fix Numeric Attributes filter type by @PierreGauthier in #3720
  • [Core] Fix #3623, add supporting getMinPrice() and getMaxPrice() as Magento Core functionality...
Read more

2.10.31

04 Nov 11:19
b654318

Choose a tag to compare

🏆 Main features

💎 Language support: Introducing dictionary based stemming

For handling in search the singular and plural form of nouns or conjugated versus infinitive form of verbs, Elasticsuite relies on the Elasticsearch/OpenSearch algorithmic stemming feature that support a wide variety of languages, but not all of them.

For languages not supported, we've introducing in this release in Elasticsuite Premium the ability to use Elasticsearch's / OpenSearch's dictionary based stemming feature that relies on Hunspell dictionaries used by a wide variety of spellcheckers.

This can be configured at the Store scope in Stores > Configuration > Elasticsuite > Analyzers Settings > Dictionary based stemming.

💎 Search: Detect and transform unit symbols in quantity/size expressions to preserve the meaning

By default, when indexing content and searching, most of special (non alphanumerical) characters are removed at the beginning of the text analysis and those remaining are then used to delimit/break words and finally removed.
This can be problematic if your catalog data relies heavily on units of measure and/or if your users use their symbol when searching (like " for inches or ' for feet): out of the box, there is no difference in search between 3" screws and 3' screws.

This release introduces in Elasticsuite Premium a mechanism that allows you to define "unit detection rules" rules that will replace a unit of measure symbol or shorthand notation by its full name both at indexing and search time, preserving the sense of the original expression.
For instance, if you associate the character/sequences of character ", in and in. to inches, the expressions 3" and 3in and 3in. will all be transformed to 3 inches at indexing and search time.

The new settings located in Stores > Configuration > Elasticsuite > Analyzers Settings > Unit detection configuration offer a wide coverage of use cases (location of the symbol before or after the quantity, whether the unit name replacing the symbol should be put before or after the quantity, etc).

image

Autocomplete & 💎 InstantSearch : Ability to force taking categories/products manual/edited URL rewrites into account

By default, for the categories autocomplete, Elasticsuite will rely on the fact that redirect (301) URLs will always be generated when the url_key of a category changes.
Unfortunately, if you manually edit the URL rewrite of a category in admin (Marketing > SEO & Search > URL Rewrites), or if you use a third party module that generates them according to specific rules without putting in place redirect (301) URLs, you could end up with a category being shown in the autocomplete results with a link leading to a 404 page.
The same applies on Elasticsuite Premium for products in addition to categories.

We've decided to introduce settings in Stores > Configuration > Elasticsuite > Catalog Search > Explicit URL rewrites support that can force Elasticsuite to look into the URL rewrites table at indexing :

  • Enabled for categories : which is set to Yes by default, since the overhead of looking for categories URL rewrites should be negligible to minimal
  • 💎 Enabled for products : (available on Elasticsuite Premium) which is set to No by default since the overhead can be noticeable depending on your catalog size and the number of stores you have.

Please be aware that at this time, there is no automated mechanism that flags a category or a product for being re-indexed in the search engine when an URL rewrite that targets it is changed.

Thesaurus: ability to apply the synonyms rules without regard to singular/plural forms of words

A known limitation about the thesaurus feature is that synonyms and expansions rules are triggered only when the word searched by a user is present exactly as is in the rules.
For instance

  • searching for "stories" would not trigger a "story,tale" synonym rule
  • searching for "sports" would not trigger a "sport => football,tennis,soccer,running" expansion rule

The common way to deal with that is to include the extra singular/plural form of words in the rule, for instance

  • changing the synonym rule from "story,tale" to "story,stories,tale,tales"
  • changing the expansion rule from "sport => football,tennis,soccer,running" to "sport,sports => football,tennis,soccer,running"

This can be avoided starting from this release by switching to Yes the new setting in Stores > Configuration > Elasticsuite > Thesaurus (global settings) > Enable stemming on synonym and expansion rules.

It is not enabled by default because we already know of some limitations

  • ignoring the singular/plural aspect of words will not work for multi-word synonym rules (e.g. "red dragon,blue vampire")
  • in some languages, it can happen that "double stemming" occurs, losing some precision in alternative queries
    • in french "chaises" ("chair") will be stemmed into "chais" at the thesaurus time and possibly "chai" (stem for "cellar") at search time

But do not hesitate to try the feature and give us some much welcomed feedback.

📦 Features

  • 💎 [Analysis] Detect quantity/size with units by @rbayet
  • 💎 [Analysis] Preserve some special chars by @PierreGauthier
  • 💎 [AdvancedAnalysis] Introduce Dictionary based stemming by @rbayet
  • 💎 [AB Campaign] Add the number of uses and number of results of search term in the campaign optimizer form by @rbayet
  • [Catalog] Accessibility adjustments (2.10.x) by @rbayet in #3689
  • [Catalog][Autocomplete] Take categories manual/edited URL rewrites into account by @rbayet in #3731
  • [Core] Support custom scoring model/similarity at the attribute/field level by @rbayet in #3712
  • 💎 [Explain] Document thesaurus stemming use by @rbayet
  • 💎 [Explain] Add clarification about the weight in matches. Mentions the scoring model/algorithm. by @rbayet
  • [Indices] Analysis: adding token type info by @rbayet in #3735
  • 💎 [InstantSearch] Take categories manual/edited URL rewrites into account by @rbayet
  • 💎 [InstantSearch] Take products manual/edited URL rewrites into account by @rbayet
  • 💎 [Recommender][Healthcheck] Critical healthcheck for the similarity attribute(s) by @rbayet
  • [Thesaurus] Allow using stemmed words to match rules by @rbayet in #3708

🧰 Technical

  • [Analysis] Handle uppercase elision by @PierreGauthier in #3729
  • 💎 [CascadeSearch] Analysis: add implicit word delimiter parameter by @rbayet
  • [Catalog][Autocomplete] Pull category URL suffix from store scope by @rbayet in #3728
  • 💎 [Core] Metapackages: clean alphabetical list of modules by @rbayet
  • [Core] Prevent firebear/importexport messing up analysis config by @rbayet in #3696
  • [Core] Analysis: add implicit word delimiter parameter by @rbayet in #3737
  • [Core] Analysis: introducing constant and token filters for special characters handling by @rbayet in #3738
  • [Core] Stemmer selection in admin, minor CSS tweak by @rbayet in #3702
  • 💎 [Hyva][Recommender] Recommender blocks (loader) to the correct location by @rbayet
  • 💎 [HyvaCompatibility] CSP: register inline script tags by @rbayet
  • [Indices] Escape analysis tokens by @rbayet in #3734
  • 💎 [InstantSearch] Pull Category URL suffix from store scope config by @rbayet
  • 💎 [InstantSearch] Pull Product URL suffix from store scope config by @rbayet
  • [Optimizers/Catalog] UI component: reposition search terms' Uses/Popularity by @rbayet in #3691
  • [Optimizers] Conditions engine useable when Virtual Categories module disabled by @rbayet in #3721
  • [Thesaurus] Max number of rewritten queries to 50 by @rbayet in #3711
  • [Thesaurus] #3713 Force leniency when creating index by @rbayet in #3716
  • [Thesaurus] Disabling by default stemming in thesaurus rules. by @rbayet in #3733

🐛 Fixes

Read more

2.11.15.1

01 Aug 08:49

Choose a tag to compare

Emergency release (for Magento 2.4.8)

This release fixes a MySQL 8.0/8.4 compatibility issue occuring on Magento 2.4.8+.

🐛 Fix

Full Changelog: 2.11.15...2.11.15.1

2.10.30.1

01 Aug 08:49
ff3c228

Choose a tag to compare

Emergency release (for Magento 2.4.8)

This release fixes a MySQL 8.0/8.4 compatibility issue occuring on Magento 2.4.8+.

🐛 Fix

  • [Core] Fixes #3681 MySQL 8+ index_bulk_error compatibility (2.10.x) by @rbayet in #3683

Full Changelog: 2.10.30...2.10.30.1

2.11.15

31 Jul 13:16

Choose a tag to compare

🏆 Main features

💎 Virtual categories dashboard

We're introducing a new Elasticsuite Premium composer package named smile/module-elasticsuite-category-monitoring.
It provides a new module Smile_ElasticsuiteCategoryMonitoring whose feature is a new menu entry under "Elasticsuite Categories > Virtual Categories Dashboard".
As its name suggests, it provides a screen listing all your virtual categories with some relevant information, alerts if need be and a direct link to go edit the virtual category.
image

Along with the decoration of virtual categories with the Elasticsuite logo image in the Catalog > Categories category tree menu also introduced in this release, it is intended to help you quickly locate and evaluate your virtual categories.

Optimizers: Ability to apply them to all but some categories

Historically, for an optimizer applicable to the Catalog Navigation, it was possible to let it be applied

  • either to all categories
  • or only to some categories

It is now possible to have a boost be applied to all categories except some.
image

Indexing / Bulk error grid

A new menu entry is available in Elasticsuite > System > Indexing / Bulk Errors.
It leads to a grid that will show you errors that may have occurred at indexing time when sending data in bulk and which can led to documents (products, categories, etc) being rejected and not indexed.

While those errors were already reported to the Magento logs, they will now additionally be visible in the admin so you can more quickly

  • identify the rejected documents (categories, products)
  • address any issue with a faulty custom data source or a Magento attribute or its data having been incorrectly initialized.
image

The logging of those errors can be disabled through the setting located at Stores > Configuration > Elasticsuite > Base Settings > Indexing / Bulk errors logging > Enable logging of bulk indexing errors.

Please note that for Magento entity based indices (categories, products) all existing logged errors are purged from the database when a full re-index occurs.

📦 Features

💻 Technical

🐛 Fixes

New Contributors

Full Changelog (Open Source): 2.11.14...2.11.15

2.10.30

31 Jul 13:15
553b994

Choose a tag to compare

🏆 Main features

💎 Virtual categories dashboard

We're introducing a new Elasticsuite Premium composer package named smile/module-elasticsuite-category-monitoring.
It provides a new module Smile_ElasticsuiteCategoryMonitoring whose feature is a new menu entry under "Elasticsuite Categories > Virtual Categories Dashboard".
As its name suggests, it provides a screen listing all your virtual categories with some relevant information, alerts if need be and a direct link to go edit the virtual category.
image

Along with the decoration of virtual categories with the Elasticsuite logo image in the Catalog > Categories category tree menu also introduced in this release, it is intended to help you quickly locate and evaluate your virtual categories.

Optimizers: Ability them to all but some categories

Historically, for an optimizer applicable to the Catalog Navigation, it was possible to let it be applied

  • either to all categories
  • or only to some categories

It is now possible to have a boost be applied to all categories except some.
image

Indexing / Bulk error grid

A new menu entry is available in Elasticsuite > System > Indexing / Bulk Errors.
It leads to a grid that will show you errors that may have occurred at indexing time when sending data in bulk and which can led to documents (products, categories, etc) being rejected and not indexed.

While those errors were already reported to the Magento logs, they will now additionally be visible in the admin so you can more quickly

  • identify the rejected documents (categories, products)
  • address any issue with a faulty custom data source or a Magento attribute or its data having been incorrectly initialized.
image

The logging of those errors can be disabled through the setting located at Stores > Configuration > Elasticsuite > Base Settings > Indexing / Bulk errors logging > Enable logging of bulk indexing errors.

Please note that for Magento entity based indices (categories, products) all existing logged errors are purged from the database when a full re-index occurs.

📦 Features

💻 Technical

🐛 Fixes

Full Changelog (Open-Source): 2.10.29...2.10.30

2.11.14

11 Jun 08:46

Choose a tag to compare

🏆 Main features

Search Usage dashboard: Ability to copy the list of search terms to the clipboard

In the Analytics > Search Usage dashboard, it is now possible to copy the popular and spellcheck search terms tabular data into your clipboard.
image

The data can then be pasted into a spreadsheet application: it is in CSV format with the Tab character as separator (so actually, TSV / "Tab Separated Values" instead of CSV / "Comma Separated Values").

Indices grid: Mass remove button in admin and CLI command to remove all ghost indices

It was already possible to remove ghost indices from the Elasticsuite > Indices screen, but one by one, which can be cumbersome if you have a lot of them.
Since we do not offer a cronjob to automatically remove ghost indices, we always recommended the third party module sehrling/elasticsuite-ghost-cleaner that does (and we'll keep doing it !).

But you now have a dedicated button to remove at once all the ghost indices from the Elasticsuite > Indices screen :
image

We've also added a Magento CLI command to that effect: php bin/magento elasticsuite:indices:purgeghosts.

📦 Features

  • [Analytics] #3584 Add ability to copy list of search terms to the clipboard by @vahonc in #3597
  • [Analytics][B2B] #3614 Add sorting Company filter options alphabetically by @vahonc in #3620
  • [Healthcheck] #3583 Introduce category.is_anchor config check by @vahonc in #3594
  • [Indices] #3600 Add a button to remove all ghosts indexes by @vahonc in #3612
  • [Indices] #3624 Add a CLI command to remove all ghost indices by @rbayet in #3629

💻 Technical

  • [Core] Allow newer versions of opensearch-php client but keep discarding tho… by @romainruaud in #3625
  • [Core] Replacing deprecated word_delimiter by word_delimiter_graph by @rbayet in #3605
  • [Indices] #3592 #3596 Better performance when getting indices stats by @rbayet in #3610
  • [Indices] Shard settings: removing cache usage altogether by @rbayet in #3613

🐛 Fixes

New Contributors

Full Changelog: 2.11.13...2.11.14

2.10.29

11 Jun 08:46
10b62a8

Choose a tag to compare

🏆 Main features

Search Usage dashboard: Ability to copy the list of search terms to the clipboard

In the Analytics > Search Usage dashboard, it is now possible to copy the popular and spellcheck search terms tabular data into your clipboard.
image

The data can then be pasted into a spreadsheet application: it is in CSV format with the Tab character as separator (so actually, TSV / "Tab Separated Values" instead of CSV / "Comma Separated Values").

Indices grid: Mass remove button in admin and CLI command to remove all ghost indices

It was already possible to remove ghost indices from the Elasticsuite > Indices screen, but one by one, which can be cumbersome if you have a lot of them.
Since we do not offer a cronjob to automatically remove ghost indices, we always recommended the third party module sehrling/elasticsuite-ghost-cleaner that does (and we'll keep doing it !).

But you now have a dedicated button to remove at once all the ghost indices from the Elasticsuite > Indices screen :
image

We've also added a Magento CLI command to that effect: php bin/magento elasticsuite:indices:purgeghosts.

📦 Features

  • [Analytics] #3584 Add ability to copy list of search terms to the clipboard by @vahonc in #3597
  • [Analytics][B2B] #3614 Add sorting Company filter options alphabetically by @vahonc in #3620
  • [Healthcheck] #3583 Introduce category.is_anchor config check by @vahonc in #3594
  • [Indices] #3600 Add a button to remove all ghosts indexes by @vahonc in #3612
  • [Indices] #3624 Add a CLI command to remove all ghost indices by @rbayet in #3629

💻 Technical

  • [Core] Replacing deprecated word_delimiter by word_delimiter_graph by @rbayet in #3605
  • [Indices] #3592 #3596 Better performance when getting indices stats by @rbayet in #3610
  • [Indices] Shard settings: removing cache usage altogether by @rbayet in #3613

🐛 Fixes

  • [Analytics] Fix analytics missing 0 results search terms by @rbayet in #3621
  • 💎 [Explain] #326 Boost impact/scale function not displayed by @rbayet

Full Changelog: 2.10.28...2.10.29

2.11.13

24 Apr 06:28

Choose a tag to compare

🏆 Main changes

Allowing to use ElasticSuite without MSI being present

MSI support was introduced in Elasticsuite back in 2018 with the release 2.7.0 ensuring compatibility with Magento 2.3.0.
At that time, the legacy Magento inventory system was supposed to be slowly deprecated and removed ✌️ sometime soon ✌️, so Elasticsuite allowed you to bypass MSI to use the legacy inventory system if the MSI modules were present but disabled.

This release now gives you out-of-the-box the ability to use the "still alive and kicking" legacy inventory system without having to patch Elasticsuite if you decide to not have the MSI modules present at all, either by manually removing the associated composer packages requirements or using a composer package that does that for you, like yireo/magento2-replace-inventory.

Supporting PHP 8.4 + Magento 2.4.8

Elasticsuite already supported Magento 2.4.8 if using PHP 8.3.
But this releases introduces the ability to also use Elasticsuite if you decide to run Magento 2.4.8 on PHP 8.4.

💎 Recommender: configurable superior prices limit for Upsell products

The Recommender has a legacy configuration parameter to force upsell products to have a higher price than the product for which they are to be recommended.
A new setting has been introduced Stores > Configuration > Elasticsuite > Recommender > Upsell products > Event-Based specific configuration> Higher price limit for Upsells (base price %) to limit those higher prices withing a certain percentage above the target product price.

For instance, in this configuration, for a product with a price of 20 EUR, only upsell products candidate with a price of at most 30 EUR will be recommended.
image

📦 Features

  • [Catalog] Allow to use ElasticSuite without MSI by @romainruaud in #3577
  • [Recommender] 💎 Add greater price limitation configuration for Upsell products by @vahonc

🐛 Technical

  • [Compat] Fixes #3578 PHP 8.4 deprecation by @rbayet in #3586
  • [Compat] Replacing deprecated PHPUnit setMethods by @rbayet in #3589
  • [Compat] Anticipating PHP 8.4 deprecation: Implicitly marking paramet… by @rbayet in #3587
  • [Compat] Eliminate future PHPUnit warnings by @rbayet in #3588

Full Changelog: 2.11.12.1...2.11.13

2.10.28

24 Apr 06:28
d8ace02

Choose a tag to compare

🏆 Main feature

Allowing to use ElasticSuite without MSI being present

MSI support was introduced in Elasticsuite back in 2018 with the release 2.7.0 ensuring compatibility with Magento 2.3.0.
At that time, the legacy Magento inventory system was supposed to be slowly deprecated and removed ✌️ sometime soon ✌️, so Elasticsuite allowed you to bypass MSI to use the legacy inventory system if the MSI modules were present but disabled.

This release now gives you out-of-the-box the ability to use the "still alive and kicking" legacy inventory system without having to patch Elasticsuite if you decide to not have the MSI modules present at all, either by manually removing the associated composer packages requirements or using a composer package that does that for you, like yireo/magento2-replace-inventory.

💎 Recommender: configurable superior prices limit for Upsell products

The Recommender has a legacy configuration parameter to force upsell products to have a higher price than the product for which they are to be recommended.
A new setting has been introduced Stores > Configuration > Elasticsuite > Recommender > Upsell products > Event-Based specific configuration> Higher price limit for Upsells (base price %) to limit those higher prices withing a certain percentage above the target product price.

For instance, in this configuration, for a product with a price of 20 EUR, only upsell products candidate with a price of at most 30 EUR will be recommended.
image

📦 Features

  • [Catalog] Allow to use ElasticSuite without MSI by @romainruaud in #3577
  • [Recommender] 💎 Add greater price limitation configuration for Upsell products by @vahonc (already present in 2.10.27)

💻 Technical

  • [Compat] Anticipating PHP 8.4 deprecation: Implicitly marking parameter as nullable is deprecated by @rbayet in #3587
  • [Compat] Eliminate future PHPUnit warnings by @rbayet in #3588
  • [Compat] Replacing deprecated PHPUnit setMethods by @rbayet in #3589

Full Changelog: 2.10.27...2.10.28