Development Status
- 4 - Beta
Intended Audience
- Developers
License
- OSI Approved :: MIT License
Natural Language
- English
Programming Language
- Python :: 3
- Python :: 3.6
- Python :: 3.7
- Python :: 3.8
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
changelogd
Changelogs without conflicts.
Free software: MIT license
Documentation: https://changelogd.readthedocs.io.
Overview
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.
Installation
You can install changelogd via pip from PyPI:
$ pip install changelogd
Quickstart
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 changelog.md
Output file:
# Changelog
## version-number (2020-01-11)
This is the initial release.
### Bug fixes
* [#100](http://repo/issues/100): Changelog message ([@user](user@example.com))
Documentation
For full documentation, please see https://changelogd.readthedocs.io/en/latest/.
License
Distributed under the terms of the MIT license, “changelogd” is free and open source software
Issues
If you encounter any problems, please file an issue along with a detailed description.
History
0.1.10 (2026-03-22)
Features
#90: Add support for hotfix releases.
Other changes
#76: Replace old “toml” with newer “tomli”/”tomllib”.
0.1.9 (2025-01-12)
Features
#71: Allow to render empty sections.
Bug fixes
#65: Fixed release command when already existing release version is passed.
0.1.8 (2023-02-24)
Features
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)
Features
#21: Add support for computed values.
Minor improvements
#7: Add a readme file that will be put into the changelogd config directory.
Other changes
0.1.5 (2020-01-30)
Minor improvements
#6: Add __main__.py file to allow invoking via python -m changelogd.
0.1.4 (2020-01-24)
Minor improvements
0.1.3 (2020-01-20)
Features
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 MANIFEST.in
0.1.1 (2020-01-16)
Initial release