Upgrade Notes
2026.1.0
Removed Admin Classic / ExtJS Support
- Removed all ExtJS/Admin Classic UI related implementations.
PimcoreOpenIdConnectBundleno longer implementsPimcoreBundleAdminClassicInterfaceand no longer usesBundleAdminClassicTrait. ThegetJsPaths()andgetCssPaths()methods have been removed.- Removed the
ContentSecurityPolicyUrlsPasscompiler pass (DependencyInjection\Compiler\ContentSecurityPolicyUrlsPass) and the relatedbuild()method fromPimcoreOpenIdConnectBundle. - Removed ExtJS controllers:
Controller\AuthController,Controller\ButtonInjectionController,Controller\ConfigController. - Removed ExtJS-based event listeners:
EventListener\LoginRedirectListener,EventListener\LostPasswordListener. - Removed
Session\Configurator(legacyAdminSessionBagListenerwrapper). - Removed
Routing\StudioRouteLoader— studio routes are now loaded unconditionally. - Removed ExtJS JavaScript assets (
pimcore/startup.js,pimcore/configPanel.js,ext_extensions.js) and CSS assets (login.css,admin.css). - Removed legacy
services_legacy.ymlservice definitions (Pimcore ≤ 10 compatibility). - Removed legacy Pimcore version checks (
Version::getMajorVersion()) throughout the bundle.
Studio Backend Integration (New)
- Migrated legacy admin controllers to the Studio backend architecture (PR #138).
- New Studio backend controllers added under
Controller\Studio\:Auth\DebugController,Auth\EndpointController,Auth\LoginController,Auth\ScriptControllerConfig\GetController,Config\UpdateController
- New interfaces introduced (all marked
@internal):Hydrator\ConfigurationHydratorInterfaceService\Studio\Auth\EndpointServiceInterfaceService\Studio\Auth\LoginServiceInterfaceService\Studio\Auth\RenderServiceInterfaceService\Studio\Configuration\ServiceInterface
- New schemas added:
Schema\Configuration,Schema\EndpointParameters,Schema\ScriptParameters,Schema\SuccessResponse,Schema\UpdateConfigurationParameters. - New Studio frontend module added for OpenID Connect configuration and login buttons
(
assets/studio/). - Added
OidcPublicAuthorizationVoter(Security\Voter\OidcPublicAuthorizationVoter) to authorize public OIDC routes within the Studio firewall. - Added
AppConfig\OidcAppConfigProviderto supply provider names to the Studio UI app config. - Added
Webpack\WebpackEntryPointProviderto register the Studio frontend build entry point. - Studio Backend and Studio UI YAML configurations are now always loaded unconditionally.
- Studio backend routes are now loaded unconditionally (replacing the conditional
StudioRouteLoader).
Authenticator Changes
OpenIdConnectAuthenticatornow extendsAbstractAuthenticator(Symfony) directly instead ofAdminAbstractAuthenticator(Pimcore Admin bundle). Custom code extending or decorating this class must be updated accordingly.- Removed dependency on
Pimcore\Bundle\AdminBundle\Security\Authenticator\AdminAbstractAuthenticator.
Rate Limiter Configuration
- Added rate limiter configuration for public OIDC endpoints via a new
Resources/config/prepend/rate_limiter.yaml.oidc_endpoint: fixed-window, 30 requests per 5 minutes (allows ~10 OAuth2 login attempts).oidc_script: fixed-window, 50 requests per 5 minutes (for login-page JavaScript asset).
PHP / Platform Requirements
- Added support for
PHP8.5. - Removed support for
PHP8.3and Symfonyv6.
1.2.0
- [General] Dropped support of Pimcore 10, bumped minimum requirement of
pimcore/pimcoreto^11.2. Replaced all$request->get()with their explicit input source. - [Composer] Replaced the abandoned jwt related required packages with
jwt-library - [Composer] Bumped minimum required PHP version to 8.1 and added support to 8.2 and 8.3
1.1.0
- [Plugins] Replaced plugins backend UI with JS event listener.
- [Session] Replaced SessionConfigurator with OpenSessionBagListener and added related deprecation triggers.
- [Session] Deprecated
Configurator::SESSION_BAG_NAME, useOpenSessionBagListener::SESSION_BAG_NAMEinstead. - [Session] Replaced usage of deprecated
Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBagin favor ofAttributeBag - If you are upgrading to pimcore 11, then please install the
pimcore/admin-ui-classic-bundlebundle.