Skip to main content

changelog-ai

Generate professional CHANGELOG entries from git history — in seconds.

changelog-ai                           # unreleased since last tag
changelog-ai --release-version v1.2.0  # label the release
changelog-ai --format github           # GitHub Releases format
changelog-ai --prepend CHANGELOG.md   # write to file

PyPI version Python 3.9+ License: MIT Tests


The problem

Writing a CHANGELOG is one of the most tedious tasks in software development:

"Okay, I have 43 commits since v1.0.0... let me read each one and figure out what to say."

You already wrote the commits. Why are you also writing about them?

changelog-ai reads your git history and writes the CHANGELOG for you.

Even with messy commit messages. Even without conventional commits.


Why changelog-ai?

git-cliff (3.2k stars) and conventional-changelog are great — if you write perfect conventional commits.

changelog-ai goes further:

Feature changelog-ai git-cliff conv-changelog
Works with messy commits
AI-summarized descriptions
Groups related commits limited limited
Keep a Changelog format
GitHub Releases format
Local LLM support (Ollama)
Breaking change detection

Install

pip install changelog-ai

Or with pipx (recommended):

pipx install changelog-ai

Quick Start

# Auto-detects provider from env (ANTHROPIC_API_KEY or OPENAI_API_KEY)
changelog-ai

# Label the release version
changelog-ai --release-version v1.2.0

# Generate for a specific range
changelog-ai --from v1.0.0 --to v1.1.0

# GitHub Releases format
changelog-ai --format github

# Write to CHANGELOG.md
changelog-ai --release-version v1.2.0 --prepend CHANGELOG.md

# Preview without writing
changelog-ai --prepend CHANGELOG.md --dry-run

# List available tags
changelog-ai --list-tags

# No API key needed
changelog-ai --provider ollama --model llama3.2

Formats

--format keepachangelog (default)

Follows Keep a Changelog spec with Added, Changed, Fixed, Security, Breaking Changes sections.

--format github

GitHub Release Notes style with "What's Changed" summary.

--format minimal

Simple bullet list — great for internal changelogs.


Providers

Provider Flag Requires
Claude (default if key exists) --provider claude ANTHROPIC_API_KEY
OpenAI --provider openai OPENAI_API_KEY
Ollama (local, free) --provider ollama Ollama running

Options

changelog-ai [PATH] [OPTIONS]

Ref range:
  --from REF            Start ref (tag, SHA, branch). Defaults to latest tag.
  --to REF              End ref [default: HEAD]

Release info:
  --release-version VER Version label (e.g. v1.2.0) [default: Unreleased]
  --date DATE           Release date YYYY-MM-DD [default: today]

Format:
  --format              keepachangelog | github | minimal [default: keepachangelog]

Output:
  --prepend FILE        Prepend entry to this file
  --dry-run             Preview without writing
  --raw                 Plain text output (no formatting)

Utilities:
  --list-tags           List recent tags and exit
  --show-commits        Show commits found before generating
  -V, --version         Show version
  -h, --help            Show help

Tips

# Release workflow
changelog-ai --list-tags                                          # see last release
changelog-ai --release-version v1.3.0 --dry-run                  # preview
changelog-ai --release-version v1.3.0 --prepend CHANGELOG.md     # commit it

# GitHub Release automation
changelog-ai --format github --raw > release-notes.txt
gh release create v1.3.0 --notes-file release-notes.txt

Related Tools

gitbrief — Pack the right files from any repo into LLM-ready context.

gpr — AI-powered PR descriptions and commit messages.

standup-ai — Generate daily standups from git commits.

# The complete AI-powered git workflow:
standup-ai --yesterday                                    # 1. morning standup
gitbrief . --changed-only                                # 2. pack context for review
gpr                                                       # 3. generate PR description
gpr --commit-run                                          # 4. commit with AI message
changelog-ai --release-version v1.x.0 --prepend CHANGELOG.md  # 5. update changelog

Development

git clone https://github.com/faw21/changelog-ai
cd changelog-ai
python -m venv .venv && source .venv/bin/activate
.venv/bin/pip install -e ".[dev]"
pytest tests/   # 49 tests, 87% coverage

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

changelog_ai-0.1.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

changelog_ai-0.1.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file changelog_ai-0.1.0.tar.gz.

File metadata

  • Download URL: changelog_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for changelog_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 597829dedc38088718eab1007ed6c17bf2444531d5bf99fe046f33a6b8c16568
MD5 500902298d2bc2a8785520e1b82758e1
BLAKE2b-256 bac16da168f14d4d1be78646efec994f882777c9e0ceb0fa90ba3c79060f7869

See more details on using hashes here.

File details

Details for the file changelog_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: changelog_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for changelog_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d53f259cfe26362f8f36d9a4fa8dd4e3c0196dcadaa8f06d1d8f7a91325dfa2
MD5 bf20602584537fb03576d8991e340cbf
BLAKE2b-256 fce328183256c8167deb0ecd3915f72025f782383072a0b03d52a5ece0bd889a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page