Startups6 min read

.NET 11 RC1 Ships C# 15 Unions and Runtime-Native Async

Microsoft shipped .NET 11 RC1 on 8 September 2026 with a production go-live licence — C# 15 union types, runtime-native async, and x64 AVX10.1 baseline, GA in November.

.NET 11 RC1 Ships C# 15 Unions and Runtime-Native Async

Microsoft Releases .NET 11 RC1 on 8 September 2026

Microsoft published .NET 11 Release Candidate 1 on 8 September 2026 with a production go-live support licence, meaning engineering teams can deploy RC1 to production applications without waiting for the general availability release planned for November 2026. The RC1 build makes C# 15 the default language version for all projects targeting net11.0, graduating union types and closed class hierarchies out of the preview flag that kept them experimental in earlier builds. Runtime-native async ships as an unconditional default for net11.0 targets, removing the EnablePreviewFeatures opt-in required in earlier previews. The x64 hardware baseline now requires AVX10.1 and F16C instruction-set support, and System.Half operations use hardware FP16 instructions on qualifying CPUs rather than the software emulation path used in prior versions.

C# 15 Union Types: First-Class Algebraic Typing

Union types are a new first-class type declaration in C# 15 that allow a variable, parameter, or return value to hold one of several explicitly specified types, with the compiler enforcing exhaustive handling at every pattern-match site. A union type is declared with the union keyword and a list of permitted member types; any code path that receives a union value and fails to handle a listed member type produces a compile-time error rather than a runtime exception. The design closes a long-standing expressiveness gap between C# and languages like TypeScript and Rust where multi-value return types are idiomatic. Prior to union types, C# developers modelling multi-path results used nullable types for simple two-case scenarios, sealed abstract class hierarchies with derived subtypes, or record-based discriminated union patterns — all of which require substantially more boilerplate and cannot enforce exhaustive handling as concisely. Union types are most immediately valuable in domain models with complex state: financial transaction results, workflow status values, API response types, and any abstraction that carries one of several meaningfully distinct outcomes.

Closed Class Hierarchies

Closed class hierarchies are the reference-type counterpart to union types, also graduating from preview in C# 15. A closed hierarchy declares that only a fixed set of types specified at declaration may implement or subclass the base type. With the full set of permitted implementations known at compile time, the compiler treats the hierarchy as exhaustive: switch expressions over a closed hierarchy do not require a default arm, and any unhandled case is flagged at compile time. Where union types model "one of these concrete value types", closed hierarchies model "one of these concrete reference-type implementations". Together, the two features give .NET developers both value-type and reference-type tools for algebraic domain modelling within the same language, closing a gap that has historically led some teams to use F# for type-rich domain code and C# for infrastructure, or to depend on third-party discriminated union libraries.

Runtime-Native Async: Cleaner Stack Traces and Lower Allocation

Runtime-native async, previously gated behind EnablePreviewFeatures=true, ships as an unconditional default for net11.0 projects in RC1. The core change is a rework of how the .NET runtime manages async state machine continuations and scheduler handoffs. Two improvements are immediately visible in production. First, exception stack traces through async call chains become significantly cleaner: prior async implementations represent continuations as MoveNext method frames, producing deeply nested and hard-to-read traces through async call chains. Runtime-native async reflects the logical call chain instead, making crash reports and logs substantially more readable without interpretation. Second, the new implementation reduces per-continuation heap allocations for async methods that do not capture local variables, lowering garbage collection pressure on services with high-throughput async workloads. Both improvements are directly visible in .NET web APIs, which tend to have deep async call chains and high request concurrency.

Hardware Changes: AVX10.1, F16C, and System.Half

.NET 11 raises the minimum instruction-set requirement for x64 applications to AVX10.1 and F16C. AVX10.1 is Intel's unified successor to the AVX-512 family, consolidating the most widely used AVX-512 extensions into a single specification supported by all modern Intel and AMD processors manufactured since approximately 2020. F16C adds hardware half-precision floating-point conversion instructions. The practical result is that System.Half — the 16-bit floating-point type in .NET — now uses hardware FP16 arithmetic and conversion on qualifying CPUs, replacing software emulation. Hardware FP16 is substantially faster than software emulation for numerical workloads, and it is directly relevant for machine-learning inference pipelines running on .NET infrastructure where half-precision tensors are common. Teams running .NET services on older virtual-machine images or CI runners should verify CPU instruction set support before deploying .NET 11 RC1.

What .NET 11 RC1 Means for Indian Development Teams

