Skip to main content

Changelogs without conflicts.

Project description


Changelogs without conflicts.


Changelogd allows teams to avoid merge conflicts for the changelog files. The changelogd content is stored within multiple YAML files - one per each changelog entry. Then, during application release, all input files are combined into one release file. The script uses Jinja2 templates to generate one consistent text file out of all input YAML files. The default output format is Markdown, but by modifying the templates it can be changed into any text format you like.


You can install changelogd via pip from PyPI:

$ pip install changelogd


First, initialize changelogd configuration.

$ changelogd init
Created main configuration file: changelog.d\config.yaml
Copied templates to changelog.d\templates

Then, create changelog entries:

$ changelogd entry
        [1]: Features [feature]
        [2]: Bug fixes [bug]
        [3]: Documentation changes [doc]
        [4]: Deprecations [deprecation]
        [5]: Other changes [other]
> Select message type [1]: 2
> Issue ID: 100
> Changelog message: Changelog message
Created changelog entry at changelog.d\bug.a3f13823.entry.yaml

Finally, generate changelog file.

$ changelogd release version-number
> Release description (hit ENTER to omit): This is the initial release.
Saved new release data into changelog.d\releases\0.release-name.yaml
Generated changelog file to

Output file:

# Changelog

## version-number (2020-01-11)

This is the initial release.

### Bug fixes
* [#100](http://repo/issues/100): Changelog message ([@user](


For full documentation, please see


Distributed under the terms of the MIT license, “changelogd” is free and open source software


If you encounter any problems, please file an issue along with a detailed description.


0.1.7 (2022-10-10)

Minor improvements

  • #26: Trim whitespace from multi-value fields.

Other changes

  • #25: Switch to GitHub Actions.

0.1.6 (2022-09-06)


  • #21: Add support for computed values.

Minor improvements

  • #7: Add a readme file that will be put into the changelogd config directory.

Other changes

  • #19: Remove invalid pytest option.

  • #18: Add support for python 3.9 and 3.10, fix tests.

0.1.5 (2020-01-30)

Minor improvements

  • #6: Add file to allow invoking via python -m changelogd.

0.1.4 (2020-01-24)

Minor improvements

  • #5: Save timestamp with entry YAML, so the order won’t be affected by simple file modification.

  • #4: Display entry title with Select message type question.

0.1.3 (2020-01-20)


  • #2: Allow to control which user data will be saved in entries.

  • #3: Automatically add new entries and releases to git.

Other changes

  • #1: Switch from tox to nox for running tests and tasks.

0.1.2 (2020-01-17)

Bug fixes

  • Fixed missing templates from the

0.1.1 (2020-01-16)

Initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

changelogd-0.1.7.tar.gz (30.6 kB view hashes)

Uploaded Source

Built Distribution

changelogd-0.1.7-py3-none-any.whl (18.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page