Sulu 3.0 selbst ist seit November 2025 verfügbar, mit einer fundamentalen Umstellung von PHPCR auf Doctrine ORM als Content-Storage. Für viele reale Projekte war das Kern-Release trotzdem kein praktischer Upgrade-Kandidat, weil zentrale Ökosystem-Bundles noch nicht mitgezogen waren. Am 7. Juli hat das Sulu-Team das geändert: Form, Headless, Community, Redirect, Automation und Comment sind jetzt in stabilen 3.0-Versionen verfügbar.
Was Sie in 8 Minuten erfahren:
- Warum das Headless-Bundle die größte Überarbeitung bekam und was das für API-Clients bedeutet
- Warum das Form-Bundle Template-Kompatibilität zu 2.6 hält und die meisten Projekte ohne Template-Arbeit auskommen
- Wie Sie einschätzen, ob Ihr Sulu-Projekt jetzt ein realistischer Upgrade-Kandidat ist
Wie ich in meinem Artikel zur Sulu-3.0-Architektur beschrieben habe, ersetzt die neue Version das PHPCR-Storage durch Doctrine ORM, den Document Manager durch ein dimensionsbasiertes Content-Modell und MassiveSearch durch die SEAL-Abstraktion. Dieser Artikel setzt dort an, wo der praktische Engpass lag: den Bundles, auf die reale Projekte angewiesen sind.
Die sechs Bundle-Releases im Überblick
Bundle | Version | Umfang der Änderung | Breaking Changes |
|---|---|---|---|
Headless | 3.0.1 | Größter interner Umbau | Ja, API-Response-Struktur betroffen |
Automation | 3.0.0 | Migration auf Message-Bus-Architektur | Ja, bei Custom-Task-Handling |
Form | 3.0.0 | Template-kompatibel zu 2.6 | Nur bei Bundle-Extensions |
Community | 3.0.0 | 3.0-Kompatibilität plus neue Registrierungsregeln | Ja, Symfony Mailer statt SwiftMailer |
Redirect | 3.0.0 | 3.0-Kompatibilität | Ja, UUID-Bibliothek gewechselt |
Comment | 3.0.0 | 3.0-Kompatibilität | Ja, Pagination-Parameter geändert |
Betrifft Sie das? Schnelltest in 30 Sekunden
Upgrade jetzt realistisch prüfen wenn: Ihr Projekt Form, Community, Redirect, Automation oder Comment nutzt und bisher wegen fehlender 3.0-Kompatibilität blockiert war. Diese Blockade ist jetzt aufgehoben.
Zusätzlichen Aufwand einplanen wenn: Ihr Projekt das Headless-Bundle produktiv einsetzt. Die API-Response-Struktur hat sich geändert, jeder Client muss angepasst werden.
Kein akuter Handlungsbedarf wenn: Sie auf Sulu 2.6 laufen und keinen konkreten Grund für den Wechsel haben. 2.6 ist die LTS-Linie mit Support bis Sulu 4.0.
Welche Bundles blockieren Ihr Sulu-Upgrade noch?
Ich prüfe Ihre Bundle-Abhängigkeiten gegen die neuen 3.0-Releases und zeige, wo der reale Migrationsaufwand liegt.
- Sulu-Migrationen seit der PHPCR-Ära
- Bundle-Kompatibilitätsprüfung für Bestandsprojekte
⏱️ Antwort binnen 24 Stunden
Warum das Headless-Bundle den größten Umbau brauchte
Das Headless-Bundle war architektonisch am stärksten von der Content-Storage-Umstellung betroffen, weil es Content-Resolver und Serializer direkt an das alte Document-Manager-Modell gekoppelt hatte. Für 3.0 mussten beide Komponenten auf das neue Doctrine-ORM-Content-Modell angepasst werden, und der Such-Endpunkt läuft jetzt über SEAL statt über MassiveSearch.
// Headless-API: Breaking Changes in der Response-Struktur
// Vorher (2.6): indices-Parameter, verschachtelte Struktur
GET /api/search?indices=pages,articles
// Jetzt (3.0): index-Parameter (Singular), flache Liste
GET /api/search?index=pages,articles
// Jeder Treffer enthält jetzt ein serialisiertes Media-Objekt
// zusätzlich zu resourceKey und idWeitere Breaking Changes betreffen Smart Content, das jetzt eine groups-Option unterstützt, den Excerpt, der ein einzelnes image-Objekt statt eines Arrays liefert, um mit dem Sulu-Core-Format übereinzustimmen, und Navigation-Items, die jetzt einen linkType mitführen. Die mitgelieferte Referenz-JavaScript-Implementierung wurde entfernt.
Was beim Form-Bundle anders läuft
Warum bleibt das Form-Bundle template-kompatibel?
Das Sulu-Team hat für diese Release-Runde ein explizites Ziel formuliert: so nah wie möglich am 2.6-Verhalten bleiben, damit bestehende Projekte mit minimalen Änderungen upgraden können. Beim Form-Bundle ist das sichtbar gelungen. Der Single-Form-Selection-Content-Type löst weiterhin zu einem fertig renderbaren Formular auf, sodass bestehende Templates unverändert weiterlaufen.
# Intern hat sich beim Form-Bundle einiges geändert:
# - Resource-Keys jetzt im Plural (pages, articles, snippets)
# - Doctrine-Migration aktualisiert gespeicherte Submission-Typen automatisch
# - Admin-Formular-Metadaten fallen jetzt auf die konfigurierte
# Übersetzer-Locale zurück statt hart auf Deutsch
# Betroffen sind nur Projekte, die das Bundle direkt erweitern:
# Type-Signaturen wurden verschärft, siehe UPGRADE-3.0.mdFür die meisten Projekte bedeutet das: kein Template-Aufwand. Nur wer eigene Erweiterungen des Form-Bundles pflegt, muss die verschärften Type-Deklarationen im Upgrade-Guide durchgehen.
Was ändert sich beim Automation-Bundle?
Geplante Veröffentlichungen und Depublizierungen laufen jetzt über die Message-Bus-Architektur von Sulu 3.0. Dedizierte Handler für Pages, Articles und Snippets ersetzen den bisherigen generischen Document-Handler, was Automatisierung pro Content-Typ individuell ermöglicht. Die zugrunde liegende php-task-Bibliothek wurde auf Version 3 angehoben, und gespeicherte Tasks referenzieren die Task-Entity jetzt direkt statt über eine ID.
Für Projekte mit angepasstem Task-Handling sind die entfernten Handler-Klassen und die geänderte Task-Entity Breaking Changes, die im Upgrade-Guide dokumentiert sind. Ein kleiner, aber praktischer Nebeneffekt: Die Automation-Ansicht im Admin zeigt jetzt für jede Artikel-Gruppe einen korrekt benannten Tab, statt wie vorher nur den Namen der letzten Gruppe.
⚡ Sulu-2.6-auf-3.0-Migration planen?
Ich begleite die Migration inklusive Bundle-Updates, PHPCR-Datenübertragung und Anpassung eigener Erweiterungen.
- Sulu-Migrationen mit Fokus auf Bestandsprojekte
- PHPCR-zu-Doctrine-Datenübertragung aus der Praxis
⏱️ Antwort binnen 24 Stunden
📞 Oder direkt anrufen: 04481 - 9099658
Was sich bei Community, Redirect und Comment ändert
Diese drei Bundles fokussieren sich überwiegend auf die reine 3.0-Kompatibilität, mit einigen gezielten Verbesserungen. Das Community-Bundle bekommt konfigurierbare Registrierungsregeln zur Steuerung von Anmeldungen, liefert bei ungültigen Formular-Einreichungen jetzt einen korrekten HTTP-422-Status und setzt Symfony Mailer statt des veralteten SwiftMailer voraus.
Das Redirect-Bundle ersetzt ramsey/uuid durch symfony/uid und verschiebt seinen Import-Endpunkt unter den neuen Admin-API-Pfad. Das Comment-Bundle löst die veralteten Parameter page und pageSize durch limit und offset ab. Alle drei Bundles verlieren ihre PHPCR- und FOSRest-Abhängigkeiten, die sie nicht mehr benötigen.
Wichtig für Projekte, die noch nicht wechseln können oder wollen: Jedes Bundle behält eine eigenständige 2.x-Linie kompatibel zu Sulu 2.6. Diese wird weiterhin gepflegt, etwa mit Symfony-7-Support, dem Entfernen von End-of-Life-PHP-Versionen und der Migration des REST-Routings auf Symfony-Routing.
Aus der Praxis
Was mir bei Sulu-Bestandsprojekten häufig begegnet: Teams, die den 3.0-Umstieg auf unbestimmte Zeit verschoben haben, weil ein einziges Bundle fehlte, während der Rest des Projekts längst migrationsbereit war. Genau dieses Muster löst die aktuelle Release-Runde auf. Wer vorher wegen des Community- oder Form-Bundles blockiert war, kann die Migration jetzt tatsächlich einplanen, statt sie als vage Zukunftsaufgabe zu führen.
Zusammenfassung
Sechs Sulu-Bundles sind jetzt in stabilen 3.0-Versionen verfügbar: Form, Headless, Community, Redirect, Automation und Comment. Das Sulu-Team hat sich am 2.6-Verhalten orientiert, um bestehende Projekte mit minimalem Aufwand upgradebar zu machen.
Headless hat den größten Umbau erfahren, mit Breaking Changes in der API-Response-Struktur. Jeder Client muss angepasst werden.
Form bleibt weitgehend template-kompatibel, die meisten Projekte kommen ohne Template-Arbeit aus.
Community, Redirect und Comment fokussieren auf reine Kompatibilität mit kleineren gezielten Verbesserungen und verlieren ihre PHPCR- und FOSRest-Abhängigkeiten.
Sulu 2.6 bleibt als LTS-Linie verfügbar für Projekte, die noch nicht wechseln.
Sie wissen, ob Ihr Sulu-Projekt jetzt migrationsbereit ist.
Bundle-Check, Migrations-Plan oder vollständige Umsetzung. Lassen Sie uns klären, was für Ihr Projekt der richtige nächste Schritt ist.
- Sulu-Migrationen von PHPCR zu Doctrine ORM
- Bundle-Kompatibilitätsprüfung für Bestandsprojekte