- Python 98%
- Jinja 1.7%
- Makefile 0.3%
|
|
||
|---|---|---|
| .github | ||
| config | ||
| debian | ||
| docs | ||
| scripts | ||
| src/git_changelog | ||
| tests | ||
| .copier-answers.yml | ||
| .envrc | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| duties.py | ||
| LICENSE | ||
| Makefile | ||
| mkdocs.yml | ||
| pyproject.toml | ||
| README.md | ||
git-changelog
Automatic Changelog generator using Jinja2 templates. From git logs to change logs.
Features
-
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.
Installation
pip install git-changelog
With uv:
uv tool install git-changelog
Usage
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.
Alternatives
- git-cliff: A highly customizable Changelog Generator that follows Conventional Commit specifications.
Sponsors
And 7 more private sponsor(s).
