Manage CHANGELOG.rst with chloggen#31
Merged
Merged
Conversation
Adopt chloggen (the OpenTelemetry changelog tool) so changes are recorded as individual .chloggen/*.yaml entry files and compiled into a dated version section at release time, instead of hand-editing CHANGELOG.rst. - Add .chloggen/config.yaml, TEMPLATE.yaml, and a custom reStructuredText summary template so chloggen renders into CHANGELOG.rst rather than its built-in Markdown; generated sections keep the existing rst style. - CHANGELOG.rst gains the "<!-- next version -->" insertion marker (written as an rst comment) and an intro describing the workflow; released history is unchanged. - CONTRIBUTING.rst documents how to add an entry; RELEASING.rst replaces the hand-edit step with "chloggen update". - CI validates pending entries on every pull request via a new changelog job. Closes #28
ocelotl
marked this pull request as ready for review
July 22, 2026 17:12
mmanciop
requested changes
Jul 22, 2026
Match the changelog conventions used in dash0hq/dash0-cli, keeping the output reStructuredText (the whole repo is rst): - config.yaml: name the changelog `user` (was `default`), as in dash0-cli. - TEMPLATE.yaml: drop the `telemetry` change_type (not in dash0-cli and with no section in summary.tmpl) and add the `change_logs` field with the chore/"Skip Changelog" note. - summary.tmpl: Title-Case the section headings (Breaking Changes, New Components, Bug Fixes) to match dash0-cli. - Makefile: add dash0-cli-style `chlog-new`/`chlog-validate`/`chlog-preview`/ `chlog-update` targets that drive chloggen via `go run` (no Go dependency added to the Python project). - docs/changelog-maintenance.rst: add the maintenance guide dash0-cli keeps in docs/, adapted to rst; CONTRIBUTING.rst now carries only the quick start and points to it. - ci.yml / RELEASING.rst: use the new make targets. Verified: `chloggen validate` passes, a real `chloggen update` renders correct rst, and the resulting CHANGELOG.rst parses clean through docutils.
mmanciop
approved these changes
Jul 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #28.
Adopt chloggen, the OpenTelemetry changelog tool, so changes are recorded as individual
.chloggen/*.yamlentry files and compiled into a dated version section at release time instead of hand-editingCHANGELOG.rst.Approach
CHANGELOG.rststays reStructuredText — the whole repo is rst. chloggen's renderer is format-agnostic via itssummary_templateconfig key, so this ships a custom rst template rather than converting the changelog to Markdown. Released history is left byte-for-byte unchanged.Changes
.chloggen/config.yaml,TEMPLATE.yaml,summary.tmpl— chloggen config plus a custom reStructuredText summary template (rst section underlines,``component``inline literals, anonymous`#N <url>`__issue links,indent-based subtext). Single changelog →CHANGELOG.rst; components unrestricted.CHANGELOG.rst— adds the<!-- next version -->insertion marker (written as an rst comment) and an intro describing the workflow.CONTRIBUTING.rst— new "Changelog" section: create an entry by copyingTEMPLATE.yamlor viachloggen new, field reference, and how to validate locally.RELEASING.rst— the release step now runschloggen update --version "<version> - <date>"(which consumes the entry files) instead of hand-editing..github/workflows/ci.yml— a newchangelogjob runschloggen validateon every PR (viasetup-go+go run …@v0.30.0; no Go dependency is added to the Python project).Verification
chloggen validatepasses on the clean setup.chloggen updaterenders correct rst, and the resultingCHANGELOG.rstparses clean through docutils at the default warning level.Notes
CONTRIBUTING.rst.