Upgrade Information
The following steps are necessary during updating to newer versions.
Upgrade to 2026.1.0
PHP & Symfony Version Support
- Added support for
PHP8.5. - Removed support for
PHP8.3and Symfonyv6.
Removed Admin Classic / ExtJS UI
- Removed the
pimcore/admin-ui-classic-bundledependency. The bundle no longer implementsPimcoreBundleAdminClassicInterfaceor usesBundleAdminClassicTrait. - Removed all ExtJS-based JavaScript and CSS paths (
getCssPaths()andgetJsPaths()methods removed fromPimcoreDataQualityManagementBundle). PimcoreAdminBundleis no longer registered as a dependent bundle.TreeBadgeServiceandTreeBadgeServiceInterfacehave been removed (they were@internal).
Interface & Return Type Changes
RuleDefinitionInterface::getSuggestion(): The parameterarray $objectDatahas been replaced byConcrete $object. Custom rule definitions implementing this interface must accept aPimcore\Model\DataObject\Concreteinstance instead of an array.AbstractRuleDefinition::getSuggestion(): Same change as above. Custom classes extendingAbstractRuleDefinitionmust update theirgetSuggestion()signature fromarray $objectDatatoConcrete $object.ScoreServiceInterface::calculateScores(): Added a new required parameterarray $fieldDefinitionsbetween$dataObjectand$skipSaving. Custom implementations ofScoreServiceInterfacemust be updated.- Old:
calculateScores(Concrete $dataObject, bool $skipSaving = false): void - New:
calculateScores(Concrete $dataObject, array $fieldDefinitions, bool $skipSaving = false): void
- Old:
DetailWidgetHydratorInterface::hydrate(): The parameterarray $objectDatahas been replaced byConcrete $object. This interface is@internal.RuleDataHydratorInterface::hydrate(): The parameterarray $objectDatahas been replaced byConcrete $object. 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 todoctrine://default. This lets the installer wire the transport DSN from environment variables (for examplePIMCORE_MESSENGER_TRANSPORT_DSN_PREFIX).
Pimcore Studio Enhancements
- Added Studio class editor field type support for the Data Quality field definition, including rule definition configuration via Pimcore Studio.
Doctrine
- Removed Doctrine enum mapping from the bundle test configuration.
Upgrade to 1.6.0
- Added
Pimcore Studio Backend Bundlesupport. - [Custom Rules] The data structure of the
getSuggestion()method's object parameter differed between Admin Classic and Pimcore Studio at the time. This distinction no longer applies: since the 2026.1.0 upgrade,getSuggestion()always receives aPimcore\Model\DataObject\Concreteinstance. See Custom Rule Definition for the current signature.