.NET MAUI in .NET 10 RC 1 - Release Notes
September 9, 2025 · View on GitHub
Here's a summary of what's new in .NET MAUI in this release:
.NET MAUI updates in .NET 10:
- What's new in .NET MAUI in .NET 10 documentation.
Diagnostics
We've added comprehensive diagnostics and metrics tracking for .NET MAUI applications, focusing on layout performance monitoring with an extensible architecture for future observability needs.


Core Diagnostics Infrastructure:
- ActivitySource:
"Microsoft.Maui"- Tracks layout operations with detailed timing - Metrics:
"Microsoft.Maui"- Records counters and histograms for performance analysis - Feature Switch:
System.Diagnostics.Metrics.Meter.IsSupported- Runtime enable/disable for AOT/trimming
Layout Performance Tracking:
- Instruments
IView.Measure()andIView.Arrange()operations - Records timing data and operation counts with rich contextual tags
- Zero-allocation struct-based instrumentation using
usingpattern
| Metric Name | Type | Description |
|---|---|---|
maui.layout.measure_count | Counter | Number of measure operations |
maui.layout.measure_duration | Histogram | Time spent measuring (ns) |
maui.layout.arrange_count | Counter | Number of arrange operations |
maui.layout.arrange_duration | Histogram | Time spent arranging (ns) |
See pull request #31058 for more details.
HybridWebView events
Adds initialization events to HybridWebView following the same pattern as BlazorWebView, enabling platform-specific customization before and after initialization.
New Events
WebViewInitializing- Fired beforeWebViewcreation, allows configuration of platform-specific initialization parametersWebViewInitialized- Fired afterWebViewcreation, provides access to the nativeWebViewinstance and settings
RefreshView IsRefreshEnabled
Added IsRefreshEnabled property to be distinct from IsEnabled and make the behavior consistent across platforms.
<RefreshView IsRefreshEnabled="false">
<!-- Login form remains usable -->
<StackLayout>
<Entry Placeholder="Username" />
<Entry Placeholder="Password" />
<Button Text="Login" />
</StackLayout>
</RefreshView>
Deprecated APIs
Compressed layout APIs are now marked obsolete. Avoid unnecessary layout nesting instead.
Performance and IPerformanceProvider types are marked obsolete.
.NET for Android
This release includes continued integration with multiple .NET runtimes, and several bug fixes.
(Experimental) CoreCLR
Enables Android apps to run on the CoreCLR runtime (instead of Mono). To use it, add the following to your project file for Android builds:
<!-- Use CoreCLR on Android -->
<PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
<UseMonoRuntime>false</UseMonoRuntime>
</PropertyGroup>
Please try this in your applications and report any issues; when filing feedback, state that you are using UseMonoRuntime=false. Expect that application size is currently larger than with Mono and that debugging and some runtime diagnostics are not fully functional yet; these areas are actively being improved. This is an experimental feature and not intended for production use.
A detailed list of Android changes can be found on the dotnet/android GitHub releases.
.NET for iOS, Mac Catalyst, macOS, tvOS
This release includes continued integration with multiple .NET runtimes, and several bug fixes.
Contributors
Thank you contributors! ❤️
@Ahamed-Ali, @anandhan-rajagopal, @Dhivya-SF4094, @davidnguyen-tech, @emaf, @grendello, @HarishwaranVijayakumar, @jfversluis, @jonathanpeppers, @jsuarezruiz, @kubaflo, @LogishaSelvarajSF4525, @mattleibow, @NafeelaNazhir, @NanthiniMahalingam, @nivetha-nagalingam, @PaulAndersonS, @pictos, @postalservice14, @prakashKannanSf3972, @PureWeen, @rmarinho, @rolfbjarne, @sheiksyedm, @SuthiYuvaraj, @Tamilarasan-Paranthaman, and @tj-devel709.