Python package allowing you to manage your CHANGELOG.md files
Project description
(Keep a) Changelog Manager
CLI and Python library for managing CHANGELOG.md files that follow the Keep a Changelog format.
Fork of keepachangelog-manager, originally mostly written by KevinDeJong at TomTom International.
Install
uv tool install keepachangelog-manager-fork
The package name on PyPI is keepachangelog-manager-fork. The installed commands is changelogmanager with legacy alias of keepachangelog-manager.
Supports precommit, cli, and GitHub actions workflows.
What it does
keepachangelog-manager helps you:
- create and validate changelogs
- add, edit, list, and remove
[Unreleased]entries - infer the next SemVer release from change types
- release
[Unreleased]with an optional confirmation guard - seed
[Unreleased]from git history using Conventional Commit subjects - export changelogs as JSON, YAML, or HTML
- export a bundled CLI skill for Copilot or Claude
- create or update GitHub releases
- work with multi-component repositories via config files
- script the CLI with
--dry-run,--quiet,--json,--info, and--verbose - use an optional Tkinter GUI for common workflows
Commands
create
version
validate
release
to-json
to-yaml
to-html
add
remove
edit
github-release
from-commits
skill export
gui
Quick examples
Add an entry:
changelogmanager add --change-type added --message "Document the new release flow"
Edit or remove an existing [Unreleased] entry:
changelogmanager remove --list
changelogmanager edit --change-type added --index 0 --message "Document the guarded release flow"
changelogmanager remove --change-type added --index 0
Seed [Unreleased] from commit history:
changelogmanager from-commits
Validate and autofix common issues:
changelogmanager validate --fix
Release non-interactively:
changelogmanager release --yes
Export structured output:
changelogmanager to-json
changelogmanager to-yaml
changelogmanager to-html
Export the bundled CLI skill:
changelogmanager skill export
Machine-readable mode for scripts:
changelogmanager --json version --reference future
changelogmanager --quiet validate
changelogmanager --info validate
changelogmanager --verbose from-commits --dry-run
--info and --verbose enable stdlib runtime logging on stderr for diagnostics. --verbose is the more detailed level and implies --info. Existing validation diagnostics still use the configured LLVM or GitHub Actions annotation format.
Configuration
Use --config and --component for multi-component repositories:
project:
components:
- name: Service
changelog: service/CHANGELOG.md
- name: Client
changelog: client/CHANGELOG.md
commits:
style: conventional
versioning:
scheme: semver
validation:
enforce_preamble: false
changelogmanager --config .changelogmanager.yml --component Service validate
changelogmanager config
changelogmanager config init
changelogmanager skill export
If --config is omitted, the CLI auto-detects .changelogmanager.yml, .changelogmanager.yaml, changelogmanager.yml, changelogmanager.yaml, or [tool.changelogmanager] in pyproject.toml from the current directory.
changelogmanager config init is the quickest way to bootstrap config. It defaults to pyproject.toml, Conventional Commits, and semver, and re-running it updates the active config instead of starting from scratch.
Optional desktop GUI
changelogmanager gui
The GUI currently wraps the common commands create, version, validate, release, to-json, add, and github-release.
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file keepachangelog_manager_fork-5.0.0.tar.gz.
File metadata
- Download URL: keepachangelog_manager_fork-5.0.0.tar.gz
- Upload date:
- Size: 580.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0107f23ceae3f0dc60a627e4e7381e468c84faf092f3fafa9c1e437600d2c4c
|
|
| MD5 |
7d1a64478b38ac26b21c1a457492efe8
|
|
| BLAKE2b-256 |
e875cc35960dad934781e727c447c3a3adf48479bc955470c3cb1a33d8cf6e6c
|
Provenance
The following attestation bundles were made for keepachangelog_manager_fork-5.0.0.tar.gz:
Publisher:
release.yml on matthewdeanmartin/keepachangelog-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
keepachangelog_manager_fork-5.0.0.tar.gz -
Subject digest:
f0107f23ceae3f0dc60a627e4e7381e468c84faf092f3fafa9c1e437600d2c4c - Sigstore transparency entry: 1425648888
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/keepachangelog-manager@2fa0f326848aa1bc3d98f374fcb9ce6f47778ae0 -
Branch / Tag:
refs/tags/v5.0.0 - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2fa0f326848aa1bc3d98f374fcb9ce6f47778ae0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file keepachangelog_manager_fork-5.0.0-py3-none-any.whl.
File metadata
- Download URL: keepachangelog_manager_fork-5.0.0-py3-none-any.whl
- Upload date:
- Size: 52.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f4eafb4e4d8966a4f3e3ee190094b75a64590ebe8dc1b7de0d60550369dd18e
|
|
| MD5 |
61e1ef2246a4072249660a8c9e0074ff
|
|
| BLAKE2b-256 |
8ed5d59d67a267b73639f847ebf71d8d88e42efabbd41bc6372972dbc908134c
|
Provenance
The following attestation bundles were made for keepachangelog_manager_fork-5.0.0-py3-none-any.whl:
Publisher:
release.yml on matthewdeanmartin/keepachangelog-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
keepachangelog_manager_fork-5.0.0-py3-none-any.whl -
Subject digest:
7f4eafb4e4d8966a4f3e3ee190094b75a64590ebe8dc1b7de0d60550369dd18e - Sigstore transparency entry: 1425648968
- Sigstore integration time:
-
Permalink:
matthewdeanmartin/keepachangelog-manager@2fa0f326848aa1bc3d98f374fcb9ce6f47778ae0 -
Branch / Tag:
refs/tags/v5.0.0 - Owner: https://github.com/matthewdeanmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2fa0f326848aa1bc3d98f374fcb9ce6f47778ae0 -
Trigger Event:
release
-
Statement type: