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 4 more private sponsor(s).
Metadata
Release files for git-changelog 2.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| git_changelog-2.10.0.tar.gz | 95.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| git_changelog-2.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 136.6 kB
Release files / git_changelog-2.10.0.tar.gz
| Download URL | git_changelog-2.10.0.tar.gz |
|---|---|
| Size | 95.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b6a7d6a12561919be598c3bf4beb2b42a403fb26724b61b810dd58276eb22da
|
|
BLAKE2b-256 checksum How to use checksums |
24137c5ef6f683868f632f47aa0b7f0e2d755031b0558fe7af7988185deffab3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / git_changelog-2.10.0-py3-none-any.whl
| Download URL | git_changelog-2.10.0-py3-none-any.whl |
|---|---|
| Size | 41.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fca6bdaaa966a9cdda11076891a39291ef15fdf38d33820b6f16057e365d1ab5
|
|
BLAKE2b-256 checksum How to use checksums |
c9a61200fadeff6d02100afe4606cc1f92417844c44f0f2807395aefb164ef3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|