Magento 2.3 backward incompatible changes
Magento 2.3 introduces several major changes that may affect the correct functionality of already released external modules. The purpose of this document is to highlight major changes between Magento 2.2 and 2.3.
View a detailed list of PHP code changes that were made in the “2.3-develop” branch after the “2.2.0” release:
Search and related modules
Affected modules: Search
, CatalogSearch
, AdvancedSearch
, Elasticsearch
.
Affected framework libraries: Search
Action: Affected components were updated to use single interface. The interface is \Magento\Framework\Search\EngineResolverInterface
. Its implementation is \Magento\Search\Model\EngineResolver
.
Reason: To resolve a search engine currently set in System Configuration.
Details:
- The interface provides method
getCurrentSearchEngine()
that returns a string with the current search engine identifier. - The implementation introduces a fallback to a default search engine
mysql
if the current search engine (set in the System Configuration) doesn’t exist. - Classes affected by this modification have backward incompatible changes in their constructor arguments.
Affected Magento Open Source classes:
\Magento\CatalogSearch\Model\Indexer\IndexStructureFactory
\Magento\CatalogSearch\Model\Indexer\IndexSwitcherProxy
\Magento\CatalogSearch\Model\Indexer\IndexerHandlerFactory
\Magento\CatalogSearch\Model\ResourceModel\EngineProvider
\Magento\Search\Controller\Adminhtml\Synonyms\ResultPageBuilder
\Magento\Search\Model\AdapterFactory
\Magento\Search\Model\SearchEngine\MenuBuilder
\Magento\Search\Model\EngineResolver
- added interface\Magento\Framework\Search\Dynamic\DataProviderFactory
\Magento\Framework\Search\Dynamic\IntervalFactory
Affected Magento Commerce classes:
\Magento\CatalogSearch\Model\Indexer\IndexStructureFactory
\Magento\CatalogSearch\Model\Indexer\IndexSwitcherProxy
\Magento\CatalogSearch\Model\Indexer\IndexerHandlerFactory
\Magento\CatalogSearch\Model\ResourceModel\EngineProvider
\Magento\Search\Controller\Adminhtml\Synonyms\ResultPageBuilder
\Magento\Search\Model\AdapterFactory
\Magento\Search\Model\SearchEngine\MenuBuilder
\Magento\Search\Model\EngineResolver
- added interface\Magento\Framework\Search\Dynamic\DataProviderFactory
\Magento\Framework\Search\Dynamic\IntervalFactory
\Magento\AdvancedSearch\Model\Client\ClientResolver
\Magento\AdvancedSearch\Model\Indexer\Fulltext\Plugin\CustomerGroup
\Magento\AdvancedSearch\Model\SuggestedQueries