Skip to content


Repository files navigation


Scriv changelog management tool


Scriv is a command-line tool for helping developers maintain useful changelogs. It manages a directory of changelog fragments. It aggregates them into entries in a CHANGELOG file.

Getting Started

Scriv writes changelog fragments into a directory called "changelog.d". Start by creating this directory. (By the way, like many aspects of scriv's operation, you can choose a different name for this directory.)

To make a new changelog fragment, use the scriv create command. It will make a new file with a filename using the current date and time, your GitHub or Git user name, and your branch name. Changelog fragments should be committed along with all the other changes on your branch.

When it is time to release your project, the scriv collect command aggregates all the fragments into a new entry in your changelog file.

You can also choose to publish your changelog entries as GitHub releases with the scriv github-release command. It parses the changelog file and creates or updates GitHub releases to match. It can be used even with changelog files that were not created by scriv.


Full documentation is at


The code in this repository is licensed under the Apache Software License 2.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome. Thanks to all the contributors so far:

Ned Batchelder
Abhilash Raj
Agustín Piqueres
Flo Kuepper
James Gerity
Javier Sagredo
Kurt McKee
Matias Guijarro
Rodrigo Girão Serrão
Ronny Pfannschmidt