Skip to content

python(chore): lint changelog fragment shapes and PR numbers - #865

Merged
alexluck-sift merged 2 commits into
mainfrom
al/python/chore/changelog-fragment-shapes
Nov 4, 2026
Merged

alexluck-sift merged 2 commits into
mainfrom
al/python/chore/changelog-fragment-shapes

Conversation

@alexluck-sift

Copy link
Copy Markdown
Collaborator

Summary

Changelog fragments now take one of two shapes, and the changelog check enforces them. A one-paragraph fragment renders as a bullet under its type. A highlight (# Title, blank line, summary paragraph, details) renders its summary as a bullet with a link, and its details once under a ### Highlights section after the type lists.

  • The changelog check now runs release_version.py --lint on the fragments a PR adds or changes. It rejects empty breaking/feat/fix fragments, non-empty chore fragments, multi-paragraph fragments without a title, extra headings, and unlabeled or unclosed code blocks.
  • A fragment the PR adds must be named <PR>.<type>.md. A +name fragment is fine while drafting but fails the check until renamed. Existing fragments that a PR only changes keep their names.
  • The template now puts a blank line between bullets of the same type, so released lists render as loose lists.

python/changelog.d/README.md has examples of both shapes and the rendered output.

A fragment is now one paragraph or a highlight with a title, summary, and details. The template renders the highlight summary as a bullet with a link and the details once under Highlights. release_version.py gains --lint, and the changelog check lints the fragments a PR adds or changes and requires added fragments to use the PR number.
@alexluck-sift
alexluck-sift marked this pull request as ready for review November 3, 2026 21:00

@wei-sift wei-sift left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks

@alexluck-sift
alexluck-sift merged commit 14cf3b8 into main Nov 4, 2026
25 checks passed
@alexluck-sift
alexluck-sift deleted the al/python/chore/changelog-fragment-shapes branch November 4, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants