Skip to content

chore: add the 1.57.1 changelog entry and stop auto-release tagging before the notes exist - #1707

Merged
laurentiu021 merged 1 commit into
mainfrom
chore/changelog-1-57-1
Aug 5, 2026
Merged

chore: add the 1.57.1 changelog entry and stop auto-release tagging before the notes exist#1707
laurentiu021 merged 1 commit into
mainfrom
chore/changelog-1-57-1

Conversation

@laurentiu021

Copy link
Copy Markdown
Owner

Unblocks two stranded tags and removes the cause. chore: deliberately — this must not itself tag a third version.

The problem

v1.57.0 and v1.57.1 are both pushed with no published release. The app on GitHub is still 1.56.14.

The cause is a process defect, and I hit it three times in a row:

  1. auto-release computes the next version from the commit type and the previous tag, then pushes the tag.
  2. Only afterwards does release.yml check that CHANGELOG.md has a section for that version.
  3. So a number I cannot know in advance gets tagged, the release fails on the missing section — and the next fix: merge (including one meant to repair this) tags another one.

Patching the version by hand could never converge. That's why this is chore:.

What this changes

1. The 1.57.1 entry the release needs. Describes the Bandwidth Monitor chart crash fixed in #1706, with csproj moved to 1.57.1 to match. v1.57.1 is the tag whose release will be re-dispatched; v1.57.0's content is already contained in 1.57.1, so nothing that shipped is lost or rewritten.

2. auto-release now verifies the CHANGELOG entry before creating the tag. A missing entry costs a workflow re-run instead of stranding a version. The error message states the exact header to add and which bump produced it — the author genuinely cannot compute that number locally, so treating this as carelessness would be the wrong fix.

Verification

Six fixtures, not assumptions:

Case Expected Result
Entry present and non-empty accept accept
Entry missing (the actual failure) reject reject
Header present but section empty reject reject
An older entry (1.57.0) accept accept
1.5.71 vs a 1.57.1 header (escaped dots) reject reject
csproj/CHANGELOG consistency check from #1706 pass pass

The last row matters: the two guards have to agree rather than contradict each other.

Follow-up after merge

release.yml checks out the tag, not main — so this entry only reaches a release for tags created after it. v1.57.1 therefore needs a manual Release dispatch once this lands, which I'll do and verify (notes, SHA256, discussion, winget). That tag-vs-main split is precisely why the new guard belongs in auto-release, before the tag is cut.

No version bump beyond aligning to 1.57.1, and no new CHANGELOG section for this commit itself — chore: doesn't release.

…efore the notes exist

Unblocks two stranded tags and removes the cause, in a chore: commit so this cannot itself tag a
third version.

v1.57.0 and v1.57.1 are both pushed with no published release. The cause is a process defect I hit
three times: auto-release computes the version from the commit type AND the previous tag, then pushes
the tag — and only afterwards does release.yml check that CHANGELOG.md has a section for it. So a
version I could not know in advance gets tagged, the release fails on the missing section, and the
next fix: merge (including one meant to repair this) tags another one. Patching the number by hand
could never converge.

Two changes:

1. The 1.57.1 entry the release needs, describing the Bandwidth Monitor chart crash fixed in #1706,
   and csproj moved to 1.57.1 to match. That is the tag whose release will be re-dispatched;
   v1.57.0's content is already inside 1.57.1, so nothing shipped is lost or rewritten.

2. auto-release now verifies the CHANGELOG entry exists and is non-empty BEFORE creating the tag.
   A missing entry now costs a workflow re-run instead of stranding a version. The error message
   states the exact header to add and the bump it came from, because the author genuinely cannot
   compute that number locally — treating it as author carelessness would be the wrong fix.

Verified against six fixtures rather than assumed: an entry that is present and non-empty accepts; a
missing one rejects (the actual failure); a present-but-empty section rejects, since it would publish
a release with no notes; an older entry still resolves; and the escaped dots mean 1.5.71 cannot match
a 1.57.1 header. Also re-ran the csproj/CHANGELOG consistency check added in #1706 against this tree
so the two guards agree rather than contradicting each other.

Note that release.yml checks out the TAG, not main — so this entry only reaches a release for tags
created after it. That is exactly why the guard belongs in auto-release, before the tag is cut.
@laurentiu021
laurentiu021 merged commit 647f4ec into main Aug 5, 2026
4 checks passed
@laurentiu021
laurentiu021 deleted the chore/changelog-1-57-1 branch August 5, 2026 14:55
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.

1 participant