Skip to main content
Version: 2026.1

Update Notes

Upgrade to 2026.1.0

PHP / Dependency Updates

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

Removed ExtJS / Admin Classic UI

  • PimcoreDataHubWebhooksBundle no longer implements PimcoreBundleAdminClassicInterface and no longer uses BundleAdminClassicTrait.
  • The Admin Classic UI JavaScript and CSS assets have been removed:
    • js/pimcore/adapter/webhooks.js
    • js/pimcore/configuration/configItem.js
    • js/pimcore/configuration/gridConfigDialog.js
    • js/pimcore/configuration/workspace/asset.js
    • js/pimcore/configuration/workspace/document.js
    • js/pimcore/configuration/workspace/object.js
    • js/pimcore/configuration/workspace/nodeHelper.js
    • js/pimcore/configuration/components/logTab.js
    • css/icons.css
  • ConfigController has been removed (it served the ExtJS-based configuration UI).
  • StudioRouteLoader has 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 from PIMCORE_MESSENGER_TRANSPORT_DSN to PIMCORE_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\GetController
  • Controller\Studio\Config\TestSubscribersController
  • Controller\Studio\Config\UpdateController

DependencyInjection

  • Configuration
  • PimcoreDataHubWebhooksExtension
  • CompilerPass\EventConfigurationServicePass

EventListeners (@internal, not final)

  • EventListener\ElementDeleteEventListener
  • EventListener\ElementEventListener
  • EventListener\WorkflowEventListener

Installer

  • Installer

Logger

  • Log\WebhookLogger

Maintenance

  • Maintenance\QueueProcessingDispatchingTask (@internal, not final)

Messenger

  • Messenger\Handler\WebhookHandler
  • Messenger\WebhookMessage (@internal, not final)

Processors

  • Processors\AbstractWebhookProcessor (@internal, not final)
  • Processors\AssetWebhookProcessor
  • Processors\DataObjectWebhookProcessor
  • Processors\DocumentWebhookProcessor
  • Processors\WorkflowWebhookProcessor
  • Processors\DataExtractor\ElementDataExtractor (@internal, not final)
  • Processors\DataExtractor\StudioElementDataExtractor
  • Processors\DataExtractor\OutputFormatter\Loader\TaggedIteratorOutputFormatterLoader
  • Processors\DataExtractor\OutputFormatter\Formatter\HotspotImageFormatter
  • Processors\DataExtractor\OutputFormatter\Formatter\ImageFormatter
  • Processors\DataExtractor\OutputFormatter\Formatter\ImageGalleryFormatter
  • Processors\DataExtractor\OutputFormatter\Formatter\VideoFormatter

Queue

  • Queue\QueueService

Services

  • Service\ConfigService
  • Service\Studio\ConfigurationService
  • Service\Studio\SubscriberTestService

Tools

  • Tool\AssetRelationFixer

Visibility Tightening

The following methods and properties had their visibility changed (e.g. protectedprivate, or made readonly). If you extended any of these classes, update your subclass accordingly:

  • WebhookHandler: constructor parameters are now private readonly.
  • QueueService: getDb(), getCurrentQueueTableOperationTime(), createQueueTableIfNotExisting() changed from protected to private.
  • WebhookLogger: $fileObject changed from protected to private; constructor parameter is now private readonly.
  • Installer::createAdapterPermission() changed from protected to private.

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.