← Back to MAUI Releases
Jakub Florkowski
@bhavanesh2001
@Ahamed-Ali
Alberto Aldegheri
@praveenkumarkarunanithi
@VitalyKnyazev
@SyedAbdulAzeemSF4852
Shane Neuville
Gerald Versluis
Matthew Leibowitz
@Tamilarasan-Paranthaman
@symbiogenesis
@prakashKannanSf3972
@aheubusch
@Jon2G
@HarishwaranVijayakumar
@Shalini-Ashokan
Javier Suárez
@BagavathiPerumal
@Dhivya-SF4094
@jonathanantoine
@NanthiniMahalingam
@anandhan-rajagopal
Rui Marinho
@HarishKumarSF4517
9.0.90 SR9
Contributors
.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 Jakub Florkowski in https://github.com/dotnet/maui/pull/30453 - Fixes #30147
- [iOS][Shell]Tab becomes blank after specific navigation pattern - fix by Jakub Florkowski in https://github.com/dotnet/maui/pull/29825 - Fixes #29798, #30280
- [iOS] Assign PresentationController.Delegate to handle swipe-to-dismiss fallback by @bhavanesh2001 in https://github.com/dotnet/maui/pull/30289 - Fixes #30282
- [iOS] Fix for CarouselView ItemSpacing property in ItemsLayout not working with CV2 by @Ahamed-Ali in https://github.com/dotnet/maui/pull/27056 - Fixes #27025
- [Android] Fix OnIdiom threading issue by removing using statements in DeviceInfo by @Copilot in https://github.com/dotnet/maui/pull/30288 - Fixes #29853
- Skip useless handler mappings calls while connecting by Alberto Aldegheri in https://github.com/dotnet/maui/pull/27259 - Fixes #17303
- Update Permissions.ios.tvos.watchos.cs by Jakub Florkowski in https://github.com/dotnet/maui/pull/29180 - Fixes #29172
- [Android] Controls Disappear When WebView is Used with Hardware Acceleration Disabled by @praveenkumarkarunanithi in https://github.com/dotnet/maui/pull/28934 - Fixes #28902
- Fix for Handler not disconnected when removing a non-visible page from the navigation stack by @praveenkumarkarunanithi in https://github.com/dotnet/maui/pull/30049 - Fixes #29923
- [Android] Removing outdated menu items as Android can delete them after switching activities by @VitalyKnyazev in https://github.com/dotnet/maui/pull/28767 - Fixes #24357
- [iOS] SwipeView Closes when Content Changes - fix by Jakub Florkowski in https://github.com/dotnet/maui/pull/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 https://github.com/dotnet/maui/pull/29936 - Fixes #21886
- Revert “Fix up relevant CA1416 warnings - Set 3 (#26751)” by Shane Neuville in https://github.com/dotnet/maui/pull/30421 - Fixes #30426, #30350
- [main] Revert “[Android, iOS] Dynamically setting SearchHandler Query property does not update text in the search box (#28400)” by Shane Neuville in https://github.com/dotnet/maui/pull/30250
- Reinstate iOS13+ guards by Gerald Versluis in https://github.com/dotnet/maui/pull/30268 - Fixes #30266
- Fix CV1 GridItemsLayout centering single item AND Fix Empty view not resizing when bounds change by Alberto Aldegheri in https://github.com/dotnet/maui/pull/29639 - Fixes #29634, #29595
- Revert - Fixed the Label not sized correctly on Android by @Ahamed-Ali in https://github.com/dotnet/maui/pull/30023
- [Android] Prevent Picker from Gaining Focus on Touch by @bhavanesh2001 in https://github.com/dotnet/maui/pull/29068 - Fixes #19739, #15394, #24862, #21704, #13503, #8546, #28121
- [iOS, Mac] Fix for downsized image retaining original dimensions in GraphicsView by @SyedAbdulAzeemSF4852 in https://github.com/dotnet/maui/pull/30007 - Fixes #30006
- Weak subscription to CanExecuteChange events by Shane Neuville in https://github.com/dotnet/maui/pull/29837 - Fixes #16124
- Revert “Fixes Setting BackgroundColor to null does not actually changes BackgroundColor #22914 (#22917)” by Matthew Leibowitz in https://github.com/dotnet/maui/pull/30031 - Fixes #30024
- [Windows] Fixed runtime update issue for SearchBar PlaceholderColor and BackgroundColor by @Tamilarasan-Paranthaman in https://github.com/dotnet/maui/pull/29965 - Fixes #29962
- ScrollView’s Background on iOS by Jakub Florkowski in https://github.com/dotnet/maui/pull/25541 - Fixes #24016
- Update SetterSpecificity.cs Remove Extra Line From Bad Merge by Shane Neuville in https://github.com/dotnet/maui/pull/29987
- Add defensive IsAlive check to Android ViewExtensions.OnUnloaded by Gerald Versluis in https://github.com/dotnet/maui/pull/29934 - Fixes #28051
- Optimize converters for GridLength, ColumnDefinition, and RowDefinition by @symbiogenesis in https://github.com/dotnet/maui/pull/20048
- Enabled-MultiTouch-iOS by @prakashKannanSf3972 in https://github.com/dotnet/maui/pull/29895 - Fixes #29461
- [android] Fallback to default icons in SearchHandler by @aheubusch in https://github.com/dotnet/maui/pull/25067
- Fixed the picker title’s color by Jakub Florkowski in https://github.com/dotnet/maui/pull/23075 - Fixes #16737
- Fixes Setting BackgroundColor to null does not actually changes BackgroundColor #22914 by @Jon2G in https://github.com/dotnet/maui/pull/22917 - Fixes #22914, #19576
- [iOS] CarouselView with CarouselViewHandler2 make app crash when Loop=“False” and user scroll to the last position - fix by Jakub Florkowski in https://github.com/dotnet/maui/pull/26868 - Fixes #26863
- [Windows] Implemented the Resize and Downsize functions in the W2DImage class by @HarishwaranVijayakumar in https://github.com/dotnet/maui/pull/29138 - Fixes #16767
- [iOS] Fix SwipeView programmatic open when background color is set by @Shalini-Ashokan in https://github.com/dotnet/maui/pull/29765 - Fixes #17204
- [iOS] FormattedText with text color causes stack overflow - fix by Jakub Florkowski in https://github.com/dotnet/maui/pull/29874 - Fixes #29851
- [iOS] Fix AdaptiveTrigger not working as expected by Javier Suárez in https://github.com/dotnet/maui/pull/20987 - Fixes #19197
- Templated indicator view - improvements by Jakub Florkowski in https://github.com/dotnet/maui/pull/25642 - Fixes #25598
- [iOS] Fix for Flyout title is not broken over multiple lines when you rotate your screen by @BagavathiPerumal in https://github.com/dotnet/maui/pull/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 https://github.com/dotnet/maui/pull/29288 - Fixes #10025
- Fix TapCoordinates method in Catalyst by Javier Suárez in https://github.com/dotnet/maui/pull/29775 - Fixes #19754
- Fixed ItemSpacing on CarouselView resizes items [Android] by @Dhivya-SF4094 in https://github.com/dotnet/maui/pull/29796 - Fixes #29609
- Perf : ButtonContentTypeConverter now using InvariantCulture to parse… by @jonathanantoine in https://github.com/dotnet/maui/pull/25393
- Update the comment for the test properties by Matthew Leibowitz in https://github.com/dotnet/maui/pull/27306
- ToolbarItem behavior with ImageSource iOS - fix by Jakub Florkowski in https://github.com/dotnet/maui/pull/28833 - Fixes #28822
- [Android] Fixed Button Shadow Color Transparency Not Applied Correctly by @NanthiniMahalingam in https://github.com/dotnet/maui/pull/29371 - Fixes #29325
- Don’t call NSAttributedString with HTML from a background thread by Jakub Florkowski in https://github.com/dotnet/maui/pull/26153 - Fixes #25946
Dependency Updates
- Update Versions.props NET9 SR9 servicing bump by Shane Neuville in https://github.com/dotnet/maui/pull/30519
- Update Versions.props 9.0.90 SR9 versioning by Shane Neuville in https://github.com/dotnet/maui/pull/29909
- Bump to 1.7.250606001 of WindowsAppSDK by Shane Neuville in https://github.com/dotnet/maui/pull/29915
- Update MicrosoftCodeAnalysisPublicApiAnalyzers and MicrosoftCodeAnalysisBannedApiAnalyzers to 4.14.0 by @Copilot in https://github.com/dotnet/maui/pull/30213
Testing
- [Testing] Disabling the Essentials Geocoding failing tests on Windows by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/30508
- Fixed Test case(Issue28798) failure in PR 30306 - [6/30/2025] Candidate by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/30413
- Fixed Test case failure in PR 30306 - [6/30/2025] Candidate by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/30315
- [Testing] Feature Matrix UITest Cases for Switch Control by Javier Suárez in https://github.com/dotnet/maui/pull/29950
- [Testing] Feature matrix UITest Cases for Entry Control by Javier Suárez in https://github.com/dotnet/maui/pull/30033
- [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 6 by Javier Suárez in https://github.com/dotnet/maui/pull/28399
- [Testing] Feature matrix UITest Cases for Image Control by Javier Suárez in https://github.com/dotnet/maui/pull/29832
- [Testing] Fix for flaky device test BlazorWebViewUsesStartPath on Windows by Javier Suárez in https://github.com/dotnet/maui/pull/29966
- [Testing] Feature matrix UITest Cases for ImageButton Control by Javier Suárez in https://github.com/dotnet/maui/pull/29968
- [Testing] Feature Matrix UITest Cases for ProgressBar Control by Javier Suárez in https://github.com/dotnet/maui/pull/29980
- [Testing] Add Validation Test For Issue28051 On Android by Javier Suárez in https://github.com/dotnet/maui/pull/30026
- [Testing] Fixed Test case failure in PR 30115 - [2025/06/23] Candidate by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/30136
- [Testing] Enable HandlerDoesNotLeak for Button and ProgressBar by Javier Suárez in https://github.com/dotnet/maui/pull/29896
- [Testing] Feature matrix UITest Cases for BoxView Control by Javier Suárez in https://github.com/dotnet/maui/pull/29808
- [Testing] Feature Matrix UITest Cases for Button by Javier Suárez in https://github.com/dotnet/maui/pull/29803
- [Testing] Re-Fix for flaky UITests RotatingCollectionViewWithHTMLShouldNotHangOrCrash in CI that occasionally fails by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/30239
- [Testing] Fix ADB Key Generation Failure on CI by Javier Suárez in https://github.com/dotnet/maui/pull/30092
- [Testing] Feature Matrix UITest Cases for RadioButton by Javier Suárez in https://github.com/dotnet/maui/pull/29744
- [Testing] Feature Matrix UITest Cases for CollectionView ItemsSource Feature by Javier Suárez in https://github.com/dotnet/maui/pull/29322
- [Testing] Feature Matrix UITest Cases for Stepper by Javier Suárez in https://github.com/dotnet/maui/pull/29731
- [Testing] Feature Matrix UITest Cases for CheckBox Control by Javier Suárez in https://github.com/dotnet/maui/pull/29739
- [Testing] Updated FlakyTestAttribute to allow retries by Javier Suárez in https://github.com/dotnet/maui/pull/27772
- [Testing] Recover the uitest-build task on Android cake by Javier Suárez in https://github.com/dotnet/maui/pull/28452
- Update Test HostApp to not use TableView by Javier Suárez in https://github.com/dotnet/maui/pull/28830
- Changes in provisioning to fix fails installing Appium on Linux by Javier Suárez in https://github.com/dotnet/maui/pull/29105
- Add retries to all tests related to checking for weak references by Shane Neuville in https://github.com/dotnet/maui/pull/29957
- Fix for flaky tests by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/30088
- Update Issue25946.xaml by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/30025
- Fixed Test case failure in PR 26153 - iOS by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/29906
- Fixed Test case failure in PR 25642 - snapshots by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/29881
- Update Issue8870.cs by @anandhan-rajagopal in https://github.com/dotnet/maui/pull/30200
Docs
- Clean up unreferenced API Docs XML files by Gerald Versluis in https://github.com/dotnet/maui/pull/30141
- Update README.md with link to .NET MAUI for .NET 10 by @Copilot in https://github.com/dotnet/maui/pull/29578
- Add code formatting instructions to GitHub Copilot development guidelines by @Copilot in https://github.com/dotnet/maui/pull/30230
Housekeeping
- [ci] Fix issue with duplicate License on msi by @github-actions[bot] in https://github.com/dotnet/maui/pull/30569
- [ci] Fix issue with duplicate License on msi by @github-actions[bot] in https://github.com/dotnet/maui/pull/30568
- Merge June 30th Candidate into SR9 by Shane Neuville in https://github.com/dotnet/maui/pull/30523
- [ci] Update dotnet eng arcade by Rui Marinho in https://github.com/dotnet/maui/pull/30498
- [main] Workaround REVOCATION in .NET 10 by setting DOTNET_SYSTEM_NET_SECURITY_NOREVOCATIONCHECKBYDEFAULT by @github-actions[bot] in https://github.com/dotnet/maui/pull/30514
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/30232
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/30184
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/30150
- [ci] Remove reboot by Rui Marinho in https://github.com/dotnet/maui/pull/30497
- [ci] Use new maui release variable group by Rui Marinho in https://github.com/dotnet/maui/pull/30146
- Fix Appium Swipe actions on Mac by Javier Suárez in https://github.com/dotnet/maui/pull/30436
- [ci] Fix provision profiles by Rui Marinho in https://github.com/dotnet/maui/pull/30470
- [ci] Small pipelines fixes by Rui Marinho in https://github.com/dotnet/maui/pull/30419
- Pass tsaUploadEnabled along by Matthew Leibowitz in https://github.com/dotnet/maui/pull/30423
- [Copilot] Pull out copilot instructions updates from PR #30337 by @Copilot in https://github.com/dotnet/maui/pull/30396
- [ci] Add variable group to yaml and not on azdo UI by Rui Marinho in https://github.com/dotnet/maui/pull/30391
- Clean up .NET versions in bug report template by Gerald Versluis in https://github.com/dotnet/maui/pull/30343
- [ci] Revert changes pushing with dotnet key by Rui Marinho in https://github.com/dotnet/maui/pull/30346
- Update bug-report.yml 9.0.81 SR8.1 by Shane Neuville in https://github.com/dotnet/maui/pull/30335
- Extract enhanced copilot instructions from PR #30300 by @Copilot in https://github.com/dotnet/maui/pull/30304
- Update bug-report.yml with 9.0.80 by Shane Neuville in https://github.com/dotnet/maui/pull/30326
- Don’t generate the typescript file locally by Matthew Leibowitz in https://github.com/dotnet/maui/pull/30258
- [copilot] Extract copilot instructions updates from PR 30291 for handling existing PRs by @Copilot in https://github.com/dotnet/maui/pull/30298
- [2025/06/23] Candidate - In Flight Branch by Shane Neuville in https://github.com/dotnet/maui/pull/30115
- [housekeeping] Dispatch MainPage reset to UI thread to prevent crash in HostApp by @bhavanesh2001 in https://github.com/dotnet/maui/pull/30272
- Update Controls.TestCases.HostApp.csproj by @HarishKumarSF4517 in https://github.com/dotnet/maui/pull/30124
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/30078
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/30043
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/30019
- [houekeeping] update namespaces in hostapp and shared tests projects by @bhavanesh2001 in https://github.com/dotnet/maui/pull/29904
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/29875
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/29792
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/29760
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/29993
- Update copilot-setup-steps.yml to add the local dotnet to PATH by Matthew Leibowitz in https://github.com/dotnet/maui/pull/30042
- Setup Copilot development environment for .NET MAUI by @Copilot in https://github.com/dotnet/maui/pull/29991
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/29945
- [apis] Mark apis as shipped in the latest sr8 by Rui Marinho in https://github.com/dotnet/maui/pull/29928
- [ai] Improve the release prompt by Rui Marinho in https://github.com/dotnet/maui/pull/29867
- Update bug-report.yml by Shane Neuville in https://github.com/dotnet/maui/pull/29912
- Build the project first before formatting by Matthew Leibowitz in https://github.com/dotnet/maui/pull/30233
- Update dotnet-format-daily.yml by Matthew Leibowitz in https://github.com/dotnet/maui/pull/30231
- [ci] Add a way to open insiders to cake by Rui Marinho in https://github.com/dotnet/maui/pull/30211
- Fix update-cgmanifest.ps1 script to generate deterministic output by @Copilot in https://github.com/dotnet/maui/pull/30117
- Use the known working version of platform-tools by Matthew Leibowitz in https://github.com/dotnet/maui/pull/30173
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/30185
- [create-pull-request] automated change by @github-actions[bot] in https://github.com/dotnet/maui/pull/30151
- [ci] try do full build on dnceng by Rui Marinho in https://github.com/dotnet/maui/pull/27456
- Update TSA area path configuration for .NET MAUI by @Copilot in https://github.com/dotnet/maui/pull/30142
- Update copilot-instructions.md with PR testing notes by Matthew Leibowitz in https://github.com/dotnet/maui/pull/30138
- Clean up copilot workspace after setup steps by @Copilot in https://github.com/dotnet/maui/pull/30113
- [2025/06/16] Candidate - In Flight Branch by Shane Neuville in https://github.com/dotnet/maui/pull/29886
- Ping just David on breaking changes by Gerald Versluis in https://github.com/dotnet/maui/pull/30030
- Add overrides to Help with Obsoleting Compatibility.Layout by Shane Neuville in https://github.com/dotnet/maui/pull/30058
Full Changelog: https://github.com/dotnet/maui/compare/9.0.82…9.0.90