Skip to main content

Modular changelogs using Markdown bulletins

Project description

bulletins

Modular changelogs from bulletins.
A developer-friendly tool for managing changelogs as individual Markdown files, then compiling them into a single CHANGELOG.md.

✨ Features

  • Add individual change bulletins (.md files) per feature, fix, or update
  • Automatically compile all bulletins into a formatted CHANGELOG.md
  • Semantic versioning using Git tags
  • Can be applied retroactively by providing commit SHA in bulletin metadata
  • Organizes changes under sections and subheadings
  • Works well with branches and collaborative workflows

🚀 Getting Started

pip install bulletins
bulletins add      # create a new bulletin describing a change
bulletins compile  # compile all bulletins into a CHANGELOG.md

📁 Bulletin Format

Each bulletin is a .md file stored in the bulletins folder by default. For example:

---
sha: abc1234  <!-- Optional: Commit SHA -->
---

# Added

- Add support for multiline bulletin descriptions


# Fixed

## Tests

- Fix typo in unit test

When the commit SHA is not specified in the bulletin metadata, the commit in which the file was created is used.

Bulletin files are automatically grouped by headings when compiled into a single CHANGELOG.md file.

🏷️ Version Detection

bulletins determines versions from Git tags following semantic versioning to group changes under section in the CHANGELOG.md file. The default behavior is:

  • Released versions from tags like v1.0.0 → shown as 1.0.0 (2025-06-18)
  • Unreleased versions from the branch name, e.g. develop → shown as develop (Unreleased)

It is also possible to configure bulletins to determine the beginning point and name of unreleased versions from git tags, such as v1.0.1-pre, shown as 1.0.1 (Unreleased).

The version is determined from the closest matching tag to the bulletin's commit.

📦 Project Status

This tool is under active development. Contributions and feedback welcome.

📝 License

MIT License

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

bulletins-0.1.0.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

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

bulletins-0.1.0-py3-none-any.whl (2.3 kB view details)

Uploaded Python 3

File details

Details for the file bulletins-0.1.0.tar.gz.

File metadata

  • Download URL: bulletins-0.1.0.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bulletins-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5aa89de91fb2603312951946a05b8cefda9b7e595c95bee249ab0c93cc58cc6a
MD5 a355cd67a80df952ba609179f278a36d
BLAKE2b-256 af5a7662f627a4a6d52f96313cf9b26c646b83153901029b4116be39041fd4de

See more details on using hashes here.

Provenance

The following attestation bundles were made for bulletins-0.1.0.tar.gz:

Publisher: python-publish.yml on aleixpinardell/bulletins

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

File details

Details for the file bulletins-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: bulletins-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bulletins-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 345e918253a27ab2bddbe03959182f5ee57dba3cb179dac2ac93b4d10ec9e6c3
MD5 af47fab6f606f7b83b6edfe08f42ad25
BLAKE2b-256 0e337716b11b1178643aa04a78a8c77af126271651260221c792f40a6b55c0b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bulletins-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on aleixpinardell/bulletins

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