India's enterprise software sector has a large .NET footprint across banking, insurance, government software, and IT services companies. For teams running .NET on Azure India, AWS India, or on-premises Windows Server infrastructure, the go-live licence on RC1 opens a concrete qualification window six to eight weeks ahead of the November GA release. C# 15's union types and closed hierarchies have the highest practical impact on codebases with complex domain models: financial services applications modelling transaction states, insurance claim workflows, and government service request lifecycles all have multi-value domain objects where compiler-enforced exhaustive handling reduces the error surface compared with current patterns. The System.Half hardware acceleration is most relevant for Indian teams running ML inference in .NET, including recommendation engines, fraud detection pipelines, and document classification services where half-precision computation reduces memory and improves throughput.

The Bottom Line

Microsoft shipped .NET 11 RC1 on 8 September 2026 with a production go-live support licence and C# 15 as the default language. Union types and closed class hierarchies graduate from preview, giving .NET developers first-class algebraic type modelling for value and reference types. Runtime-native async is unconditional for net11.0 targets, producing cleaner exception stack traces and lower allocation per async continuation. x64 now requires AVX10.1 and F16C, enabling hardware FP16 for System.Half arithmetic. In-process crash reporting lands for Unix targets and container publish becomes reproducible across identical source and SDK versions. General availability is scheduled for November 2026. For Indian .NET development teams, the RC1 go-live licence is a practical signal to begin upgrade qualification now, particularly for codebases that stand to benefit from C# 15 union types and runtime-native async stack trace improvements.

Frequently Asked Questions

What is .NET 11 RC1 and when was it released?+

.NET 11 Release Candidate 1 is the first release candidate of Microsoft's .NET 11 framework, published on 8 September 2026 with a production go-live support licence. Engineering teams can deploy RC1 to production applications without waiting for the general availability release planned for November 2026. RC1 makes C# 15 the default language version for all .NET 11 projects, graduating union types, closed class hierarchies, and async-in-unsafe-context support out of the preview flag. Runtime-native async ships as an unconditional default for net11.0 targets, removing the EnablePreviewFeatures opt-in from earlier previews. The x64 hardware baseline rises to require AVX10.1 and F16C instruction-set support, and System.Half now uses hardware FP16 instructions on qualifying CPUs rather than software emulation.

What are C# 15 union types and why do they matter for .NET developers?+

Union types are a new first-class type declaration in C# 15 that allow a value to hold one of several explicitly specified types, with the compiler enforcing exhaustive handling of every member type at pattern-match sites. A union type is declared with the union keyword and a list of permitted types; any code that receives a union value but fails to handle a listed member type produces a compile-time error. This closes a long-standing expressiveness gap compared with languages like TypeScript and Rust where multi-value return types are idiomatic. Prior C# patterns for similar requirements — nullable types, sealed class hierarchies, or record-based discriminated unions — require more boilerplate and cannot enforce compile-time exhaustiveness as cleanly. Union types are most valuable for domain models with complex state: financial transaction results, workflow statuses, API response types, and any type carrying one of several meaningfully distinct outcomes.

How does runtime-native async change .NET 11 applications in practice?+

Runtime-native async reworks how the .NET runtime manages async state machine continuations and is now an unconditional default for net11.0 projects in RC1. Two improvements are immediately visible. First, exception stack traces through async call chains become significantly cleaner: prior implementations represent async continuations as MoveNext method frames, producing deeply nested traces that require interpretation. Runtime-native async reflects the logical call chain instead of the state machine mechanics. Second, per-continuation heap allocations are reduced for async methods that do not capture local variables, lowering garbage collection pressure on services with high-throughput async workloads. For .NET web API teams with deep async call chains, the stack trace improvement cuts crash investigation time, and the lower allocation rate measurably improves throughput on services handling thousands of concurrent requests.

What hardware does .NET 11 require and who should check compatibility?+

.NET 11 raises the minimum x64 instruction-set requirement to AVX10.1 and F16C. AVX10.1 is Intel's unified successor to the AVX-512 family, supported by all modern Intel and AMD processors manufactured since approximately 2020. F16C adds hardware half-precision floating-point conversion. Any current-generation server, workstation, or developer laptop satisfies the requirement. Teams that should verify compatibility include those running .NET services on older virtual-machine images, CI runners that pin an older CPU baseline, or edge deployments on hardware manufactured before 2018. The benefit of the higher baseline is that System.Half now uses hardware FP16 arithmetic on qualifying CPUs — substantially faster than software emulation — which is directly relevant for .NET machine-learning inference workloads using half-precision tensors.

Work with us

TechPillow builds custom software development for teams across India and beyond.

Explore
TT

Written by

TechPillow Team

Sharing insights on technology, product development, and the Indian tech ecosystem.

Ready to Build Something Extraordinary?

From ideation to launch, we're your end-to-end technology partner.

Book a Free Strategy Call