Update Notes
Upgrade to 2026.2.3
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 into src/Resources/public/studio/build/
automatically during cache warmup.
pimcore/studio-ui-bundle ^2026.2.1 is now required, as it provides the
archive extraction.
Note: Read-only filesystem deployments must run
bin/console cache:warmup(orcache:clear) during the build/deploy phase while the bundle directory (usually undervendor/) is still writable. Standard Pimcore deployments already do this. Whenassets: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 fails withBuildArchiveNotWritableExceptionbecause there is no build to serve.
Update to 2026.1.0
General
- Added support to
PHP8.5. - Removed support to
PHP8.3and Symfonyv6.
Removed Admin Classic / ExtJS Support
- Removed
pimcore/admin-ui-classic-bundledependency. The bundle no longer supports the ExtJS-based admin UI. PimcoreTranslationsProviderInterfaceBundleno longer implementsPimcoreBundleAdminClassicInterfaceand no longer usesBundleAdminClassicTrait. The methodsgetJsPaths()andgetCssPaths()returning ExtJS assets have been removed.- Removed
DependencyInjection\Compiler\ContentSecurityPolicyUrlsPasscompiler pass which registered Bootstrap/jQuery CDN URLs for the admin CSP header. - The following legacy ExtJS JS/CSS assets have been removed:
public/js/ext_extensions.jspublic/js/pimcore/startup.jspublic/js/pimcore/configPanel.jspublic/js/pimcore/translationsettings.jspublic/css/admin.csspublic/js/pimcore/vendor/(Bootstrap datepicker and locale files)
Removed Legacy Controllers and Routing
- Removed
Controller\BackendController. Functionality moved to dedicated Studio controllers underController\Studio\. - Removed
Controller\TranslationJobsController, replaced by granular Studio controllers underController\Studio\TranslationJobs\. - Removed
Routing\StudioRouteLoader. Studio routes are now registered via standard Symfony configuration. - Removed
Resources/config/pimcore/studio_routing.yamlas part of the Studio routing cleanup.
Xliff Bundle Moved from Pimcore Core
- The
XliffBundlehas been moved frompimcore/pimcoreinto this bundle as a sub-bundle atPimcore\TranslationsProviderInterfaceBundle\Bundle\XliffBundle\. - All references to
Pimcore\Bundle\XliffBundle\*must be updated toPimcore\TranslationsProviderInterfaceBundle\Bundle\XliffBundle\*. Affected namespaces include:Pimcore\Bundle\XliffBundle\TranslationItemCollection\TranslationItemCollection→Pimcore\TranslationsProviderInterfaceBundle\Bundle\XliffBundle\TranslationItemCollection\TranslationItemCollectionPimcore\Bundle\XliffBundle\TranslationItemCollection\TranslationItem→Pimcore\TranslationsProviderInterfaceBundle\Bundle\XliffBundle\TranslationItemCollection\TranslationItemPimcore\Bundle\XliffBundle\ExportDataExtractorService\ExportDataExtractorServiceInterface→Pimcore\TranslationsProviderInterfaceBundle\Bundle\XliffBundle\ExportDataExtractorService\ExportDataExtractorServiceInterfacePimcore\Bundle\XliffBundle\ImporterService\ImporterServiceInterface→Pimcore\TranslationsProviderInterfaceBundle\Bundle\XliffBundle\ImporterService\ImporterServiceInterfacePimcore\Bundle\XliffBundle\ImportDataExtractor\TranslationItemResolver\TranslationItemResolverInterface→Pimcore\TranslationsProviderInterfaceBundle\Bundle\XliffBundle\ImportDataExtractor\TranslationItemResolver\TranslationItemResolverInterface
Interface Changes
TranslationsJobServiceInterface: Theusestatement forTranslationItemCollectionchanged fromPimcore\Bundle\XliffBundle\TranslationItemCollection\TranslationItemCollectiontoPimcore\TranslationsProviderInterfaceBundle\Bundle\XliffBundle\TranslationItemCollection\TranslationItemCollection. Update all implementations accordingly.
Update to Version 4.0
General
- Dropped xplanation Integration. Please check your configuration (yaml/settings-store) and remove the xplanation key.
Update to Version 3.1
General
- Dropped support of Pimcore 10, bumped minimum requirement of
pimcore/pimcoreto^11.2. Replaced all$request->get()with their explicit input source. - Deprecate xplanation Integration