Repository navigation
release: 3.0.0 is cut first, then the line moves to 3.1.0 — PlatformVersion back to 3.0.0 - #3366
Conversation
…ersion back to 3.0.0 Maintainer, evening 2026-09-05: "let's then release 3.0.0 and then cut to 3.1.0. that was the intention" — "i don't want this rc business any more" — "i want to release it only when we have solved all issues". So PlatformVersion goes 3.1.0 → 3.0.0: continuous builds are 3.0.0-ci.<n>, the release is the clean 3.0.0 (a promotion of a sealed set, cut only once every open issue is closed), and the day v3.0.0 is tagged release.yml opens the bump to 3.1.0. No pre-release label anywhere; NuGet stays retired. The ordering cost is stated, not hidden: a 3.0.0-ci.<n> build sorts BELOW the 3.0.0-rc* images already in ACR (SemVer §11.4: "ci" < "rc" as text), so until the clean 3.0.0 lands a Continuous install on an rc build stays put — never back, never forward. The clean 3.0.0 outranks every rc and is what moves the fleet; after it 3.1.0-ci.<n> resumes rolling. The two 3.1.0-ci sets published while the props briefly read 3.1.0 (7832, 7835) outrank 3.0.0: an install that took one skips the release and waits for the first 3.1.0-ci build. Doc/ReleaseNotes/3_1_0 → 3_0_0 (the page describes the 3.x line, which 3.0.0 IS); the What's New entry follows; ReleaseProcess, ReleaseStrategy, the release skill and the props comment describe the 3.0.0-first order and the ordering note. Verified: -getProperty:Version → 3.0.0-ci.7900 (CIRun) / 3.0.0 (PublicRelease); AssemblyVersion 3.0.0.0. MeshWeaver.Documentation.Test -c Release -warnaserror 0/0, 269/269 on an assembly that embeds the renamed entry (link integrity over the moved notes page). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JuXoLRvG9TfKh5mgnjGfmo
There was a problem hiding this comment.
🟡 Changes recommended
It leaves verified conflicting documentation/workflow references elsewhere in the repo still describing the continuous/release versions as 3.1.0, which makes the versioning guidance inconsistent.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR aligns the platform’s versioning and release documentation with the maintainer decision to cut 3.0.0 first (no rc labels), then open the 3.1.0 line, reverting PlatformVersion from 3.1.0 back to 3.0.0 and updating the release runbooks accordingly.
Changes:
- Revert
PlatformVersionto3.0.0and update the authoritative versioning commentary/ordering notes. - Rename and reword the 3.x “release is a promotion” documentation (What’s New + Release Notes) for the 3.0.0 release.
- Update release process/strategy docs and the
/releaseskill to reflect “3.0.0 release → bump to 3.1.0”.
File summaries
| File | Description |
|---|---|
| src/MeshWeaver.Documentation/Data/WhatsNew/2026-09-05-the-3-0-0-release-is-a-promotion.md | Updates the What’s New entry to describe the 3.0.0-first release plan and CI/release tag ordering implications. |
| src/MeshWeaver.Documentation/Data/ReleaseNotes/3_0_0/index.md | Renames the release notes page to 3.0.0 and updates narrative and upgrade guidance to match the new cut order. |
| src/MeshWeaver.Documentation/Data/Architecture/ReleaseStrategy.md | Updates release strategy guidance for PlatformVersion = 3.0.0, tagging v3.0.0, and next-line bump to 3.1.0. |
| src/MeshWeaver.Documentation/Data/Architecture/ReleaseProcess.md | Reverts the documented PlatformVersion snippet and updates the SemVer ordering explanation for 3.0.0-first. |
| src/MeshWeaver.Documentation/Data/Architecture/AuthoringDocumentation.md | Updates the ReleaseNotes example path to 3_0_0. |
| Directory.Build.props | Reverts PlatformVersion to 3.0.0 and updates the long-form comment explaining channel ordering and the “no rc” policy. |
| .claude/skills/release/SKILL.md | Updates the release runbook (continuous vs official) to use 3.0.0-ci.<run#> / v3.0.0 and bump to 3.1.0. |
Review details
- Files reviewed: 7/7 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Test Results (shard 0)251 tests 251 ✅ 2m 4s ⏱️ Results for commit 3b18d55. ♻️ This comment has been updated with latest results. |
Test Results (shard 1)475 tests 475 ✅ 44s ⏱️ Results for commit 3b18d55. ♻️ This comment has been updated with latest results. |
Test Results (shard 3)962 tests 962 ✅ 1m 11s ⏱️ Results for commit 3b18d55. ♻️ This comment has been updated with latest results. |
Test Results (shard 5) 5 files 5 suites 1m 45s ⏱️ Results for commit 3b18d55. ♻️ This comment has been updated with latest results. |
Copilot on #3366: main-cd.yml's header, release.yml's header, DataSyncSetup, DeploymentOptions still said 3.1.0-ci / v3.1.0; the two history notes about the bump now say it was a few hours on 2026-09-05. Link/What's New guards re-run over the embedded assembly. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JuXoLRvG9TfKh5mgnjGfmo
Test Results (shard 4)1 571 tests 1 377 ✅ 1m 59s ⏱️ Results for commit 3b18d55. ♻️ This comment has been updated with latest results. |
Test Results (shard 2)986 tests 986 ✅ 3m 31s ⏱️ Results for commit 3b18d55. ♻️ This comment has been updated with latest results. |
Test Results 16 files 16 suites 11m 17s ⏱️ Results for commit 3b18d55. ♻️ This comment has been updated with latest results. |
Summary
Maintainer, this evening: "let's then release 3.0.0 and then cut to 3.1.0. that was the intention" — "i don't want this rc business any more" — "i want to release it only when we have solved all issues".
PlatformVersion3.1.0 → 3.0.0. Continuous builds are3.0.0-ci.<n>; the release is the clean3.0.0, a promotion of a sealed set (release: the 3.1.0 line — no rc, no NuGet, and a release is a promotion of a sealed set #3354'srelease.yml, unchanged), cut only once every open issue in Release 3.0.0, then open 3.1.0 (tracking) #3355 is closed; the lane then opens the bump to3.1.0. No pre-release label anywhere. NuGet stays retired.Doc/ReleaseNotes/3_1_0→3_0_0(the page describes the 3.x line, which 3.0.0 is); the What's New entry from release: the 3.1.0 line — no rc, no NuGet, and a release is a promotion of a sealed set #3354 is renamed and reworded;ReleaseProcess,ReleaseStrategy, the/releaseskill and the props comment describe the 3.0.0-first order.The ordering cost, stated rather than hidden. A
3.0.0-ci.<n>build sorts below the3.0.0-rc*images already in ACR (SemVer §11.4 comparesci<rcas text), so until the clean3.0.0lands a Continuous install on an rc build stays put — never back, never forward. The clean3.0.0outranks every rc and is what moves the fleet; after it3.1.0-ci.<n>resumes rolling. Production is frozen (UpdatePolicy None) anyway. The two3.1.0-cisets published while the props briefly read 3.1.0 (7832, 7835) outrank3.0.0; an install that took one will skip the release and wait for the first3.1.0-cibuild after the bump. Whether to hide those two version tags in ACR is the maintainer's call (digests stay; Plugins pins by digest).Verification
dotnet msbuild -getProperty:Version:3.0.0-ci.7900(CIRun, run 7900),3.0.0(PublicRelease);AssemblyVersion3.0.0.0.test/MeshWeaver.Documentation.Test -c Release -warnaserror: 0 warnings, 0 errors; 269/269 on an assembly that embeds the renamed What's New entry (link integrity over the moved notes page).release.ymlneeds no change: it refuses a tag whose version ≠PlatformVersion, sov3.0.0on a commit at 3.0.0 with a3.0.0-ci.<n>sealed set is exactly what it accepts, and its next-line computation yields 3.1.0.Plugins is unaffected (pins by digest; its
AssemblyVersionfollows the platform in hand since #1367).Pairs-with: none — a version-number change removes no public surface.
🤖 Generated with Claude Code
https://claude.ai/code/session_01JuXoLRvG9TfKh5mgnjGfmo