fix(release): let alpha tags publish from their exact changelog heading

Shipped alpha tags carry a dedicated ## X-alpha.N heading with no base
section (see v2026.6.20-alpha.1's tagged CHANGELOG.md); the renderer and
candidate provenance now prefer that dedicated heading for alpha and
correction tags while beta/stable remain pinned to the stable base
section per #103222.

(cherry picked from commit eefe2e8837)
This commit is contained in:
Peter Steinberger
2026-07-10 01:58:24 -07:00
committed by Vincent Koc
parent a25bd5d21c
commit 544d35595e
2 changed files with 47 additions and 0 deletions
+20
View File
@@ -230,7 +230,27 @@ function compactReleaseNotes(section, repository, tag) {
].join("\n");
}
export function dedicatedSectionVersionForTag(tag) {
// Correction (vX-N) and alpha tags may carry their own exact changelog
// heading; beta and stable bodies must come from the stable base section.
const taggedVersion = tag.replace(/^v/u, "");
if (/-beta\.[1-9][0-9]*$/u.test(taggedVersion)) {
return undefined;
}
return /-(?:alpha\.)?[1-9][0-9]*$/u.test(taggedVersion) ? taggedVersion : undefined;
}
export function releaseNotesSectionForTag(changelog, version, tag) {
// Alpha and correction tags prefer their own exact heading when the
// changelog carries one; otherwise they fall back to the base version.
const dedicatedVersion = dedicatedSectionVersionForTag(tag);
if (dedicatedVersion && dedicatedVersion !== version) {
try {
return extractChangelogSection(changelog, dedicatedVersion);
} catch {
// No dedicated section; use the base version below.
}
}
try {
return extractChangelogSection(changelog, version);
} catch (error) {