---
title: "Deprecation: #99586 - Registration of upgrade wizards via $GLOBALS"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-99586-1673990657"
source: "Changelog/12.2/Deprecation-99586-RegistrationOfUpgradeWizardsViaGLOBALS.rst"
typo3-version: "12.2"
typo3-major: 12
type: "deprecation"
issue: 99586
forge: "https://forge.typo3.org/issues/99586"
tags: ["Backend", "PHP-API", "FullyScanned", "ext:install"]
rendered: "2026-09-17T12:41:04+00:00"
---

# Deprecation: #99586 - Registration of upgrade wizards via $GLOBALS {#deprecation-99586-registration-of-upgrade-wizards-via-globals}

See [forge#99586](https://forge.typo3.org/issues/99586)

## Description {#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](https://docs.typo3.org/permalink/changelog:feature-99586-1673989775).

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 {#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 {#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 {#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 {#before}

**EXT:my_extension/ext_localconf.php**

```php
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['myUpgradeWizard']
    = \MyVendor\MyExtension\Updates\MyUpgradeWizard::class;
```

### After {#after}

**EXT:my_extension/Classes/Updates/MyUpgradeWizard.php**

```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.
