Skip to main content

Changelogs without conflicts.

Project description

changelogd

https://img.shields.io/pypi/v/changelogd.svg https://dev.azure.com/aklajnert/changelogd/_apis/build/status/aklajnert.changelogd?branchName=master

Changelogs without conflicts.

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

  • #37: Allow to set default values for entries.

  • #36: Allow to add entry to the existing release.

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

  • #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 __main__.py 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)

Features

  • #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 MANIFEST.in

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.10.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

changelogd-0.1.10-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file changelogd-0.1.10.tar.gz.

File metadata

  • Download URL: changelogd-0.1.10.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for changelogd-0.1.10.tar.gz
Algorithm Hash digest
SHA256 a645340fbad3e49b45e2e3ae78f5af909e525321419cad204eee7e1efbd7584c
MD5 ae70ca47fe7490866c76630db9ca8788
BLAKE2b-256 5f8f3b706c91b4775219062cfb1b7f0e75d75f3595bbda9ce7df50d78a9cd34e

See more details on using hashes here.

Provenance

The following attestation bundles were made for changelogd-0.1.10.tar.gz:

Publisher: publish.yml on aklajnert/changelogd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file changelogd-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: changelogd-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for changelogd-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 9566bff492c015018bbb7d686bee093955b7bcc0497a9494461432e0fdcb1900
MD5 0ffacf2925563786ad6aef208f3b5361
BLAKE2b-256 c257005cedc4657731a1c3d94cd7157bbaca890694c0f0db8dcbea635603295e

See more details on using hashes here.

Provenance

The following attestation bundles were made for changelogd-0.1.10-py3-none-any.whl:

Publisher: publish.yml on aklajnert/changelogd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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