Repository navigation
feat: move the template to .NET 11 - #627
Conversation
.NET 11 became generally available on 2026-11-10 (SDK 11.0.100). Move both project files to net11.0 and the global.json SDK floor to 11.0.100 in one change, as the toolchain policy requires, and update the docs and the package-upload job to match. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Why this is red, and what unblocks it (updated 11 November, 06:15 UTC) Two things stop this change today. Neither is in this pull request.
The diff is the plain move to .NET 11 again. It stays a draft until a 🤖 Generated with Claude Code |
dotnet-releaser 0.24 is built for .NET 10. On that runtime it reads the
build log with the .NET 10 MSBuild and aborts on a record the .NET 11
SDK writes ("unsupported type: 36"). DOTNET_ROLL_FORWARD=LatestMajor
runs it on the .NET 11 runtime, where it loads the MSBuild of the SDK
that global.json selects.
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Temporary: checks whether the newest release of the packaging tool reads the .NET 11 SDK's build log. Reverted or kept depending on the result. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
…ime" This reverts commit 23c0baf.
This reverts commit b98d554.
Temporary: runs the template's tests with the unreleased action that installs the .NET 11 SDK, to prove the move end to end. Reverted after the run. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
" This reverts commit 9420b54.
Blocker: none Cleared 2026-11-11: The upstream .NET 11 blocker is resolved: dotnet-releaser 0.25.0 is published on NuGet and xoofx/dotnet-releaser#78 is closed as completed. The release replaces the SDK-dependent build-event reader and includes a net11.0 end-to-end test. Source https://github.com/xoofx/dotnet-releaser/releases/tag/0.25.0 and the NuGet flat-container version index were verified on 11 November. Resume the existing draft by updating dotnet-releaser and the released shared .NET 11 test action together, then collect fresh scaffold validation, review and user-path evidence. This clears the external blocker only; the draft has not passed its delivery gates. Previous record (historical): |
Install the released shared test action and dotnet-releaser 0.25.0 together so .NET 11 validation and package preparation use supported tooling. Refs: #599
Resumed the existing draft at signed Release applicability review:
Workflow lint and whitespace checks pass. Local build/test execution is held because disk preflight stayed below 20 GB after the prescribed reclaim, and this host has only .NET 10 SDKs. Hosted validation has now passed at this exact head. Scaffold run 43072095752 exercised onboarding rename, built and tested the renamed project on .NET 11, created stable and prerelease packages, and verified identical package bytes in a disposable local feed. Matrix run 43072095822 passed the required Ubuntu, Windows and macOS tests. This is the user-path evaluation: a newly renamed scaffold builds and tests on .NET 11, and package preparation delivers the expected bytes without publication credentials. It does not claim a NuGet publication. Workflow security scanning and the Code Quality run also succeeded. A separate managed C# analysis remains queued and CodeRabbit has only acknowledged the new-head request, so the draft stays unpromoted. |
@coderabbitai review |
Action performed
|
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Promoting at
|
Why
.NET 11 became generally available on 10 November 2026. Microsoft's release index lists 11.0.0 with SDK 11.0.100 and support phase
active. The template's toolchain policy is to track the latest released .NET and to move the target framework and the SDK floor together, so a project started from the template today should start on .NET 11.What
net11.0.global.jsonrequires SDK 11.0.100 or later within 11.0.x. That is the first generally available .NET 11 SDK.README.md,CONTRIBUTING.mdandAGENTS.mdname the new framework and floor. Nonet10.0or10.0.xmention is left in the repository.dotnet nuget push, which the scaffold check already exercises against a local feed on the SDK fromglobal.json.Trigger: the .NET 11 general-availability release.
On the open question in the issue (standard-term versus long-term support): the release index gives .NET 11 and .NET 10 the same end-of-support date, 14 November 2028. Following the "latest released .NET" policy therefore costs no support time, and the policy text is unchanged.
Fixes #599
🤖 Generated with Claude Code