Microsoft has delivered the first release candidate (RC1) of .NET 10 along with go‑live support, indicating that the company considers the framework ready for production use. Among the various workloads updated in RC1, .NET Multi‑platform App UI (.NET MAUI) received several targeted enhancements aimed at reliability and developer productivity. The RC1 notes focus on observability improvements, tweaks to existing controls and an experimental new runtime option for Android.
.NET MAUI has been evolving steadily through the .NET 10 preview cycle. Earlier previews concentrated on performance optimisations and incremental control refinements, while leaving the platform’s underlying architecture largely unchanged. The RC1 release continues that trend by stabilising API surfaces and adding a go‑live licence until October 14th, so that developers can deploy RC1 builds in production environments with Microsoft’s support. Unlike earlier preview builds, RC1 is feature‑complete; most remaining work is bug fixing and polishing, so the focus is on quality and diagnostic tooling rather than major new controls.
One of the headline additions is comprehensive and extensible diagnostics and layout performance metrics tracking for .NET MAUI applications. The release introduces a new ActivitySource
and Meter
for tracking layout operations called Microsoft.Maui
. These primitives emit trace events and performance counters that integrate with .NET Aspire and OpenTelemetry dashboards, enabling real‑time visibility into layout measurement and arrangement costs. The instrumentation is implemented as zero‑allocation structs around IView.Measure()
and IView.Arrange()
to minimise overhead. Recorded metrics include counters for the number of measure and arrange operations and histograms for the duration of those operations. Because the metrics API can be disabled at runtime via the System.Diagnostics.Metrics.Meter.IsSupported
switch, developers can safely trim or ahead‑of‑time compile their applications without paying the cost of diagnostics when they are not needed.
.NET MAUI application diagnostics in .NET Aspire dashboard
In addition to diagnostics, RC1 updates the HybridWebView
control to support two new initialisation events: WebViewInitializing
and WebViewInitialized
. These events mirror those available on BlazorWebView
and allow developers to hook into the underlying web view before and after it is created. For example, a handler can supply platform‑specific initialisation parameters before the view is constructed (WebViewInitializing
) or adjust settings on the native WebView
instance once it is available (WebViewInitialized
). This change simplifies writing hybrid applications that need to customise the embedded web control across iOS, Android, Windows and macOS. Previously, such customisation required platform‑specific handlers or reflection; now it can be done in a single cross‑platform event handler.
A small but welcome usability improvement is the addition of an IsRefreshEnabled
property on RefreshView
. Until now, developers could only disable the entire control via IsEnabled
; this prevented the contained content from interacting when refresh functionality needed to be disabled. The new property lets developers disable pull‑to‑refresh while keeping the underlying content active. This change aligns behaviour across platforms and clarifies the intent in XAML declarations. In the release notes, Microsoft illustrates a login form wrapped in a RefreshView
that remains usable when IsRefreshEnabled="false"
.
As part of the RC1 stabilisation, Microsoft has deprecated several legacy APIs. ‘Compressed’ layout types are now obsolete, and developers are encouraged to avoid unnecessary nesting of layout containers. The Performance
and IPerformanceProvider
types, which offered limited instrumentation in earlier releases, are also marked as obsolete. These removals signal a shift towards a new, standardised diagnostics infrastructure described above.
The biggest runtime change arrives in the Android workload. Developers can now opt in to run Android applications on the CoreCLR runtime instead of the longstanding Mono runtime by setting <UseMonoRuntime>false</UseMonoRuntime>
in the project file. The feature is labelled experimental, so Microsoft warns that app size will increase and that debugging and some runtime diagnostics may be incomplete. Still, the move signals Microsoft’s intention to unify the .NET runtime experience across mobile and desktop platforms. Early adopters are encouraged to provide feedback, clearly indicating when they are using CoreCLR.
Developers can download RC1 via the .NET 10 SDK and install Visual Studio 2026 Insiders or use the C# Dev Kit in Visual Studio Code. The full MAUI RC1 release notes and related resources are available on GitHub, and Microsoft encourages feedback through the .NET 10 GitHub issues.