Generatore di Changelog

Scrivere i changelog a mano significa passare al setaccio il git log a ogni rilascio. Questo generatore salta quel passaggio: incolli le voci che vuoi pubblicare direttamente sotto la categoria giusta, Aggiunto, Modificato, Corretto e Rimosso, aggiungi un numero di versione e una data, e lui produce una sezione markdown in stile Keep a Changelog pronta per CHANGELOG.md. Lo stesso contenuto può essere generato anche come testo semplice. Non legge la tua cronologia git; sei tu a decidere quali modifiche entrano nel rilascio.

Come generare un changelog

  1. 1

    Inserisci versione e data

    Digita il numero di versione, ad esempio 1.2.0. Lascia vuota la data per usare quella di oggi.

  2. 2

    Aggiungi voci per categoria

    Incolla le note di rilascio sotto Aggiunto, Modificato, Corretto e Rimosso, una voce per riga. Le categorie vuote vengono saltate.

  3. 3

    Scegli il formato di output

    Markdown (un'intestazione `## [versione] - data` con sezioni in stile `### Added`) oppure testo semplice (un'intestazione `v1.2.0 (data)` con elenchi puntati).

  4. 4

    Copia il changelog

    Incolla l'output sopra la voce precedente in CHANGELOG.md.

Le quattro categorie

Il generatore produce esattamente quattro sezioni, in questo ordine: Added, Changed, Fixed e Removed. I titoli di sezione dell’output restano in inglese, la dicitura standard di Keep a Changelog.

Categoria Quando usarla
Added Nuove funzionalità
Changed Modifiche a funzionalità esistenti
Fixed Correzione di bug
Removed Funzionalità rimosse

La convenzione Keep a Changelog prevede anche le sezioni Deprecated, Security e Breaking. Il generatore non ha campi per esse; puoi aggiungere quelle sezioni a mano dopo aver incollato l’output.

Esempio di output (Markdown)

## [1.4.0] - 2026-04-18

### Added
- Dark mode support for the dashboard (#312)
- CSV export on the users page (#318)

### Changed
- Upgrade React to 18.3 (#320)
- Pagination now defaults to 50 items per page (#322)

### Fixed
- Crash when editing users with a null email (#319)
- Timezone offset in scheduled reports (#321)

### Removed
- Legacy reports API (#324)

Esempio di output (testo semplice)

v1.4.0 (2026-04-18)
ADDED:
  • Dark mode support for the dashboard (#312)
  • CSV export on the users page (#318)
CHANGED:
  • Upgrade React to 18.3 (#320)
  • Pagination now defaults to 50 items per page (#322)
FIXED:
  • Crash when editing users with a null email (#319)
  • Timezone offset in scheduled reports (#321)
REMOVED:
  • Legacy reports API (#324)

Consigli

  • Una voce per riga. Ogni riga di un campo diventa un punto. I campi vuoti vengono saltati e puoi lasciare interamente vuota una categoria.
  • Scrivi le voci come righe di changelog, non come note di log. L’imperativo “fix: handle null email on edit” si legge bene come punto.
  • Cita i numeri di issue/PR così i lettori possono approfondire: (#319) o [#319](link) nell’output.
  • Una versione per voce: non unire due rilasci in un unico blocco, anche se distano un solo giorno.
  • Rilasciato o non rilasciato: tieni in cima una sezione [Non rilasciato] con le modifiche destinate alla prossima versione. Spostale in una sezione datata al momento del rilascio.

Domande frequenti

Le convenzioni di Keep a Changelog (keepachangelog.com): un’intestazione di versione con data ed elenchi puntati raggruppati. Il generatore emette le sezioni Added, Changed, Fixed e Removed; le altre sezioni standard (Deprecated, Security, Breaking) seguono la stessa convenzione se le aggiungi a mano.

Il generatore produce le quattro sezioni principali: Added, Changed, Fixed e Removed. Non ci sono campi dedicati per Deprecated, Security o Breaking, ma puoi aggiungere quelle sezioni manualmente al testo generato prima di incollarlo.

Il generatore è uno strumento d’interfaccia monouso; per l’automazione usa un CLI come standard-version, release-please o semantic-release, che implementano gli stessi modelli nella tua pipeline di build.

No. Non legge il tuo repository né i tuoi messaggi di commit; incolli tu le voci. Il testo che digiti viene inviato al server per costruire l’output e non viene salvato né condiviso.

Strumenti correlati