You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrew Cassidy 0666f7f593 Release Version 1.1.2 3 months ago
.github Bump actions/setup-python from 4.3.1 to 4.4.0 3 months ago
docs Update docs 2 years ago
tests Add cargo.toml support 7 months ago
yaclog cleanup 3 months ago
.gitignore Ignore .idea 2 years ago
.readthedocs.yaml Add epub builds 2 years ago Release Version 1.1.2 3 months ago Make license markdown 2 years ago Version 1.0.0 2 years ago
logo.png Add logo 2 years ago
pyproject.toml Add cargo.toml support 7 months ago


Documentation Status Build Status PyPI version

Yet another changelog command line tool

a yak who is a log

Logo by Erin Cassidy


Install and update using pip:

$ pip install -U yaclog


For usage from the command line, yaclog provides the yaclog command:

Usage: yaclog [OPTIONS] COMMAND [ARGS]...

  Manipulate markdown changelog files.

  --path FILE  Location of the changelog file.  [default:]
  --version    Show the version and exit.
  --help       Show this message and exit.

  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

Example workflow

Create a new changelog:

$ yaclog init

Add some new entries to the "Added" section of the current unreleased version:

$ yaclog entry -b 'Introduced some more bugs'
$ yaclog entry -b 'Introduced some more features'

Show the current version:

$ yaclog show

- Introduced some more bugs
- Introduced some more features

Release the current version and make a git tag for it

$ yaclog release 0.0.1 -c
Renamed 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".