changelog-generator · v1.0.0 · 2026-10-26 · sha256 3ac1943c133f694e
changelog-generator v1.0.0A
Immutable. This exact content never changes and is served at /api/v1/blob/3ac1943c133f694e.
--- name: changelog-generator description: Turns git log output into a grouped markdown changelog using conventional commit prefixes such as feat, fix and docs. Use when the user prepares a release, asks for release notes, or wants a summary of what changed between two tags. license: MIT metadata: version: 1.0.0 author: Lethe044 tags: [git, changelog, release, documentation] --- # Changelog generator Groups commit subjects by type so release notes can be written in minutes. ## When to use - The user is cutting a release and needs notes. - The user asks what changed since the last tag. - A pull request needs a summary of its commits. ## How to run Pipe `git log` with the `%h|%s` format into the script: ```bash git log v1.0.0..HEAD --pretty=format:"%h|%s" | python scripts/make_changelog.py --title "v1.1.0" ``` Without a title, the heading is `Changelog`. ## Output Markdown on standard output. Sections appear in a fixed order: Breaking changes, Features, Fixes, Performance, Documentation, Refactoring, Tests, Build and CI, Other. Empty sections are left out. A `!` after the type (`feat!:`) or a `BREAKING CHANGE` marker puts the commit under Breaking changes. Each line shows the scope in bold, the subject and the short hash. ## After running Read the draft once, merge duplicate lines, and rewrite subjects that only make sense to the author. Add a short summary paragraph on top for releases with user visible changes. ## Errors Empty input prints a heading and the line `No commits found.`. Lines without a `|` separator are ignored.