Skip to main content
Version: 2026.1

Update Notes

Upgrade to 2026.1.0​

  • Added support for PHP 8.5.
  • Removed support for PHP 8.3 and Symfony v6.

Removed Admin Classic / ExtJS Support​

  • PimcoreDirectEditBundle no longer implements PimcoreBundleAdminClassicInterface and no longer uses BundleAdminClassicTrait. The getJsPaths() and getCssPaths() methods have been removed.
  • All ExtJS-based frontend assets have been deleted:
    • src/Resources/public/js/startup.js
    • src/Resources/public/js/modal.js
    • src/Resources/public/js/bootstrap-modal.js
    • src/Resources/public/css/style.css

Removed Controllers​

  • AssetEditController has been removed (was Admin Classic based).
  • MercureController has been removed (was Admin Classic based).
  • StudioRouteLoader has been removed; Studio routing is now handled directly via configuration.

Studio UI Implementation​

  • Full Studio UI support has been implemented. The bundle now ships with a React/TypeScript frontend under assets/studio/.
  • New Studio backend controllers added under src/Controller/Studio/:
    • CancelEditController
    • ConfirmUploadController
    • GenerateLinkController
    • GetStatusController (replaces the former DefaultController)
    • ResolveConflictController
  • New Studio events added:
    • Pimcore\Bundle\DirectEditBundle\Event\Studio\DirectEditLinkEvent
    • Pimcore\Bundle\DirectEditBundle\Event\Studio\DirectEditStatusEvent

Interface & API Changes​

  • ClientController is now marked @internal.
  • ClientController constructor: ClientCommunicationService $clientCommunicationService dependency has been replaced by DirectEditEventNotifierInterface $notificationService.
  • ClientCommunicationService constructor: a new optional ?string $clientHostUrl parameter has been added as the last argument.
  • The internal method call ClientCommunicationService::sendStartLocalEditingEvent() used inside ClientController has been replaced by DirectEditEventNotifierInterface::notifyStartEditing().
  • ClientController upload handler now calls DirectEditEventNotifierInterface::notifyUploadComplete() instead of ClientCommunicationService::sendClientUploadEvent().
  • Both notifyStartEditing() and notifyUploadComplete() now return string[] (warnings for non-fatal failures), and the JSON responses from ClientController will include a warnings key when warnings are present.

New Interfaces​

The following new interfaces have been added (all marked @internal):

  • Pimcore\Bundle\DirectEditBundle\Service\DirectEditEventNotifierInterface — abstraction over event notification channels, with methods:
    • notifyStartEditing(AssetToken $assetToken): string[]
    • notifyUploadComplete(AssetToken $assetToken): string[]
  • Pimcore\Bundle\DirectEditBundle\Service\Studio\DirectEditServiceInterface — Studio backend service interface with methods: generateLink(), cancelEdit(), confirmUpload(), resolveConflict(), getStatus().
  • Pimcore\Bundle\DirectEditBundle\Hydrator\DirectEditLinkHydratorInterface — hydrates DirectEditLink schema objects.
  • Pimcore\Bundle\DirectEditBundle\Hydrator\DirectEditStatusHydratorInterface — hydrates DirectEditStatus schema objects.

Update to Version 2.5​

  • It is now possible to define the JWT Cookie Host and strictness via configuration.

Update to Version 2.1​

Please be aware that version 2.1 of the bundle drops support for Pimcore 10.6. Make sure to upgrade to Pimcore 11.1 or higher before updating the bundle.