Automatic Changelog generator using Jinja2 templates. From git logs to change logs.
-
Jinja2 templates! You get full control over the rendering. Built-in Keep a Changelog and Angular templates (also see Conventional Changelog).
-
Commit styles/conventions parsing. Built-in Angular, Conventional Commit and basic conventions.
-
Git service/provider agnostic, plus references parsing (issues, commits, etc.). Built-in GitHub, Gitlab and Bitbucket support.
-
Understands SemVer and PEP 440 versioning schemes. Guesses next version based on last commits.
-
Parses Git trailers, allowing to reference issues, PRs, etc., in your commit messages in a clean, provider-agnostic way.
-
Template context injection, to furthermore customize how your changelog will be rendered.
-
Todo:
- Plugin architecture, to support more commit conventions and git services.
- Easy access to "Breaking Changes" in the templates.
With pip
:
pip install git-changelog
With pipx
:
python3.8 -m pip install --user pipx
pipx install git-changelog
Simply run git-changelog
in your repository to output a changelog on standard output.
To show the different options and their descriptions, use git-changelog -h
.
- See Quick usage for some command line examples.
- See Configuration to learn how to configure git-changelog for your project.
- See the CLI reference and the API reference for more information.
- git-cliff: A highly customizable Changelog Generator that follows Conventional Commit specifications.