Ein Changelog ist eine Datei oder ein Dokument, das die Änderungen und Updates an einer Software oder einem Projekt auflistet. Es enthält eine chronologische Aufzeichnung von neuen Funktionen, Fehlerbehebungen, Verbesserungen und Breaking Changes (Änderungen, die die Rückwärtskompatibilität brechen). Ein Changelog hilft Benutzern und Entwicklern, den Entwicklungsverlauf einer Software zu verfolgen und zu verstehen, welche Änderungen in einer bestimmten Version vorgenommen wurden.
1.2.0), oft basierend auf SemVer (Semantic Versioning).# Changelog
## [1.2.0] - 2023-09-19
### Added
- New user authentication system.
- Ability to reset passwords via email.
### Fixed
- Resolved bug with session timeout after 30 minutes of inactivity.
### Changed
- Updated the UI for the login screen.
## [1.1.0] - 2023-08-10
### Added
- New dark mode theme for the dashboard.
### Security
- Patched vulnerability in file upload functionality.
Changelogs sind in Open-Source-Projekten besonders weit verbreitet, da sie für die Community eine nachvollziehbare und klare Übersicht über die Entwicklung eines Projekts bieten.
Semantic Versioning (oft als SemVer abgekürzt) ist ein Versionsnummerierungsschema, das dazu dient, die Änderungen in einer Software klar und verständlich zu kommunizieren. Es verwendet ein dreiteiliges Nummerierungssystem im Format MAJOR.MINOR.PATCH, um verschiedene Arten von Änderungen zu kennzeichnen. Hier ist eine Erklärung, wie diese Nummern verwendet werden:
Ein Beispiel für eine SemVer-Version könnte wie folgt aussehen: 1.4.2. Dies bedeutet:
1 (MAJOR): Erste Hauptversion, möglicherweise mit signifikanten Änderungen seit der Vorgängerversion.4 (MINOR): Vierte Version dieser Hauptversion, mit neuen Funktionen, aber abwärtskompatibel.2 (PATCH): Zweite Fehlerbehebungsversion dieser Minor-Version.Zusätzliche Konventionen:
1.0.0-alpha, 1.0.0-beta, 1.0.0-rc.1 (Release Candidate).1.0.0+20130313144700, die nach einem +-Zeichen angegeben werden.Warum ist SemVer wichtig?
SemVer erleichtert das Management von Softwareversionen erheblich, indem es ein konsistentes und verständliches Schema für Versionsnummern bereitstellt.