chore(release): dedupe changelog (type-only categories)#371
Open
eldara-cruncher wants to merge 1 commit into
Open
chore(release): dedupe changelog (type-only categories)#371eldara-cruncher wants to merge 1 commit into
eldara-cruncher wants to merge 1 commit into
Conversation
release-drafter places a PR in EVERY matching category by design (v7.3.0 categorize-pull-requests.ts; no per-category exclude, first-match, or precedence — upstream issue #811). The B2-high-priority and C1-breaking-change categories are orthogonal to the A-type axis, so high-priority/breaking PRs were emitted twice — once in their highlight section, once under their type. Drop the B2/C1 categories; key categorization off the mutually-exclusive A-type (and D0) labels only, so each PR appears exactly once. Section titles kept verbatim. Breaking-ness is conveyed by the version/RC. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
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.
Problem
The release changelog lists high-priority and breaking PRs twice — once under "‼️ High Priority Release" / "⚡ Breaking API Changes" and again under their type section ([Feature]/[Bug Fixes]/...).
Root cause
release-drafter (v7.3.0
categorize-pull-requests.ts) pushes a PR into every category whose labels intersect the PR's labels — intentional, with an inline source comment saying so. There is no per-categoryexclude-labels, no first-match, no precedence (upstream issue #811); globalexclude-labelsremoves a PR from the whole changelog. The only dedupe mechanism is mutually-exclusive label data driving categories.The
A(type) /B(urgency) /C(breaking) label groups are orthogonal andcheck_labelsrequires one of each per PR, so anyB2/C1PR matched its highlight category and itsA-type category → duplicated.Fix
Drop the
B2-high-priorityandC1-breaking-changecategories; categorize off the mutually-exclusiveA-type (+D0) labels only (group A is{A0,A1,A2,A3,D0}, exactly one per PR → perfect partition). Each PR appears exactly once. Section titles unchanged. No code/tooling change; breaking-ness is conveyed by the version/RC.Trade-off (accepted): no dedicated "Breaking" section — a breaking PR appears once under its type. A self-populating Breaking section would require the mono-label/autolabeler pattern (out of scope).
Validation
Changelog path is tag-triggered only (not CI-validatable). YAML validated locally; categories = [UI]/[Feature]/[Bug Fixes]/[Technical]/[Dependencies]. First live exercise is the next tag.
🤖 Generated with Claude Code