Conversation
arturcic
commented
Sep 15, 2026
arturcic
left a comment
Member
Author
There was a problem hiding this comment.
Take in consideration the PR will no be merged but carried on until the GA version is available, then we do the proper adjustments
This was referenced Sep 15, 2026
arturcic
force-pushed
the
codex/dotnet-11-support
branch
4 times, most recently
from
September 15, 2026 11:01
e8d882f to
0f08737
Compare
5 tasks
arturcic
force-pushed
the
codex/dotnet-11-support
branch
2 times, most recently
from
September 15, 2026 12:01
40aeb2b to
454342c
Compare
arturcic
force-pushed
the
codex/dotnet-11-support
branch
from
September 17, 2026 20:29
0d004ef to
da996f0
Compare
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
|
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.



Description
Add .NET 11 RC1 support while retaining .NET 10 for the stable CLI, core libraries, MSBuild package and tests. The MSBuild package includes both tool targets and selects net11 for compatible consumers, with regression coverage for older targets and explicit overrides.
The repository SDK is pinned to .NET 11 RC1; CI also installs .NET 10 for retained tests and build tooling. The development container uses Microsoft's .NET 11 RC1 SDK base image directly without installing additional .NET versions. Build tooling and the experimental CLI keep their existing targets. Standalone archives remain on .NET 10.
All three build trees use LangVersion=latest while retaining .NET 10. CI verifies this policy, the generator test explicitly compiles generated code for a C# 14/net10 consumer, and a docs-parser validation task checks C# 14 and C# 15 syntax, API inventory and XML comments using the docs Roslyn dependency. The C# 15 collection-arguments fixture must compile with the configured parser and fail with C# 14; its type and property documentation must survive extraction. Roslyn 5.9 still gates that syntax behind LanguageVersion.Preview, so the docs parser enables preview independently of the SDK compiler. Revisit this temporary setting with the GA Roslyn package. The generator retains netstandard2.0 and PolySharp. At .NET 11 GA, upgrade build tooling and include the deferred DocsInputs collection-arguments cleanup; no broad C# 15 syntax sweep is included.
Docker jobs cover both frameworks using the base images published after GitTools/build-images#104: Alpine 3.23, CentOS Stream 10, Debian 13, Fedora 44, and Ubuntu 26.04/24.04. Ubuntu 26.04 is the default. Breaking-change and migration documentation describes the runtime requirements and retired distribution builds.
Related Issue
Closes #4998.
Motivation and Context
Prepare additive .NET 11 support without removing .NET 10. The required GitTools SDK/runtime base images are now published, allowing the Docker matrix to validate both frameworks.
How Has This Been Tested?
Rebased onto main at
2a1ed7578, including the merged Modernize selected code with C# 12–14 and nullable contracts #5209 modernization. Range-diff confirms the existing five PR commits are unchanged apart from rebase; language compatibility is a separate commit.Actionlint and whitespace checks pass for the new compatibility changes. Their build, generator and docs-parser checks are pending CI; no additional local builds or tests were run.
Local dual-target solution build, build tooling and experimental CLI builds passed. The new CLI generator test passed.
Managed-backend tests passed 37,577 cases per framework, excluding live GitHub clone tests, performance thresholds and one host-sensitive HTTP error-message test. These exclusions are not claimed as passes.
Focused LibGit2Sharp main scenarios passed 22 cases per framework.
macOS ARM64 tool installation and MSBuild package consumer checks passed for SDK 10/net10 and SDK 11/net11.
Workflow syntax and whitespace checks passed after the Docker follow-up. Full current-head validation is delegated to this PR's CI.
This PR will remain a draft and will not be merged before .NET 11 GA. At GA, update the SDK/runtime pins and revalidate the final packages and Docker images before merging. Complete OS/RID and runtime-only validation and Windows task-host checks remain open. The earlier all-RID local pack was interrupted by NuGet download failures; no complete cross-platform packaging result is claimed.
Checklist