.NET 11 RC1 Arrives with Go-Live, Unlocking Production Before GA
Release candidate ships with production support licensing and makes C# 15 and F# 11 the default language versions, allowing teams to plan the upgrade now.

Microsoft has released .NET 11 Release Candidate 1, the first RC of the .NET 11 cycle, and the detail that matters to anyone running systems in production is in the license: RC1 ships with go-live support, meaning it can be used in real production applications, with support from Microsoft, even before the final release (GA).
In practice, this changes the timeline for anyone building software with .NET in Brazil. There's no need to wait for GA to start reaping the benefits of C# 15 and F# 11: the upgrade can be planned and validated now, with the peace of mind of official support. According to the announcement, RC1 already runs in the new Visual Studio 2026 Insiders and in Visual Studio Code with the C# Dev Kit.
C# 15 Becomes the Default
RC1 makes C# 15 the default language version for projects targeting .NET 11. This means that, once you upgrade the SDK and adjust the target, features that were in preview become available without an extra flag. Among those that have stabilized, according to the C# release notes, are:
- collection expression arguments
- union types
- non-virtual static interface members
- closed class hierarchies
- labeled
breakandcontinue - extension indexers
Union types no longer require the preview language flag. Roslyn now uses the final CSharp15 names, and a new API exposes a union's cases to analyzers. Unsafe Evolution, meanwhile, remains a preview feature with its own flag, and RC1 now allows await inside an unsafe context.
It's worth noting the main caveat raised by the community: union types don't round-trip through System.Text.Json, because the serialized output carries no type discriminator. Anyone adopting the feature in serialization scenarios needs to keep this in mind. Jon Galloway, from Microsoft's .NET team, responded in the Reddit discussion, clarifying that release posts list changes since the previous preview, not since .NET 10, which helps avoid confusion when reading the notes.
F# 11 and the Bet on Trimming and Native AOT
F# 11 also becomes the default version. There's a change here that matters to anyone publishing lean binaries: string interpolation now compiles to String.Concat instead of using printf's reflection-based engine. According to the F# release notes, this makes it compatible with trimming and Native AOT, scenarios increasingly common in small containers and serverless functions.
Other F# 11 points:
- record spreads and direct delegate construction stabilized
- reflection-free
ToStringoutput for records and unions - support for the
inheritdocandincludedocumentation tags - new
Async.RunSynchronouslyImmediatefunction
Testing, Containers and ASP.NET Core
In the SDK, dotnet test gained the ability to run test projects targeting Android, iOS, macOS and Mac Catalyst, with new project templates for each platform. There are also new execution options: setting a timeout, stopping execution after a number of failures, and giving each test application its own results directory, which helps in parallel CI pipelines.
Also in the SDK, container publishing now produces the same image digest across builds when SOURCE_DATE_EPOCH is set, and skips the upload when the image manifest already exists in the target registry. For anyone seeking reproducible builds and bandwidth savings in pipelines, this is a concrete gain.
ASP.NET Core finalized the SignalR authentication refresh APIs for both the .NET server and client, and extended the same support to the TypeScript client. Blazor Server circuits now pick up a renewed identity without needing to reconnect. OpenAPI documents now mark deprecated operations, types and properties as deprecated, and validation localization moved from a preview API to resource-name conventions.
.NET MAUI extended dotnet test to mobile and desktop targets and added badges on TabbedPage, explicit SwipeItem colors, themed splash screens and, according to the MAUI notes, faster and smaller Android builds.
What the Community Reported
The reaction in the discussion was mostly practical. Several developers reported that migrating an existing codebase to .NET 11 required little more than installing the SDK and editing a few project files, and one commenter said the go-live license was already enough to put containers into production. Another pointed to closed class hierarchies as the reason to move off the long-term support (LTS) track and adopt the current release.
What This Means for You
For .NET teams in Brazil, RC1's go-live status brings forward a decision that would normally wait until after GA. If you maintain services in containers, the gains from reproducible builds and trimming/Native AOT (via the F# interpolation change) justify starting validation now. A reasonable path would be to upgrade the .NET 11 SDK in a branch, adjust the TargetFramework, run the test suite, and evaluate the new language features in non-critical code, keeping union types out of flows that depend on System.Text.Json until there's a solution for the type discriminator.
Full notes are available on GitHub for SDK, C#, F#, ASP.NET Core and .NET MAUI. The GA timeline remains open, as does the refinement of points still marked as preview or experimental, such as Unsafe Evolution and the Device Bound Session Credentials package, which Microsoft has indicated will remain in prerelease throughout .NET 11.
Translated from the Brazilian Portuguese original · Read the original
Perplexity swaps DynamoDB for in-house database and cuts latency by 5x
The company behind the AI-powered search engine migrated its serving layer to CobbleDB, an internal database written in Rust, and cut batch read latency by up to 5x while saving at least 20% on storage.