Richtlinie zur Rückwärtskompatibilität
Diese Seite richtet sich an Ingenieure, die Exponential oder eine Erweiterung ändern, und an jene, die Upgrades planen und wissen müssen, was brechen kann. Sie fasst Kompatibilität, Releases und Bereitstellung zusammen.
Inhalt
Was als Bruch zählt
Eine Änderung bricht die Kompatibilität, wenn eine Installation oder Erweiterung, die vorher funktionierte, eine Handlung braucht, um weiter zu funktionieren, oder sich ungefragt anders verhält:
| Art | Beispiele |
|---|---|
| Einstellungen | eine Einstellung entfernt oder umbenannt, ihre Bedeutung oder ihr Standard geändert, ein Abschnitt in eine andere Datei verschoben |
| Templates | ein Template entfernt oder verschoben, eine Variable nicht mehr übergeben, ein Source-Pfad eines Overrides geändert |
| PHP-API | eine öffentliche Klasse, Methode oder Funktion entfernt oder umbenannt, eine Signatur oder ein Rückgabetyp geändert |
| Datenbank | eine Tabelle oder Spalte hinzugefügt, entfernt oder geändert (ein Upgrade braucht SQL) |
| Kommandozeile | ein Befehl, eine Option, ein Ausgabeformat oder ein Exit-Code geändert |
| Verhalten | ein Standard geändert (Sicherheits-Header, Cookies, Zugriffsprüfungen), eine Berechtigung neu verlangt |
| Dateien | eine Datei, die Websites kopieren oder einbinden, in ihrer Form geändert |
Die Regeln
- Jeder Bruch hat Upgrade-Hinweise in
doc/eng-us/bc/<series>/, beginnend mit der Tabelle In short (Changelogs und Upgrade-Hinweise). - Neues Verhalten ist optional; Fehlerkorrekturen müssen es nicht sein. Eine Funktion kommt ausgeschaltet oder mit einem Standard, der das alte Ergebnis behält.
- Neue Einstellungen haben einen sicheren Standard in der mitgelieferten Datei, einen Kommentar, einen Abschnitt auf der Funktionsseite und eine Zeile im Changelog.
- Bezeichner werden nicht umbenannt. Klassen, Tabellen, Einstellungen und Pfade
eZ*undezp*bleiben; die Umbenennung des Produkts hat nur Text geändert (Das Produkt heißt Exponential). - Verschobener Code behält seinen Einstiegspunkt. Als Views, Skripte und Cronjob-Teile in 6.0.15 zu Klassen wurden, behielt jede Datei ihren Pfad als einzeiligen Aufruf.
Abkündigung
- Eine ersetzte API bleibt verfügbar und wird mit
@deprecatedund ihrem Ersatz gekennzeichnet; einige schreiben bei Verwendung einen Hinweis im strikten Modus übereZDebug::writeStrict(). - Ein umbenannter Befehl behält seinen alten Namen als abgekündigten Alias, der weiter funktioniert (Forks der Plattformpakete und Umbenennungen von Befehlen).
- Eine Entfernung wird im Abschnitt Removed des Changelogs und in einem Upgrade-Hinweis angekündigt.
- Aus der alten Codebasis geerbte abgekündigte APIs haben kein Entfernungsdatum; für die Linie 6.0 ist keines angekündigt.
Bekannte Ausnahmen
- Sicherheitsstandards wurden im September und Oktober 2026 ohne Opt-in geändert: Sicherheits-Header,
Session-Cookies mit
HttpOnlyundSameSite, eine strengere Upload-Prüfung, neue Zugriffsanforderungen für einige entfernte Dienste. Sicherheitskorrekturen werden wie Fehlerkorrekturen behandelt: standardmäßig an, dokumentiert mit dem Weg, sie bewusst rückgängig zu machen. - Konten ohne Zeile in
ezuser_settingkönnen sich seit August 2026 nicht anmelden, und Override-Blöcke folgen seit Juli 2026Priority(Verhaltensänderungen von Juli und August 2026).
Für die aktualisierende Seite
- Lesen Sie die Checkliste jedes Zeitraums, den Sie durchlaufen, der Reihe nach.
- Durchsuchen Sie Ihre Erweiterungen nach überschriebenen Kernel-Klassen und kopierten Kernel-Templates: Sie erhalten keine Korrekturen und können still brechen.
./console exp:checkclassesmeldet Klassen, die PHP nicht laden will; die Upgrade-Prüfung vergleicht Dateien und Tabellen mit dem Release.- Testen Sie mit Ihren eigenen Inhalten und Erweiterungen vor dem Produktions-Upgrade (Eine Änderung bereitstellen).
Verwandte Seiten
- Aktualisieren
- Die Upgrade-Checkliste für Erweiterungen
- Release- und Upgrade-Planung
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.