Naar de inhoud

Changelog-generator

Laatst bijgewerkt: 20 augustus 2026.

Plak hieronder commitberichten of pull-requesttitels en ontvang een opgemaakte changelog. Het werkt in je browser, er wordt niets ergens naartoe geüpload, en registratie is niet nodig. Conventional-commitprefixes worden automatisch gegroepeerd; de rest wordt gesorteerd op het beginwerkwoord.

Nog niets. Plak hierboven een paar regels en klik op Genereren.

Wat het met elke regel doet

De regels zijn bewust eenvoudig en zichtbaar, zodat je het resultaat kunt voorspellen in plaats van te raden:

  1. Conventional commits worden gegroepeerd op type. `feat` wordt Nieuw, `fix` wordt Opgelost, `perf` wordt Verbeterd. Een `!` vóór de dubbele punt, of een BREAKING CHANGE-markering, verplaatst de regel naar Belangrijke wijzigingen ongeacht het type.
  2. Wat geen conventional commit is, wordt gesorteerd op het eerste woord. De gebruikelijke ENGELSE WERKWOORDEN uit commits worden herkend: Add, Added, Introduce en Support worden Nieuw; Fix, Fixed en Resolve worden Opgelost; Improve, Update, Speed en Optimise worden Verbeterd; Remove, Removed, Drop en Deprecate worden Verwijderd. Al het overige komt in Overig terecht, zodat jij het zelf sorteert.
  3. Ruis wordt verwijderd: een pull-requestnummer aan het eind, een regel `Merge pull request ...`, een scope tussen haakjes, en het typeprefix zelf. De resterende zin krijgt een hoofdletter.
  4. Met het filter ingeschakeld worden regels met `chore`, `ci`, `test`, `build`, `style` en `refactor` verwijderd, samen met alles dat op een dependency-update lijkt. Dat is het grootste verschil tussen een changelog die wordt gelezen en een die niet meer wordt gelezen.

Wat het niet kan

Het verandert de vorm van je commitberichten, niet de inhoud ervan. Als een commit zegt `fix: race in MembershipCache.resolve()`, dan komt dat eruit, en het blijft een zin over je code in plaats van over de ervaring van de gebruiker. 'race in MembershipCache' omzetten naar 'uitgenodigde leden zien geen leeg dashboard meer' vereist te weten wat de wijziging deed, en dat is precies wat een generator niet kan afleiden uit een commit-onderwerpregel.

Behandel het resultaat dus als een eerste opzet: de structuur klopt, de groepering klopt, interne ruis is al weg, de formulering blijft jouw werk.

Veelgestelde vragen

Wordt er iets van wat ik plak geüpload?

Nee. De generator is een script op deze pagina; de tekst verlaat je browser nooit en op Genereren klikken stuurt geen enkel verzoek naar ons. Je kunt dit controleren met het netwerktabblad open.

Moet ik conventional commits gebruiken?

Nee. Regels die de conventie volgen, worden nauwkeuriger gegroepeerd, en al het andere valt terug op het beginwerkwoord. Een repository met gewone commitberichten in zinsvorm levert nog steeds een bruikbaar concept op.

Hoe krijg ik dit automatisch uit mijn repository?

Voor eenmalig gebruik geeft `git log --pretty=format:%s v1.2.0..HEAD` precies de invoer die hier wordt verwacht. Voor iets doorlopends bouwen git-cliff en github-changelog-generator in de CI een changelogbestand op basis van je commitgeschiedenis, en Changeloop stelt per samengevoegde pull request een naar de gebruiker gericht item op en bewaart het voor controle.

Waarom staat mijn resultaat vol met Overig?

De beginwerkwoorden kwamen met niets bekends overeen, wat meestal betekent dat commit-onderwerpen beginnen met een zelfstandig naamwoord of een ticket-id. Bewerk ze in het vak vóór het genereren, of verplaats de regels onder Overig achteraf handmatig.

Verder lezen: Van conventional commits naar een changelog, over wat het commitformat oplevert en waar het ophoudt.

De versie die ook de zinnen schrijft

Changeloop leest de titel en beschrijving van elke samengevoegde pull request, niet alleen het onderwerp, en stelt een item op over wat er voor de gebruiker is veranderd. Het filtert zelf dependency-updates en refactors, en bewaart elk concept zodat je het kunt bewerken voordat het wordt gepubliceerd. Gratis voor één repository, geen kaart.

Gratis starten

of lees de documentatie voor ontwikkelaars