Deprecation: #99586 - Registration of upgrade wizards via $GLOBALS

See forge#99586

Description

Registration of upgrade wizards via $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'], usually placed in an extensions ext_localconf.php has been deprecated in favour of the new service tag.

Additionally, the UpgradeWizardInterface, which all upgrade wizards must implement, does no longer require the getIdentifier() method. TYPO3 does not use this method anymore since an upgrade wizards identifier is now defined using the new service tag.

Impact

Upgrade wizards, registered via $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'] will no longer be recognized with TYPO3 v13.

Definition of the getIdentifier() method does no longer have any effect.

Affected installations

All installations registering custom upgrade wizards using $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'].

All installations implementing the getIdentifier() method in their upgrade wizards.

Migration

Use the new service tag to register custom upgrade wizards and remove the registration via $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'].

Before

// ext_localconf.php

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['myUpgradeWizard'] = \Vendor\Extension\Updates\MyUpgradeWizard::class;

After

// Classes/Updates/MyUpgradeWizard.php

use TYPO3\CMS\Install\Attribute\UpgradeWizard;
use TYPO3\CMS\Install\Updates\UpgradeWizardInterface;

#[UpgradeWizard('myUpgradeWizard')]
class MyUpgradeWizard implements UpgradeWizardInterface
{

}

Drop any getIdentifier() method in custom upgrade wizards.