Update Notes
Upgrade to 2026.1.0
PHP / Dependency Updates
- Added support for
PHP8.5. - Removed support for
PHP8.3and Symfonyv6.
Removed ExtJS / Admin Classic UI
PimcoreDataHubWebhooksBundleno longer implementsPimcoreBundleAdminClassicInterfaceand no longer usesBundleAdminClassicTrait.- The Admin Classic UI JavaScript and CSS assets have been removed:
js/pimcore/adapter/webhooks.jsjs/pimcore/configuration/configItem.jsjs/pimcore/configuration/gridConfigDialog.jsjs/pimcore/configuration/workspace/asset.jsjs/pimcore/configuration/workspace/document.jsjs/pimcore/configuration/workspace/object.jsjs/pimcore/configuration/workspace/nodeHelper.jsjs/pimcore/configuration/components/logTab.jscss/icons.css
ConfigControllerhas been removed (it served the ExtJS-based configuration UI).StudioRouteLoaderhas been removed; Studio routes are now registered via the standard bundle configuration.
Messenger Transport DSN Rename
- The messenger transport DSN is now configured via the
%pimcore.messenger.transport_dsn_prefix%container parameter (previously%pimcore.messenger.transport_dsn%). If you override the transport DSN configuration, update your environment variable fromPIMCORE_MESSENGER_TRANSPORT_DSNtoPIMCORE_MESSENGER_TRANSPORT_DSN_PREFIX.
Classes Marked as @internal and/or final
All classes in this bundle are now marked as @internal. The following classes are also final. If you were extending or instantiating any of these directly, refactor to use composition, decoration, or event subscribers instead:
Bundle
PimcoreDataHubWebhooksBundle
Controllers
Controller\Studio\Config\GetControllerController\Studio\Config\TestSubscribersControllerController\Studio\Config\UpdateController
DependencyInjection
ConfigurationPimcoreDataHubWebhooksExtensionCompilerPass\EventConfigurationServicePass
EventListeners (@internal, not final)
EventListener\ElementDeleteEventListenerEventListener\ElementEventListenerEventListener\WorkflowEventListener
Installer
Installer
Logger
Log\WebhookLogger
Maintenance
Maintenance\QueueProcessingDispatchingTask(@internal, notfinal)
Messenger
Messenger\Handler\WebhookHandlerMessenger\WebhookMessage(@internal, notfinal)
Processors
Processors\AbstractWebhookProcessor(@internal, notfinal)Processors\AssetWebhookProcessorProcessors\DataObjectWebhookProcessorProcessors\DocumentWebhookProcessorProcessors\WorkflowWebhookProcessorProcessors\DataExtractor\ElementDataExtractor(@internal, notfinal)Processors\DataExtractor\StudioElementDataExtractorProcessors\DataExtractor\OutputFormatter\Loader\TaggedIteratorOutputFormatterLoaderProcessors\DataExtractor\OutputFormatter\Formatter\HotspotImageFormatterProcessors\DataExtractor\OutputFormatter\Formatter\ImageFormatterProcessors\DataExtractor\OutputFormatter\Formatter\ImageGalleryFormatterProcessors\DataExtractor\OutputFormatter\Formatter\VideoFormatter
Queue
Queue\QueueService
Services
Service\ConfigServiceService\Studio\ConfigurationServiceService\Studio\SubscriberTestService
Tools
Tool\AssetRelationFixer
Visibility Tightening
The following methods and properties had their visibility changed (e.g. protected → private, or made readonly). If you extended any of these classes, update your subclass accordingly:
WebhookHandler: constructor parameters are nowprivate readonly.QueueService:getDb(),getCurrentQueueTableOperationTime(),createQueueTableIfNotExisting()changed fromprotectedtoprivate.WebhookLogger:$fileObjectchanged fromprotectedtoprivate; constructor parameter is nowprivate readonly.Installer::createAdapterPermission()changed fromprotectedtoprivate.
Update to Version 2.2
With this version and the Pimcore Studio integration, we introduced a new architecture for schema definitions. We are moving from the tree-based schema definition (also used in the grid configuration of the Admin Classic UI) to a pipeline-based approach (also used in Studio UI grids). This change is driven by technical and maintenance considerations, as the tree-based implementation has limitations in terms of consistency, flexibility, and extensibility. The new architecture aligns with how Pimcore Studio UI grids work internally, streamlining the implementation across adapters and improving consistency, stability, and extensibility.
Existing configurations created in the Classic UI remain functional and continue to execute without changes. However, a configuration must be fully migrated to the new pipeline-based format before it can be edited in Pimcore Studio. Migration must be done manually by following the steps provided in the Pimcore Studio UI.
Read-only support for the legacy tree-based schema definitions will be removed in version 2027.1.0.
Update to Version 2.0
Pimcore\Bundle\DataHubWebhooksBundle\Configuration\Dao was removed and replaced by Pimcore\Bundle\DataHubWebhooksBundle\Service\ConfigurationServiceInterface.