Tipp: TYPO3 v14 – Warnung im Extension Manager vermeiden
Seit TYPO3 v14 kann der Extension‑Titel optional aus der composer.json abgeleitet werden. Befindet sich im Feld description die Sequenz - (Leerzeichen‑Bindestrich‑Leerzeichen), wird alles vor dieser Sequenz als Titel und alles danach als Beschreibung interpretiert. Stimmen diese Werte nicht mit der ext_emconf.php überein, zeigt der Extension Manager eine Warnung (Defizit) an.

Hintergrund
Der Breaking Change #108304 Populate extension title from composer.json definiert die composer.json als zusätzliche Quelle für Titel und Beschreibung. Der Extension Manager vergleicht dabei die Metadaten beider Dateien und prüft ihre Übereinstimmung.
Relevanter Core‑Ausschnitt aus \TYPO3\CMS\Extensionmanager\Package\ComposerDeficitDetector:
if ($extensionConfig !== false
&& !empty($extensionConfig['title'])
&& !empty($extensionConfig['description'])
&& ($composerManifest['description'] ?? '') !== ($extensionConfig['title'] . ' - ' . $extensionConfig['description'])
) {
return self::EXTENSION_TITLE_MISSING;
}
Wichtig: In der composer.json gibt es kein eigenes Feld title. Der Titel wird – falls vorhanden – aus der description vor dem Trenner - abgeleitet. TYPO3 erwartet, dass die zusammengesetzten Werte mit 'title' und 'description' aus der ext_emconf.php übereinstimmen.
Was ist zu tun?
Schreibe im description-Feld deiner composer.json exakt die Werte der aus deiner ext_emconf.php mit einem - getrennt.
Beispiel:
ext_emconf.php:
$EM_CONF[$_EXTKEY] = [
'title' => 'TYPO3 CMS Content Blocks',
'description' => 'Content Types API | Define reusable components via YAML',
// ...
composer.json:
{
"description": "TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML",
...
}