magento2: Backward-incompatible change from 2.1.2 to 2.1.3 on Config Reader
On the ElasticSuite module, we had a virtualType built with using \Magento\Store\Model\Config\Reader\ReaderPool :
<virtualType name="Smile\ElasticsuiteCore\Model\Search\Request\RelevanceConfig\ReaderPool" type="Magento\Store\Model\Config\Reader\ReaderPool">
<arguments>
<argument name="readers" xsi:type="array">
<item name="default" xsi:type="object">Smile\ElasticsuiteCore\Model\Search\Request\RelevanceConfig\Reader\DefaultReader</item>
<item name="container" xsi:type="object">Smile\ElasticsuiteCore\Model\Search\Request\RelevanceConfig\Reader\Container</item>
<item name="containers" xsi:type="object">Smile\ElasticsuiteCore\Model\Search\Request\RelevanceConfig\Reader\Container</item>
<item name="containers_stores" xsi:type="object">Smile\ElasticsuiteCore\Model\Search\Request\RelevanceConfig\Reader\ContainerStore</item>
<item name="container_store" xsi:type="object">Smile\ElasticsuiteCore\Model\Search\Request\RelevanceConfig\Reader\ContainerStore</item>
</argument>
</arguments>
</virtualType>
This file was moved to Framework by this commit :
This introduce a backward incompatible change : we have customers using this module that are still on 2.1.2 (or lower) and that do not plan to migrate immediately.
We could change the type of the item used from Magento\Store\Model\Config\Reader\ReaderPool to the new one Magento\Framework\Config\ReaderPool but it won’t work on prior versions than 2.1.3.
Imho you should have kept the Magento\Store\Model\Config\Reader\ReaderPool for backward compatibility. Maybe just keep it as an empty class and set as deprecated, but definitely not removed it.
Best regards,
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Reactions: 3
- Comments: 17 (7 by maintainers)
Same in 2.1.2 to 2.1.7. Is there fix for this ?
@DavidLambauer, @imgali do you face the code level issue described by @romainruaud or the upgrade issue described by @vishveskrish? Did you use
\Magento\Store\Model\Config\Reader\ReaderPoolin your code?@romainruaud,
\Magento\Store\Model\Config\Reader\ReaderPooldid not have @api annotation, so we did not treat it as a part of our public API. Did you use it to reuse thegetReadermethod, or to inherit the reader list?