encyklopedia.run.place

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.txt lub CHANGELOG.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ę.

Bibliografia i dalsze lektury