Switch release versioning to vYYYY.MM.PATCH (CalVer) - #36
Merged
Merged
Conversation
Tags are now v2026.09.0, v2026.09.1, v2026.10.0 ... PATCH restarts at 0 each month; the month keeps its leading zero in the tag. No code change needed: System.Version compares numerically (2026.09.0 == 2026.9.0 > 0.4.0), verified locally that -p:Version=2026.09.0 builds as assembly version 2026.9.0.0, and a new test pins the ordering. Docs/examples updated; v0.4.0 stays the last SemVer tag. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UokAERat9fVzmcmsfJzsJF
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.
Summary
Release tags become
vYYYY.MM.PATCH—v2026.09.0,v2026.09.1, thenv2026.10.0. PATCH restarts at 0 each month; the month keeps its leading zero in the tag.v0.4.0stays as the last SemVer tag.No code change required.
UpdateCheckServicecomparesSystem.Version, which is numeric per component:2026.09.0parses as2026.9.0, which is newer than every0.x.ytag and orders correctly month-to-month. Verified locally thatdotnet build -p:Version=2026.09.0succeeds with assembly version2026.9.0.0(informational version keeps2026.09.0). The only visible side effect: the startup log line readsv2026.9.0(no leading zero).Changes:
CONTRIBUTING.md— new "Version scheme" section + updated tag examplesCLAUDE.md— pitfall entry so future work doesn't cut SemVer tagsNwsAlertBot.csproj,release.yml,scripts/update.ps1,README.md— comment/example updates (v1.2.3→v2026.09.0)UpdateCheckServiceTests— new test pinning CalVer ordering and CalVer > legacy SemVerCHANGELOG.mdTest plan
dotnet test— 136 passdotnet build -p:Version=2026.09.0locally → assembly2026.9.0.0v2026.09.0andrelease.ymlpublishes normally🤖 Generated with Claude Code
https://claude.ai/code/session_01UokAERat9fVzmcmsfJzsJF