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 into
src/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 (or cache:clear) during the
build/deploy phase, while the bundle directory (usually below vendor/) is still writable. Standard
Pimcore deployments already do this.
When assets:install runs in copy mode, run cache:warmup before it, otherwise no frontend assets are
copied. If the filesystem becomes read-only before the first warmup, the bundle throws
BuildArchiveNotWritableException, because there is no build to serve.
Removed the pimcore/admin-ui-classic-bundle dependency. The bundle no longer implements
PimcoreBundleAdminClassicInterface and no longer uses BundleAdminClassicTrait.
Removed all ExtJS-based JavaScript and CSS paths. getCssPaths() and getJsPaths() were removed from
PimcoreDataImporterBundle.
PimcoreAdminBundle is no longer registered as a dependent bundle.
The configuration panel is now implemented in Pimcore Studio.
Pimcore\Bundle\AdminBundle\Helper\QueryParams is no longer used. It was replaced by
DataTypeServiceInterface::extractSortingSettings().
The messenger transport DSN is configurable via the %pimcore.messenger.transport_dsn_prefix% container parameter
instead of being hardcoded to doctrine://default. The installer can now wire the transport DSN from environment
variables such as PIMCORE_MESSENGER_TRANSPORT_DSN_PREFIX.