{"slug": "net-11-release-candidate-2-go-live-license-and-updates-across-libraries-f-maui", "title": ".NET 11 Release Candidate 2: Go-Live License and Updates Across Libraries, F#, MAUI, and WinForms", "summary": "Microsoft released .NET 11 Release Candidate 2 with a go-live license for production use, supported in Visual Studio 2026 Insiders and Visual Studio Code with the C# Dev Kit. The release brings changes across libraries, runtime, SDK, NuGet, F#, ASP.NET Core, .NET MAUI and Windows Forms with no new C# language features, including experimental CompositeMLKem and Hpke cryptography types gated behind SYSLIB5009 and SYSLIB5006, and a breaking runtime change that disables advisory file locking by default on iOS and tvOS. MSBuild wildcard matching during project evaluation is now 10–13% faster with 16–34% fewer allocations, and NuGet adds a --min-publish-age-hours option to dotnet nuget add source and update source.", "body_md": "Microsoft has released .NET 11 [Release Candidate 2](https://devblogs.microsoft.com/dotnet/dotnet-11-rc-2/) with a go-live license for production use, as stated in the announcement. The build is supported in [Visual Studio 2026 Insiders](https://aka.ms/VS2026Insiders) and in Visual Studio Code with the C# Dev Kit. As reported, it brings changes across the libraries, runtime, SDK, NuGet, F#, ASP.NET Core, .NET MAUI, and Windows Forms, with no new C# language features.\n\nIn the libraries, [CborReader](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/libraries.md#read-cbor-incrementally) can now read a payload delivered in chunks, using *isFinalBlock* and *SlideData*, in Lax conformance mode only. Two experimental [cryptography types](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/libraries.md#experimental-composite-ml-kem-and-hpke-apis) arrive: CompositeMLKem combines post-quantum and classical key encapsulation, and Hpke provides Hybrid Public Key Encryption with classical DHKEM suites only.\n\nBoth require opting in through SYSLIB5009 and SYSLIB5006, as described in the release notes. [ValidationAttribute.FormatMessage](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/libraries.md#format-dataannotations-messages-with-attribute-specific-arguments) lets a host supply a message template for the attribute to fill in, and *SocketsHttpHandler.InitialHttp2MaxConcurrentStreams* caps streams on a new HTTP/2 connection until the server's SETTINGS frame arrives.\n\nThe runtime release focuses on reliability but carries one breaking change. CoreCLR now disables advisory file locking by default on [iOS and tvOS](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/runtime.md#changes-since-the-previous-preview), because, as stated, *FileStream* lock in RC 1 could cause the OS to terminate an app entering the background. FileShare restrictions are no longer enforced there, and setting *DOTNET_SYSTEM_IO_DISABLEFILELOCKING* to 0 restores locking, according to the release.\n\nASP.NET Core has few new features but several changes for apps upgrading from RC 1. [QuickGrid's](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/aspnetcore.md#quickgrid-virtualization-apis-are-no-longer-experimental) *AnchorMode* and *ItemComparer* parameters are no longer experimental. [IValidationMessageFormatter](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/aspnetcore.md#changes-since-the-previous-preview) has been removed in favor of *FormatMessage*, the Blazor BasePath component moved to the *Microsoft.AspNetCore.Components* namespace, and the experimental device-bound sessions package was pulled from this build. As reported, the remaining [AddRazorRuntimeCompilation overloads](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/aspnetcore.md#breaking-changes-from-net-10) now warn with ASPDEPR003.\n\nIn the SDK, file-based programs accept [quoted values in #:property directives](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/sdk.md#quoted-file-level-directive-values), and the #:package, #:project, and #:ref directives take trailing Name=Value item metadata. MSBuild gains faster wildcard matching during project evaluation, which, as reported in Microsoft's Windows benchmarks, puts it at 10–13% faster with 16–34% fewer allocations.\n\nNuGet adds [--min-publish-age-hours](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/nuget.md#configure-minimum-package-publication-age-from-the-cli) to dotnet *nuget add source* and *update source*, and restore fails with NU1020 when a package cooldown leaves no eligible floating version.\n\nF# ships several preview features. The compiler gains return and await intrinsics for building custom [computation-expression](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/fsharp.md#runtime-async-support) builders on the runtime-async model, though *FSharp.Core* does not yet ship such a builder, as stated in the notes.\n\n``` js\nlet calculation () =\n    runtimeTask {\n        let captured = 40\n        let! delta = delayed 2\n        return captured + delta\n    }\n```\n\nThe *[reraise()](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/fsharp.md#reraise-in-computation-expressions)* now works inside the with handler of async and task expressions. Outside preview, more [List and Array](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/fsharp.md#lower-allocations-in-fsharpcore-collections) functions inline their callbacks to cut allocations, [Async.parallelLimit](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/fsharp.md#bound-concurrent-asynchronous-work) bounds concurrent work, and [bitwise operators on non-integer enums](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/fsharp.md#breaking-changes-from-net-10) now fail at compile time with FS0001.\n\nThe .NET MAUI maui template gains a *[--ui csharp option](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/dotnetmaui.md#create-an-app-with-c-ui)* that generates the app, shell, and main page in C# rather than XAML, and the multi-project template adds an --avalonia option for an Avalonia desktop project.\n\nMauiIcon accepts Apple Icon Composer [.icon bundles](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/dotnetmaui.md#use-apple-icon-composer-assets), and *[UseiOSShellHandler](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/dotnetmaui.md#evaluate-the-apple-shell-handler)* opts into a handler-based Shell on Apple platforms. [Android adds API 37.2 bindings and JDK 25 support](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/dotnetmaui.md#net-for-android), while Apple workloads now require Xcode 27.0 and apps built with its SDKs must adopt the UIKit scene lifecycle, as described in the [breaking changes](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/dotnetmaui.md#breaking-changes-from-net-10).\n\nWindows Forms refines the .NET 11 [visual styles](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/winforms.md#visual-styles-and-appearance). *Application.SetDefaultVisualStylesMode* selects the renderer version, but ToolStrip and DataGridView keep Classic rendering even under Net11 for now. [Application.SystemVisualSettings](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/winforms.md#react-to-windows-visual-and-accessibility-settings) exposes a snapshot of the Windows accent color, text scaling, and high-contrast state, and [FormRevealMode](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/winforms.md#deferred-form-reveal) defers a top-level form's first presentation to reduce background flashes.\n\nNew analyzers [WFO3000 to WFO3002](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/winforms.md#new-designer-guiding-analyzers) flag code that cannot round-trip through the Designer, which the release notes say is particularly useful when AI tools generate or refactor forms.\n\nOther changes in this release are [MSBuild property expansion in launch-profile arguments](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/sdk.md#msbuild-properties-in-launch-profile-arguments), an F# [RequireNamedArgumentsAttribute](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/fsharp.md#require-named-arguments-for-selected-apis), a private-member R8 obfuscation default on Android, [SuspendPainting](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/winforms.md#suspend-painting-and-layout-during-bulk-updates) and [KioskModeManager](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/winforms.md#new-kioskmodemanager-component) for Windows Forms, EF Core *SaveChanges* and JSON projection fixes.\n\nOn [Reddit](https://www.reddit.com/r/dotnet/comments/1x59mvr/announcing_net_11_release_candidate_2/), discussion focused less on the features than on upgrade cadence. Commenters asked how many teams still skip odd-numbered releases, and others replied that since .NET 9 a standard-term release shares its end-of-support date with the preceding LTS version, moving to .NET 11 costs no support time.\n\nOther developers reported MAUI workloads breaking on every preview upgrade, questioned Blazor server-side rendering performance against Razor Pages and MVC, and welcomed the *KioskModeManager* component for Windows Forms.\n\nFor interested readers and developers, the full release notes for .NET 11 RC 2 are available on the [dotnet/core repository](https://github.com/dotnet/core/blob/main/release-notes/11.0/preview/rc2/README.md) on GitHub.", "url": "https://wpnews.pro/news/net-11-release-candidate-2-go-live-license-and-updates-across-libraries-f-maui", "canonical_source": "https://www.infoq.com/news/2026/10/dotnet-11-rc-2/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", "published_at": "2026-10-19 08:00:00+00:00", "updated_at": "2026-10-19 08:16:47.673367+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["Microsoft", ".NET 11 Release Candidate 2", "Visual Studio 2026 Insiders", "Visual Studio Code", "C# Dev Kit", "F#", "ASP.NET Core", ".NET MAUI"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/net-11-release-candidate-2-go-live-license-and-updates-across-libraries-f-maui", "markdown": "https://wpnews.pro/news/net-11-release-candidate-2-go-live-license-and-updates-across-libraries-f-maui.md", "text": "https://wpnews.pro/news/net-11-release-candidate-2-go-live-license-and-updates-across-libraries-f-maui.txt", "jsonld": "https://wpnews.pro/news/net-11-release-candidate-2-go-live-license-and-updates-across-libraries-f-maui.jsonld"}}