Upgrade Notes
Upgrade to 2026.2.6
Frontend Build Ships as a Packaged Archive
- The compiled Studio frontend is no longer committed as an expanded
src/Resources/public/studio/build/directory. It now ships as a single archive (build-dist/build-<id>.zip) that is extracted intosrc/Resources/public/studio/build/automatically during cache warmup. - The extraction is provided by
pimcore/studio-ui-bundle, which this bundle already requires at^2026.2.6. No dependency change is needed. - Read-only filesystem deployments must run
bin/console cache:warmup(orcache:clear) during the build/deploy phase, while the bundle directory (usually belowvendor/) is still writable. Standard Pimcore deployments already do this. - When
assets:installruns in copy mode, runcache:warmupbefore it, otherwise no frontend assets are copied. If the filesystem becomes read-only before the first warmup, the bundle throwsBuildArchiveNotWritableException, because there is no build to serve.
Upgrade to 2026.1.0
PHP & Symfony Version Support
- Added support for
PHP8.5. - Removed support for
PHP8.3and Symfonyv6.
Removed Admin Classic / ExtJS UI
- Removed the
pimcore/admin-ui-classic-bundledependency. The bundle no longer implementsPimcoreBundleAdminClassicInterfaceand no longer usesBundleAdminClassicTrait. - Removed all ExtJS-based JavaScript and CSS paths.
getCssPaths()andgetJsPaths()were removed fromPimcoreDataImporterBundle. PimcoreAdminBundleis no longer registered as a dependent bundle.- The configuration panel is now implemented in Pimcore Studio.
Pimcore\Bundle\AdminBundle\Helper\QueryParamsis no longer used. It was replaced byDataTypeServiceInterface::extractSortingSettings().
Pimcore Studio
- Added the Pimcore Studio implementation of the Data Importer configuration panel, with the tabs Data Setup, Execution and Import Logs.
- Studio frontend assets are now shipped with the bundle.
Namespace Changes
- Changed namespace from
Pimcore\Log\ApplicationLoggertoPimcore\Bundle\ApplicationLoggerBundle\ApplicationLogger.
Messenger Transport Configuration
- The messenger transport DSN is configurable via the
%pimcore.messenger.transport_dsn_prefix%container parameter instead of being hardcoded todoctrine://default. The installer can now wire the transport DSN from environment variables such asPIMCORE_MESSENGER_TRANSPORT_DSN_PREFIX.
Interface & Return Type Changes
DataTypeServiceInterface: added the methodextractSortingSettings(?string $sort): array. Custom implementations of the interface must implement it.CronValidationResponse::isValid(): boolrenamed toCronValidationResponse::getIsValid(): bool.ImportProgressResponse::isRunning(): boolrenamed toImportProgressResponse::getIsRunning(): bool.PimcoreDataImporterBundle::getInstaller()return type changed from?InstallerInterfacetoInstallerInterface(non-nullable).
Class Visibility & Finalization
- Many classes have been marked
finaland/or@internal. Custom subclasses of these classes are no longer supported:CronScheduler,JobScheduler,SchedulerFactory: markedfinaland@internalPreviewData: markedfinaland@internalPimcoreDataImporterBundle: markedfinal- Various exception classes (
InvalidScheduleException, etc.): markedfinal
- Several
protectedmethods on final classes were changed toprivate. Subclasses overriding them have to be refactored. ConfigDataObjectController::saveAction()return type changed from?JsonResponsetoJsonResponse(non-nullable).Installer::getLastMigrationVersionClassName()return type changed from?stringtostring(non-nullable).
Doctrine
- Removed Doctrine enum mapping from the bundle configuration.
Dependency Updates
phpoffice/phpspreadsheetversion requirement bumped to^4.3 || ^5.1(dropped^2.2 || ^3.3).
API Schema Changes
UnitDataResponse: the schema property was renamed fromUnitListtounitList. Update clients consuming this response.
Update to Version 1.11
General
- Added support of
doctrine/dbalv4, dropped support ofdoctrine/dbalv2
Update to Version 1.10
General
- Dropped support of Pimcore 10, bumped minimum requirement of
pimcore/pimcoreto^11.2.