For more than a decade, C# architects have begged Microsoft for native discriminated unions and an end to the hidden memory allocations caused by compiler-generated async/await state machines. At .NET Conf 2026, Microsoft delivered both in a single release by shipping .NET 11 and C# 15 into general availability.
Backed by 24 months of Standard Term Support (STS) through November 2028 and shaped by over 7,000 community contributors, this release replaces async state-machine boilerplate with 0-byte Runtime Async execution, turns on a Native AOT CLI host by default, and moves .NET MAUI onto CoreCLR. At the same time, November 10, 2026 marks the official End of Support for both .NET 8 and .NET 9—making your upgrade roadmap an immediate priority.
Table of Contents
- C# 15 Finally Ships Native Union Types and Closed Hierarchies
- How Runtime Async Eliminates Compiler State Machines and Cuts Latency
- Faster Native AOT CLI Tooling, Dotnetup and Built-In MCP Server Templates
- What Is New in ASP.NET Core 11, Blazor AG-UI and Entity Framework Core 11
- Why .NET MAUI Switching to CoreCLR Changes Cross-Platform Mobile Development
- Urgent Upgrade Guide as .NET 8 and .NET 9 Reach End of Support
- Frequently Asked Questions (FAQ)
- End Note
- C# 15 Union Types & Closed Hierarchies: Declare concise
public unionreturn types and assembly-sealedclosed classhierarchies with full compiler exhaustiveness checking inswitchexpressions. - Runtime Async Hits CoreCLR: All .NET 11 base libraries ship compiled with
runtime-async=on, slashing synchronous async completion from 21.2 ns (144 B) down to 6.2 ns (0 B allocated) and cleaning up live debugger call stacks. - Native AOT CLI & Warm MSBuild Server: The SDK runs a Native AOT CLI host by default, includes a built-in
dotnet new mcpservertemplate, and introduces the previewdotnetuptoolchain manager. - CoreCLR Default for .NET MAUI 11: Unifies mobile and desktop workloads on CoreCLR alongside XAML Incremental Hot Reload, while ASP.NET Core 11 defaults to OpenAPI 3.2 and async validation.
- .NET 8 & .NET 9 End of Support Alert: Both .NET 8 and .NET 9 reached End of Support on November 10, 2026—teams must move to .NET 11 (2-year STS) or .NET 10 (3-year LTS) to keep receiving security updates.
Looking to get started with the latest C# 15 features, .NET 11 Runtime Async support, and modern AI development tooling? Grab the official Community, Professional, or Enterprise installer directly from our dedicated hub.
C# 15 Finally Ships Native Union Types and Closed Hierarchies
As confirmed in Microsoft's official Announcing .NET 11 blog post, C# 15 is the default language version for all net11.0 projects. Its headline addition is native union types—letting a method return any of a declared set of case types without boxing into object or inventing artificial base classes:
public sealed record ProductNotFound(int Id);
public union ProductLookup(Product, ProductNotFound);
ProductLookup result = new Product(42, "Mechanical keyboard");
string message = result switch {
Product p => $"Found {p.Name}",
ProductNotFound m => $"No product with ID {m.Id}"
};
When you own the class hierarchy yourself, C# 15 also introduces closed hierarchies (closed class), which prevent external assemblies from subclassing your type so the compiler can guarantee exhaustive pattern matching. In addition, C# 15 adds collection expression arguments—such as HashSet<string> names = [with(StringComparer.OrdinalIgnoreCase), "Alice", "ALICE", "Bob"];—alongside extension indexers and labeled break and continue statements.
How Runtime Async Eliminates Compiler State Machines and Cuts Latency
Ever since C# 5 introduced async and await, the Roslyn compiler has rewritten every async method into a complex state-machine struct that clutters live profiler call stacks and allocates extra heap memory on awaits. In .NET 11, Runtime Async moves suspension and resumption directly into the CoreCLR virtual machine—and Microsoft has already compiled the entire .NET 11 Base Class Library (BCL) with runtime-async=on.
You can opt your own net11.0 application code into Runtime Async inside Visual Studio 2026 v18.11 simply by adding <Features>runtime-async=on</Features> to your project file (no preview flag required). The speed and memory gains across Microsoft Learn's .NET 11 runtime benchmarks are dramatic:
- Synchronous Async Completion: A 2-level async chain completing synchronously drops from 21.2 ns and 144 B allocated down to 6.2 ns and 0 B allocated.
- Real Await Suspension & Code Size: Await suspension latency drops by 54% (from 254 ns down to 117 ns), while a 10-layer async call chain shrinks from 10,752 bytes to 5,632 bytes of generated native code.
- Async Exception Unwinding & Clean Debugging: Throwing an exception across 30 async layers plunges from 51.3 microseconds (84.2 KB allocated) to 10.7 microseconds (5.7 KB allocated), while breakpoints and live stack traces finally show your actual methods without compiler noise.
Faster Native AOT CLI Tooling, Dotnetup and Built-In MCP Server Templates
Daily terminal workflows on a modern Windows 11 developer workstation get an immediate responsiveness boost because the .NET 11 SDK enables a Native AOT CLI host by default and keeps the background MSBuild server warm between invocations. Version queries, help commands, and local tool launches execute instantaneously without spinning up the managed CLR, while the new preview dotnetup toolchain manager simplifies user-level SDK installations.
For AI engineers building agentic systems, .NET 11 bakes Model Context Protocol (MCP) server architecture right into the SDK. Running dotnet new mcpserver -o MyMcpServer scaffolds a production-ready C# MCP tool server in seconds, which pairs cleanly with Microsoft.Extensions.AI (MEAI), the Microsoft Agent Framework (MAF), Microsoft Foundry IQ deployments, and the new .NET Upgrade Canvas inside GitHub Copilot.
What Is New in ASP.NET Core 11, Blazor AG-UI and Entity Framework Core 11
Web, cloud, and data-access workloads receive deep stack-wide integration for C# 15 and high-density server hosting. Here is how the major workload upgrades break down across the .NET 11 stack:
Union JSON & OpenAPI 3.2 Default: Minimal APIs and MVC serialize C# 15 unions natively via System.Text.Json and emit anyOf schemas in OpenAPI 3.2 (including server-sent event payloads).
Async Validation & Circuit Pause: New asynchronous DataAnnotations APIs allow non-blocking database checks during validation, while Blazor adds static CacheView subtree caching, inactive-tab circuit pausing to free SignalR memory, and experimental AG-UI Blazor AI components.
LINQ FullJoin & SQL Server Vectors: Both LINQ and EF Core 11 support the new FullJoin operator, complex types and JSON columns on TPT/TPC inheritance tables, and experimental SQL Server vector index search.
Zstandard & 0-Copy Streams: System.IO.Compression adds native Zstandard (Zstd) support alongside 4 in-memory 0-copy stream adapters (ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream, and StringStream) and single-call Process execution APIs.
Why .NET MAUI Switching to CoreCLR Changes Cross-Platform Mobile Development
On the client side, .NET MAUI 11 completes a foundational architectural shift by replacing the legacy Mono runtime with CoreCLR as its default runtime across mobile and desktop platforms (using precompiled code and the interpreter on Apple iOS/iPadOS where JIT is restricted). That unification means your mobile apps now share the exact same runtime semantics and base library optimizations as your cloud services.
Developer iteration in MAUI and Windows desktop frameworks is also much smoother. .NET MAUI 11 enables XAML Incremental Hot Reload by default in Debug builds, supports implicit XAML namespace declarations, switches Windows to the faster CollectionView2 handler, and pairs with the experimental .NET MAUI DevFlow agentic UI inspector—while Windows Forms gains an opt-in modern visual styles mode and suspended bulk painting.
Urgent Upgrade Guide as .NET 8 and .NET 9 Reach End of Support
There is a critical security deadline buried inside the .NET 11 launch announcement: both .NET 8 (LTS) and .NET 9 (STS) reached End of Support on November 10, 2026. As we saw during last month's emergency out-of-band .NET security update for CVE-2026-70197, running unpatched runtimes in production exposes web APIs and Kestrel servers to severe risk.
If your enterprise policy mandates a Long-Term Support track, migrate your remaining .NET 8 and .NET 9 services to .NET 10 (LTS) immediately. If you want C# 15 union types, 0-byte Runtime Async, and the 24-month STS support window through November 2028, update your global.json and target frameworks to net11.0, verify your container base images against .NET 11's updated minimum x64/Arm64 CPU instruction baselines, and test your deployment pipeline today.
Frequently Asked Questions (FAQ)
- Is .NET 11 a Long-Term Support (LTS) or Standard Term Support (STS) release?
.NET 11 is a Standard Term Support (STS) release launched on November 10, 2026 during .NET Conf 2026. Under Microsoft's servicing policy, it receives 24 months (2 years) of official security and reliability updates through November 2028, while .NET 10 remains the active 3-year LTS release. - Did .NET 8 and .NET 9 reach End of Support alongside the .NET 11 launch?
Yes. Both .NET 8 (LTS) and .NET 9 (STS) officially reached End of Support on November 10, 2026. Production workloads still running on .NET 8 or .NET 9 no longer receive monthly security patches and should migrate to either .NET 11 (STS) or .NET 10 (LTS). - How do Union Types and Closed Hierarchies work in C# 15?
C# 15 introduces the 'public union' declaration (such as 'public union ProductLookup(Product, ProductNotFound);'), allowing a return value to hold any of a fixed set of case types with automatic conversions and compiler-enforced exhaustiveness checking in switch expressions. Closed hierarchies ('closed class') restrict direct inheritance to the declaring assembly for exhaustive pattern matching. - What is Runtime Async in .NET 11 and how do I enable it?
Runtime Async moves async/await suspension and resumption directly into the CoreCLR runtime instead of generating compiler state-machine structs. While .NET 11's base class libraries are already compiled with Runtime Async enabled, you can opt your project in by adding '<Features>runtime-async=on</Features>' inside your .csproj file without needing '<EnablePreviewFeatures>true</EnablePreviewFeatures>'. - How much faster is Runtime Async compared to traditional C# async state machines?
In Microsoft's .NET 11 benchmarks, a 2-level async chain completing synchronously drops from 21.2 ns (144 B allocated) down to 6.2 ns with 0 B allocated. Real await suspension drops from 254 ns to 117 ns, and throwing an exception through 30 async frames drops from 51.3 microseconds (84.2 KB) to 10.7 microseconds (5.7 KB). - Why do 'dotnet' CLI commands feel noticeably faster in the .NET 11 SDK?
The .NET 11 SDK enables a Native AOT CLI host by default and keeps the background MSBuild server warm across CLI runs. Commands like version checks, help queries, and tool invocations execute natively without spinning up the managed runtime. - What changed in .NET MAUI 11 with CoreCLR?
.NET MAUI 11 switches its default runtime from Mono to CoreCLR across mobile and desktop platforms, unifying mobile apps with server and desktop .NET workloads. It also adds XAML Incremental Hot Reload in Debug builds, implicit XAML namespaces, and CollectionView2 by default on Windows. - How does .NET 11 support Model Context Protocol (MCP) and AI agents out of the box?
The .NET 11 SDK includes a built-in MCP server template ('dotnet new mcpserver -o MyMcpServer'), paired with Microsoft.Extensions.AI (IChatClient and IEmbeddingGenerator), the Microsoft Agent Framework (MAF), and experimental Blazor AI components supporting the Agent User Interaction Protocol (AG-UI). - What are the biggest upgrades in ASP.NET Core 11 and Blazor?
ASP.NET Core 11 adds native System.Text.Json serialization and OpenAPI 3.2 'anyOf' schema generation for C# 15 union types, asynchronous DataAnnotations validation, SignalR authentication refresh without reconnecting, Blazor CacheView static subtree caching, and automatic circuit pause for inactive browser tabs. - What is new in Entity Framework Core 11 and the .NET 11 Base Class Libraries?
EF Core 11 translates the new LINQ FullJoin operator into SQL, eliminates redundant joins in split queries, supports complex types and JSON columns on TPT/TPC inheritance models, and adds experimental SQL Server vector search. The BCL adds native Zstandard (Zstd) compression, 4 in-memory 0-copy stream adapters, and simplified single-call Process APIs.
End Note
Between C# 15 union types, Runtime Async cutting synchronous await overhead to 0 bytes, a snappy Native AOT CLI host, and CoreCLR becoming the default runtime for .NET MAUI, Microsoft's .NET 11 release ranks among the most impactful upgrades in the platform's history. Are you migrating your production workloads straight to net11.0 for C# 15 unions, or holding steady on .NET 10 LTS? Let me know in the comments below!




