Skip to content

chore: declare next release in VERSION (0.10.1) for the release train - #417

Merged
LukasWodka merged 3 commits into
developfrom
chore/version-file-0.10.1
Jul 28, 2026
Merged

chore: declare next release in VERSION (0.10.1) for the release train#417
LukasWodka merged 3 commits into
developfrom
chore/version-file-0.10.1

Conversation

@LukasWodka

@LukasWodkaLukasWodka commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

What

  1. VERSION file declaring the next release: 0.10.1 (ships the cosign identity-anchor fixfix(install): anchor cosign identity to version tags (D29, #1269 row 4) #415, currently unreleased on develop).
  2. release.yml hardening (from the two release-train design concerns):
    • tag == VERSION enforcement — any tag's base X.Y.Z (train-cut or manual) must match the VERSION file, or the build fails loudly. The file can never go silently stale after an out-of-train release. Pre-VERSION tags are grandfathered for rebuilds.
    • Strict stability rule — only a plain vX.Y.Z tag is a stable release; rc tags and malformed variants (v0.11.0rc1, no dash) are marked prerelease, so releases/latest — what the installer bootstrap resolves — can only ever serve a real production build.
    • GITHUB_OUTPUT redirects quoted (SC2086).

How releases work now

Train staging hop → merges develop→staging + tags v0.10.1-rc.1 → signed pre-release binaries for FR (invisible to latest). Train prod hop → merges staging→main + tags v0.10.1 → stable release, becomes latest. Manual tagging by release-managers still works — the guards just keep it honest.

Convention

Bump VERSION on develop when the next cycle's content is decided. The train refuses rc/final tags for an already-released or regressed version.

🤖 Generated with Claude Code

The train reads this file to cut tags: vX.Y.Z-rc.N on every staging
promotion (pre-release binaries for FR; 'latest' never sees them) and
vX.Y.Z on the prod promotion. The binary's own version still derives
from the tag at build time (release.yml ldflags) -- this file only
declares intent, uniform with tracebloc-py-package's pyproject version.
0.10.1 ships the cosign identity anchor fix (#415).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@LukasWodkaLukasWodka self-assigned this Jul 28, 2026
@LukasWodka

Copy link
Copy Markdown
ContributorAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 5697338. Configure here.

saadqbal
saadqbal previously approved these changes Jul 28, 2026
Two guards raised in release-train review: (1) any tag's base X.Y.Z must
match the VERSION file (train-cut or manual), so the file can never go
silently stale after an out-of-train release; pre-VERSION tags are
grandfathered for rebuilds. (2) STRICT stability: only plain vX.Y.Z is a
stable release -- rc tags AND malformed variants (v1.2.3rc1, no dash)
are prereleases, so 'releases/latest' (the installer bootstrap) can only
ever resolve a real production build.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@LukasWodka
LukasWodka merged commit b884110 into developJul 28, 2026
21 checks passed
@LukasWodka
LukasWodka deleted the chore/version-file-0.10.1 branch July 28, 2026 15:25
@LukasWodka

Copy link
Copy Markdown
ContributorAuthor

/fr-pass

Sign up for freeto 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

@LukasWodka@saadqbal