Releases: dotnet/maui
9.0.90 SR9
.NET MAUI 9.0.90 SR9 Release Notes
What's Changed
This service release includes 141+ commits focusing on testing improvements, infrastructure updates, and critical product fixes for the .NET MAUI 9.0 service release 9.
MAUI Product Fixes
- MauiScrollView resets ContentOffset on first layout pass - fix by @kubaflo in #30453 - Fixes #30147
- [iOS][Shell]Tab becomes blank after specific navigation pattern - fix by @kubaflo in #29825 - Fixes #29798, #30280
- [iOS] Assign PresentationController.Delegate to handle swipe-to-dismiss fallback by @bhavanesh2001 in #30289 - Fixes #30282
- [iOS] Fix for CarouselView ItemSpacing property in ItemsLayout not working with CV2 by @Ahamed-Ali in #27056 - Fixes #27025
- [Android] Fix OnIdiom threading issue by removing using statements in DeviceInfo by @Copilot in #30288 - Fixes #29853
- Skip useless handler mappings calls while connecting by @albyrock87 in #27259 - Fixes #17303
- Update Permissions.ios.tvos.watchos.cs by @kubaflo in #29180 - Fixes #29172
- [Android] Controls Disappear When WebView is Used with Hardware Acceleration Disabled by @praveenkumarkarunanithi in #28934 - Fixes #28902
- Fix for Handler not disconnected when removing a non-visible page from the navigation stack by @praveenkumarkarunanithi in #30049 - Fixes #29923
- [Android] Removing outdated menu items as Android can delete them after switching activities by @VitalyKnyazev in #28767 - Fixes #24357
- [iOS] SwipeView Closes when Content Changes - fix by @kubaflo in #29088 - Fixes #29086
- [Android, iOS] Fix for the Resize method does not dispose the original image, even when disposeOriginal is set to true by @SyedAbdulAzeemSF4852 in #29936 - Fixes #21886
- Revert "Fix up relevant CA1416 warnings - Set 3 (#26751)" by @PureWeen in #30421 - Fixes #30426, #30350
- [main] Revert "[Android, iOS] Dynamically setting SearchHandler Query property does not update text in the search box (#28400)" by @PureWeen in #30250
- Reinstate iOS13+ guards by @jfversluis in #30268 - Fixes #30266
- Fix CV1 GridItemsLayout centering single item AND Fix Empty view not resizing when bounds change by @albyrock87 in #29639 - Fixes #29634, #29595
- Revert - Fixed the Label not sized correctly on Android by @Ahamed-Ali in #30023
- [Android] Prevent Picker from Gaining Focus on Touch by @bhavanesh2001 in #29068 - Fixes #19739, #15394, #24862, #21704, #13503, #8546, #28121
- [iOS, Mac] Fix for downsized image retaining original dimensions in GraphicsView by @SyedAbdulAzeemSF4852 in #30007 - Fixes #30006
- Weak subscription to CanExecuteChange events by @PureWeen in #29837 - Fixes #16124
- Revert "Fixes Setting BackgroundColor to null does not actually changes BackgroundColor #22914 (#22917)" by @mattleibow in #30031 - Fixes #30024
- [Windows] Fixed runtime update issue for SearchBar PlaceholderColor and BackgroundColor by @Tamilarasan-Paranthaman in #29965 - Fixes #29962
- ScrollView's Background on iOS by @kubaflo in #25541 - Fixes #24016
- Update SetterSpecificity.cs Remove Extra Line From Bad Merge by @PureWeen in #29987
- Add defensive IsAlive check to Android ViewExtensions.OnUnloaded by @jfversluis in #29934 - Fixes #28051
- Optimize converters for GridLength, ColumnDefinition, and RowDefinition by @symbiogenesis in #20048
- Enabled-MultiTouch-iOS by @prakashKannanSf3972 in #29895 - Fixes #29461
- [android] Fallback to default icons in SearchHandler by @aheubusch in #25067
- Fixed the picker title's color by @kubaflo in #23075 - Fixes #16737
- Fixes Setting BackgroundColor to null does not actually changes BackgroundColor #22914 by @Jon2G in #22917 - Fixes #22914, #19576
- [iOS] CarouselView with CarouselViewHandler2 make app crash when Loop="False" and user scroll to the last position - fix by @kubaflo in #26868 - Fixes #26863
- [Windows] Implemented the Resize and Downsize functions in the W2DImage class by @HarishwaranVijayakumar in #29138 - Fixes #16767
- [iOS] Fix SwipeView programmatic open when background color is set by @Shalini-Ashokan in #29765 - Fixes #17204
- [iOS] FormattedText with text color causes stack overflow - fix by @kubaflo in #29874 - Fixes #29851
- [iOS] Fix AdaptiveTrigger not working as expected by @jsuarezruiz in #20987 - Fixes #19197
- Templated indicator view - improvements by @kubaflo in #25642 - Fixes #25598
- [iOS] Fix for Flyout title is not broken over multiple lines when you rotate your screen by @BagavathiPerumal in #29171 - Fixes #15154
- [Windows] Fix for Assigning null to the SelectedItem of the CollectionView in the SelectionChanged event does not clear the selection by @SyedAbdulAzeemSF4852 in #29288 - Fixes #10025
- Fix TapCoordinates method in Catalyst by @jsuarezruiz in #29775 - Fixes #19754
- Fixed ItemSpacing on CarouselView resizes items [Android] by @Dhivya-SF4094 in #29796 - Fixes #29609
- Perf : ButtonContentTypeConverter now using InvariantCulture to parse… by @jonathanantoine in #25393
- Update the comment for the test properties by @mattleibow in #27306
- ToolbarItem behavior with ImageSource iOS - fix by @kubaflo in #28833 - Fixes #28822
- [Android] Fixed Button Shadow Color Transparency Not Applied Correctly by @NanthiniMahalingam in #29371 - Fixes #29325
- Don't call NSAttributedString with HTML from a background thread by @kubaflo in #26153 - Fixes #25946
Dependency Updates
- Update Versions.props NET9 SR9 servicing bump by @PureWeen in #30519
- Update Versions.props 9.0.90 SR9 versioning by @PureWeen in #29909
- Bump to 1.7.250606001 of WindowsAppSDK by @PureWeen in #29915
- Update MicrosoftCodeAnalysisPublicApiAnalyzers and MicrosoftCodeAnalysisBannedApiAnalyzers to 4.14.0 by @Copilot in #30213
Testing
- [Testing] Disabling the Essentials Geocoding failing tests on Windows by @anandhan-rajagopal in #30508
- Fixed Test case(Issue28798) failure in PR 30306 - [6/30/2025] Candidate by @anandhan-rajagopal in #30413
- Fixed Test case failure in PR 30306 - [6/30/2025] Candidate by @anandhan-rajagopal in #30315
- [Testing] Feature Matrix UITest Cases for Switch Control by @jsuarezruiz in #29950
- [Testing] Feature matrix UITest Cases for Entry Control by @jsuarezruiz in #30033
- [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 6 by @jsuarezruiz in #28399
- [Testing] Feature matrix UITest Cases for Image Control by @jsuarezruiz in #29832
- [Testing] Fix for flaky device test BlazorWebViewUsesStartPath on Windows by @jsuarezruiz in #29966
- [Testing] Feature matrix UITest Cases for ImageButton Control by @jsuarezruiz in #29968
- [Testing] Feature Matrix UITest Cases for ProgressBar Control by @jsuarezruiz in #29980
- [Testing] Add Validation Test For Issue28051 On Android by @jsuarezruiz in #30026
- [Testing] Fixed Test case failure in PR 30115 - [2025/06/23] Candidate by @anandhan-rajagopal in #30136
- [Testing] Enable HandlerDoesNotLeak for Button and ProgressBar by @jsuarezruiz in #29896
- [Testing] Feature matrix UITest Cases for BoxView Control by @jsuarezruiz in #29808
- [Testing] Feature Matrix UITest Cases for Button by @jsuarezruiz in #29803
- [Testing] Re-Fix for flaky UITests RotatingCollectionViewWithHTMLShouldNotHangOrCrash in CI that occasionally fails by @anandhan-rajagopal in #30239
- [Testing] Fix ADB Key Generation Failure on CI by @jsuarezruiz in #30092
- [Testing] Feature Matrix UITest Cases for RadioButton by @jsuarezruiz in #29744
- [Testing] Feature Matrix UITest Cases for CollectionView ItemsSource Feature by @jsuarezruiz in #29322
- [Testing] Feature Matrix UITest Cases for Stepper...
10.0.0-preview.6.25359.8
.NET MAUI 10.0.1xx-preview6 Release Notes
This release includes various improvements, bug fixes, and dependency updates for the .NET MAUI framework.
Getting started
Install from command line:
dotnet workload install maui --version 10.0.100-preview.6.25365.1
What's Changed
MAUI Product Fixes
- Reinstate some iOS13+ guards to support iOS 12.2+ by @jfversluis in #30268
- [main] Revert "[Android, iOS] Dynamically setting SearchHandler Query property does not update text in the search box (#28400)" by @PureWeen in #30250
- Xmlns perf by @StephaneDelcroix in #30096
- [XC] Fix detection of x:DataType from outer scope by @simonrozsival in #30083
- [BlazorWebView] Implement web request interception by @mattleibow in #30037
- [.NET 10] Implement image compression & MaximumWidth/MaximumHeight for MediaPicker by @jfversluis in #30027
- Add overrides to Help with Obsoleting Compatibility.Layout by @PureWeen in #30058
- Quickone by @StephaneDelcroix in #30077
- [.NET10] Made MauiCollectionView on iOS public by @kubaflo in #29917
- [.NET 10] Implement multi-select for MediaPicker by @jfversluis in #30002
- Remove Tizen from templates (+ tests) for .NET 10 by @jfversluis in #30029
- Replace MessagingCenter in AlertManager by @jfversluis in #27888
- [NET10] Marked INativeBindingService as Obsolete by @kubaflo in #29918
- [net10.0] [iOS, Windows] Fix: Switch does not use the native default
on
color when OnColor is unset by @Tamilarasan-Paranthaman in #29694 - [Android] Add a Platform Specific to allow disable js execution on the WebView by @jsuarezruiz in #29446
- Fix Crash when ItemsSource is set to null in the SelectionChanged handler by @bhavanesh2001 in #29887
- [HybridWebView] Fix some issues with the typescript by @mattleibow in #29873
- Revert "Add Accessibility Selected for iOS CollectionView (#29014)" by @PureWeen in #29827
- [Android] Fix: Modal Animation Repeats When Returning from Background 3 by @bhavanesh2001 in #29702
- [iOS] Fix memory leak in CarouselViewHandler2 by @bhavanesh2001 in #29719
- [NET10.0] [Windows] Filenames contain
uwp
even though UWP is not the technology used - FIX by @MartyIX in #29750 - Ping just David on breaking changes by @jfversluis in #30030
- Fix CV1 GridItemsLayout centering single item AND Fix Empty view not resizing when bounds change by @albyrock87 in #29639
- Revert - Fixed the Label not sized correctly on Android by @Ahamed-Ali in #30023
- [Android] Prevent Picker from Gaining Focus on Touch by @bhavanesh2001 in #29068
- [iOS, Mac] Fix for downsized image retaining original dimensions in GraphicsView by @SyedAbdulAzeemSF4852 in #30007
- Weak subscription to CanExecuteChange events by @PureWeen in #29837
- Revert "Fixes Setting BackgroundColor to null does not actually changes BackgroundColor #22914 (#22917)" by @mattleibow in #30031
- [Windows] Fixed runtime update issue for SearchBar PlaceholderColor and BackgroundColor by @Tamilarasan-Paranthaman in #29965
- [iOS] Fixed the CollectionView2 exception while ItemsUpdating on iOS by @Ahamed-Ali in #29962
- [Windows] Fixed Tabbar is not visible when use ViewCell with TapGesture by @SuthiYuvaraj in #29939
- [Windows] Support SemanticOrderBasedNavigation by @SubhikshaSf4851 in #29580
- [Windows] Fixed exception on ToolbarItem when setting dynamic command by @SubhikshaSf4851 in #29857
- Fixed Image.FixedLayoutOnSizeRequest when Source is null by @noopsRus in #29712
- Improve Drawing View to reduce Bitmap allocation on iOS/Mac by @SubhikshaSf4851 in #29617
- [Windows] Fix GestureRecognizer not working on Shell and MasterDetailPage by @NanthiniMahalingam in #29804
- [Windows] Fix for NullReferenceException when loading image from ToolbarItem by @BagavathiPerumal in #29755
- [iOS] Fix SwipeView programmatic open when background color is set by @Shalini-Ashokan in #29765
- [iOS] FormattedText with text color causes stack overflow - fix by @kubaflo in #29874
- [iOS] Fix AdaptiveTrigger not working as expected by @jsuarezruiz in #20987
- Templated indicator view - improvements by @kubaflo in #25642
- [iOS] Fix for Flyout title is not broken over multiple lines when you rotate your screen by @BagavathiPerumal in #29171
- [Windows] Fix for Assigning null to the SelectedItem of the CollectionView in the SelectionChanged event does not clear the selection by @SyedAbdulAzeemSF4852 in #29288
- Fixed ItemSpacing on CarouselView resizes items [Android] by @Dhivya-SF4094 in #29796
- Perf : ButtonContentTypeConverter now using InvariantCulture by @bioscipien in #25393
- [Windows] Implemented the Resize and Downsize functions in the W2DImage class by @HarishwaranVijayakumar in #29138
- [Android] Fix crash starting the swipe on SwipeView inside CollectionView by @jsuarezruiz in #27669
- [iOS] Fix nullability by @rmarinho in https://github.com/dotnet/maui/pull/12a9a24
- Resolved CS8662 nullability error in merge main to net 10 PR -29753 by @anandhan-rajagopal in #29884
Testing
- [release/10.0.1xx-preview6] Set the Application Title to Controls.TestCases.HostApp by @github-actions in #30360
- [housekeeping] Dispatch MainPage reset to UI thread to prevent crash in HostApp by @bhavanesh2001 in #30272
- [release/10.0.1xx-preview6] [testing] Ignore net10 multiproject test by @github-actions in #30356
- [tests] Try fix resources with same name by @rmarinho in https://github.com/dotnet/maui/pull/19c501c
- [Testing] Re-Fix for flaky UITests RotatingCollectionViewWithHTMLShouldNotHangOrCrash in CI that occasionally fails by @anandhan-rajagopal in #30239
- [Testing] Fix for flaky UITests RotatingCollectionViewWithHTMLShouldNotHangOrCrash in CI that occasionally fails by @anandhan-rajagopal in #30200
- [net10.0, Testing] Fix LabelFeatureTests Screenshot Issue on Windows by @NafeelaNazhir in #30137
- [Testing] Fix ADB Key Generation Failure on CI by @jsuarezruiz in #30092
- [Testing] Fix for flaky UITests (PlatformDragEventArgs & Issue8870) in CI that occasionally fails by @anandhan-rajagopal in #30088
- [Testing] Disable the failed ValidateWebViewScreenshot test in net 10.0 by @HarishKumarSF4517 in #30013
- [Testing] Updated FlakyTestAttribute to allow retries by @jsuarezruiz in #27772
- [Testing] Recover the uitest-build task on Android cake by @jsuarezruiz in #28452
- Fix CarouselView Feature Matrix tests failing on main by @bhavanesh2001 in #29784
- [Testing] Include a tolerance parameter in the Verifyscreenshot method by @jsuarezruiz in #29776
- [Testing] Update Appium to v8 by @jsuarezruiz in #29774
- Fixed Test case(ValidateTableViewTitles) failure in PR 29623 - [2025/05/26] Candidate by @LogishaSelvarajSF4525 in #29742
- Update Test HostApp to not use TableView by @jsuarezruiz in #28830
- [Testing] Add Validation Test For Issue28051 On Android by @prakashKannanSf3972 in #30026
- [Testing] Fixed Test case failure in PR 30115 - [2025/06/23] Candidate by @HarishKumarSF4517 in #30136
- Update Controls.TestCases.HostApp.csproj by @HarishKumarSF4517 in #30124
- [Testing] Enable HandlerDoesNotLeak for Button and ProgressBar by @bhavanesh2001 in #29896
- [Testing] Feature Matrix UITest Cases for RadioButton by @TamilarasanSF4853 in #29744
- [Testing] Feature Matrix UITest Cases for CollectionView ItemsSource Feature by @LogishaSelvarajSF4525 in #29322
- [Testing] Feature Matrix UITest Cases for Stepper by @nivetha-nagalingam in #29731
- Fix TapCoordinates method in Catalyst by @jsuarezruiz in https://g...
9.0.82 SR8.2
What's Changed
- [release/9.0.1xx-sr8] Revert "Fix up relevant CA1416 warnings - Set 3 (#26751)" by @github-actions in #30422
- Revert "Fixed picker allows user input if the keyboard is visible" by @PureWeen in #30447
Full Changelog: 9.0.81...9.0.82
9.0.81 SR8.1
What's Changed
- [release/9.0.1xx-sr8] [iOS, Mac] Fix for downsized image retaining original dimensions in GraphicsView by @github-actions in #30060
- Revert - Fixed the Label not sized correctly on Android (#30023) by @PureWeen in #30076
- [release/9.0.1xx-sr8] Fix CV1 GridItemsLayout centering single item AND Fix Empty view not resizing when bounds change by @github-actions in #30107
- Revert "[Android, iOS] Dynamically setting SearchHandler Query property does not update text in the search box (#28400)" by @PureWeen in #30222
- [release/9.0.1xx-sr8] Reinstate some iOS13+ guards to support iOS 12.2+ by @github-actions in #30284
Full Changelog: 9.0.80...9.0.81
9.0.80 SR8
What's Changed
MAUI Product Fixes
- Fix Crash when ItemsSource is set to null in the SelectionChanged handler by @bhavanesh2001 in #29887
- [HybridWebView] Fix some issues with the typescript by @mattleibow in #29873
- [Windows] Fix for ItemsSource Does Not Dynamically Set to null in CarouselView by @SyedAbdulAzeemSF4852 in #29660
- Fix -[iOS] - CarouselView Throws ArgumentOutOfRangeException Immediately on Application Launch in CV2 by @SuthiYuvaraj in #29316
- [iOS] Fixed Shell.SearchHandler ClearPlaceholderIcon Color Issue by @Tamilarasan-Paranthaman in #28601
- [Windows] - Fix view position shift when shadows are added or removed at runtime by @prakashKannanSf3972 in #29681
- [Windows] Fix for SearchHandler Visibility Not Updating During In-Section Navigation by @BagavathiPerumal in #29441
- [Android & iOS] Fix for SearchHandler Character Spacing Property by @Subhiksha-Chandrasekaran in #29497
- [Android/ iOS] Fix Flyout icon is displayed when flyout is disabled by @devanathan-vaithiyanathan in #29637
- [iOS/Mac]Fix StrokeDashArray Property not Rendering by @devanathan-vaithiyanathan in #29670
- Fix up relevant CA1416 warnings - Set 1 by @Tamilarasan-Paranthaman in #26696
- Fix up relevant CA1416 warnings - Set 3 by @Tamilarasan-Paranthaman in #26751
- Convert HybridWebView.js to TypeScript and embed by @mattleibow in #27183
- remove unwanted null check by @bhavanesh2001 in #29784
- [iOS] Fix memory leak in CarouselViewHandler2 by @bhavanesh2001 in #29719
- Fix iOS Label being truncated when using Padding by @albyrock87 in #29031
- [Catalyst] Click-Dragging Behavior in CollectionView by @Tamilarasan-Paranthaman in #29616
- [Android] Fix for the FontImageSource color is not applied properly to the Bottom Tab Icon by @Ahamed-Ali in #29317
- Fixed the label span issue by @NanthiniMahalingam in #28851
- [Android] Fix: Prevent Duplicate MapSource Invocations on setting Image's Source to Local File Paths by @bhavanesh2001 in #28405
- [Android] The number of SearchHandler toolbar item increases abnormally - fix by @kubaflo in #29561
- [Windows] Fix for FlyoutItem in overflow menu not fully interactable by @TamilarasanSF4853 in #27575
- [Windows] Fixed Shell flyout background image does not displayed by @Subhiksha-Chandrasekaran in #28977
- Fix CarouselView ItemTemplate Runtime Updates by @Shalini-Ashokan in #29546
- Fixed Maui.Graphics GetStringSize Inverts Width and Height by @Dhivya-SF4094 in #29574
- Compute LayoutConstraints on new *StackLayout and Grid by @albyrock87 in #28931
- Enhance debugging in ViewHandler.cs by @PedroTroller in #29538
- [Windows] Fix for ArgumentException thrown when setting a negative padding value for the label by @SyedAbdulAzeemSF4852 in #29163
- [iOS] ScrollView content offset RTL - fix by @kubaflo in #29469
- Set result to tcs when user cancels by @bhavanesh2001 in #29498
- [Android] Fix WebView Navigated is fired when source is null by @bhavanesh2001 in #29234
- Clear Parent on old image source by @PureWeen in #29481
- [iOS] Setting background color on the Searchbar - fix by @kubaflo in #23355
- [iOS] Fixed picker title's color by @kubaflo in #20205
- Fixed picker allows user input if the keyboard is visible by @NirmalKumarYuvaraj in #26382
- [Android] Fix gesture crash navigating by @jsuarezruiz in #19517
- Fixed KeepLastItemInView Does Not Scroll to Last Item When Adding Items at Top by @Dhivya-SF4094 in #29632
- Page.OnBackButtonPressed remove outdated API documentation by @jfversluis in #29543
- Fix NRE for UIView not being in UIWindow by @timmiller in #29460
- Fix CarouselView ItemsLayout Runtime Updates by @Shalini-Ashokan in #29447
- Fix for [Windows] HorizontalScrollBarVisibility="Never" not working in CarouselView on Windows platform by @SuthiYuvaraj in #29343
- [Windows, Mac] Fixed Disappearing event not triggered when closing a window with a modal page by @Vignesh-SF3580 in #29129
- [iOS] Fixed the App crashes when navigating to a page containing a map more than once by @Ahamed-Ali in #29369
- [Android] Inheriting StatusBar and NavigationBar background colors on modal pages by @kubaflo in #28568
- [iOS] Fix CarouselView proper bounce-back behavior when Loop=false by @Shalini-Ashokan in #29318
- [C] Fix typo by @StephaneDelcroix in #29379
- Fixed-Footer-Scrolling-Issue by @prakashKannanSf3972 in #29381
- [Windows] Fixed the color not being applied to the Expand/Collapse Chevron icon by @Tamilarasan-Paranthaman in #29140
- Include all platforms in multi project template by @jfversluis in #28766
Testing
- [Testing] Update Appium to v8 by @jsuarezruiz in #29774
- [Testing] Include a tolerance parameter in the Verifyscreenshot method by @jsuarezruiz in #29776
- [Testing] Feature Matrix UITest Cases for Label by @NafeelaNazhir in #29690
- [Testing] Feature Matrix UITest Cases for Shadows by @jsuarezruiz in #27701
- [Testing] Added UITest for MenuFlyoutItem Clicked/Command delegate by @anandhan-rajagopal in #29604
- [Testing] Feature Matrix UITest Cases for CarouselView by @NafeelaNazhir in #29548
- [Testing] Re-Enabled UI Test - Issue12574Test by @TamilarasanSF4853 in #29436
- [Testing] Enabling more UI Tests by removing platform specific condition - 18 by @HarishKumarSF4517 in #28033
- [Testing] Feature Matrix UITest Cases for CollectionView Dynamic changes by @NafeelaNazhir in #29424
- [UI Test] Create a new UITest for ModalPageMarginCorrectAfterKeyboardOpens by @jsuarezruiz in #21897
- Fixed Test case failure in PR 29469 - [2025/05/26] by @kubaflo in #29735
- Fixed Test case failure in PR 29469 - [2025/05/26] by @kubaflo in #29688
- Fixed Test case failure in PR 29623 - [2025/05/26] Candidate by @LogishaSelvarajSF4525 in #29636
- Fixed Test case failure in PR 20205 - [2025/05/26] by @kubaflo in #29686
- Fixed Test case failure in PR 29473 - [2025/05/19] Candidate by @prakashKannanSf3972 in #29457
- Fixed-CV2-Failing by @prakashKannanSf3972 in #29423
- Fixed Test case failure in PR 29623 - [2025/05/26] Candidate by @LogishaSelvarajSF4525 in #29636
Dependency Updates
- Bump to 1.7.250513003 of WindowsAppSDK by @PureWeen in #29597
- [ci] Update dependencies from 9.0.4 to 9.0.5 by @rmarinho in #29667
- Changed Syncfusion toolkit version from 1.0.4 to 1.0.5 by @panderson in #29659
- Android Libraries Ecosystem Updates 20250502 by @moljac in #29331
Docs
- Add API XML Docs for Graphics by @jfversluis in #29146
- Add API XML Docs for Graphics.Skia by @jfversluis in #29148
- Add API XML Docs for Graphics.Skia.WPF by @jfversluis in #29150
- Add API XML Docs for Graphics.Skia.GtkSharp by @jfversluis in #29149
- Add API XML Docs for Graphics.Text.Markdig by @jfversluis in #29151
Housekeeping
- Update copilot-setup-steps.yml by @mattleibow in #29868
- Update copilot-setup-steps.yml by @mattleibow in #29863
- Update copilot-setup-steps.yml by @mattleibow in #29860
- Update copilot-setup-steps.yml by @mattleibow in #29858
- Create copilot-setup-steps.yml by @mattleibow in #29856
- [ci] Allows usage of new keys from dotnet by @rmarinho in #29843
- [housekeeping] Automated PR to fix forma...
10.0.0-preview.5.25306.5
.NET MAUI Release Notes - 10.0.1xx-preview5
What's Changed
MAUI Product Fixes
- [NET10] Replace the obsolete RunJavaScriptTextInputPanel by @jsuarezruiz in #28531
- [HybridWebView] Fix some issues with the interception, typescript and other features by @mattleibow in #29829
- XAML xmlns simplifications by @StephaneDelcroix in #29579
- Expose _framework/hybridwebview.js to the html by @mattleibow in #29794
- [net10.0] [HybridWebView] Refactor and convert the HybridWebView.js file into a TypeScript file by @mattleibow in #29790
- [NET10] Enable Nullability on ShellPageRendererTracker by @jsuarezruiz in #28441
- [NET10.0] Removed the MessagingCenter from the RadioButtonGroup by @Tamilarasan-Paranthaman in #29366
- [NET10] Make
VisualElement.ComputeConstraintForView
andLayoutConstraint
enum public by @jsuarezruiz in #29703 - Add the ability to intercept all web resource requests by @mattleibow in #28876
- Fixed picker allows user input if the keyboard is visible by @NirmalKumarYuvaraj in #26382
- [Android] Fix gesture crash navigating by @jsuarezruiz in #19517
- Improve MSBuild Error Actionability in Resizetizer by @jsuarezruiz in #28999
- [NET10.0] Annotate converters for nullability 4/n by @MartyIX in #29549
- Fixed KeepLastItemInView Does Not Scroll to Last Item When Adding Items at Top by @Dhivya-SF4094 in #29632
- Apply nullability attributes to TimeChangedEventArgs by @jsuarezruiz in #29572
- [android] update AOT profiles for .NET 10 by @jonathanpeppers in #29612
- [NET10.0] Annotate converters for nullability 3/n by @MartyIX in #29314
- Include all platforms in multi project template by @jfversluis in #28766
- Make internal types used by MAUI Toolkit public by @jfversluis in #29443
- [net10.0] Trimmable view handlers by @simonrozsival in #28357
- Android Libraries Ecosystem Updates 20250502 by @moljac in #29331
- Revert "[Android][NET 10] Fix: Ensure Image consumes touches properly (#28429)" by @kubaflo in #29363
- Revert "Remove InternalsVisibleTo for Toolkit (#28994)" by @jfversluis in #29321
- Add Accessibility Selected for iOS CollectionView by @tj-devel709 in #29014
- [Android] Fixed Setting a Label visible after having had focus on a InputView will increase the Label's height by @Ahamed-Ali in #29210
- Remove by @MartyIX in #29256
- Update ListViewViewCellBinding.cs by @HarishKumarSF4517 in #29409
Testing
- [tests] Add coreclr test for SF sample by @rmarinho in #29327
- Run Categories Separately by @PureWeen in #29362
- [UI Test] Create a new UITest for ModalPageMarginCorrectAfterKeyboardOpens by @jsuarezruiz in #21897
- Fixed Test case failure in PR 29399 - Merge main to net10 by @rmarinho in #29608
- Fixed Test case failure in PR 29473 - [2025/05/19] Candidate by @prakashKannanSf3972 in #29457
- [Testing] Fix for UITest Catalyst screenshot dimension inconsistency and image cropping issue by @anandhan-rajagopal in #29204
- [Testing] Fix for flaky UITests in CI that occasionally fail - 10 by @anandhan-rajagopal in #29360
- [Testing] Update failing CarouselView2 tests to use CarouselView1 in sample by @nivetha-nagalingam in #29315
- [testing] Ignore ConnectivityChanged_Does_Not_Crash while crashing on net10 preview5 by @rmarinho in #29679
- [net 10.0 Testing] Enabled BuildsWithSpecialCharacters Test by @HarishKumarSF4517 in #29466
- Setup Stage for Validating CarouselView2 by @PureWeen in #29283
- Update LabelShouldSizeProperly.png by @anandhan-rajagopal in #29733
Dependency Updates
- Bump to 1.7.250513003 of WindowsAppSDK by @PureWeen in #29597
- Update dependencies from https://github.com/dotnet/macios build 20250604.8 by @dotnet-maestro[bot] in #29830
- Update dependencies from https://github.com/dotnet/android build 10.0.0-ci.net10.25303.1+azdo.11697806 by @dotnet-maestro[bot] in #29811
- Update dependencies from https://github.com/dotnet/macios build 20250530.1 by @dotnet-maestro[bot] in #29747
- Update dependencies from https://github.com/dotnet/android build 10.0.0-ci.net10.25272.1+azdo.11638978 by @dotnet-maestro[bot] in #29630
- [net10.0] Update dependencies from dotnet/macios by @dotnet-maestro[bot] in #29613
- [net10.0] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #29602
- Update dependencies from https://github.com/dotnet/android build 10.0.0-ci.net10.25270.1+azdo.11621833 by @dotnet-maestro[bot] in #29593
- Update dependencies from https://github.com/dotnet/android build 10.0.0-ci.net10.25269.1+azdo.11618129 by @dotnet-maestro[bot] in #29586
- Update dependencies from https://github.com/dotnet/android build 10.0.0-ci.net10.25269.1+azdo.11615454 by @dotnet-maestro[bot] in #29576
- [net10.0] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #29511
- [net10.0] Update dependencies from dotnet/android by @dotnet-maestro[bot] in #29503
- [net10.0] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #29386
- [net10.0] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #29341
- [net10.0] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #29176
- Changed Syncfusion toolkit version from 1.0.4 to 1.0.5 by @PaulAndersonS in #29659
Docs
- [docs] Add doc with info about release process by @rmarinho in #29478
- Add API XML Docs for Graphics by @jfversluis in #29146
- Add API XML Docs for Graphics.Skia by @jfversluis in #29148
- Add API XML Docs for Graphics.Skia.WPF by @jfversluis in #29150
- Add API XML Docs for Graphics.Skia.GtkSharp by @jfversluis in #29149
- Add API XML Docs for Graphics.Text.Markdig by @jfversluis in #29151
- Page.OnBackButtonPressed remove outdated API documentation by @jfversluis in #29543
Housekeeping
- Update bug-report.yml with latest releases by @PureWeen in #29482
- Update Versions.props to 9.0.80 by @PureWeen in #29408
- [iOS] Move to 16.3 by @rmarinho in #29718
- Update breaking change tag to PMs by @jfversluis in #29326
- Localized file check-in by OneLocBuild Task: Build definition ID 13330: Build ID 11709525 by @dotnet-bot in #29839
- [api] Fix PublicApi shipped file by @rmarinho in #29840
- [create-pull-request] automated change by @github-actions[bot] in #29758
- [housekeeping] Automated PR to fix formatting errors on net10.0 by @rmarinho in #29737
- [net10.0] Merge main to net10 by @rmarinho in #29720
- [create-pull-request] automated change by @github-actions[bot] in #29722
- [net10.0] Update preview5 versions by @rmarinho in #29666
- [create-pull-request] automated change by @github-actions[bot] in #29701
- [ci] Update dependencies from 9.0.4 to 9.0.5 by @rmarinho in #29667
- [net10.0] Merge main to net10 by @rmarinho in #29399
- [ci] Fix Appium provisioning when no global nom exists by @rmarinho in #29607
- [2025/05/19] Candidate - In Flight Branch by @PureWeen in #29473
- [ci] Push metadata rollbacks by @rmarinho in #29401
- [2025/05/12] Candidate - In Flight Branch by @PureWeen in #29335
- [maui-release] Use DevDiv/Xamarin.yaml-templates by @pjcollins in #29385
- updated changes by @LogishaSelvarajSF4525 in #29352
- [2025/0...
9.0.71 SR7.1
What's Changed
- [release/9.0.1xx-sr7] Revert "Add Accessibility Selected for iOS CollectionView (#29014)" by @github-actions in #29854
Full Changelog: 9.0.70...9.0.71
10.0.0-preview.4.25263.4
.NET MAUI 10.0.0-preview.4 Release Notes
This release focuses on quality and stability across all platforms, with significant enhancements to input controls and collection-based views.
Getting started
Install from command line:
dotnet workload install maui --version 10.0.100-preview.4.25263.1
Known issues
When building from Visual Studio you might need to force the RoslynCompilerType
to be used by adding this property to your csproj. After making this change make sure to restart Visual studio.
<RoslynCompilerType>FrameworkPackage</RoslynCompilerType>
What's Changed
.NET MAUI Preview 4 introduces improvements across all platforms. Key highlights include nullable support for DatePicker
and TimePicker
, modernized MediaPicker
functionality for iOS and Android, fixing WebView
behavior, enhancing shadow rendering on clipped views, and improving various input controls. Several platform-specific bugs have been addressed to enhance the overall stability and reliability of the framework.
BindableLayout
- ❤️ [All] Improved reliability by properly disconnecting handlers by @albyrock87 in #27450
CarouselView
- 🛠️ [iOS] Fixed changing carousel view orientation with disabled loop by @kubaflo in #28545
- 🛠️ [All] Fixed
ItemsUpdatingScrollMode
so the view keeps position when the collection changes by @SuthiYuvaraj in #26608
CollectionView
- 🛠️ [iOS] Fixed footer sizing when the source is empty by @kubaflo in #28610
- 🛠️ [Windows] Fixed crash when
EmptyView
is reused after navigation by @KarthikRajaKalaimani in #28367 - 🛠️ [iOS] Resolved proper rendering of dynamic header/footer updates by @prakashKannanSf3972 in #28641
- 🛠️ [iOS] Fixed
TargetInvocationException
when selecting header/footer after changingItemsLayout
by @Ahamed-Ali in #28890
DatePicker
- ✅ [All] Added nullable support for
Date
,MinimumDate
, andMaximumDate
properties by @jfversluis in #27921 - 🛠️ [Windows] Fixed text and icon color issues when hovering over the DatePicker by @Ahamed-Ali in #27147
Entry
- 🛠️ [iOS] Fixed
CursorPosition
property not being applied correctly by @praveenkumarkarunanithi in #27220
FlyoutPage
- 🛠️ [Windows] Fixed
IsPresented
property not updating correctly by @devanathan-vaithiyanathan in #28471 - 🛠️ [iOS] Fixed FlyoutPage not responding to changes in the
FlyoutLayoutBehavior
property by @devanathan-vaithiyanathan in #28884 - 🛠️ [Windows] Fixed flyout content width not being set correctly after updating to WinUI SDK 1.7 by @Tamilarasan-Paranthaman in #28996
Graphics
- 🛠️ [Android] Fixed
ScalingCanvas.SetBlur
method not working correctly by @NirmalKumarYuvaraj in #28911
ImageButton
- 🛠️ [Android] Fixed padding issues that caused double padding (ContentPadding + Padding) by @jsuarezruiz in #25223
MediaPicker
- ✅ [iOS] Modernized MediaPicker implementation with improved APIs by @jfversluis in #28920
- ✅ [Android] Updated to use new Photo Picker API for modern Android experience by @phunkeler in #24027
- 🛠️ [iOS] Fixed
File.ContentType
from MediaPicker not being in valid MIME format by @SyedAbdulAzeemSF4852 in #28842
Navigation
- 🛠️ [iOS] Fixed back-navigation with swipe gesture navigating back twice by @kubaflo in #28485
- 🛠️ [Windows] Fixed BackButton visibility issue when switching tabs without NavigationPage by @Vignesh-SF3580 in #28371
Picker
- 🛠️ [Windows] Fixed Visual State issue with Picker TextColor after navigation by @prakashKannanSf3972 in #28853
Shadow
- 🛠️ [Windows] Fixed shadow not updating when clipping a view with a shadow by @NirmalKumarYuvaraj in #27873
- ❤️ [Android/iOS] Improved shadow rendering on Android and fixed shadow clipping on iOS by @albyrock87 in #26789
SwipeView
TabbedPage
- 🛠️ [Android] Fixed incorrect text color applied to selected tab by @Ahamed-Ali in #28844
- 🛠️ [iOS] Fixed TabBar disappearing when navigating back from page with hidden TabBar in iOS 18 by @SuthiYuvaraj in #27582
TabBar
- 🛠️ [iOS] [Android] Fixed FontImageSource color not being applied properly to the Tab Icon by @Tamilarasan-Paranthaman in #26757
TimePicker
- ✅ [All] Added nullable support for
Time
property by @jfversluis in #27930
WebView
- 🛠️ [Windows] Fixed
Navigated
event being called even after cancelling the Navigation by @sankaranarayananr in #28340 - 🛠️ [iOS] Fixed transparent
BackgroundColor
not being applied correctly by @Tamilarasan-Paranthaman in #28804
Additional Updates
Dependency Updates
- ℹ️ [Android] Fixed
Android
namespace conflicts by @jonpryor in #28771 - ✅ [Windows] Upgraded to Windows App SDK 1.7 by @MartyIX in #28499
- ❤️ [CI] Updated Arcade to latest version for improved build reliability by @rmarinho in #28701
- ❤️ [CI] Updated Arcade for .NET 10 by @rmarinho in #28980
- ❤️ [CI] Updated Arcade to latest version by @rmarinho in #29000
- 🛠️ [CI] Fixed publishing of files with Arcade by @rmarinho in #28707
- 🛠️ [CI] Fixed internal main build process by @rmarinho in #28709
- ❤️ [CI] Improved CI builds with fixes for dnceng builds by @rmarinho in #28671
- ❤️ [CI] Updated stable versions by @rmarinho in #29124
- ❤️ [CI] Updated AspNet.Security.OAuth.Apple by @rmarinho in #29250
- ❤️ [.NET 10] Updated SDK and runtime for preview4 channel by @rmarinho in #29246
- ❤️ [.NET 10] Updated dependencies from dotnet/android in multiple PRs
- ❤️ [.NET 10] Updated dependencies from dotnet/sdk in multiple PRs
- ❤️ [.NET 10] Updated dependencies from dotnet/macios in multiple PRs
- ❤️ Updated dependencies from dotnet/xharness in multiple PRs
- ❤️ Updated global.json by @rmarinho in #29102
- 🛠️ [All] Fixed
System.MissingMethodException
inPropertyPropagationExtensions
by @albyrock87 in #28456 - ❤️ [iOS] Made
IShape
inMauiCALayer
aWeakReference
to prevent memory leaks by @albyrock87 in #28412 - ❤️ [All] Updated XHarness CLI to version 10.0.0-prerelease.25214.3
Framework Enhancements
- ✅ [XAML] Added
IRootObjectProvider
to support advanced XAML scenarios by @StephaneDelcroix in #28310
Testing Infrastructure
- ❤️ [Testing] Fea...
9.0.70 SR7
What's Changed
MAUI Product Fixes
- [Windows] Fix for CarouselView IsSwipeEnabled=False Prevents Visual Navigation by @SubhikshaSf4851 in #29286
- [Windows] Fix for Argument Exception raised when the GetStringSize method of ICanvas called with default font by @SyedAbdulAzeemSF4852 in #29048
- [Android] Fixed the CollectionView Header and Footer Do Not Align with Horizontal ItemsLayout When EmptyView is Displayed by @Ahamed-Ali in #28779
- Fixed - On iOS GestureRecognizers don't work on Span in a Label, which doesn't get IsVisible (=true) update from its parent by @KarthikRajaKalaimani in #29024
- Fixed Footer not displayed at the Bottom When EmptyView in CV2 by @Dhivya-SF4094 in #28681
- fixed typo in Connectivity.shared.cs by @corvin in #29213
- [Windows] Fix Dot based Date Format property in DatePicker not working on Windows by @devanathan-vaithiyanathan in #29058
- Fixed the CollectionView grouped item highlighting issue on selection by @NanthiniMahalingam in #29122
- [Android] Action mode menu doesn't disappear when switch on another tab - fix by @kubaflo in #21231
- [Android] Custom back button image color by @kubaflo in #24993
- Fixed the hide password hint which is showing when the entry is focused by @devanathan-vaithiyanathan in #25768
- Fix for Shell does not always raise Navigating event on Windows by @SuthiYuvaraj in #28315
- [Android] Fix for WebView Fails to Load URLs with Certain Encoded Characters by @praveenkumarkarunanithi in #27003
- Use latest map renderer for Android Google Maps by @jfversluis in #29007
- [iOS] DatePicker | Remove unnecessary UpdateDate() call in UpdateTextColor() by @bhavanesh2001 in #27811
- [Windows] Fix for IndicatorView using templated icons not working by @SyedAbdulAzeemSF4852 in #28905
- [Windows] Fixed BarTextColor applied to secondary toolbar items by @NirmalKumarYuvaraj in #28932
- Fixed Refresh Color not applying to RefreshView initially by @Shalini-Ashokan in #28638
- [Android][iOS] WebView Navigated event not triggered when using HtmlWebViewSource by @Tamilarasan-Paranthaman in #28354
- [Windows] - Handle Dynamic Updates for CanDrag and AllowDrop in Drag and Drop Gesture by @prakashKannanSf3972 in #27845
- Fixes footer position not updated on CV1 when clearing all items by @albyrock87 in #29173
- Fix CarouselView layout SR6 regressions by @albyrock87 in #29035
- [Windows] Fixed the flyout content width not being set correctly after updating to WinUI SDK 1.7 by @Tamilarasan-Paranthaman in #28996
- [iOS] Fix for the File.ContentType from MediaPicker not being in valid MIME format by @SyedAbdulAzeemSF4852 in #28842
- [Android] Fixed the Incorrect Text Color Applied to Selected Tab in TabbedPage by @Ahamed-Ali in #28844
- [iOS] Fix FlyoutPage does not respond to changes in the FlyoutLayoutBehavior property by @devanathan-vaithiyanathan in #28884
- [Android] Fixed ScalingCanvas.SetBlur not working by @NirmalKumarYuvaraj in #28911
- [iOS] - Resolved Proper Rendering of Dynamic Header/Footer Updates in CV2 by @prakashKannanSf3972 in #28641
- [iOS] Fixed the TargetInvocationException Occurs When Selecting Header/Footer After Changing ItemsLayout in CV2 by @Ahamed-Ali in #28890
- [Windows] - Fix Visual State Issue with Picker TextColor After Navigation by @prakashKannanSf3972 in #28746
- [Android] Fix for SearchHandler Placeholder did not update when changed at runtime by @Tamilarasan-Paranthaman in #28636
- [Catalyst] Fixed the CanMixGroups Set to False Still Allows Reordering Between Groups in CollectionView by @Ahamed-Ali in #28623
- [Android, iOS] Dynamically setting SearchHandler Query property does not update text in the search box by @HarishwaranVijayakumar in #28400
- [Windows] Flyout Menu Icon disappears from Window Title Bar after Navigation by @NirmalKumarYuvaraj in #28240
- Fixed ScrollView Orientation Neither issue by @Vignesh-SF3580 in #27231
- [iOS] Changing carousel view orientation with disabled loop - fix by @kubaflo in #28545
- [XC] better support for nullable props and BPs by @StephaneDelcroix in #28550
- Fixed Keyboard Scrolling in editors with Center or End VerticalTextAlignment by @NirmalKumarYuvaraj in #25827
- Stop iOS SetNeedsLayout propagation by @looking at VisualElement computed Constraint by @albyrock87 in #28479
- [Android] Fixed Setting a Label visible after having had focus on a InputView will increase the Label's height by @Ahamed-Ali in #29210
- Add Accessibility Selected for iOS CollectionView by @tj Lambert in #29014
- [iOS] Fix: FlyoutPage memory leak by @bhavanesh2001 in #28769
- [XC] add IRootObjectProvider by @StephaneDelcroix in #28310
- Fix HideSoftInputOnTapped Not Working Net9 by @SuthiYuvaraj in #28534
Testing
- [Testing] Fix for UITest Catalyst screenshot dimension inconsistency and image cropping issue by @anandhan-rajagopal in #29204
- [Testing] Fix for flaky UITests in CI that occasionally fail - 10 by @anandhan-rajagopal in #29360
- [Testing] Update failing CarouselView2 tests to use CarouselView1 in sample by @nivetha-nagalingam in #29315
- Re-enabled flaky UI test TextInEditorShouldScroll by @NirmalKumarYuvaraj in #29167
- [Testing] Re-Enabled UI Test - Issue10222Test by @TamilarasanSF4853 in #29226
- [Testing] Feature Matrix UITest Cases for CollectionView Selection Feature by @LogishaSelvarajSF4525 in #29165
- [Testing] Feature Matrix UITest Cases for CollectionView Grouping Feature by @NafeelaNazhir in #29002
- add test category for ActionModeMenuShouldNotBeVisibleAfterSwitchingTab by @bhavanesh2001 in #29159
- [Testing] Feature Matrix UITest Cases for CollectionView Scrolling Feature by @NafeelaNazhir in #29230
- [Testing] Feature Matrix UITest Cases for CollectionView EmptyView Feature by @NafeelaNazhir in #28679
- [Testing] Fix for flaky tests which randomly fails on CI - 10 by @anandhan-rajagopal in #29026
- [Testing] Update UIAutomator2 driver version by @rmarinho in #29029
- Changes to fix Android emulators boot issues on Linux by @jsuarezruiz in #28882
- Update UIAutomator2 driver version by @jsuarezruiz in https://github.com/dotnet/maui/pull/6eda8edcb9
- Add retries and avoid Appium Doctor on Linux by @jsuarezruiz in #28845
- [Testing] Feature Matrix UITest Cases for CollectionView Header/Footer Feature by @LogishaSelvarajSF4525 in #28938
- Fixed testcase failures in PR28867 by @Vignesh-SF3580 in #28889
- Fixed Test case failure in PR 28486 by @Vignesh-SF3580 in #28780
- [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 8 by @TamilarasanSF4853 in #28496
- Fix mistake in RadioButtonTests.Windows.cs by @jsuarezruiz in https://github.com/dotnet/maui/pull/d0c2ac6bf6
- [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 3 by @anandhan-rajagopal in #28103
- [Testing] Fix some Flaky UI tests that fails on android by @bhavanesh2001 in #28956
Dependency Updates
- Bump Microsoft.Web.WebView2 from 1.0.2903.40 to 1.0.3179.45 by @MartyIX in #29139
- [Windows] Upgrade to Windows App SDK 1.7 by @MartyIX in #28499
- Update dependencies from https://github.com/dotnet/xharness build 20250409.2 by @dotnet-maestro[bot] in #28963
- Update dependencies from https://github.com/dotnet/xharness build 20250407.3 by @dotnet-maestro[bot] in #28892
Housekeeping
9.0.61 SR6.1
What's Changed
- [release/9.0.1xx-sr6] Avoid qualified name in x:Type binding for Blazor Hybrid template by @github-actions in #29011
- Backport CarouselView layout SR6 regressions by @albyrock87 in #29062
- [release/9.0.1xx-sr6] [Android] Fixed Setting a Label visible after having had focus on a InputView will increase the Label's height by @github-actions in #29357
Full Changelog: 9.0.60...9.0.61