Diese Seite ist die Schwester von Laravel-Paketentwicklung. Zu Strategien für Laravel/PHP-Kompatibilität siehe Versionskompatibilität von Paketen verwalten.
Wie Sie CHANGELOG.md pflegen
Das CHANGELOG ist die Primärquelle, mit der Nutzer nachlesen, „was wann in welcher Version geändert wurde”. Übernehmen Sie das Format von Keep a Changelog, damit die Kategorien im Team einheitlich sind.Grundregeln
- Nutzen Sie das Überschriftenformat
## [x.y.z] - YYYY-MM-DD. - Verwenden Sie die Kategorien
Added / Changed / Deprecated / Removed / Fixed / Security. - Setzen Sie am Ende Compare-Links, um Diffs zu ermöglichen.
- Ungereleaste Änderungen sammeln Sie unter
## [Unreleased].
Semantic Versioning (SemVer)
Semantic Versioning verwendetMAJOR.MINOR.PATCH mit folgenden Kriterien:
- MAJOR: Änderungen, die die Rückwärtskompatibilität brechen.
- MINOR: Erweiterungen unter Wahrung der Kompatibilität.
- PATCH: Bugfixes unter Wahrung der Kompatibilität.
Beispiele bei Laravel-Paketen
Wie Sie Laravel-13-Support behandeln, hängt vom Inhalt der Änderung ab.| Änderung | Empfohlene Version |
|---|---|
Laravel-12-Support behalten und zusätzlich ^13.0 unterstützen | MINOR |
Laravel 11/12 entfernen und nur noch ^13.0 unterstützen | MAJOR |
| Bugfix, der ausschließlich Laravel 13 betrifft | PATCH |
Git-Tags und GitHub Releases
Setzen Sie zunächst einen Git-Tag und pushen ihn anorigin.
v2.1.0 und veröffentlichen Sie. Fügen Sie im Text den Block ## [2.1.0] aus dem CHANGELOG ein.
Automatische Releases mit GitHub Actions
Mit dem Triggerpush: tags: können Sie GitHub Releases beim Erstellen eines Tags automatisch veröffentlichen. Mit softprops/action-gh-release lässt sich der Inhalt des CHANGELOG.md direkt als Body verwenden.
Mit
needs: test im release-Job halten Sie die Veröffentlichung an, wenn Tests fehlschlagen. Behalten Sie dieses Gate — manuell wie automatisiert — unbedingt bei.Umgang mit Breaking Changes
Gestalten Sie Breaking Changes so, dass eine schrittweise Migration möglich ist. Deprecaten Sie zuerst und entfernen Sie im nächsten MAJOR — das senkt den Migrationsaufwand der Nutzer.1. Deprecation im Code kenntlich machen
2. Migrationsleitfaden dokumentieren
Legen Sie inUPGRADE.md oder auf einer dedizierten Seite die Schritte fest, die Ihre Nutzer durchführen sollen.
3. Wechselnotizen zwischen Major-Versionen erhalten
Bei einem MAJOR-Upgrade verlinken SieRemoved im CHANGELOG und den Migrationsleitfaden gegenseitig. Nutzer sehen so „was entfernt wurde” und „wie sie es beheben” in einem Rutsch.
Verwandte Seiten
Laravel-Paketentwicklung
Grundlagen der Implementierung rund um Service Provider.
Versionskompatibilität von Paketen verwalten
Entscheidungskriterien zu Laravel/PHP-Kompatibilität und SemVer-Betrieb.
Laravel-Pakete mit Orchestra Testbench testen
Vor jedem Release notwendige Teststrategie und Umsetzung.