10.0.0-preview.3.25203.16
Pre-release
Pre-release
What's Changed
.NET MAUI Preview 3 introduces significant improvements across all platforms. Key highlights include performance optimizations for iOS CollectionView and property mapping, improved WebView capabilities, enhanced accessibility features, and numerous bug fixes for platform-specific issues. Several controls like TableView and ListView have been marked as obsolete as we continue to modernize the platform.
MAUI Product Fixes
- [Windows] Fixed the issue with SearchBar focus and unfocus events by @Ahamed-Ali in #28529
- [Android] Allow full screen videos from WebView by @jsuarezruiz in #15472
- Align the Sender between the gestures when emit the events by @jsuarezruiz in #28305
- [Improvement] Add ReturnType API for SearchBar by @redducks100 in #24906
- Update default value for LineHeight in the ToNSAttributedString method by @jsuarezruiz in #28027
- Improve iOS CollectionView performance by leveraging the new platform level invalidation mechanism by @albyrock87 in #28225
- Fix for border color of the RadioButton is visible in Windows by @SyedAbdulAzeemSF4852 in #28214
- Obsolete ListView and Cell types by @jfversluis in #28500
- [.NET 10] More public APIs related with Entry and Editor, pending TODOs by @jsuarezruiz in #28467
- Fix-added by @devanathan-vaithiyanathan in #27961
- Remove PlatformWrapperView.java setHasShadow by @jfversluis in #28245
- [Android] CarouselView: Remove rounding from SizedItemContentView that results in off-by-one pixel error by @filipnavara in #23411
- [.Net10] Make IsVisibleCore and RefreshIsVisibleProperty visible by @kubaflo in #28139
- [NET10.0] Fix parameter name for
ScrollViewerExtensions.UpdateScrollBarVisibility
by @MartyIX in #28255 - Make GraphicsViewHandler.MapBackground public by @jfversluis in #28243
- [Android] Fix: Prevent duplicate Completed event when setting ReturnType in Entry by @bhavanesh2001 in #28018
- [Mac Catalyst]
NullReferenceException
inDragAndDropDelegate
- FIX by @MartyIX in #28417 - [Essentials] Functionality to check if GPS/Location is enabled by @kubaflo in #27941
- Able to cancel WebAuthenticator.AuthenticateAsync programmatically using a CancellationToken by @marcel-silva in #26180
- Fixed content update issue when changing the ControlTemplate at runtime for a ContentPage by @sheiksyedm in #28216
- [Accessibility] Add 'button' for TalkBalk on Android Tap Gesture Recognizers by @tj-devel709 in #28393
- [Accessibility] Add Accessibility Traits to CollectionView items on iOS/Catalyst by @tj-devel709 in #27971
- Upgrade from 1.6.5 to 1.6.6 by @MartyIX in #28338
- Build windows unpackaged test app as self contained by @mattleibow in #28382
- [Windows] Fix RightToLeft is not working for Shell by @SubhikshaSf4851 in #28161
- [main] Check if RefreshControl is enabled on iOS by @github-actions[bot] in #28365
- Obsolete TableView by @jfversluis in #28302
- Mark MapReload from PickerHandler Obsolete by @jsuarezruiz in #28028
- [Windows] Fix for wrong secondary ToolbarItem size by @Tamilarasan-Paranthaman in #25550
- Always return to the browser by @mattleibow in #28286
- Make HybridWebViewHandler throw JS exceptions in C# by default by @mattleibow in #28086
- Remove pending TODOs in .NET10 by @jsuarezruiz in #28267
- Replace deprecated iOS OpenUrl by @jfversluis in #28160
- [HybridWebView] Properly managed response streams by @mattleibow in #28230
- Fix NullReferenceException in PaintExtensions.IsSolid on Android by @jadenrogers in #28116
- Improve property mapper performance by @albyrock87 in #28077
- [CollectionView] Crash occurs when switching CollectionView.IsVisible right after setting ItemsSource by @kubaflo in #28194
- Update the version of SkiaSharp used by SVG by @mattleibow in #28233
- Fixed-ToolBar-Visibility-FlyoutPage by @prakashKannanSf3972 in #28209
- Revert "Fix FlyoutPage ShouldShowToolbarButton when overridden to return false, still shows button in title bar" by @NirmalKumarYuvaraj in #28189
- Fix Crashing issue with keyboard scrolling iOS by @tj-devel709 in #28148
- Fix CSS Hot Reload on iOS device by @spadapet in #27812
- [Bindings SG] Filter out false positive Binding.Create matches by @jkurdek in #28138
- [android] add AOT profile for
dotnet new maui -sc
by @jonathanpeppers in #28172 - Fixed the CollectionView scroll the content inside Editor when tapping to get focus on it by @NanthiniMahalingam in #27851
- Change iOS SetNeedsLayout propagation mechanism by @albyrock87 in #26629
- [Android] [Shell] Ensure
AnimationFinished
is called when app backgrounds mid-animation by @albyrock87 in #27534 - Bump Microsoft.Web.WebView2 from 1.0.2739.15 to 1.0.2903.40 by @MartyIX in #24329
- IsNullOrEmpty for Paint not returning true if Color(s) are not set by @mos379 in #15668
- Optimize by @MartyIX in #28073
- [iOS] Fixed ImageButton not honoring Padding value by @NirmalKumarYuvaraj in #26785
- Update SkiaSharp by @mattleibow in #26373
- Fixed controls sample navigation crash by @kubaflo in #28069
- [.NET 10] Make DataFlowDirection enum public by @jsuarezruiz in #28631
- TextTransformUtilites -> TextTransformUtilities by @jfversluis in #28632
- Fix Tizen method parameter name misspelling by @jfversluis in #28627
- Investigating things for easier Aspire integration by @mattleibow in #24365
- Revert "[iOS] CollectionView with grouped data crashes on iOS when the groups change - fix" by @PureWeen in #28246
- Use the secondPage Handler by @tj-devel709 in #28250
- Add back TextTransformUtilites by @github-actions[bot] in #28752
- [net10.0] Enable trimmer warnings by @rmarinho in #28342
- Patch in a temporary location by @mattleibow in #28278
- ViewExtensions Async suffix consistency by @jfversluis in #28506
- Make DisplayAlert & DisplayActionSheet more consistent by adding Async by @jfversluis in #28053
Testing
- [Testing] Move Android UITests to run on Linux by @jsuarezruiz in #28513
- [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 2 by @anandhan-rajagopal in #28058
- [Testing] Fix for flaky UITests in CI that occasionally fail - 5 by @anandhan-rajagopal in #28583
- [Testing] Fix for flaky UITests related to the virtual keyboard in Android and iOS platforms by @anandhan-rajagopal in #27876
- [Testing] Fix for flaky UITests Issue18896 and disable Issue14471 test which fails in CI randomly by @HarishKumarSF4517 in #28533
- [Testing] Fix: BlankScreenOnNavigationBack on Android by @bhavanesh2001 in #28423
- [testing] Disable CheckEntitlementsForMauiBlazorOnMacCatalyst by @rmarinho in #28407
- [Testing] Moved ImageDoesNotLeak test case from Device Test to UI Test by @HarishKumarSF4517 in #28223
- [Testing] Mark BindingUpdatesFromInteractiveRefresh as flaky by @jsuarezruiz in #28369
- [test] Ignore 23608 also for Catalyst by @rmarinho in #28513
- [testing] Ignore some tests by @rmarinho in #28065
- Disable test recently re-enabled by @PureWeen in #28314
- Fix incorrect MAC Image by @PureWeen in #28265
- [test] Run Android device tests on linux by @rmarinho in #28192
- [Testing] Fix for flaky UITests in CI that occasionally fail - 4 by @HarishKumarSF4517 in #28137
- [Testing] Enabling UITest Stepper actions for Maccatalyst by @LogishaSelvarajSF4525 in #28055
- Add test run message to device tests logs by @albyrock87 in #27993
- Fix broken/unreliable UI tests by @albyrock87 in #28125
- [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 4 by @TamilarasanSF4853 in #28105
- [Testing] Enabling more UI Tests by removing platform specific condition - 17 by @HarishKumarSF4517 in #28011
- [Testing] Enabling more UI Tests by removing platform specific condition - 16 by @TamilarasanSF4853 in #27968
- Fix/workaround iOS stuck device tests by @albyrock87 in #28196
- [Testing] Fix for flaky UITests in CI that occasionally fail - 5 by @HarishKumarSF4517 in #28269
- [ci] Missing 18.0 by @rmarinho in #28307
- Move to iOS 18.0 simulators by @rmarinho in #28273
- [net10.0] [ci] Move iOS 18.0 simulators by @github-actions in #28277
- [ci] Fix platform for UItests for iOS by @github-actions in #28345
Dependency Updates
- [release/10.0.1xx-preview3] Update dependencies from dotnet/sdk by @dotnet-maestro[bot] in #28680
- [release/10.0.1xx-preview3] Update dependencies from dotnet/android by @dotnet-maestro[bot] in #28743
- Update dependencies from https://github.com/dotnet/macios build 20250401.9 by @dotnet-maestro[bot] in #28737
- [net10.0] Update dependencies from dotnet/sdk by @dotnet-maestro[bot] in #28664
- [net10.0] Update dependencies from dotnet/android by @dotnet-maestro[bot] in #28663
- Update dependencies from https://github.com/dotnet/macios build 20250326.13 by @dotnet-maestro[bot] in #28662
- Update dependencies from https://github.com/dotnet/xharness build 20250317.9 by @dotnet-maestro[bot] in #28578
- [net10.0] Update dependencies from dotnet/macios by @dotnet-maestro[bot] in #28470
- Update dependencies from https://github.com/dotnet/sdk build 20250318.31 by @dotnet-maestro[bot] in #28493
- Update dependencies from https://github.com/dotnet/sdk build 20250317.19 by @dotnet-maestro[bot] in #28459
- Update dependencies from https://github.com/dotnet/android build 10.0.0-ci.net10.25168.1+azdo.11214178 by @dotnet-maestro[bot] in #28460
- [net10.0] Update dependencies from dotnet/sdk by @dotnet-maestro[bot] in #28430
- Update dependencies from https://github.com/dotnet/android build main-d31a6bfa40d1253f1b5a1162c5a0d7d9b38efd0b-1 by @dotnet-maestro[bot] in #28420
- Update dependencies from https://github.com/dotnet/sdk build 20250314.50 by @dotnet-maestro[bot] in #28424
- Update dependencies from https://github.com/dotnet/macios build 20250313.10 by @dotnet-maestro[bot] in #28396
- Update dependencies from https://github.com/dotnet/sdk build 20250313.50 by @dotnet-maestro[bot] in #28397
- Update dependencies from https://github.com/dotnet/android build 10.0.0-ci.net10.25162.1+azdo.11181285 by @dotnet-maestro[bot] in #28383
- Update dependencies from https://github.com/dotnet/sdk build 20250312.35 by @dotnet-maestro[bot] in #28366
- [net10.0] Update dependencies from dotnet/android by @dotnet-maestro[bot] in #28356
- Update dependencies from https://github.com/dotnet/sdk build 20250312.14 by @dotnet-maestro[bot] in #28348
- [net10.0] Update net10.0 preview3 sdk/iOS/Android/runtime/aspnet by @rmarinho in #28609
- [net10.0] Update net10.0 with main by @rmarinho in #28647
- [net10.0] Update arcade net10.0 by @rmarinho in #28518
- [net10.0] Merge main to net10 by @rmarinho in #28548
- [net10.0] Merge main to net10 by @rmarinho in #28611
- [net10.0] Merge main to net10 by @rmarinho in #28445
- [ci] Update arcade and xharness by @rmarinho in #28378
- [net10.0] Merge preview 2 and main changes by @rmarinho in #28183
- Upgrade Syncfusion Toolkit version from 1.0.3 to 1.0.4 by @Choza-rajan in #28447
Docs
- Page.DisplayAlert documentation - Task vs Task by @kubaflo in #28521
- Fix API docs warnings by @jfversluis in #28469
- 2025-3-3-docs-UiTesting.md-improvements by @BrayanKhosravian in #28143
Housekeeping
- [ci] Add maui release internal by @rmarinho in #28772
- Revert "[ci] Fix naming of workloads" by @rmarinho in #28753
- [ci] Fix naming of workloads by @rmarinho in #28740
- [ci] Fix variable _UploadPathRoot by @rmarinho in #28730
- [ci] try publish the zip by @rmarinho in #28719
- [ci] Fix publish of files with arcade by @rmarinho in #28706
- [ci] Update arcade to latest by @rmarinho in #28696
- [release/10.0.1xx-preview3] [ci] Some fixes for dnceng builds by @github-actions[bot] in #28672
- [ci] Fix branding by @rmarinho in #28623
- [ci] net10 needs to allow pre release branches by @rmarinho in #28545
- Update dotnet-format-daily-main.yml by @danmoseley in #28488
- [ci] Don't use the short url for install script by @rmarinho in #28591
- Made sudo optional for linux jdk provisioning by @Redth in #28195
- [ci] Cleanup the provisionator Xcode script by @rmarinho in #28395
- Update bug-report.yml by @rmarinho in #28394
- [ci] Update arcade and xharness by @rmarinho in #28333
- [ci] Add net10.0 to triggers by @rmarinho in #28359
- Fix build by @rmarinho in #28568
- [ci] Fix provisionator by @rmarinho in #28325
- [ci] Remove workaround by @rmarinho in #28290
- Add attempt number to failed builds by @mattleibow in #28280
- Update MauiPreviousDotNetReleasedVersion to 9.0.14 by @pjcollins in #28251
- Don't throw on cleanup for CI by @PureWeen in #28248
- Fix issue not provision sign identities on Devdiv Mac's by @jsuarezruiz in #28229
- Use only major JDK version to install via homebrew by @Redth in #28224
- Update Versions.props to .NET 9 SR6 by @PureWeen in #28326
- Improve the performance of provisioning and running of device tests by @mattleibow in #28065
- [net10.0] Merge main to net10 by @rmarinho in #27967
- [ci] Publish VS workload zips by @pjcollins in #28145
- Start shipping WorkloadDependencies.json by @Redth in #28149
New Contributors
- @mos379 made their first contribution in #15668
- @BrayanKhosravian made their first contribution in #28143
- @jadenrogers made their first contribution in #28116
- @sheiksyedm made their first contribution in #28216
- @marcel-silva made their first contribution in #26180
- @danmoseley made their first contribution in #28488
- @Choza-rajan made their first contribution in #28447
- @SyedAbdulAzeemSF4852 made their first contribution in #28214
- @redducks100 made their first contribution in #24906
Full Changelog: 10.0.0-preview.2.25165.1...10.0.0-preview.3.25203.16