10.0.20 SR2
What's Changed
.NET MAUI 10.0.20 introduces significant improvements across all platforms with focus on quality, performance, and developer experience. This release includes 169 commits with various improvements, bug fixes, and enhancements.
AI
-
PR Reviewer Agent by @PureWeen in https://github.com/dotnet/maui/pull/32340
-
[AI] Moved PR Reviewer Agent to File-Based Instruction System by @kubaflo in https://github.com/dotnet/maui/pull/32659
-
Improved pr-reviewer AI agent and modified the usage instructions in README by @kubaflo in https://github.com/dotnet/maui/pull/32718
-
Add checkpoint/resume system for PR review agent by @kubaflo in https://github.com/dotnet/maui/pull/32774
-
[AI] The Issue-Resolver agent by @kubaflo in https://github.com/dotnet/maui/pull/32804
-
[AI] Fixed links for agents by @kubaflo in https://github.com/dotnet/maui/pull/32818
-
Agents scripts by @PureWeen in https://github.com/dotnet/maui/pull/32819
-
Add Git workflow rules for Copilot CLI by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32873
-
Simplify agent instructions and consolidate sandbox testing workflow by @PureWeen via @Copilot in https://github.com/dotnet/maui/pull/32950
Animation
-
[Windows]Fixed the ViewExtensions RotateYTo and RotateXTo with length 0 crashes by @Ahamed-Ali in https://github.com/dotnet/maui/pull/30167
Button
-
[Android] Fixed Material controls themeing issue by @NirmalKumarYuvaraj in https://github.com/dotnet/maui/pull/30415
CollectionView
-
Fix for CollectionView with GridItemsLayout (Span=1) doesn't adapt to window width reduction on Windows platform by @praveenkumarkarunanithi in https://github.com/dotnet/maui/pull/31038
-
[iOS] RTL column mirroring in UICollectionView - fix by @kubaflo in https://github.com/dotnet/maui/pull/32372
-
[iOS][CV2]Fixed Selected item color changes from lightskyblue to lightgray after scrolling when deploying ManualMaui Demo project on iOS 26.1 by @KarthikRajaKalaimani in https://github.com/dotnet/maui/pull/32822
-
[Android] Prevent CollectionView SelectionChanged from triggering on SwipeView gesture by @Vignesh-SF3580 in https://github.com/dotnet/maui/pull/30652
π§ Fixes
DateTimePicker
- [iOS] Fix DatePicker to consistently display 4-digit years by @PureWeen via @Copilot in https://github.com/dotnet/maui/pull/32451
Dialogalert
- Return stub IAlertManagerSubscription for standard AlertManager by @drasticactions in https://github.com/dotnet/maui/pull/32646
Docs
-
Add README-AI.md file by @PureWeen in https://github.com/dotnet/maui/pull/32502
-
Improve AI agent documentation and testing instructions by @PureWeen via @Copilot in https://github.com/dotnet/maui/pull/32485
-
[release/10.0.1xx-sr2] Add comprehensive README to Microsoft.Maui.Controls NuGet package by @github-actions[bot] in https://github.com/dotnet/maui/pull/33059
Drawing
-
[iOS] Fixed LinearGradientBrush in Shell FlyoutBackground misaligned by @SubhikshaSf4851 in https://github.com/dotnet/maui/pull/32137
-
Fix SolidColorBrush.Equals to compare Color values instead of references by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32956
-
Entry Height gets updated when loaded inside the RoundRectangle Shape by @SuthiYuvaraj in https://github.com/dotnet/maui/pull/25166
Entry
-
Add accessibility identifier to MauiDoneAccessoryView Done button for UI testing by @jfversluis via @Copilot in https://github.com/dotnet/maui/pull/32828
-
[iOS] Fixed the text color issue when setting it to null dynamically in Entry, TimePicker, and SearchBar. by @Ahamed-Ali in https://github.com/dotnet/maui/pull/32888
Essentials
-
[Windows] Fix for SemanticScreenReader.Default.Announce throws exception when called from MainPage constructor by @HarishwaranVijayakumar in https://github.com/dotnet/maui/pull/30264
Essentials Securestorage
- Remove use of storage account read tokens by @mmitche in https://github.com/dotnet/maui/pull/32779
General
-
[iOS] - Added Focus propagation to MauiView by @NirmalKumarYuvaraj in https://github.com/dotnet/maui/pull/31154
π§ Fixes
Gestures
-
[Windows] Allow tap gesture in ContentView by @jsuarezruiz in https://github.com/dotnet/maui/pull/17482
-
[iOS] Fix for Unable to Update iOS SwipeGesture Direction at Runtime by @BagavathiPerumal in https://github.com/dotnet/maui/pull/30165
Label
- 10.0.20 Update PreReleaseVersionLabel and StabilizePackageVersion by @PureWeen in https://github.com/dotnet/maui/pull/33057
Layout
-
Fix ContentViewRespondsWhenViewRemoved test fails on Catalyst by @SuthiYuvaraj in https://github.com/dotnet/maui/pull/32481
-
Fixed HorizontalStackLayout Crashes Debugger on Negative Spacing by @devanathan-vaithiyanathan in https://github.com/dotnet/maui/pull/26927
-
Fixed Button rendering overflow in StackLayout by @Dhivya-SF4094 in https://github.com/dotnet/maui/pull/28001
Localization
- LEGO: Pull request from lego/hb_7241b85a-f216-4d55-a9fa-d8030c736df5_20251107204636959 to main by @csigs in https://github.com/dotnet/maui/pull/32449
Map
-
[iOS] Map pin InfoWindowClicked event is never fired by @KarthikRajaKalaimani in https://github.com/dotnet/maui/pull/31062
Mediapicker
-
Fix MediaPicker and FilePicker returning null on cancellation by @jfversluis via @Copilot in https://github.com/dotnet/maui/pull/32656
Modal
- [iOS] Fix modal page crash during app snapshot creation by @jfversluis via @Copilot in https://github.com/dotnet/maui/pull/31866
Navigation
-
predictive back gesture support for Android 13+ by @kubaflo in https://github.com/dotnet/maui/pull/32461
-
Fix for Page OnAppearing triggered twice when navigating via ShellItem change with PresentationMode set to Modal by @SyedAbdulAzeemSF4852 in https://github.com/dotnet/maui/pull/32582
Picker
-
[Android] Refactor selection limit handling in MediaPicker by @kubaflo in https://github.com/dotnet/maui/pull/32571
-
Fix: Picker selects incorrect item after item removal by @Shalini-Ashokan in https://github.com/dotnet/maui/pull/29313
RadioButton
-
Removed Value property coercion in RadioButton by @kubaflo in https://github.com/dotnet/maui/pull/32489
SafeArea
-
[Android] Refactor WindowInsetListener to per-view registry with MauiWindowInsetListener by @PureWeen via @Copilot in https://github.com/dotnet/maui/pull/32278
-
Fix SafeAreaEdges.SoftInput applying bottom padding when keyboard is hidden and inset consumption issue by @PureWeen via @Copilot in https://github.com/dotnet/maui/pull/32064
-
Fix AppBarLayout insets when FlyoutPage is pushed modally on Android by @NirmalKumarYuvaraj via @Copilot in https://github.com/dotnet/maui/pull/32379
-
Fix content page title clipping on Android API < 30 with window insets compatibility by @PureWeen via @Copilot in https://github.com/dotnet/maui/pull/32537
SearchBar
-
[iOS] SearchHandler overlaps title and title view - fix by @kubaflo in https://github.com/dotnet/maui/pull/30772
Shapes
-
Add demands for Darwin OS in UI tests pipeline by @mattleibow in https://github.com/dotnet/maui/pull/32532
-
[ci] Add a new pipeline for uitests by @rmarinho in https://github.com/dotnet/maui/pull/32592
-
[XSG] add XmlLineInfoProvider by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32530
-
Refactor device test stages in pipeline configuration by @mattleibow in https://github.com/dotnet/maui/pull/32712
-
Add XAML unit testing guidelines by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32788
Shell
-
Replace deprecated ScreenResolutionUtility task with PowerShell script for Windows UI tests by @rmarinho via @Copilot in https://github.com/dotnet/maui/pull/32599
-
[iOS] Add size update for Shell Popup Overlay after rotation by @cat0363 in https://github.com/dotnet/maui/pull/15866
-
[Android] NET10 - Exception on quit - fix by @kubaflo in https://github.com/dotnet/maui/pull/32647
π§ Fixes
-
[iOS] Fix for Shell Navigation Bar Remaining Visible After Navigating Back to a ContentPage with NavigationBar Hidden by @SyedAbdulAzeemSF4852 in https://github.com/dotnet/maui/pull/32622
-
[iOS] Added support for large titles in Shell by @kubaflo in https://github.com/dotnet/maui/pull/32081
-
[Issue-Resolver] Fix TabBar visibility on macOS 26 (Tahoe) by @kubaflo in https://github.com/dotnet/maui/pull/32910
Slider
-
Implemented ios:Slider.UpdateOnTap by @kubaflo in https://github.com/dotnet/maui/pull/20124
π§ Fixes
SwipeView
-
Fix for SwipeView Command Binding Issue in CollectionView Templates by @BagavathiPerumal in https://github.com/dotnet/maui/pull/32790
TabbedPage
-
Fix TabbedPage crash on iPadOS 26+ with narrow viewports by @jfversluis via @Copilot in https://github.com/dotnet/maui/pull/32662
-
Fixed the TabBar is not visible on Mac Catalyst on iOS26. by @sheiksyedm in https://github.com/dotnet/maui/pull/32972
Templates
-
#32624 Rename .NET Aspire to Aspire in Aspire ServiceDefaults templat⦠by @thimok in https://github.com/dotnet/maui/pull/32626
-
Add version 10.0.11 to bug report template by @PureWeen in https://github.com/dotnet/maui/pull/32844
TitleView
-
Fix iOS 26 TitleView covering content in Shell and NavigationPage by @PureWeen via @Copilot in https://github.com/dotnet/maui/pull/32341
WebView
-
Fix WebView.EvaluateJavaScriptAsync returning null on iOS for certain websites by @jfversluis via @Copilot in https://github.com/dotnet/maui/pull/31647
-
Do not include the JS as Content by @mattleibow in https://github.com/dotnet/maui/pull/32783
-
Fix iOS WebView Navigating event not triggered for target="_blank" links by @jfversluis via @Copilot in https://github.com/dotnet/maui/pull/32199
Xaml
-
Fix CS8603 error for nullable reference types in SourceGen binding paths by @simonrozsival via @Copilot in https://github.com/dotnet/maui/pull/32480
-
[XSG] Add clr-namespace fallback for x:Static with unresolved types by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32630
π§ Fixes
-
[XSG] better AppThemeBinding by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32441
-
Enable OnPlatform element simplification for InitializeComponent code generation by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32534
-
Fix infinite loop in ProvideValueForReferenceExtension with x:Reference by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32638
-
Fix #32670: Generate fully qualified Row/ColumnDefinition types in SourceGen by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32671
π§ Fixes
-
Fix BindingSourceGen to detect inaccessible property setters by @simonrozsival via @Copilot in https://github.com/dotnet/maui/pull/32470
π§ Infrastructure (29)
-
Localized file check-in by OneLocBuild Task: Build definition ID 13330: Build ID 12753373 by @dotnet-bot in https://github.com/dotnet/maui/pull/32482
-
[ci] Add dnceng-public UI tests by @rmarinho in https://github.com/dotnet/maui/pull/32229
-
Update main SR version and Github Issues by @PureWeen in https://github.com/dotnet/maui/pull/32499
-
[ci] Remove x64 demands by @rmarinho in https://github.com/dotnet/maui/pull/32070
-
Move to slnx and slnf by @mattleibow in https://github.com/dotnet/maui/pull/32514
-
[ci] Device tests using MAUI pool for build by @rmarinho in https://github.com/dotnet/maui/pull/32533
-
[ci] Clean nuget.config by @rmarinho in https://github.com/dotnet/maui/pull/32501
-
Update default solution file in settings by @PureWeen in https://github.com/dotnet/maui/pull/32572
-
[ci] Update net10 arcade by @rmarinho in https://github.com/dotnet/maui/pull/32574
-
[ci] Bump to new Xcode to 26.0.1 and .NET default version by @rmarinho in https://github.com/dotnet/maui/pull/32621
-
[main] Bump MicrosoftMauiPreviousDotNetReleasedVersion to 9.0.120 by @github-actions[bot] in https://github.com/dotnet/maui/pull/32613
-
Disable AzDO dependabot by @mmitche in https://github.com/dotnet/maui/pull/32631
-
Add Android emulator startup pattern to common testing patterns by @PureWeen via @Copilot in https://github.com/dotnet/maui/pull/32615
-
[ci] Try fix RuniOS tests by @rmarinho in https://github.com/dotnet/maui/pull/32633
-
revert moving to slnx by @StephaneDelcroix in https://github.com/dotnet/maui/pull/32619
-
[ci] Add variable group MAUI by @rmarinho in https://github.com/dotnet/maui/pull/32610
-
Change DotNetFeedUrl to internal CI feed by @jfversluis in https://github.com/dotnet/maui/pull/32694
-
[ci] Revert changes setting Creator by @rmarinho in https://github.com/dotnet/maui/pull/32743
-
[Testing] Fail iOS builds fast when Xcode setup fails by @simonrozsival via @Copilot in https://github.com/dotnet/maui/pull/32746
-
November 17th, Inflight Candidate by @PureWeen in https://github.com/dotnet/maui/pull/32509
-
Fix XC0022 and XC0023 warnings by adding x:DataType for compiled bindings by @simonrozsival via @Copilot in https://github.com/dotnet/maui/pull/32444
π§ͺ Testing (16)
-
[ci] Update Integration tests with $(_MauiDotNetTfm) by @rmarinho in https://github.com/dotnet/maui/pull/32570
-
[ci] Don t push the device tests results by @rmarinho in https://github.com/dotnet/maui/pull/32611
-
[Testing] Feature Matrix UITest Cases for App Themes by @TamilarasanSF4853 in https://github.com/dotnet/maui/pull/31458
-
[Testing] Feature Matrix UITest Cases for FlexLayout by @TamilarasanSF4853 in https://github.com/dotnet/maui/pull/32036
-
[Testing] Fix Bugzilla41842 test by replacing raw Page with ContentPage by @Shalini-Ashokan in https://github.com/dotnet/maui/pull/31862
-
[CI] Pre-authorize AVD with ADB keys before starting the emulator by @simonrozsival in https://github.com/dotnet/maui/pull/32730
-
[Testing] Ignore failure HybridWebViewFeatureTests on Mac by @TamilarasanSF4853 in https://github.com/dotnet/maui/pull/32703
-
[Testing] Fixed DoesNotCrash Test case failure by @TamilarasanSF4853 in https://github.com/dotnet/maui/pull/32776
π Housekeeping (2)
- Added capabilities to get Xcode logs in the Appium server output by @jsuarezruiz in https://github.com/dotnet/maui/pull/32149
- Use net*.0 wildcard pattern for CI branch triggers by @jfversluis in https://github.com/dotnet/maui/pull/33002
π¦ Other (2)
- No duplicate comments in https://github.com/dotnet/maui/commit/d45dcd2
- disable appthemebinding on XSG for good in https://github.com/dotnet/maui/commit/f492f7b