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).
Release files for git-changelog 2.9.7
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.9.7.tar.gz | 93.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| git_changelog-2.9.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 133.8 kB
Release files / git_changelog-2.9.7.tar.gz
| Download URL | git_changelog-2.9.7.tar.gz |
|---|---|
| Size | 93.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26f7e56a11027a6cc5c544992464f6d449fbee95fb0a05c627e65970bf766e50
|
|
BLAKE2b-256 checksum How to use checksums |
1eefe2e9232f13c44ebcf084901ac267f290f4033a8bf85ff5fc2f5eacfb5414
|
| 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.9.7-py3-none-any.whl
| Download URL | git_changelog-2.9.7-py3-none-any.whl |
|---|---|
| Size | 40.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
560813f0aef8d002e60fb1ad36e9756462cd021e35ed15b02c9697c4a849e7fb
|
|
BLAKE2b-256 checksum How to use checksums |
7276a5e7fbd174a00eb98f0d245fb17b5bd703ad20d8c1eaa117cda164777708
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|