Upgrade Information
Following steps are necessary during updating to newer versions.
Upgrade to 2026.1.0
Improvements
- Request parameter retrieval refactored to use
ParameterBagHelperfor full Symfony 7 compatibility.
PHP / Dependency Updates
- PHP minimum requirement raised to
8.4. PHP8.5is now supported. - Dropped support for PHP
8.3and Symfonyv6. - Removed the
pimcore/compatibility-bridge-v10dependency. - Removed Doctrine DBAL enum mapping support.
- Implemented
getFile()andgetFileStorage()methods inProductsupandStudioProductsupexporters to comply with the updatedExporterInterfacefromdata-hub-file-export. These methods throw anUnsupportedFeatureException(a\LogicException) as productsup exporters use database-based caching instead of file-based export. If you have custom exporters extending these classes, no action is required unless you overrideExporterInterfacemethods directly. - Marked several classes as
@internalto reduce the public API surface. - Removed empty migration
Version20210305134111
Releases 2026.1.0 to 2026.1.3 removed AdminSubscriber and marked StudioProductsup as final, on the
assumption that the classic admin UI integration was no longer needed. That broke the "reset and clear queue"
action (still reachable through the Studio Backend API) and third-party exporters extending StudioProductsup.
Both changes were reverted in 2026.1.4, where the class is no longer final and AdminSubscriber is back.
Breaking: Data Export Refactoring
StudioProductsup constructor removed
The custom constructor on StudioProductsup has been removed. The $gridService (GridServiceInterface)
and $formatterLoader (OutputFormatterLoaderInterface) properties are now inherited from the upstream
AbstractExporter (from data-hub-file-export). If you have service definitions that explicitly pass
constructor arguments matching the old signature (beyond what autowiring provides), review and update
them accordingly. StudioProductsup is not final and can still be extended, see
Customize and Extend.
Productsup::getItemData() return type declaration added
Productsup::getItemData(Concrete $object) now has an explicit array|bool return type declaration.
If you extend the Productsup class and override this method, you must add the matching return type
to your override.
ApplicationLogger component prefix no longer set in StudioProductsup
The StudioProductsup::execute() method no longer explicitly sets the ApplicationLogger component
prefix via setComponent(). Log entries from the Studio exporter will use the default logger component
instead of the PimcoreDataHubProductsupBundle::LOGGER_COMPONENT_PREFIX prefix. If you rely on
filtering log entries by this component name, adjust your log queries accordingly.
Upgrade to 2.4.0
With this version and the Pimcore Studio integration, we introduced a new architecture for schema definitions. We are moving from the tree-based schema definition (also used in the grid configuration of the Admin Classic UI) to a pipeline-based approach (also used in Pimcore Studio grids). This change is driven by technical and maintenance considerations, as the tree-based implementation has limitations in terms of consistency, flexibility, and extensibility. The new architecture aligns with how Pimcore Studio grids work internally, streamlining the implementation across adapters and improving consistency, stability, and extensibility.
Existing configurations created in the Classic UI remain functional and continue to execute without changes. However, a configuration must be fully migrated to the new pipeline-based format before it can be edited in Pimcore Studio. Migration must be done manually by following the steps provided in Pimcore Studio.
Read-only support for the legacy tree-based schema definitions will be removed in version 2027.1.0.
Upgrade to 2.0.0
- Added support for Pimcore v11 and dropped support for all previous Pimcore versions.
Upgrade to 1.1.0
- Execute all migrations of the bundle.
Upgrade to Pimcore X
- Update to latest (allowed) bundle version in Pimcore 6.9 and execute all migrations.
- Then update to Pimcore X.