Skip to content
CLI Tool for creating consistent and committable changelog entries.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Changelogger Banner

Total Downloads Latest Stable Version License Travis Build Status

Changeloggger is a CLI tool to help you creating better changelogs

At ChurchTools we develop a SaaS. To keep our users informed, we write changelogs for every version. We used to add our changelogs to the issue, but many times the changelog is forgotten to add and manually copy'n'paste is a tedious work. This tool helps us to write and create consistent changelogs, which are committable so the reviewer can check it before merging.

What does it do?

Changelogger saves each log entry as a YAML file in changelogs/unreleased. During the development process many files from different features, bug fixes, and so find their way into this folder.

We create for each change a different file to easily track them. Adding them to a single file, like directly could lead to nasty merge conflicts. One file per change avoids that.

In the end, if a new version is built. Changelogger takes all unreleased changes, sorts them and added a new release to After that all files in changelogs/unreleased are delete and your project is ready for the next version.

Changelogger is not taking your git-logs. There exists many tools already, which take your git-log and converts commit messages to changelog entries. IMHO, this leads in many cases to bad changelogs. Commit messages are not changelogs. They are pieces of information for developers and not the users. Our changelogs are handcraftet because non-developer aka our users, should be able to understand the change.


This package requires PHP 7.1.3. You can require the package as dev-dependency

composer require --dev churchtools/changelogger

or install it globally.

composer global require churchtools/changelogger


# To add a new changelog use `new`
changelogger new

# When a new version is release run `release` to generate the changelog.
# The <tag> is the version number or build number of the release.
changelogger release <tag>

# Need to start over? Run `clean` to remove all unreleased logs.
changelogger clean

Changelogger Demo


churchtools/changelogger is licensed under the Apache License 2.0

You can’t perform that action at this time.