Was ist Semantische Versionierung
Versionsnummerierungsstandard MAJOR.MINOR.PATCH
Semantische Versionierung (SemVer) — ein Standard zur Software-Versionsnummerierung im Format MAJOR.MINOR.PATCH, wobei jeder Teil eine bestimmte Bedeutung hat.
Versionsstruktur
- MAJOR (1.x.x) — inkompatible API-Änderungen
- MINOR (x.1.x) — neue Funktionalität mit Rückwärtskompatibilität
- PATCH (x.x.1) — rückwärtskompatible Fehlerbehebungen
- Vorabversion — 1.0.0-alpha, 1.0.0-beta.1
- Build-Metadaten — 1.0.0+build.123
Regeln
- Anfangsversion — 0.1.0
- Erste stabile Version — 1.0.0
- Bei MAJOR-Erhöhung — MINOR und PATCH zurücksetzen
- Bei MINOR-Erhöhung — PATCH zurücksetzen
- Versionen werden von links nach rechts verglichen
Änderungsbeispiele
- MAJOR: Funktionsentfernung, Methodensignaturänderung
- MINOR: neuer Endpoint, neuer optionaler Parameter
- PATCH: Fehlerbehebung, Leistungsverbesserung
Werkzeuge
- npm — verwendet SemVer für Pakete
- Composer — PHP-Paketmanager
- Maven — Java-Abhängigkeiten
- semantic-release — Release-Automatisierung
- commitizen — strukturierte Commits
Vorteile
- Vorhersehbarkeit — klare Erwartungen an Updates
- Automatisierung — automatische Versionsbestimmung
- Dokumentation — Changelog aus Commits
- Kompatibilität — sichere Abhängigkeitsaktualisierungen