Skip to content

dotnet/maui

v9.0.90 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

Published 10mo Build & Package
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

android desktop .net ios maccatalyst maui
+6 more
microsoft mobile multi-platform user-interface winui winui3

Summary

AI summary

Updates Housekeeping, MAUI Product Fixes, and Testing across a mixed release.

Full changelog

.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 https://github.com/dotnet/maui/pull/30453 - Fixes #30147
  • [iOS][Shell]Tab becomes blank after specific navigation pattern - fix by @kubaflo 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 @albyrock87 in https://github.com/dotnet/maui/pull/27259 - Fixes #17303
  • Update Permissions.ios.tvos.watchos.cs by @kubaflo 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 @kubaflo 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 @PureWeen 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 @PureWeen in https://github.com/dotnet/maui/pull/30250
  • Reinstate iOS13+ guards by @jfversluis 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 @albyrock87 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 @PureWeen in https://github.com/dotnet/maui/pull/29837 - Fixes #16124
  • Revert "Fixes Setting BackgroundColor to null does not actually changes BackgroundColor #22914 (#22917)" by @mattleibow 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 @kubaflo in https://github.com/dotnet/maui/pull/25541 - Fixes #24016
  • Update SetterSpecificity.cs Remove Extra Line From Bad Merge by @PureWeen in https://github.com/dotnet/maui/pull/29987
  • Add defensive IsAlive check to Android ViewExtensions.OnUnloaded by @jfversluis 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 @kubaflo 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 @kubaflo 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 @kubaflo in https://github.com/dotnet/maui/pull/29874 - Fixes #29851
  • [iOS] Fix AdaptiveTrigger not working as expected by @jsuarezruiz in https://github.com/dotnet/maui/pull/20987 - Fixes #19197
  • Templated indicator view - improvements by @kubaflo 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 @jsuarezruiz 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 @mattleibow in https://github.com/dotnet/maui/pull/27306
  • ToolbarItem behavior with ImageSource iOS - fix by @kubaflo 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 @kubaflo in https://github.com/dotnet/maui/pull/26153 - Fixes #25946

Dependency Updates

  • Update Versions.props NET9 SR9 servicing bump by @PureWeen in https://github.com/dotnet/maui/pull/30519
  • Update Versions.props 9.0.90 SR9 versioning by @PureWeen in https://github.com/dotnet/maui/pull/29909
  • Bump to 1.7.250606001 of WindowsAppSDK by @PureWeen 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 @jsuarezruiz in https://github.com/dotnet/maui/pull/29950
  • [Testing] Feature matrix UITest Cases for Entry Control by @jsuarezruiz in https://github.com/dotnet/maui/pull/30033
  • [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 6 by @jsuarezruiz in https://github.com/dotnet/maui/pull/28399
  • [Testing] Feature matrix UITest Cases for Image Control by @jsuarezruiz in https://github.com/dotnet/maui/pull/29832
  • [Testing] Fix for flaky device test BlazorWebViewUsesStartPath on Windows by @jsuarezruiz in https://github.com/dotnet/maui/pull/29966
  • [Testing] Feature matrix UITest Cases for ImageButton Control by @jsuarezruiz in https://github.com/dotnet/maui/pull/29968
  • [Testing] Feature Matrix UITest Cases for ProgressBar Control by @jsuarezruiz in https://github.com/dotnet/maui/pull/29980
  • [Testing] Add Validation Test For Issue28051 On Android by @jsuarezruiz 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 @jsuarezruiz in https://github.com/dotnet/maui/pull/29896
  • [Testing] Feature matrix UITest Cases for BoxView Control by @jsuarezruiz in https://github.com/dotnet/maui/pull/29808
  • [Testing] Feature Matrix UITest Cases for Button by @jsuarezruiz 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 @jsuarezruiz in https://github.com/dotnet/maui/pull/30092
  • [Testing] Feature Matrix UITest Cases for RadioButton by @jsuarezruiz in https://github.com/dotnet/maui/pull/29744
  • [Testing] Feature Matrix UITest Cases for CollectionView ItemsSource Feature by @jsuarezruiz in https://github.com/dotnet/maui/pull/29322
  • [Testing] Feature Matrix UITest Cases for Stepper by @jsuarezruiz in https://github.com/dotnet/maui/pull/29731
  • [Testing] Feature Matrix UITest Cases for CheckBox Control by @jsuarezruiz in https://github.com/dotnet/maui/pull/29739
  • [Testing] Updated FlakyTestAttribute to allow retries by @jsuarezruiz in https://github.com/dotnet/maui/pull/27772
  • [Testing] Recover the uitest-build task on Android cake by @jsuarezruiz in https://github.com/dotnet/maui/pull/28452
  • Update Test HostApp to not use TableView by @jsuarezruiz in https://github.com/dotnet/maui/pull/28830
  • Changes in provisioning to fix fails installing Appium on Linux by @jsuarezruiz in https://github.com/dotnet/maui/pull/29105
  • Add retries to all tests related to checking for weak references by @PureWeen 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 @jfversluis 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 @PureWeen in https://github.com/dotnet/maui/pull/30523
  • [ci] Update dotnet eng arcade by @rmarinho 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 @rmarinho in https://github.com/dotnet/maui/pull/30497
  • [ci] Use new maui release variable group by @rmarinho in https://github.com/dotnet/maui/pull/30146
  • Fix Appium Swipe actions on Mac by @jsuarezruiz in https://github.com/dotnet/maui/pull/30436
  • [ci] Fix provision profiles by @rmarinho in https://github.com/dotnet/maui/pull/30470
  • [ci] Small pipelines fixes by @rmarinho in https://github.com/dotnet/maui/pull/30419
  • Pass tsaUploadEnabled along by @mattleibow 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 @rmarinho in https://github.com/dotnet/maui/pull/30391
  • Clean up .NET versions in bug report template by @jfversluis in https://github.com/dotnet/maui/pull/30343
  • [ci] Revert changes pushing with dotnet key by @rmarinho in https://github.com/dotnet/maui/pull/30346
  • Update bug-report.yml 9.0.81 SR8.1 by @PureWeen 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 @PureWeen in https://github.com/dotnet/maui/pull/30326
  • Don't generate the typescript file locally by @mattleibow 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 @PureWeen 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 @mattleibow 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 @rmarinho in https://github.com/dotnet/maui/pull/29928
  • [ai] Improve the release prompt by @rmarinho in https://github.com/dotnet/maui/pull/29867
  • Update bug-report.yml by @PureWeen in https://github.com/dotnet/maui/pull/29912
  • Build the project first before formatting by @mattleibow in https://github.com/dotnet/maui/pull/30233
  • Update dotnet-format-daily.yml by @mattleibow in https://github.com/dotnet/maui/pull/30231
  • [ci] Add a way to open insiders to cake by @rmarinho 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 @mattleibow 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 @rmarinho 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 @mattleibow 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 @PureWeen in https://github.com/dotnet/maui/pull/29886
  • Ping just David on breaking changes by @jfversluis in https://github.com/dotnet/maui/pull/30030
  • Add overrides to Help with Obsoleting Compatibility.Layout by @PureWeen in https://github.com/dotnet/maui/pull/30058

Full Changelog: https://github.com/dotnet/maui/compare/9.0.82...9.0.90

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track dotnet/maui

Get notified when new releases ship.

Sign up free

About dotnet/maui

All releases →

Related context

Beta — feedback welcome: [email protected]