Breaking: #94117 - Register extbase type converters as services

See forge#94117

Description

Extbase type converters are used to convert from a simple type to an object or another simple type. The registration of those type converters is no longer done via \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter(), but via container services in the extensions' Services.yaml file.

As a side effect, the type converter configuration such as sourceType or targetType has been moved from the TypeConverterInterface to the service container configuration.

Impact

Type converters registered via \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter() are no longer evaluated.

The TypeConverterInterface does no longer define the configuration related methods:

  • getSupportedSourceTypes()

  • getSupportedTargetType()

  • getPriority()

  • canConvertFrom()

Affected Installations

All installations that do not register type converters via Services.yaml.

All installations, which rely on the configuration related methods, being defined in the TypeConverterInterface.

Migration

Remove registration via \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter() from your ext_localconf.php file and register the type converters in your Services.yaml instead. See changelog for an example.

Remove any call to the configuration related methods, see the deprecation changelog for more information.