Breaking Changes
- Change iOS SetNeedsLayout propagation mechanism by @albyrock87 in #26629
- Overriding SetNeedsLayout on MauiView to short-circuit invalidation propagation will no longer work. We will be looking into a way to still provide this behavior, if necessary, in an upcoming PR, and will be watching closely for any potential issues that may arise.
- Improve PropertyMapper performance by @albyrock87 in #28077
- This PR will change the ordering of some of the mappers. In theory, mapper ordering shouldn't really matter, but occasionally, issues with ordering do tend to creep in.
Highlights
- Improve PropertyMapper performance by @albyrock87 in #28077
- Update SkiaSharp by @mattleibow in #26373
- Change iOS SetNeedsLayout propagation mechanism by @albyrock87 in #26629
What's Changed
- Update the version of SkiaSharp used by SVG by @mattleibow in #28233
- Adds very basic CSS support for Border by @sthewissen in #27529
- Update comments by @APoukar in #27658
- [iOS] Added PermissionStatus.Limited for Contacts by @kubaflo in #27694
- Adds CSS support for shadows and a simpler way of defining shadows in XAML by @sthewissen in #27180
- Fix the Collection view empty view not fill the vertical space by @Shalini-Ashokan in #27464
- [Windows] Upgrade Windows App SDK from 1.6.4 to 1.6.5 by @MartyIX in #27729
- [Windows] Fix for SearchHandler.Focused and Unfocused event never fires by @BagavathiPerumal in #27577
- [Android] Fix Cursor Not Closing in File Picker to Prevent Log Spam. by @bhavanesh2001 in #27718
- [Android] Fixed the SoftInputMode issues with modal pages by @Ahamed-Ali in #27553
- [iOS] Fix Gray Line Appears on the Right Side of GraphicsView with Decimal WidthRequest by @devanathan-vaithiyanathan in #26368
- Page cannot scroll to the bottom while using RoundRectangle by @Dhivya-SF4094 in #27451
- [iOS] Fix ShellContent Title Does Not Update at Runtime by @devanathan-vaithiyanathan in #26062
- Fixed [iOS] Navigation breaks when modal pages use PageSheet by @NanthiniMahalingam in #27765
- BarBackground with Brush in TabbedPage on theme change by @kubaflo in #24425
- [iOS] Using long-press navigation on back button with shell pages - fix by @kubaflo in #24003
- Fix for DatePicker displays incorrect date selection when navigating to next month. by @BagavathiPerumal in #26064
- Fixed Unnecessary SizeChanged Event Triggering by @Dhivya-SF4094 in #27476
- [Essentials] Longitude Validation by @kubaflo in #27784
- Fixed latitude->longitude typo by @kubaflo in #27834
- [iOS] CollectionView with header or footer has incorrect height - fix by @kubaflo in #27809
- [iOS] Fixed the Application crash when ToolbarItem is created with invalid IconImageSource name by @Ahamed-Ali in #27175
- [Android] Fix app crash caused by dynamic template switching in ListView by @BagavathiPerumal in #24808
- Fixed Toolbar IconImageSource not updating with Binding Changes by @NirmalKumarYuvaraj in #27402
- [iOS] Fixed a crash in CarouselViewHandler2 on iOS 15. by @Ahamed-Ali in #27871
- [Android] Android: Native View not set exception on modal page - fix by @kubaflo in #27891
- [iOS/MacCatalyst] Use newer API in FilePicker by @MartyIX in #27521
- [Android] Map FlowDirection of shell to PlatformView on Android by @mohsenbgi in #23473
- Mark VerifyInitialEntryReturnTypeChange and VerifyGraphicsViewWithoutGrayLine tests as flaky by @jfversluis in #27776
- Fix CSS Hot Reload - Handle fingerprint when hot reloading scoped CSS bundles by @spadapet in #27788
- [iOS] CV1's footer doesn't increase its size - fix by @kubaflo in #27979
- [iOS] CollectionView 1's doesn't adjust its offset when resizing a footer by @kubaflo in #27963
- [Android] Properly Resolve File Paths in FilePicker When MANAGE_EXTERNAL_STORAGE is Granted by @bhavanesh2001 in #27975
- [ci] Publish workload VS insertion zips by @pjcollins in #28016
- [Android] Fix crash starting the swipe on SwipeView inside CollectionView by @jsuarezruiz in #27669
- Applying visibility change to child controls by @kubaflo in #20154
- Fixed CheckBox enabled color is not updated properly by @NanthiniMahalingam in #26399
- Update DEVELOPMENT.md to clarify .NET SDK version needed by @jfversluis in #28031
- [android] move
IsDispatchRequiredImplementation()
to Java by @jonathanpeppers in #27936 - remove Dispose call on ShellItemRenderer by @pictos in #27890
- [BindingSG] Added Binding.Create support for xaml generated sources by @jkurdek in #27610
- add DebuggerTypeProxy for Shell by @pictos in #27989
- [Windows] Fixed NRE when clearing ListView after navigating back by @SubhikshaSf4851 in #27274
- [Windows] Fix for issues caused by setting Shell.FlyoutWidth on WinUI when binding context values are changed by @Tamilarasan-Paranthaman in #27151
- [code style] Prefer file-scope namespaces by @MartyIX in #28040
- [MacCatalyst] Picker focus events by @kubaflo in #27973
- [Android] Fixed the ScrollbarVisibility issues by @Ahamed-Ali in #27613
- Fixed FontImageSource icon color does not change in the TabbedPage when dynamically updated. by @NirmalKumarYuvaraj in #27742
- [iOS] Fixed ImageButton not honoring Padding value. by @NirmalKumarYuvaraj in #26785
- [Windows] Optimize formatted labels by @MartyIX in #28073
- IsNullOrEmpty for Paint not returning true if Color(s) are not set by @mos379 in #15668
- [Windows] Bump
Microsoft.Web.WebView2
from1.0.2792.45
to1.0.2903.40
by @MartyIX in #24329 - [Android] [Shell] Ensure
AnimationFinished
is called when app backgrounds mid-animation by @albyrock87 in #27534 - [ci] Publish VS workload zips by @pjcollins in #28145
- Start shipping WorkloadDependencies.json by @Redth in #28149
- Fixed the CollectionView scroll the content inside Editor when tapping to get focus on it by @NanthiniMahalingam in #27851
- [android] add AOT profile for
dotnet new maui -sc
by @jonathanpeppers in #28172 - [Bindings SG] Filter out false positive Binding.Create matches by @jkurdek in #28138
- Fix CSS Hot Reload on iOS device by @spadapet in #27812
- Fix Crashing issue with keyboard scrolling iOS by @tj-devel709 in #28148
- Revert "Fix FlyoutPage ShouldShowToolbarButton when overridden to return false, still shows button in title bar" by @NirmalKumarYuvaraj in #28189
- Fixed Navigation Toolbar Visibility Issue on Dynamic Flyout Reset in FlyoutPage. by @prakashKannanSf3972 in #28209
- [CollectionView] Crash occurs when switching CollectionView.IsVisible right after setting ItemsSource by @kubaflo in #28194
- Fix NullReferenceException in PaintExtensions.IsSolid on Android by @jadenrogers in #28116
- [HybridWebView] Properly managed response streams by @mattleibow in #28230
- Replace deprecated iOS OpenUrl by @jfversluis in #28160
- Patch in a temporary location by @mattleibow in #28278
- Add attempt number to failed builds by @mattleibow in #28280
- [HybridWebView] Always complete web requests by @mattleibow in #28286
- Check if RefreshControl is enabled on iOS by @PureWeen in #28360
Localization
- Localized file check-in by OneLocBuild Task: Build definition ID 13330: Build ID 11064473 by @dotnet-bot in #27982
- Localized file check-in by OneLocBuild Task: Build definition ID 13330: Build ID 11029468 by @dotnet-bot in #27789
- [Localization] Add Localization tests and other fixes by @tj-devel709 in #25620
- LEGO: Pull request from lego/hb_7241b85a-f216-4d55-a9fa-d8030c736df5_20250219211456120 to main by @csigs in #27915
- Add ISO information to Locale API documentation by @jfversluis in #27746
Testing
- Add test run message to device tests logs by @albyrock87 in #27993
- Fix broken/unreliable UI tests by @albyrock87 in #28125
- [Testing] Enabling UITest Stepper actions for Maccatalyst by @LogishaSelvarajSF4525 in #28055
- [Testing] Fix for flaky UITests in CI that occasionally fail - 4 by @HarishKumarSF4517 in #28137
- 2025-3-3-docs-UiTesting.md-improvements by @BrayanKhosravian in #28143
- Fix incorrect MAC Image by @PureWeen in #28265
- [test] Run Android device tests on linux by @rmarinho in #28192
- [Testing] Enabling more UI Tests by removing platform specific condition - 16 by @TamilarasanSF4853 in #27968
- [Testing] Enabling more UI Tests by removing platform specific condition - 17 by @HarishKumarSF4517 in #28011
- [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 4 by @TamilarasanSF4853 in #28105
- [Testing] Run tests verifying snapshots on mac now that's possible by @jsuarezruiz in #27893
- [Testing] More changes in capabilities to adjust Appium timeouts by @jsuarezruiz in #27675
- [tests] Run tests on x64 only for devices controls by @rmarinho in #27714
- Fix Modal Test using correct Page by @tj-devel709 in #28250
- [Testing] Fix for flaky UITests in CI that occasionally fail - 5 by @HarishKumarSF4517 in #28269
- Disable test recently re-enabled BindingUpdatesFromInteractiveRefresh by @PureWeen in #28314
- [Testing] Implement the option to change system theme on Appium by @jsuarezruiz in #28025
- [Testing] Fix for flaky UITests in CI that occasionally fail - 3 by @NafeelaNazhir in #27905
- [Testing] Fix for flaky UITests in CI that occasionally fail. by @nivetha-nagalingam in #27453
- [Testing] Enabling more UI Tests by removing platform specific condition - 2 by @LogishaSelvarajSF4525 in #27500
- [Testing] Enabling more UI Tests by removing platform specific condition - 14 by @LogishaSelvarajSF4525 in #27906
- [Testing] Enabling ContextMenu UITests from Xamarin.UITests to Appium - 2 by @nivetha-nagalingam in #27405
- [Testing] Enabling more UI Tests by removing platform specific condition - 9 by @HarishKumarSF4517 in #27743
- [Testing] Enabling more UI Tests by removing platform specific condition - 10 by @nivetha-nagalingam in #27751
- [Testing] Migration of Compatibility.Core platform-specific unit tests into device tests - 1 by @anandhan-rajagopal in #27695
- [Testing] Fix flaky tests 6 by @jsuarezruiz in #27874
- [Testing] Enabling more UI Tests by removing platform specific condition - 12 by @LogishaSelvarajSF4525 in #27804
- [Testing] Enabling more UI Tests by removing platform specific condition - 13 by @HarishKumarSF4517 in #27904
- [Testing] Enabling more UI Tests by removing platform specific condition - 4 by @HarishKumarSF4517 in #27561
- [Testing] Fix for flaky UITests in CI that occasionally fail - 2 by @nivetha-nagalingam in #27878
- [Testing] Enabling more UI Tests by removing platform specific condition - 5 by @LogishaSelvarajSF4525 in #27564
- [Testing] Enabling ContextMenu UITests from Xamarin.UITests to Appium by @NafeelaNazhir in #27403
- [Testing] Fix flaky test 5 by @jsuarezruiz in #27733
- [Testing] Enabling more UI Tests by removing platform specific condition - 6 by @LogishaSelvarajSF4525 in #27581
- [Testing, CI] Increased threshold value to make Resizetizer unit tests pass on arm64 machines by @anandhan-rajagopal in #27684
- [Testing] Enabling more UI Tests by removing platform specific condition - 7 by @HarishKumarSF4517 in #27639
- [Testing] Implement TapCoordinates Appium action on macOS by @jsuarezruiz in #27603
- [Testing] Enabling more UI Tests by removing platform specific condition - 8 by @nivetha-nagalingam in #27681
- [Testing] Fix DragCoordinates Appium action on Mac by @jsuarezruiz in #27339
- [Testing] Enabling WebView UITests from Issues folder in Appium by @NafeelaNazhir in #27284
- [Testing] Feature Matrix UITest Cases for Slider Control by @NafeelaNazhir in #27433
- [Testing] Fix flaky UITests 7 by @jsuarezruiz in #28000
- Add missing screen shot for Issue25502 on MAC by @PureWeen in #27813
- [Testing] Enabling more UI Tests by removing platform specific condition - 1 by @HarishKumarSF4517 in #27454
- [Testing] Enabling more UI Tests by removing platform specific condition - 3 by @LogishaSelvarajSF4525 in #27501
- [Android] Testcase for Shell FlowDirection issue by @Vignesh-SF3580 in #27931
- Don't need to register ApplicationStub by @PureWeen in #27885
- [Testing] Enable the Issue417 test on iOS and Catalyst by @kubaflo in #27987
- [Testing] Enabling more UI Tests by removing platform specific condition - 11 by @LogishaSelvarajSF4525 in #27764
New Contributors
- @sthewissen made their first contribution in #27529
- @APoukar made their first contribution in #27658
- @Shalini-Ashokan made their first contribution in #27464
- @bhavanesh2001 made their first contribution in #27718
- @Dhivya-SF4094 made their first contribution in #27451
- @mohsenbgi made their first contribution in #23473
- @mos379 made their first contribution in #15668
- @BrayanKhosravian made their first contribution in #28143
- @TamilarasanSF4853 made their first contribution in #27968
- @jadenrogers made their first contribution in #28116
Full Changelog: 9.0.40...9.0.50