Was eine Versionsangabe im Plugin wirklich zusagt
Drei von sieben eigenen Erweiterungen sagen nach oben gar nichts zu. Die Angabe in der composer.json ist eine Absicht — geprüft wird sie erst bei der Installation, und auch dann nur formal.

Vor jedem Versionssprung kommt dieselbe Frage: Laufen unsere Erweiterungen
mit der neuen Version? Die naheliegende Antwort steht in der composer.json
jeder Erweiterung — und sie ist weniger wert, als die meisten annehmen.
Wir haben die Angaben unserer sieben eigenen Erweiterungen gelesen, wie sie auf zwei laufenden Installationen vorliegen.
Drei Stilrichtungen, nebeneinander im selben Haus
| Angabe | Bedeutung | Anzahl |
|---|---|---|
>= 6.6.0 bzw. >= 6.7.0 | offen nach oben | 3 |
>= 6.6.10.6 < 6.8 bzw. >= 6.6.0 < 6.8.0 | beidseitig begrenzt | 2 |
~6.6.0 || ~6.7.0 | explizit aufgezählt | 1 |
~6.7.0 | nur eine Linie | 1 |
Das ist der erste Befund, und er gilt nicht nur für uns: Es gibt keine einheitliche Praxis. Drei Erweiterungen derselben Werkstatt drücken dieselbe Sache auf drei Arten aus.
Was die Angabe tatsächlich auslöst
Beim Installieren und beim Update prüft Shopware, ob die installierte Kernversion in die angegebene Spanne fällt. Passt sie nicht, verweigert das System die Installation oder meldet die Erweiterung als inkompatibel.
Das ist eine formale Prüfung. Sie beantwortet die Frage „darf das hier liegen", nicht die Frage „tut das noch, was es soll". Eine Erweiterung, deren Angabe passt, kann trotzdem an einer geänderten Schnittstelle scheitern — und eine, deren Angabe nicht passt, würde technisch oft problemlos laufen.
Die offene Angabe: bequem und riskant
>= 6.6.0 heißt: Diese Erweiterung lässt sich in 6.6, in 6.7 und in jeder
kommenden Version installieren. Der Hersteller hat damit über Versionen eine
Aussage getroffen, die er nie gesehen hat.
Für Betreiber ist das trügerisch. Das Update läuft durch, die Erweiterung ist aktiv, und der Fehler zeigt sich später — an der Stelle, an der sich im Kern etwas geändert hat. Wir haben genau das dokumentiert, als der Shopware-Kern eine Plugin-Route verdrängt hat: Die Erweiterung war installierbar und aktiv. Sie kam trotzdem nicht mehr zum Zug, weil der Kern dieselbe Route mitbrachte.
Die enge Angabe: ehrlich und im Weg
>= 6.6.10.6 < 6.8 sagt: geprüft bis 6.7, danach nicht. Das ist die
ehrlichere Aussage — und die, über die sich Betreiber ärgern, weil sie beim
Sprung auf eine neue Version den Weg versperrt.
Genau das ist ihr Zweck. Die Sperre zwingt zu der Frage, die sonst niemand stellt: Hat der Hersteller diese Version tatsächlich getestet?
Was Sie vor einem Versionssprung prüfen sollten
- Für jede Erweiterung die Angabe lesen. Deckt sie die Zielversion ausdrücklich ab, oder tut sie es nur, weil sie nach oben offen ist?
- Bei offenen Angaben nachfragen. Eine Freigabe des Herstellers für die Zielversion ist etwas anderes als eine Spanne, die sie zufällig einschließt.
- Eigene Erweiterungen zuerst. Was im eigenen Haus entstanden ist, hat niemand außer Ihnen getestet.
- Testinstallation, nicht Produktivsystem. Die formale Prüfung sagt nichts über das Verhalten. Erst ein Durchlauf der tatsächlichen Prozesse tut das.
Welche Unterschiede zwischen 6.6 und 6.7 für diese Prüfung relevant sind, haben wir in der Entscheidungshilfe zum Versionswechsel zusammengestellt.
Was die Angabe über den Hersteller sagt
Die Versionsspanne ist auch ein Signal über Pflege. Eine Erweiterung, deren obere Grenze seit zwei Hauptversionen unverändert ist, wird nicht gepflegt — unabhängig davon, ob sie läuft. Eine, die bei jeder neuen Version zügig eine angepasste Fassung bekommt, wird es.
Für die Auswahl einer Erweiterung ist das eine der wenigen belastbaren Informationen, die man vor dem Kauf hat: nicht die Funktionsliste, sondern die Historie der Kompatibilitätsangaben.
Grenzen dieser Messung
Wir haben sieben eigene Erweiterungen auf zwei Installationen gelesen. Das zeigt die Bandbreite der Praxis, nicht ihre Verteilung im gesamten Ökosystem. Nicht gemessen haben wir, wie viele Erweiterungen aus dem Store ihre Angabe nach einer neuen Kernversion tatsächlich anpassen — das wäre eine eigene Untersuchung und wäre aufschlussreich.
Häufige Fragen
- Wo steht die Kompatibilität einer Shopware-Erweiterung?
- In der composer.json der Erweiterung, im require-Abschnitt als Anforderung an shopware/core. Dort steht eine Spanne, keine einzelne Version.
- Prüft Shopware, ob ein Plugin wirklich funktioniert?
- Nein. Geprüft wird, ob die angegebene Spanne zur installierten Version passt. Ob die Erweiterung fachlich noch korrekt arbeitet, sagt diese Prüfung nicht.
- Was bedeutet eine Angabe ohne obere Grenze?
- Dass die Erweiterung sich in jeder künftigen Version installieren lässt — auch in einer, die es beim Veröffentlichen noch nicht gab. Das ist bequem und verschiebt das Risiko auf den Betreiber.
- Was tun, wenn ein Plugin die neue Version nicht abdeckt?
- Beim Hersteller nach einer Fassung fragen und bis dahin nicht aktualisieren. Die Angabe zu überschreiben, verschiebt nur den Zeitpunkt, an dem der Fehler auftritt.
