Changelog (z ang. change – „zmiana” i log – „zapis, dziennik”), także dziennik zmian – w informatyce uporządkowany zapis istotnych zmian wprowadzanych między kolejnymi wersjami projektu, najczęściej oprogramowania. Może występować jako osobny plik dokumentacji projektu.
Changelog zwykle zawiera informacje o nowych funkcjach, zmianach w istniejących funkcjach, poprawkach błędów, elementach usuniętych lub przestarzałych oraz zmianach związanych z bezpieczeństwem.
Charakterystyka Changelog jest częścią dokumentacji projektu i ma przedstawiać wybrane zmiany w sposób zrozumiały dla odbiorców, a nie jedynie odtwarzać pełną historię operacji w systemie kontroli wersji. Poradnik Keep a Changelog określa changelog jako uporządkowaną chronologicznie listę istotnych zmian w każdej wersji projektu oraz zaleca, aby był przeznaczony dla ludzi, a nie dla maszyn.
W projektach programistycznych changelog może służyć także do śledzenia historii zmian w kodzie źródłowym. Zalecenia GNU Coding Standards wskazują, że dziennik zmian powinien pomagać osobom badającym późniejsze błędy w ustaleniu, które modyfikacje mogły je wprowadzić. W tym ujęciu pojedynczy wpis może opisywać jedną zmianę albo najmniejszą grupę powiązanych zmian, określaną jako changeset.
Format Nie istnieje jeden powszechnie obowiązujący standard tworzenia changelogów. Poradnik Keep a Changelog zaleca, aby każda wersja miała własny wpis, aby podobne typy zmian były grupowane, aby najnowsze wydania znajdowały się na początku listy oraz aby przy wersjach podawano datę wydania.
W tym podejściu zmiany dzieli się m.in. na kategorie: Added dla dodanych funkcji, Changed dla zmian w istniejących funkcjach, Deprecated dla elementów oznaczonych jako przestarzałe, Removed dla elementów usuniętych, Fixed dla poprawek błędów oraz Security dla zmian dotyczących bezpieczeństwa.
Poziom szczegółowości changeloga zależy od projektu i od odbiorców. Wpisy przeznaczone dla programistów mogą być bardziej techniczne, natomiast publiczne informacje o zmianach bywają redagowane z myślą o użytkownikach końcowych. Badania nad informacjami o wydaniu pokazują, że ich autorzy dobierają zakres informacji selektywnie, a nie zawsze wymieniają wszystkie rozwiązane problemy lub wszystkie modyfikacje wprowadzone w danej wersji.
Zastosowanie Dla użytkowników changelog stanowi źródło informacji o tym, co zmieniło się między kolejnymi wersjami produktu lub projektu. Dla programistów i współtwórców może być narzędziem ułatwiającym orientację w historii projektu, analizę regresji oraz ocenę wpływu wcześniejszych zmian na obecne działanie programu.
W projektach utrzymywanych w systemach kontroli wersji część informacji potrzebnych do odtworzenia historii zmian może wynikać z zapisów repozytorium. GNU Coding Standards dopuszczają poleganie na logach systemu kontroli wersji, jeżeli repozytorium jest publicznie dostępne, zmiany są zapisywane osobno jako logiczne zestawy zmian, a wpisy zawierają informacje o autorach i sensie zmian.
Changelog a „release note” Zbliżonym typem dokumentu są informacje o wydaniu, określane po angielsku jako release notes. W literaturze dotyczącej inżynierii oprogramowania opisywane są one jako dokumenty przekazywane użytkownikom przy wydaniu aktualizacji (np. nowej wersji oprogramowania), zawierające informacje o zmianach w funkcjach, kodzie i innych elementach projektu.
Projekty wiki W projektach wiki istnieją pokrewne mechanizmy rejestrowania i przeglądania zmian. W oprogramowaniu MediaWiki karta historii pozwala zobaczyć wcześniejsze wersje strony oraz porównać wybrane wersje w celu sprawdzenia różnic między nimi. MediaWiki udostępnia także specjalne strony i narzędzia do śledzenia zmian w całej wiki, w tym listę ostatnich zmian obejmującą m.in. edycje stron, przesyłanie plików, usunięcia i przeniesienia stron.
Zobacz też system kontroli wersji dokumentacja techniczna
Przypisy
Kategoria:Programowanie komputerów Kategoria:Inżynieria oprogramowania