Microsoft .NET team has released the first preview of .NET 11, introducing updates across the .NET Runtime, SDK, libraries, C# 15, F#, ASP.NET Core, Blazor, and .NET MAUI. As stated in the official announcement, .NET 11 is planned as a Standard Term Support release, scheduled for November 2026.
The headline runtime feature in this preview is Runtime Async, described as a major change to how asynchronous methods work in .NET. According to the release notes, since C# 5 introduced async/await, the compiler has been solely responsible for rewriting async methods into state machine structs that track progress across suspension points. With Runtime Async, the runtime itself now understands async methods as a first-class concept and takes over responsibility for suspending and resuming methods.
As reported, CoreCLR support for Runtime Async is enabled by default in this preview, requiring no environment variables. Native AOT support has also been added. However, none of the core runtime libraries are compiled with runtime-async support yet in Preview 1, which is expected to change in upcoming previews. Developers who want to experiment with runtime-async compilation need to enable preview features and set a compiler flag in their project file.
Beyond Runtime Async, the preview begins foundational work to bring CoreCLR to WebAssembly, migrating from the Mono runtime, though this is not yet ready for general use. The libraries gain native Zstandard compression support through the new ZstandardStream class, a BFloat16 floating-point type for AI and machine learning workloads, HMAC and KMAC verification APIs, and Happy Eyeballs support in Socket.ConnectAsync. JIT improvements focus on startup throughput and reducing overhead in key code patterns.
// Compress data using ZstandardStream
using var compressStream = new ZstandardStream(outputStream, CompressionMode.Compress);
await inputStream.CopyToAsync(compressStream);
// Decompress data
using var decompressStream = new ZstandardStream(inputStream, CompressionMode.Decompress);
await decompressStream.CopyToAsync(outputStream);
On the language side, C# 15 introduces collection expression arguments and extended layout support. F# enables parallel compilation by default, as reported, the result of a multi-year community effort.
Other changes in this release include XAML source generation by default in .NET MAUI, CoreCLR as the default Android runtime for release builds, interactive target framework and device selection for dotnet run, new SDK code analyzers, Blazor’s EnvironmentBoundary component, IHostedService support in Blazor WebAssembly, Hot Reload improvements for project references, and GC heap hard limits for 32-bit processes.
Regarding the ASP.NET Core side, Blazor receives several additions in this preview. As stated in the release notes, a new EnvironmentBoundary component enables conditional rendering based on the hosting environment, bringing parity with the MVC environment tag helper. Blazor WebAssembly now supports IHostedService for running background services in the browser, and can access environment variables through IConfiguration for runtime configuration without rebuilding the application.
The framework also adds new Label and DisplayName components for forms, QuickGrid row click events, relative URI navigation, OpenAPI schema support for binary file responses, and a new IOutputCachePolicyProvider interface for dynamic output caching policies. Development certificates in WSL environments are now automatically trusted across both WSL and Windows.
Community reaction to the preview has been mixed. On Reddit, several developers expressed enthusiasm for Runtime Async, with one noting they hoped it would fix the long-standing issue of async call stacks becoming unreliable past the first await. The interactive dotnet run selection was also widely praised. However, much of the discussion on both the announcement blog post comments and Reddit centered on the collection expression arguments feature in C# 15, with the top blog comment calling it unnecessary and others questioning whether the language was becoming over-engineered.
Some developers also criticized the release notes as appearing AI-generated, lacking the detail and examples seen in previous .NET previews. On a lighter note, one Reddit user welcomed the absence of AI-focused marketing in the runtime notes.
For interested readers, the full release notes are available on the official .NET GitHub repository and the Microsoft documentation site.
