skillfed

gitchangelog

gitchangelog generates a changelog thanks to git log.

gitchangelog v3.0.4 92.8K downloads/30d#13,427 on PyPI585
Permissive license BSD 3-Clause License Abandoned released

What it is and what it does

gitchangelog reads your git commit history and generates a formatted changelog by parsing commit messages according to rules you define in a configuration file. It classifies commits into sections (New, Fix, Changes, etc.), filters by regex patterns, and renders output using your choice of template engine or built-in formats. The tool supports both incremental and full changelog generation, handles merge/rebase workflows, and can extract structured data from commit trailers like Co-Authored-By.

The package installs as a command-line tool with no runtime dependencies, making it lightweight to deploy. It comes with example templates and a reference configuration file to get started quickly. You can also use it as a standalone executable without installing the full package, though the standalone mode requires you to provide all configuration values explicitly.

Use it for:

  • Generate release notes automatically from git commits for each version tag
  • Classify and organize commits into semantic sections for better changelog readability
  • Create changelogs in multiple formats (ReStructuredText, HTML, Markdown) from the same commit history
  • Filter out internal or development commits from user-facing changelogs using regex rules
  • Maintain incremental changelogs for continuous integration workflows without regenerating the entire history

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Generates a formatted changelog from git commit history, filtering and classifying commits according to configurable rules and templates.

Yes, if you need a lightweight, zero-dependency changelog generator and can tolerate that the project is no longer maintained. The tool is stable and works for straightforward use cases, but do not expect fixes for edge cases or compatibility issues with very recent git or Python versions. Consider it suitable for established projects with stable workflows, not for bleeding-edge setups.

Install

gitchangelog on PyPI

pip

pip install gitchangelog

uv

uv add gitchangelog

poetry

poetry add gitchangelog

Installing gitchangelog

Before you install

Low install friction with no runtime dependencies. However, the project is abandoned as of 2022 with no updates for nearly 3 years, so expect no bug fixes or maintenance.

License in practice

BSD 3-Clause License is permissive and poses no restrictions on use, modification, or redistribution in proprietary or open-source contexts.

Quickstart

pip install gitchangelog

# In your git repository root, create .gitchangelog.rc with your config,
# then run:
gitchangelog > CHANGELOG.rst

Requires git to be installed and accessible in PATH; the repository must have at least one commit and ideally git tags for version markers.

Verify before relying

  • Whether the tool still works reliably with modern git versions and Python 3.7+
  • Current state of Windows compatibility mentioned as incomplete in the description
  • Whether template engines (mako, mustache) are optional or required

Package facts

License BSD 3-Clause License (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 2,793 days since the last release
Last repo commit
First released
Downloads 92,773/month — #13,427 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: gitchangelog-3.0.4-py2.py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Topic :: Software DevelopmentTopic :: Software Development :: Version Control

Tags

changelog from git logautomated changelog generationcommit history formattergit changelog toolrelease notes from commitsgit log to changelogconfigurable changelog builder
git-automationrelease-management

More Software Development packages