Skip to main content
Version: 2026.1

Upgrade Information

The following steps are necessary during updating to newer versions.

Upgrade to 2026.1.0

PHP & Symfony Version Support

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

Removed Admin Classic / ExtJS UI

  • Removed pimcore/admin-ui-classic-bundle dependency. The bundle no longer implements PimcoreBundleAdminClassicInterface or uses BundleAdminClassicTrait.
  • Removed all ExtJS-based JavaScript and CSS paths (getCssPaths(), getJsPaths() methods removed from PimcoreDataQualityManagementBundle).
  • PimcoreAdminBundle is no longer registered as a dependent bundle.
  • TreeBadgeService and TreeBadgeServiceInterface have been removed (they were @internal).

Interface & Return Type Changes

  • RuleDefinitionInterface::getSuggestion(): The parameter array $objectData has been replaced by Concrete $object. Any custom rule definitions implementing this interface must be updated to accept a Pimcore\Model\DataObject\Concrete instance instead of an array.
  • AbstractRuleDefinition::getSuggestion(): Same change as above. Custom classes extending AbstractRuleDefinition must update their getSuggestion() signature from array $objectData to Concrete $object.
  • ScoreServiceInterface::calculateScores(): Added new required parameter array $fieldDefinitions between $dataObject and $skipSaving. Custom implementations of ScoreServiceInterface must be updated.
    • Old: calculateScores(Concrete $dataObject, bool $skipSaving = false): void
    • New: calculateScores(Concrete $dataObject, array $fieldDefinitions, bool $skipSaving = false): void
  • DetailWidgetHydratorInterface::hydrate(): The parameter array $objectData has been replaced by Concrete $object. Note: this interface is @internal.
  • RuleDataHydratorInterface::hydrate(): The parameter array $objectData has been replaced by Concrete $object. Note: this interface is @internal.

Messenger Transport Configuration

  • The messenger transport DSN is now configurable via the %pimcore.messenger.transport_dsn_prefix% container parameter instead of being hardcoded to doctrine://default. This allows the installer to wire the transport DSN from environment variables (e.g. PIMCORE_MESSENGER_TRANSPORT_DSN_PREFIX).

Studio UI Enhancements

  • Added Studio class editor field type support for the Data Quality field definition, including rule definition configuration via the Studio UI.

Doctrine

  • Removed Doctrine enum mapping from the bundle test configuration.

Upgrade to 1.6.0

  • Added Pimcore Studio Backend Bundle support.
  • [Custom Rules] Please note that data structure of parameter $objectData of getSuggestion() method differs for Studio Backend. You might need to adjust your custom rule definitions suggestions. See Studio documentation for more information.