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.