skillfed

git-cliff

git-cliff v2.13.1 216.7K downloads/30d#9,372 on PyPI12,122
License unclear Active released

What it is and what it does

git-cliff is a changelog generator that reads your Git commit history and produces formatted changelog files. It parses commits using conventional commit conventions by default, but also supports regex-powered custom parsers to extract structured information from your commit messages. The generated changelog is templated and configurable, so you can match your project's desired format and structure.

The package is distributed as a compiled Rust binary wrapped for Python, making it a command-line tool rather than a library for programmatic use. It's designed for release management workflows where you want to automatically generate release notes from your commit history without manual curation.

Use it for:

  • Automate changelog generation during CI/CD release pipelines to keep release notes in sync with commits.
  • Parse monorepo commits with custom regex patterns to generate separate changelogs per package.
  • Generate formatted release notes from conventional commits to enforce consistent commit message standards.
  • Create templated changelogs that group commits by type (features, fixes, breaking changes) automatically.
  • Integrate changelog generation into your release workflow to reduce manual documentation effort.

Worth the install?

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

git-cliff generates changelog files from Git history using conventional commits and customizable regex parsers, with templating to match your desired format.

Yes. The package is actively maintained, has no known vulnerabilities, is permissively licensed, and solves a real problem in release automation. The medium install friction (platform-specific wheels) is a minor trade-off for a compiled tool. Install it if you need automated changelog generation from Git history.

Install

git-cliff on PyPI

pip

pip install git-cliff

uv

uv add git-cliff

poetry

poetry add git-cliff

Installing git-cliff

Before you install

Medium install friction due to platform-specific wheels (compiled Rust binary), but the package is actively maintained with a recent release and no known vulnerabilities.

License in practice

Licensed under Apache License 2.0 or MIT at your option—both permissive licenses with no restrictions on commercial or private use.

Quickstart

pip install git-cliff

git-cliff --init
git-cliff

Requires Git to be installed and available in PATH; operates on the current Git repository.

Verify before relying

  • Whether the Python package is a wrapper around the Rust binary or a pure Python implementation.
  • Whether custom parsers support all regex features or have limitations.
  • Performance characteristics on repositories with very large commit histories.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.7)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 110 days since the last release
Last repo commit
First released
Downloads 216,743/month — #9,372 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: git_cliff-2.13.1-py3-none-macosx_10_12_x86_64.whl; git_cliff-2.13.1-py3-none-macosx_11_0_arm64.whl; git_cliff-2.13.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; git_cliff-2.13.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; git_cliff-2.13.1-py3-none-manylinux_2_28_aarch64.whl; git_cliff-2.13.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl; git_cliff-2.13.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl; git_cliff-2.13.1-py3-none-musllinux_1_2_aarch64.whl; git_cliff-2.13.1-py3-none-musllinux_1_2_i686.whl; git_cliff-2.13.1-py3-none-musllinux_1_2_x86_64.whl; git_cliff-2.13.1-py3-none-win32.whl; git_cliff-2.13.1-py3-none-win_amd64.whl

Intended Audience :: DevelopersProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: RustTopic :: Software Development

Tags

changelog generator from git commitsconventional commits changelogautomated release notesgit history to markdownchangelog templating toolcommit-based changelogrelease note automation
changelog-generationrelease-automationgit-tooling

More Software Development packages