2.10.30
🏆 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.

Along with the decoration of virtual categories with the Elasticsuite logo
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.

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.
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
- [Admin] Bulk errors grid by @PierreGauthier in #3654
- [Core] Add ability to read the index name of a document by @rbayet in #3647
- 💎 [Healthchecks] Added healthcheck for Premium client Id by @romainruaud in Elastic-Suite/magento2-elasticsuite-premium#350
- [Healthcheck] Add tracking events healthcheck by @PierreGauthier in #3664
- [Optimizers] Feature #2766 Add ability to apply optimizer to all categories except some by @rbayet in #3656
- 💎 Feature #2766 [elasticsuitepremium] Optimizer apply to categories except some by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#354
- [Optimizers] Show search terms' Uses/Popularity and Number of results by @rbayet in #3678
- 💎 [Recommender] Add option to use only company events by @PierreGauthier in Elastic-Suite/magento2-elasticsuite-premium#355
- [Tracker] Handle base64 encoded numeric identifiers by @rbayet in #3632
- 💎 [Tracker] Data checker for product uid vs id by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#352
- 💎 [Virtual category] Create Dashboard by @PierreGauthier in Elastic-Suite/magento2-elasticsuite-premium#359
- [VirtualCategories][Admin] Show the ES logo near a category name in trees by @rbayet in #3668
💻 Technical
- [Backport] Replacing Zend_Date with native PHP DateTime object/funct… by @PierreGauthier in #3665
- [Core] Refactor the Upsell message by @romainruaud in #3636
- [Core] Anticipate doc type removal in later ES/OS versions by @rbayet in #3674
- [Core] Re-ordering Elasticsuite menus by @rbayet in #3679
- 💎 [Core][PHP] Fixes #3602 correct casting of null coalesce operator results by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#353
- 💎 [Core] Re-ordering Elasticsuite menus by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#362
- [Healthcheck] Adding i18n to 'anchor' categories check by @rbayet in #3648
- [Healthcheck] Minor i18n issue and cosmetics by @rbayet in #3670
- [Indices] Feature #3652 remove individual index stats calls by @rbayet in #3653
- 💎 [Recommender][Hyva] Remove native recommender blocks by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#303
- 💎 [Recommender] Alter label for company-based restricted recommendations by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#363
- [SignificantTerm] Add background filter by @PierreGauthier in #3662
- [Tracker][Company] Move company related logic into a helper to make it reusable by @PierreGauthier in #3667
- [Tracker] Refactor behavioral data checkers by @rbayet in #3633
- [Tracker] Support partial behavioral data fixing by @rbayet in #3637
- 💎 [Tracker] Support partial behavioral data fixing by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#351
- [Tracker] Report partial behavioral data fixing by @rbayet in #3638
- [Tracker] Optional progress/reporting oriented interfaces for fixers by @rbayet in #3641
- [Tracker] Optional progress/reporting interfaces more generic by @rbayet in #3649
- [Tracker] Relaxed progress/reporting interfaces prototypes by @rbayet in #3650
- [Tracker] Update referenceContainer for CMS tracker (2.10.x) by @rbayet in #3671
🐛 Fixes
- 💎 [AB Campaign] Discard empty session_id when collecting ab campaign results by @rbayet in Elastic-Suite/magento2-elasticsuite-premium#360
- [Core][PHP] Fixes #3602 correct casting of null coalesce operator results by @rbayet in #3657
- 💎 [Explain] Re-organize call stack for listening to container change and query text by @romainruaud in Elastic-Suite/magento2-elasticsuite-premium#349
- [Healthchecks] Fixed hyva spelling by @rbayet in #3640
- [Tracker] Fixing broken transparent pixel (content) by @rbayet in #3642
- [Analytics][Tracker] Fix lack of company_id and customer_group_id in sessions by @rbayet in #3651
Full Changelog (Open-Source): 2.10.29...2.10.30