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 extension's ext_localconf.php has been deprecated in favor of the new service tag.

Additionally, the \TYPO3\CMS\Install\Updates\UpgradeWizardInterface, which all upgrade wizards must implement, does no longer require the getIdentifier() method. TYPO3 does not use this method anymore since an upgrade wizard's 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 in TYPO3 v13.

The definition of the getIdentifier() method has no effect anymore.

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:my_extension/ext_localconf.php
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['myUpgradeWizard']
    = \MyVendor\MyExtension\Updates\MyUpgradeWizard::class;

After

EXT:my_extension/Classes/Updates/MyUpgradeWizard.php
namespace MyVendor\MyExtension\Updates;

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.