Yaclog is a python library and command line tool to make it easier to keep track of changes to your projects. It includes commands for appending new changes to a markdown changelog file, as well as releasing new versions for deployment via git tags.
Logo by Erin Cassidy
Install and update with pip:
$ pip install -U yaclogOr with uv:
$ uv tool install yaclogFor usage from the command line, yaclog provides the yaclog command:
Usage: yaclog [OPTIONS] COMMAND [ARGS]...
Manipulate markdown changelog files.
Options:
--path FILE Location of the changelog file. [default: CHANGELOG.md]
--version Show the version and exit.
--help Show this message and exit.
Commands:
entry Add entries to the changelog.
format Reformat the changelog file.
init Create a new changelog file.
release Release versions.
show Show changes from the changelog file
tag Modify version tags
Create a new changelog:
$ yaclog initAdd some new entries to the current unreleased version:
$ yaclog entry -b 'Introduced some more bugs'
$ yaclog entry -b 'Introduced some more features'Show the current version:
$ yaclog showUnreleased
- Introduced some more bugs
- Introduced some more features
Release the current version and make a git tag for it
$ yaclog release 0.0.1 -cRenamed version "Unreleased" to "0.0.1".
Commit and create tag for version 0.0.1? [y/N]: y
Created commit a7b6789
Created tag "0.0.1".
