.NET 10, the next major version of .NET, will follow the annual release cadence. It is a Long-Term Support (LTS) release, set to launch during .NET Conf, an annual virtual developer event, scheduled from Nov 11-13, 2025. Support will last for 3 years from release.
This release is packed with a broad set of features. The theme is enhanced security, performance, diagnostics, and developer productivity.
Consult these articles on .NET 10 and C# 14 features:
The STS support policy has recently changed: from .NET 9 onwards, support will last for 2 years instead of 18 months. Support for both .NET 8 LTS and .NET 9 STS will continue until Nov 2026. Full details here.
It’s to be noted that .NET MAUI does not have concept of STS/LTS. Each major version is supported for 18 months after its release, so support for .NET MAUI 9 will be available only till mid-May, 2026. The official support policy is here.
To know more about the key features of .NET MAUI 9, consult this overview article.
Key Features:
In this article, we’ll explore the high-level features of .NET MAUI 10.
- Global and Implicit Namespace
- Clean and Concise XAML
- Map CLR and XAML namespaces to a new Global MAUI namespace for easier type access without prefixes. No more messy root node.
- To avoid name collisions, you can use a prefix.
- Implicit works even without a namespace definition, taking it a step further. But still as a preview feature.
- The only exception is the properties defined in the XAML 2009 Spec namespace, which use the
xprefix. These includex:Class,x:DataType, and so on, as it is closely tied to the core logic. - In the featured image, the ViewModel type is from a different folder. That CLR namespace is part of the Global namespace definition. This inclusion allows it to be used like a local type without necessitating a prefix.
- The All-in-One .NET MAUI Templates Pack v7.9 now supports the Global namespace feature for .NET MAUI 10 projects. For more details, consult this article.
- This feature is discussed in a detailed article.
- Binding support in CheckBox with
CommandandCommandParameterproperties. - Switch –
OffColorproperty – Spice up the app. - RefreshView –
IsRefreshEnabledproperty- Granular control over the Refresh feature alone.
- This is not the same as the
IsEnabledproperty, which controls the view.
- Nullable DatePicker and TimePicker
- Clear the value by setting it to
null.
- Clear the value by setting it to
- SearchBar –
ReturnTypeandSearchIconColor - Programmatic Control of Picker States via
IsOpenproperty- Support for
OpenedandClosedevents to define user logic
- Support for
- Intercept Web Requests – For BlazorWebView and HybridWebView
WebResourceRequestedevent- The event argument includes info about the requested resource. This includes Uri, Headers, Query Parameters, and Platform Arguments (if any). These help in handling it correctly.
- HybridWebView – Initialization Events
WebViewInitializingWebViewInitialized- Enables platform-specific customization before and after initialization.
- Ability to call a JavaScript method without specifying a return value in HybridWebView using
InvokeJavaScriptAsync(). - Fine-tuned control over Window type in Desktop apps
- IsActivated
- IsMaximizable
- IsMinimizable
asyncmethods that returnTaskare suffixed with AsyncDisplayAlertAsyncandDisplayActionSheetAsync- All Animation methods like Rotation, Scaling, and Translation.
- Control soft keyboard in SearchHandler
- Source generation for XAML. (included in RC2)
- Opt-in by defining this node as the project property.
<MauiXamlInflator>SourceGen</MauiXamlInflator>
- The
PointerGestureRecognizernow has aButtonsproperty to find the button that initiated the gesture. (included in RC2)- It is also included as part of
PointerEventArgs.
- It is also included as part of
- The
DisplayRotationStateTriggerto handle display rotation. (included in RC2)
App Startup:
Environmentproperty for MauiAppBuilder- Aspire Integration
- Consult the linked article to know more about this.
- To support this,
MauiAppBuildertype now implements theIHostApplicationBuilderinterface. AddServiceDefaults()builder extension method (defined to target the type that implements that interface).- Configures
OpenTelemetrymetrics and tracing. - Adds service discovery functionality.
- Configures
HttpClientto work with service discovery.
- Configures
- Template support for Aspire Integration is now released. Check out the What’s New in the All-in-One .NET MAUI Templates Pack v7.11 article for details.
Essentials:
- Geolocation –
IsEnabledproperty checks if location services are on. - The MediaPicker now automatically handles EXIF info (metadata) when working with images.
- Auto-Rotate Images based on EXIF info
- Preserve EXIF Info for images picked by MediaPicker
- Pick by Size by specifying Maximum Width and/or Height.
- SpeechOptions type now includes a
Rateproperty that controls the speech rate. - Vibration and HapticFeedback –
IsSupportedread-only property to detect platform support. - WebAuthenticator‘s
AuthenticateAsyncmethod overload now accepts aCancellationTokento cancel the operation programmatically. - Microphone permission for Windows (included in RC2)
What’s Made Public:
- StackNavigationManager on Android
- TabbedPageManager
- ShadowTypeConverter
- GridLengthTypeConverter (included in RC2)
Platform-Specific Changes:
iOS:
- New CollectionView and CarouselView handlers are now default in .NET MAUI 10.
- Modal as Popover on iOS and Mac Catalyst
- Use platform-specific
SetModalPopover*method to define the view. - Then use
Navigation.PushModalAsync()to navigate.
- Use platform-specific
- Secondary Toolbar Items
- Modern iOS pattern
- Automatic detection based on the
Orderproperty - Priority ordering based on the
Priorityproperty - Platform positioning – Menu appears on the far right (or left when RTL is enabled)
- Customizable icon – By overriding the protected virtual method
- SafeArea Enhancements with TypeConverter support
- Enhanced SafeAreaEdges at various controls like
Layout,ContentPage,ContentView,Border, andScrollView. - iOS SafeArea fixes including extra bottom space in
ScrollView - Improved defaults for a more consistent behavior
- Enhanced SafeAreaEdges at various controls like
- Preview support for Apple Xcode 26 beta release on .NET MAUI 9. .NET MAUI 10 support will come in a future release.
- Build Binding Projects on Windows faster without needing a remote Mac.
- Support for Apple Xcode 26 is available in both .NET MAUI 9 stable and the .NET MAUI 10 preview. Refer to this article on how to update.
Android:
RippleColorproperty for Button and ImageButtonJavaScriptEnabledproperty for WebView- Videos hosted in a WebView can now be played full screen by including
allowfullscreenin theiframe. - The native view of Editor and Entry view have changed from
AppCompatEditTexttoMauiAppCompatEditText. This change adds support for theSelectionChangedevent. dotnet runsupport for .NET for Android projects- Only for native platform project and not for .NET MAUI
- The default supported OS version in the templates is now Android 24, preventing runtime crashes from Java’s Default Interface Methods. Although the minimum supported version remains as 21.
- Experimental support for
CoreCLRruntime instead ofMonoruntime. - Marshall methods enabled by default.
- SafeAreaEdges support akin to iOS (included in RC2)
- Bindings support for Android API 36.1. This will be an opt-in feature. (included in RC2)
- Update the Target Framework as
net10.0-android36.1
- Update the Target Framework as
What’s Removed:
- Accelerator and AcceleratorTypeConverter
- Use
KeyboardAcceleratorinstead - But ToolbarItem lacks functionality
- Use
- ClickGestureRecognizer and ClickedEventArgs
- Use
TapGestureRecognizerinstead
- Use
- MessagingCenter
- Use
WeakReferenceMessengerfrom the MVVM Toolkit instead.
- Use
What’s Obsolete:
- ListView
- Cells
- TableView
- Cell (since used internally, not marked as obsolete, but consider it done)
- Use
CollectionViewinstead of the four above
- Use
- FontImageExtension
- Use
FontImageSourceinstead
- Use
- Page’s IsBusy property
Further Reading:
Happy coding. Stay connected as we continue to learn and share the experiences from this exciting journey of being a .NET developer.
2 replies on “What’s New in .NET MAUI 10 – A Comprehensive Overview”
[…] know more about the key features of .NET MAUI 10, consult this comprehensive overview […]
[…] To learn about the key features of .NET MAUI 10, check out this overview article. […]