Definition „Änderungsprotokoll“ Was ist ein Changelog?
Softwareentwicklung ist ein Prozess, der auch eine laufende Entwicklung voraussetzt. Hierbei ergeben sich in unterschiedlichen Kategorien Veränderungen - um diese auch adäquat festzuhalten und eine Dokumentation zu liefern, gibt es Changelogs.

Dokumentation ist eines der Schlüsselelemente zu besserer Software. Vor allem da Websites und Anwendungen keiner teleologischen Philosophie gehorchen und nicht automatisch von Version zu Version besser werden auf dem Weg zur Perfektion.
Veränderungen in einer Software können in unterschiedlichen Kategorien erfolgen und am besten werden alle diese Änderungen in einem Changelog widergespiegelt. Dieses Änderungsprotokoll (wie das Changelog im Deutschen zuweilen genannt wird) legt Usern nahe, welche Änderungen für sie relevant sind und hilft Development-Teams dabei, etwaige Problemstellen im Versionszyklus ausfindig zu machen.
Die wichtigsten Änderungen oder alle – was gehört ins Changelog?
Grundsätzlich gibt es beim Changelog eine wichtige Entscheidung, die Entwicklerinnen und Entwickler treffen müssen und die auch projektabhängig ist: die Frage, was tatsächlich ins Changelog gehört. Historisch war die dominierende Ansicht, dass alle Änderungen an einem Projekt, einer App, einer Website in einem Changelog festgehalten werden sollen. Nur dies würde einen kompletten Überblick über alle Veränderungen liefern.
Doch der Hang zu einem kompletten Changelog kollidiert mit der Komplexität des Änderungsprotokolls, die somit von Version zu Version weiter wächst. Je komplexer eine Software also ist und je mehr Änderungen erfolgen, desto unübersichtlicher würde auch das Changelog, so dass es für folgende Iterationen nicht mehr hilfreich sein könne.
Moderne Interpretationen des Changelogs fokussieren sich vor allem auf eine kuratierte und chronologisch angelegte Liste der wichtigsten Änderungen von Version zu Version.
In welchem Format wird ein Changelog angelegt?
Für ein Changelog gibt es kein fest definiertes Format, stattdessen können Developer sich den Gegebenheiten ihrer Projekte anpassen. Die (technisch) einfachste Version ist das Verfassen eines Textdokumentes, in dem (datiert) die Änderungen festgehalten werden. Dies ist nicht an ein standardisiertes Format gebunden, sondern kann für das laufende Projekt festgelegt werden.
Diese Form eines Changelogs ist oft vor allem deswegen so beliebt, weil viele Endgeräte auf das Protokoll zugreifen können und sich die Änderungen leicht ablesen lassen. Das Eintragen neuer Änderungen nimmt jedoch etwas mehr Zeit in Anspruch.
Bei der Nutzung von Repositories wie Git können unter Berufung auf „git log" alle Commits angezeigt werden. Über die Befehle „oneline“ und „decorate“ lässt das Git Log sich optimieren und dient als übersichtliches Changelog, der automatisch aus den Commits angelegt wird.
Unter Zuhilfenahme einiger Tools wie dem Github Changelog Generator, Git Chglog oder Conventional Changelog funktioniert das Anlegen eines Changelogs unter Github sogar noch einfacher. Bei klassischen Anwendungen oder durch CMS verwaltete Websites kann eine Versionsverwaltungssoftware ebenfalls selbständig Changelogs erstellen, wenn dies gewünscht ist.
Changelog in Open-Source-Software
Während ein Changelog bei konventionellen Softwareprojekten nützlich ist, ist es bei Open-Source-Projekten absolut unerlässlich, um zuverlässig festzustellen, welche Änderungen von welchen Developern oder Teams vorgenommen wurden und wann verschiedene Versionen in unterschiedliche Richtungen entwickelt wurden.
Open-Source-Software enthält in der Regel standardmäßig ein Changelog als universell lesbares Textdokument (.txt), das oftmals auch als Changes, History, News oder Whats.New als reines Textdokument an den Download angehängt wird.
Versionsgeschichten gibt es auch bei Open-Source-Websites wie Wikipedia und anderen Wikis, um die vorgenommen Veränderungen durch die unterschiedlichen Autorinnen und Autoren festzuhalten.
Beispiele für Einträge in ein Changelog
Um Changelogs möglichst übersichtlich zu halten, sollten Einträge kategorisiert werden. Welche Kategorien hierbei priorisiert werden, ist projektabhängig. Zu gängigen Einträgen gehören jedoch beispielsweise Kategorien wie:
added: für hinzugefügte Features
changed: für die Änderung von bestehenden Features
removed: für entfernte Features
unreleased: Änderungen, die im Aufbau, im aktuellen Release aber nicht enthalten sind
security: für Updates bei der Programmsicherheit
performance: für Verbesserungen bei der Lauffähigkeit
other: für andere wichtige Veränderungen außerhalb der o.g. Kategorien
Ein Rückblick und ein Ausblick für Developer und User
Ein Changelog ist ein einfacher und übersichtlicher Weg, hinter die Kulissen einer Software zu schauen. Es hilft dabei, besser zu verstehen, was in der Software enthalten ist, wie sich die Features im Laufe der Zeit verändert haben und wie vorige Versionen aussahen.
Bei Open-Source-Software mit unterschiedlichen Releases können Konsumentinnen und Konsumenten so besser entscheiden, für welchen sie sich entscheiden. Herkömmliche Software kann Updates plausibilisieren und Websites haben eine Versionsgeschichte, die Änderungen kenntlich macht. So macht das Changelog aus einer Softwareversion mehr als nur eine digitale Momentaufnahme, es erklärt Zusammenhänge und zeigt eine detaillierte Geschichte.
(ID:47898450)