Księga zmian
Księga zmian (ang. changelog) – dokument lub sekcja dokumentacji opisująca w sposób chronologiczny wprowadzone modyfikacje, poprawki oraz nowe funkcje w oprogramowaniu, systemie lub produkcie. Pełni ona rolę dokumentacji technicznej, umożliwiając programistom, administratorom i użytkownikom śledzenie historii rozwoju projektu.
Historia
Początki ksiąg zmian sięgają wczesnych lat rozwoju oprogramowania w latach 1970. Już w tamtym okresie programiści publikowali listy poprawek w formie papierowych dzienników, które później przekształcono w cyfrowe pliki tekstowe. Rozwój systemów operacyjnych i pojawienie się systemów kontroli wersji (np. Git) przyczyniły się do ustandaryzowania formatu ksiąg zmian.
Standardowe elementy księgi zmian
- Data wydania – najczęściej w formacie RRRR‑MM‑DD.
- Wersja – numer identyfikujący konkretną wersję oprogramowania (np. 2.3.1).
- Typ zmiany – dodano, naprawiono, usunięto, zaktualizowano itp.
- Opis – krótkie, ale precyzyjne wyjaśnienie wprowadzonej zmiany.
- Autorzy – nazwiska lub identyfikatory osób wnoszących zmiany.
Formaty i konwencje
W praktyce przyjęto kilka popularnych formatów:
- Markdown – najczęściej używany w repozytoriach GitHub i GitLab.
- Plik
CHANGES.txtlubCHANGELOG.md. - Specyfikacje Keep a Changelog – proponują jednolitą strukturę sekcji.
Zastosowanie w praktyce
Księgi zmian są nieodzownym elementem zarządzania projektem i DevOps. Umożliwiają:
- Śledzenie historii błędów i ich napraw.
- Komunikację z użytkownikami o nowych możliwościach i poprawkach.
- Ułatwienie procesu testowania regresyjnego.
- Automatyzację publikacji: wiele narzędzi CI/CD potrafi generować notatki wydawnicze na podstawie wpisów w księdze zmian.
Powiązane pojęcia
W kontekście księgi zmian często pojawiają się następujące pojęcia:
- Kontrola wersji – technika zarządzania zmianami w kodzie źródłowym.
- Repozytorium – miejsce przechowywania kodu i historii zmian.
- Release notes – krótkie podsumowanie najważniejszych zmian w danej wersji.
- Semantic versioning – system wersjonowania, który jasno określa znaczenie numeru wersji.
Przykład księgi zmian
## [2.3.1] - 2024-03-15
### Dodano
- Wsparcie dla API wersji 3.
- Nowy interfejs użytkownika w sekcji Ustawienia.
### Naprawiono
- Błąd powodujący awarię przy importowaniu plików .csv.
- Problem z wyświetlaniem znaków Unicode w konsoli.
### Zaktualizowano
- Bibliotekę React do wersji 18.2.0.
- Dokumentację techniczną w sekcji Instalacja.
Znaczenie w kulturze open source
W projektach open source księga zmian jest nie tylko narzędziem technicznym, ale także formą transparentności. Dzięki niej społeczność ma wgląd w postępy, a współtwórcy mogą łatwiej koordynować pracę.