* Add release notes for .NET 10 Preview 7 across various components * Remove outdated prompt for creating pull requests for Preview 7 * Add prompt for creating pull requests for .NET 10 Preview 7 * Update wpf for preview 7 (#10005) * Update wpf for preview 7 * Add details * Fix version * Update wpf.md * Update wpf.md --------- Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com> Co-authored-by: Jon Galloway <jongalloway@gmail.com> * Update dotnetmaui for preview 7 (#9997) * Update dotnetmaui for preview 7 * Update dotnetmaui.md for preview 7 with copilot consolidation * Update release-notes/10.0/preview/preview7/dotnetmaui.md Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com> * Update dotnetmaui.md * Update dotnetmaui.md --------- Co-authored-by: David Ortinau <david.ortinau@microsoft.com> Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com> * Update winforms for preview 7 (#10004) * Update winforms for preview 7 * Update winforms readme.md --------- Co-authored-by: Klaus Löffelmann <9663150+KlausLoeffelmann@users.noreply.github.com> * Update efcore for preview 7 (#9998) * Update efcore for preview 7 * Fill in EF 10 preview7 release notes * Update release-notes/10.0/preview/preview7/efcore.md Co-authored-by: Martin Costello <martin@martincostello.com> --------- Co-authored-by: Shay Rojansky <roji@roji.org> Co-authored-by: Martin Costello <martin@martincostello.com> * Update release-notes/10.0/preview/preview7/README.md Co-authored-by: Weihan Li <weihanli@outlook.com> * Add comprehensive ASP.NET Core release notes for .NET 10 Preview 7 (#10023) * Update fsharp for preview 7 (#9999) * Update fsharp for preview 7 * Update release-notes/10.0/preview/preview7/fsharp.md --------- Co-authored-by: Jon Galloway <jongalloway@gmail.com> * Update sdk for preview 7 (#10002) * Update sdk for preview 7 * add notes about any RID support in .NET tools * Update release-notes/10.0/preview/preview7/sdk.md Co-authored-by: Martin Costello <martin@martincostello.com> * Update release-notes/10.0/preview/preview7/sdk.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Chet Husk <chusk3@gmail.com> Co-authored-by: Chet Husk <baronfel@users.noreply.github.com> Co-authored-by: Martin Costello <martin@martincostello.com> Co-authored-by: Jon Galloway <jongalloway@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update libraries for preview 7 (#10000) * Update libraries for preview 7 * Add notes for CreateNewProcessGroup * Update release-notes/10.0/preview/preview7/libraries.md * Update markdown link * Add cryptography notes * Add PipeReader support for JsonSerializer * change received to sent * Composite ML-DSA * clean up pqc bullet * update PipeReader blurb * Add WebSocketStream * Fix WebSocketStream link and add TLS 1.3 support for macOS client * Update TLS 1.3 notes for macOS Network.framework behavior and edge cases * Update release-notes/10.0/preview/preview7/libraries.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update release-notes/10.0/preview/preview7/libraries.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: David Cantú <dacantu@microsoft.com> Co-authored-by: Pranav Senthilnathan <pranas@microsoft.com> Co-authored-by: Jeremy Barton <jbarton@microsoft.com> Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com> Co-authored-by: Ahmet Ibrahim Aksoy <aaksoy@microsoft.com> Co-authored-by: Jon Galloway <jongalloway@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update csharp for preview 7 (#9996) * Update csharp for preview 7 * Add C# preview 7 features. Add the remaining C# 14 features delivered in .NET 10 preview 7. * Update release-notes/10.0/preview/preview7/csharp.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update release-notes/10.0/preview/preview7/csharp.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Jon Galloway <jongalloway@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update containers for preview 7 (#9995) * Update containers for preview 7 * Add dnx feature notes --------- Co-authored-by: Logan Bussell <loganbussell@microsoft.com> * Update runtime for preview 7 (#10001) * Update runtime for preview 7 * Update release-notes/10.0/preview/preview7/runtime.md --------- Co-authored-by: Jon Galloway <jongalloway@gmail.com> * Update 10.0.0-preview.7.md * Update README.md * Update releases.md * Update README.md * Update releases-index.json * Update README.md * Update releases.json * Update install-linux.md * Update install-macos.md * Update install-windows.md * Create release.json * Update markdown files and release notes for Preview 7 * Update release notes for Preview 7: add missing WPF entry, fix formatting in ASP.NET Core, SDK, and Windows Forms notes * fix winforms * Update markdown link check workflow to allow all branches for pull requests and fix JSON formatting in release notes * Remove feature summaries from F# and Visual Basic release notes for Preview 7 * Update release-notes/10.0/preview/preview7/csharp.md Co-authored-by: Bill Wagner <wiwagn@microsoft.com> --------- Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com> Co-authored-by: Jon Galloway <jongalloway@gmail.com> Co-authored-by: David Ortinau <david.ortinau@microsoft.com> Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com> Co-authored-by: Klaus Löffelmann <9663150+KlausLoeffelmann@users.noreply.github.com> Co-authored-by: Shay Rojansky <roji@roji.org> Co-authored-by: Martin Costello <martin@martincostello.com> Co-authored-by: Weihan Li <weihanli@outlook.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Chet Husk <chusk3@gmail.com> Co-authored-by: Chet Husk <baronfel@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: David Cantú <dacantu@microsoft.com> Co-authored-by: Pranav Senthilnathan <pranas@microsoft.com> Co-authored-by: Jeremy Barton <jbarton@microsoft.com> Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com> Co-authored-by: Ahmet Ibrahim Aksoy <aaksoy@microsoft.com> Co-authored-by: Bill Wagner <wiwagn@microsoft.com> Co-authored-by: Logan Bussell <loganbussell@microsoft.com> Co-authored-by: victorisr <victorisr@microsoft.com>
11 KiB
.NET MAUI in .NET 10 Preview 7 - Release Notes
Here's a summary of what's new in .NET MAUI in this preview release:
.NET MAUI updates in .NET 10:
- What's new in .NET MAUI in .NET 10 documentation.
XAML Source Generator
.NET MAUI now includes a source generator for XAML that improves build performance and enables better tooling support. This generator creates strongly-typed code for your XAML files at compile time, reducing runtime overhead and providing better IntelliSense support.
The source generator decorates generated types with the [Generated] attribute for better tooling integration and debugging support.
To enable XAML source generation, opt-in to preview features and then decorate your C# with the XamlProcessing directive.
<PropertyGroup>
<EnablePreviewFeatures>true</EnablePreviewFeatures>
</PropertyGroup>
[assembly: XamlProcessing(XamlInflator.SourceGen)]
namespace MyApp;
MediaPicker EXIF Support
The MediaPicker now automatically handles EXIF information when working with images:
- Auto-rotate images: Images are automatically rotated based on their EXIF orientation data
- Preserve EXIF information: Original EXIF metadata is preserved when using MediaPicker
This ensures that images appear correctly oriented regardless of how they were captured or stored on the device.
SafeArea Enhancements
This release introduces significant improvements to SafeArea management:
- Enhanced SafeAreaEdges control: Improved
SafeAreaEdgesproperty with refinedSafeAreaRegionsenum for precise safe area behavior control - iOS SafeArea fixes: Resolved issues with SafeArea management on iOS, including extra bottom space in ScrollView when using SafeAreaEdges
- Improved defaults: Fixed safe area defaults to provide more consistent behavior across platforms
The SafeAreaEdges property is available on these controls:
- Layout: Base layout class (inherited by
Grid,StackLayout,AbsoluteLayout,FlexLayout, etc.) - ContentView: Content view container
- ContentPage: Main page type
- Border: Border control
- ScrollView: Scrollable content container
The SafeAreaRegions enum provides granular control over safe area behavior:
public enum SafeAreaRegions
{
None = 0, // Edge-to-edge content (no safe area padding)
SoftInput = 1, // Always pad for keyboard/soft input
Container = 2, // Flow under keyboard, stay out of bars/notch
Default = 4, // Platform default behavior
All = int.MaxValue // Obey all safe area insets
}
// Usage examples
<ContentPage SafeAreaEdges="Container">
<!-- Content flows under keyboard but respects bars/notch -->
</ContentPage>
<ScrollView SafeAreaEdges="None">
<!-- Edge-to-edge scrolling content -->
</ScrollView>
<Grid SafeAreaEdges="SoftInput">
<!-- Grid respects keyboard but not other safe areas -->
</Grid>
Secondary Toolbar Items
iOS and macOS now support secondary toolbar items, providing better alignment with platform conventions:
- Modern iOS pattern: Uses iOS 13+ APIs with pull-down menu design following iOS Human Interface Guidelines
- Automatic detection: Toolbar items with
Order="Secondary"are automatically grouped into a secondary menu - Priority ordering: Items are ordered within the secondary menu based on their
Priorityproperty - Platform positioning: Menu appears on the far right (or left when RTL is enabled)
- Customizable icon: Developers can override the default ellipsis icon through a protected virtual method
<ContentPage.ToolbarItems>
<!-- Primary toolbar items appear directly in the toolbar -->
<ToolbarItem Text="Save" Order="Primary" Priority="0" />
<ToolbarItem Text="Edit" Order="Primary" Priority="1" />
<!-- Secondary toolbar items appear in the overflow menu -->
<ToolbarItem Text="Share" Order="Secondary" Priority="0" />
<ToolbarItem Text="Delete" Order="Secondary" Priority="1" />
<ToolbarItem Text="Settings" Order="Secondary" Priority="2" />
</ContentPage.ToolbarItems>
The secondary items are grouped into a pull-down menu with the system ellipsis icon (UIImage.GetSystemImage("ellipsis.circle")) by default. When the menu is opened and an item's properties change, the menu automatically rebuilds and closes to reflect the updates.
New Control APIs
Several new APIs have been added to improve control functionality:
- Picker controls: New "Open/Close" API for programmatically controlling picker state
- SearchHandler: Added API to hide or show the soft keyboard when using SearchHandler
- Vibration and HapticFeedback: New
IsSupportedAPI to check platform support - Windows: Added API to enable/disable minimize and maximize buttons on Windows
- Shell navigation: Added
Shell.SetNavBarVisibilityAnimationEnabledproperty for controlling navigation bar visibility animations - TabbedPageManager: Made TabbedPageManager public for advanced customization scenarios
- StackNavigationManager: Exposed public APIs for StackNavigationManager on Android
Deprecated API Removals
As part of .NET 10, several deprecated APIs have been removed:
- Accelerator class: Removed from Microsoft.Maui.Controls
- ClickGestureRecognizer: Removed in favor of
TapGestureRecognizer - Page.IsBusy: Marked as obsolete
- Compatibility.Layout: removed dependency
Control and Layout Improvements
This release includes numerous fixes and improvements across controls and layouts.
.NET for Android
This release includes continued integration with multiple .NET runtimes, and several bug fixes:
- Add
$(EnableDiagnostics)cross-platform MSBuild property, to align with iOS and WASM. - Fixe an issue with
=symbol in Android environment variables. - Fixed an issue where certain Java libraries were not redistributed in NuGet packages.
- Add support for API 36 in various Visual Studio dropdowns & menus.
- Changes to the "Java GC Bridge" to support multiple runtimes.
A detailed list can be found on the dotnet/android GitHub releases.
.NET for iOS, Mac Catalyst, macOS, tvOS
This release includes Xcode 26 Beta 4 support for targeting .NET 9. We will include builds for .NET 10 in a subsequent release. To use these new bindings, target net9.0-ios26 and/or net9.0-maccatalyst26 and include <NoWarn>$(NoWarn);XCODE_26_0_PREVIEW</NoWarn> in your project file.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0-ios26</TargetFramework>
<NoWarn>$(NoWarn);XCODE_26_0_PREVIEW</NoWarn>
<!-- rest of your configuration -->
</PropertyGroup>
</Project>
Note
A current issues exists with
Shellthat prevents it from rendering on iOS 26. Other page types work.
Also in this release are significant improvements to binding generation, runtime performance, and API coverage:
-
New Binding Generator (RGen):
- Enhanced source generator for better binding performance and maintainability
- Added support for nested classes, categories, and constructors
- Improved async method generation with proper Task-based patterns
- Better memory management and semantic model usage
- Support for strong dictionary properties and weak delegate patterns
-
Runtime and Interop Improvements:
- Reworked
NSObjectdata storage to fix a crash - Enhanced P/Invoke handling and native library integration
- Reworked
-
API and Framework Updates:
- Fixed
CoreLocationavailability for macOS monitoring features - Enhanced
CoreTextfont manager constants generation - Updated
StoreKitby unmarkingAppStoreclass as experimental - Fixed
CoreMediaformat description extensions and related APIs - Improved
Networkframework P/Invoke calls
- Fixed
-
Build and Tooling Enhancements:
- Better xcframework processing with improved diagnostics
- Enhanced resource duplication detection
- Better xml documentation generation for interfaces and protocols
-
Platform-Specific Fixes:
- Fixed
CVOpenGLESTextureandCVOpenGLESTextureCachebuild integration - Resolved
AVFoundationenum value locations - Enhanced
CoreImageformat convenience enum generation
- Fixed
A detailed list can be found on the dotnet/macios GitHub releases including a list of Known issues.
Contributors
Thank you contributors! ❤️
@Aguilex, @Ahamed-Ali, @albyrock87, @anandhan-rajagopal, @bhavanesh2001, @Copilot, @csigs, @dotnet-bot, @dotnet-maestro, @emaf, @framinosona, @github-actions, @grendello, @HarishKumarSF4517, @jfversluis, @jonathanpeppers, @jonpryor, @jsuarezruiz, @kubaflo, @LogishaSelvarajSF4525, @mandel-macaque, @mattleibow, @MichalStrehovsky, @morning4coffe-dev, @NafeelaNazhir, @NanthiniMahalingam, @NirmalKumarYuvaraj, @nivetha-nagalingam, @pictos, @praveenkumarkarunanithi, @PureWeen, @rmarinho, @rolfbjarne, @sheiksyedm, @simonrozsival, @StephaneDelcroix, @SyedAbdulAzeemSF4852, @Tamilarasan-Paranthaman, @TamilarasanSF4853, @Vignesh-SF3580, @VitalyKnyazev, @vs-mobiletools-engineering-service2