Changelog

registro di tutte le notevoli modifiche apportate a un progetto
(Reindirizzamento da ChangeLog)

Il termine changelog (lett. "registro delle modifiche"; un prestito linguistico della lingua inglese, derivato dall'unione dei termini change=cambiamento e log=registro) è universalmente utilizzato nel campo della progettazione, soprattutto in informatica relativamente alla progettazione del software, per indicare il registro di tutte le modifiche notevoli apportate ad un progetto.[1]

Nell'ambito informatico il log delle modifiche di solito include record di modifiche come correzioni di bug, nuove funzionalità, ecc.

Un changelog ha storicamente incluso tutte le modifiche apportate a un progetto. Il sito "Keep a Changelog" sostiene invece che un changelog non debba includere tutte le modifiche, ma che dovrebbe invece contenere "un elenco curato e ordinato cronologicamente di modifiche importanti per ciascuna versione di un progetto" e non dovrebbe essere un "dump" di un git log "perché questo non aiuta nessuno".

Sebbene la convenzione di denominazione canonica per il file sia ChangeLog[2], a volte viene alternativamente chiamato CHANGES o HISTORY (NEWS è di solito un file diverso che riflette le modifiche tra i rilasci, non tra i commit). Un'altra convenzione è chiamarlo CHANGELOG[3]. Alcuni manutentori del progetto aggiungeranno un suffisso .txt al nome del file se il changelog è testo semplice, un suffisso .md se è in Markdown, o un suffisso .rst se è in reStructuredText.

Alcuni sistemi di controllo delle revisioni sono in grado di generare le informazioni rilevanti adatte come log delle modifiche se l'obiettivo è includere tutte le modifiche.

Un changelog golang è sinonimo di una serie di modifiche al codice e della revisione del codice associata.

Caratteristiche

modifica

Un changelog è generalmente memorizzato in un file di formato testo e raccoglie, in ordine cronologico, tutti i possibili riferimenti di rintracciabilità di ogni modifica effettuata da una versione precedente ad una successiva di un software, fino al rilascio corrente.[4]

Elementi

modifica

Per ogni modifica, esso deve riportarne almeno la release di intervento, l'autore, la data, la descrizione, le motivazioni ed eventualmente la versione.[4]

Formato

modifica

I file del registro delle modifiche sono organizzati in paragrafi, che definiscono una modifica univoca all'interno di una funzione o di un file. Gli standard di codifica GNU consigliano il seguente formato[5]:

AAAA-MM-GG John Doe <mail di John Doe> 

    * myfile.ext (myfunction): le mie modifiche hanno apportato 
    modifiche aggiuntive 

    * myfile.ext (unrelated_change): le mie modifiche apportate 
    a myfile.ext ma completamente non correlate al precedente 

    * anotherfile .ext (somefunction): più modifiche

È comune racchiudere l'indirizzo e-mail tra <e>. L'editor di Emacs crea tali voci durante la creazione di voci aggiuntive del registro delle modifiche.

Changelog nei wiki

modifica

La maggior parte dei software wiki include i changelog come caratteristica fondamentale (spesso chiamata cronologia in questo contesto)[6]. Ad esempio, il link "Visualizza cronologia" nella parte superiore di una voce di Wikipedia collega al log delle modifiche di quella pagina.

Log delle modifiche del prodotto

modifica

Un registro delle modifiche del prodotto consente di tenere i clienti aggiornati sulle novità. Aiuta ad annunciare nuove funzionalità, ultime versioni e notizie pertinenti direttamente nell'app.

  1. ^ Cos'è il Changelog?, su TechGalaxy, 15 gennaio 2018. URL consultato il 13 maggio 2020 (archiviato dall'url originale il 24 ottobre 2020).
  2. ^ Strictness (automake), su www.gnu.org. URL consultato il 22 dicembre 2023.
  3. ^ Keep a Changelog, su keepachangelog.com. URL consultato il 3 settembre 2019.
  4. ^ a b Keep a Changelog, su keepachangelog.com. URL consultato il 13 maggio 2020.
  5. ^ GNU Coding Standards: Style of Change Logs, su Gnu.org. URL consultato il 3 settembre 2019.
  6. ^ Help:Page_history.

Voci correlate

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica