Weekly GitHub Report for Maui: September 22, 2025 - September 29, 2025 (12:00:33)
Weekly GitHub Report for Maui
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is 9.0.90
1.2 Version Information:
The .NET MAUI 9.0.90 SR9 release, published on July 11, 2025, includes over 141 commits primarily focused on critical product fixes across iOS, Android, and Windows platforms, testing enhancements, and infrastructure updates. Key highlights include numerous bug fixes addressing UI behavior, threading issues, and control improvements, alongside dependency version bumps and expanded automated testing coverage.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
The RealParent on Microsoft.Maui.Controls.Shapes.RoundRectangle has been Garbage Collected: This issue reports a recurring error where the RealParent on Microsoft.Maui.Controls.Shapes.RoundRectangle is being garbage collected unexpectedly, which started occurring after the latest release. The user is unsure how to reproduce the problem, notes it is a regression from previous behavior, and has not found any workaround, seeking guidance on verifying the exact MAUI version and resolving the issue.
- The comments focus on clarifying the exact MAUI version in use, with suggestions to specify a fixed MAUI version in the project file and to try recompiling with different versions to identify when the bug appears. It is also noted that a related issue was fixed in a prior service release, and the user is guided on how to confirm and update to the latest MAUI version to test if the problem persists.
- Number of comments this week: 6
-
Update "Release Versions" wiki page: This issue requests an update to the "Release Versions" wiki page, which has not been maintained since Service Release 8 despite newer releases being available. The requester highlights the page's usefulness in avoiding compilation errors by knowing the correct tooling versions needed when upgrading .NET MAUI apps and asks if the documentation can be kept current or found elsewhere.
- The comments discuss the actual dependency of .NET MAUI service releases on various SDKs, noting that while the releases primarily rely on a NuGet package compatible with .NET 9 SDK, there are occasional dependencies on specific tooling versions like XCode. Commenters emphasize the practical value of the wiki page for troubleshooting version conflicts, managing multiple app frameworks, and deciding when to upgrade or pin versions to avoid bugs.
- Number of comments this week: 4
-
[Android] Picker - System.InvalidOperationException: VirtualView cannot be null here (SIGABRT) with sample: This issue describes a crash occurring on Android when a Picker popup remains visible during page navigation, causing a System.InvalidOperationException with the message "VirtualView cannot be null here" and ultimately leading to an application crash. The problem is reproducible on MAUI versions 9.0.0, 9.0.90, and 9.0.110, and it appears to be a regression introduced after version 9.0.90.
- The comments confirm the issue is reproducible on specific MAUI versions and Android, noting it does not occur on versions below 9.0.90. Additionally, a regression pull request has been identified as the likely cause of the problem.
- Number of comments this week: 2
-
Incorrect number in alt text "dot net bot in a hovercraft number nine" instead of "number ten":A11y_.NET Maui Template_Talkback: This issue reports that the alt text for an image in the .NET Maui template app incorrectly states "dot net bot in a hovercraft number nine" instead of the correct "number ten," which can mislead users relying on screen readers. The problem was observed on an Android device using Talkback, and the incorrect alt text could cause confusion or misinterpretation for visually impaired users.
- The commenters noted that the fix for this alt text was already implemented in a related pull request for the .NET 10 project and questioned the source of the reported sample, as the Developer Balance app does not use the dotnet bot image. The issue reporter provided a testing APK for verification and requested the latest APK to confirm the fix and close the issue.
- Number of comments this week: 2
-
[Android] Unexpected Line Breaks in Android, Label with WordWrap Mode Due to Trailing Space.: This issue addresses unexpected line breaks occurring in Android when using a label with LineBreakMode set to "WordWrap," where trailing spaces cause words to shift to a new line, resulting in inconsistent UI appearance. The reporter is uncertain if this behavior is intentional or a platform limitation and requests clearer documentation or a fix if it is a bug.
- The comments clarify that this behavior is intended in MAUI due to how native Android and iOS text views handle word wrapping, refusing to break words mid-word unless a different mode is used. Additionally, a discrepancy is noted between Windows and Android platforms, where Windows aligns the wrapped text correctly without leaving trailing space, but Android does not, as demonstrated with comparative images.
- Number of comments this week: 2
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
- Nullable Enums do not bind in XAML: This issue describes a problem where nullable enums do not properly bind in XAML for a bindable property within a custom control, with the setter method not being triggered during binding. The user reports that this occurs across iOS and Android platforms in version 8.0.80 SR8, and the suggested workaround is to avoid using nullable enums by adding an explicit unset or none value to the enum instead.
- App crash after invoked FilePicker.Default.PickAsync in administrator mode and release mode of the Unpackaged app: This issue describes an application crash that occurs specifically when invoking the FilePicker.Default.PickAsync method in an unpackaged app running in administrator mode and release configuration. The problem is reproducible by publishing the app with certain .NET 8.0 Windows settings, launching it as an administrator, and attempting to choose a file, which unexpectedly causes the app to crash instead of functioning normally.
- Global defined EventTriggers get triggered twice: This issue describes a problem where EventTriggers defined globally in a style cause the associated invoke method to be called twice, resulting in duplicate event handling. The user notes that applying the EventTrigger through a named style with a key triggers the invoke method only once, indicating a discrepancy in behavior between global and keyed style definitions across multiple platforms including iOS, Android, and Windows.
- Path with ArcSegments is sporadically drawn offset from expected arc: This issue describes a sporadic rendering problem in .NET Maui where arcs drawn using ArcSegment within a PathFigure or PathGeometry appear slightly offset from their expected starting positions, particularly for large arcs greater than 180 degrees. The offset causes clipping against bounds and is more noticeable with thicker strokes and near the 180-degree threshold, affecting Windows, Android, and iOS platforms, with partial workarounds involving manual line segments reducing but not fully eliminating the problem during animations.
- .NET Maui does not support FontAutoScalingEnabled for windows platform: This issue addresses the lack of support for the FontAutoScalingEnabled property in .NET Maui when running on the Windows platform, causing text labels to scale incorrectly with changes in display scaling settings. Specifically, when FontAutoScalingEnabled is set to false, the text size still increases with higher Windows display scaling factors, which should not occur according to the expected behavior.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 17
Summarized Issues:
- Android UI and Navigation Issues: Several Android-specific UI problems affect navigation and visual consistency, including persistent ToolbarItem icons from previous pages causing visual glitches, Picker popups remaining visible after navigation leading to crashes, and ControlTemplates not sizing properly without explicit height settings. These issues cause inconsistent user experiences and application crashes that lack current workarounds.
- [issues/31727, issues/31731, issues/31797]
- Crash and Exception Regressions: Multiple crashes and exceptions have been reported across platforms, such as a System.NullReferenceException in CarouselView on Windows when ItemSource is null, a Java.Lang.RuntimeException on Android due to large bitmap rendering, and garbage collection of RealParent in RoundRectangle on Android causing errors after the latest release. These regressions represent new failures compared to previous versions and impact app stability.
- [issues/31740, issues/31760, issues/31780]
- Compilation and Build Failures: Users face build and compilation issues including a XAML internal error after installing the latest Android SDKs causing project template failures, and inability to target or build .NET MAUI projects for the Tizen framework due to unrecognized platform identifiers and missing versions. These problems prevent successful project builds and raise concerns about platform support.
- [issues/31794, issues/31806]
- Styling and Accessibility Concerns: There are requests to improve UI styling and accessibility, such as enhancing the visibility of CANCEL and OK buttons in DatePicker for Dark Mode and correcting inaccurate alt text in the .NET MAUI template app that misleads screen reader users. These issues affect usability and accessibility compliance.
- [issues/31739, issues/31750]
- Data Binding and Gesture Handling Problems: Issues with data binding include thousands of XC0022 warnings due to missing x:DataType in XAML bindings and loss of bindable properties like commands in CollectionViewHandler2 on iOS when item order changes, causing gestures to stop firing. These problems degrade performance and break expected interactive behaviors.
- [issues/31734, issues/31764]
- Platform-Specific UI Behavior Differences: Differences in UI behavior across platforms are noted, such as Android labels with LineBreakMode="WordWrap" leaving trailing spaces that differ from Windows, and the WinUI TabbedPage allowing multiple tabs to be selected simultaneously on Windows, continuing a previously unresolved issue. These inconsistencies affect cross-platform UI reliability.
- [issues/31782, issues/31799]
- Documentation and Versioning Updates: There is a need to update the "Release Versions" wiki page to include the latest service releases (SR9, SR10, SR11) to provide accurate tooling version information and help developers avoid compatibility and compilation issues when upgrading .NET MAUI apps. Keeping documentation current is essential for smooth development workflows.
- [issues/31711]
- Code Cleanup Requests: A request has been made to remove the outdated OnDestroy override from ShellFragmentContainer due to its potential to cause exceptions related to dispatcher retrieval, reflecting a need to clean up legacy code that may introduce instability.
- [issues/31716]
- Blazor Hybrid Regression: The Blazor Hybrid Web template that works on WebAssembly with .NET 9 fails after upgrading to .NET 10 RC1, despite MAUI Blazor functioning correctly, indicating a regression affecting Windows Web/WASM platforms. This issue impacts developers relying on Blazor Hybrid for cross-platform web apps.
- [issues/31785]
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 3
Summarized Issues:
- Test Failures on Android for .NET 9 and 10: The test ShouldFlyoutTextWrapsInLandscape is consistently failing on pull requests targeting Android for both .NET 9 and .NET 10, causing build test failures. This issue affects the reliability of automated testing in these environments.
- issues/31705
- Android SecureStorage Migration Breaking Change: Migrating from Xamarin.Essentials in Xamarin.Forms to the new MAUI implementation causes previously stored data in Android SecureStorage to become inaccessible due to different storage locations and aliases. This creates challenges for developers who need to preserve secure data across the migration process.
- issues/31736
- XAML Namespace Prefix Removal Issue: Adding Views to GlobalXmlns.cs in a .NET MAUI project does not allow removal of the XML namespace prefix in AppShell.xaml’s DataTemplate, resulting in a XamlParseException because the page type cannot be found without the prefix. This issue complicates XAML usage and namespace management in MAUI projects.
- issues/31765
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 29
Key Open Pull Requests
1. [Windows] Fix performance issue using Shadows [TEST][NO MERGE]: This pull request addresses and fixes performance issues related to the use of shadows on Windows in the .NET MAUI project, including resolving conflicts from a previous PR and adding tests to ensure the improvements work correctly.
- URL: pull/31713
- Merged: No
- Associated Commits: 2fac6, 36704, 2cb1c, c298d, 43d75, 0c075, 4e819, a295f, 2ac51, 53c95, f5399, 5845c, 08b6d, 872bb, 5d7c4, a47b8, b12e2, 7a3d9, 8e405, 37bc0, c1e73, 40f37, ba066, 41b7a, acce6, 73563, 8b22f, 71036, 9d50d, f01d7, bc5a0, 66da9, 17806, 87ce9, 20111, 6823f, 9aa93, 4adf5, b03f8, 3e5fc, 97cfb, 98e73, 93676, f37a8
2. [iOS] Update net10 iOS to rc2: This pull request updates the target framework versions and SDK dependencies for iOS, tvOS, macOS, and Mac Catalyst to version 26.0, including moving to Xcode 26 and rc2 packages, updating NuGet package sources, and adjusting build configurations to ensure compatibility with the latest platform releases and dependencies.
- URL: pull/31749
- Merged: No
3. [Windows] Fix runtime theme update for controls and TitleBar: This pull request addresses the issue in Windows where runtime theme changes do not update certain control colors and the TitleBar by implementing a common logic that sets the RequestedTheme on the root view of the Window, ensuring that theme-related colors refresh correctly across all child views and resolving inconsistencies caused by WinUI's limitation of applying theme colors only at app startup.
- URL: pull/31714
- Merged: No
Other Open Pull Requests
- TapGestureRecognizer unlimited tap support: This set of pull requests implements simplified and reliable unlimited tap gesture support for
TapGestureRecognizer
withNumberOfTapsRequired
greater than two on Windows and Android platforms. The new cross-platform logic replaces legacy limitations by including custom tap counting, timing, and position tracking, along with comprehensive test coverage to ensure backward compatibility and improved user experience.
- UI component fixes and theming improvements: Multiple pull requests address UI issues including fixing the CommandBar overflow button theming in dark mode on Windows and Android, correcting ScrollView content misalignment in RTL FlowDirection, and resolving a crash on Android when a Picker dialog is open and the page is popped. These fixes involve enhanced template handling, layout offset corrections, proper dialog dismissal, and added UI tests to validate improvements.
- Accessibility and crash prevention on Android: Pull requests improve accessibility for
MauiPageControl
indicator items by configuring accessibility properties and delegates to provide meaningful TalkBack descriptions. Additionally, a crash caused by a System.IndexOutOfRangeException in CollectionView with CarouselView is fixed by adding a return check for invalid positions, preventing crashes from null or empty items.
- Grid enhancements and layout precision: These pull requests introduce a new interactive Grid feature matrix with UI controls and data binding for exploring grid properties, and add a DensityValue struct for pixel-aware layout calculations in the Grid component. They also enhance the GridLayoutManager with density-aware star sizing and fix label cropping issues on certain Android devices by applying padding adjustments.
- Shell and lifecycle stability improvements: A pull request removes a problematic OnDestroy override from ShellFragmentContainer to eliminate dispatcher-based dispose calls that caused exceptions and deadlocks. It replaces this with proper base class handling, fixes related test compilation issues, and adds tests to ensure stable cleanup and passing Shell-related unit tests.
- Pipeline and provisioning fixes: One pull request fixes the UITests pipeline issue where the
UseProvisionator: true
parameter was not functioning by adding the missinggitHubToken
parameter propagation. This ensures the GitHub token required for Xcode provisioning is correctly passed, enabling the "Provision Xcode" step to execute successfully.
- SearchBar and public API corrections: A pull request fixes the SearchBar component to ensure the SearchCommand executes when the text becomes empty by adding the missing
SearchBar.OnTextChanged
API override to the netstandard PublicAPI.Unshipped.txt file. This resolves RS0016 PublicAPI analyzer errors and maintains successful builds and passing unit tests across all target frameworks.
- Display and rendering improvements on Mac Catalyst and BoxView: Pull requests address the Mac Catalyst issue where
DeviceDisplay.MainDisplayInfoChanged
was not raised by implementing Core Graphics API calls and enhancing equality checks. Another pull request adds comprehensive support for a newFill
property to theBoxView
control, enabling it to be filled with anyBrush
type including gradients, with proper event handling and updated tests.
- Documentation and sample fixes: These pull requests update the README with instructions for creating a new .NET MAUI app and integrating the Syncfusion Toolkit, and fix the ProjectList display issue in the .NET 9 sample by updating the BindingContext in the template.
- Branch synchronization and test stability: One pull request merges the latest changes from the main branch into the net10.0 branch including UI test snapshot diff artifacts and pipeline configurations. Another addresses flaky UI tests by improving rendering and stability, updating test cases, and changing scroll strategies to reduce flakiness in continuous integration.
- Local device test environment improvements: A pull request makes small fixes to enable running device tests locally with Helix by updating documentation, adding environment variable instructions, and refining build configuration to properly set the
TargetsAppleMobile
property for iOS when the Helix access token is present.
- CarouselView and IndicatorView synchronization fixes: This pull request fixes the issue where the CarouselView position and IndicatorView do not update correctly when moving to the next item by adding comprehensive test coverage for initial state, navigation, synchronization, boundary conditions, and rapid navigation consistency, resolving issue #29312.
- Windows CarouselView stability: A pull request re-introduces a nullcheck for Itemsource that was removed in Maui 9.0.80 to prevent crashes caused by exceptions in base classes within the Windows CarouselView.
- Android layout performance and code simplification: Two pull requests propose layout optimizations on Android by removing an unnecessary additional measure call in the platformWrapperView.java base class and introducing a custom measure method that flags when a measure is necessary. These changes simplify code and improve measure pass performance by 19%.
- Polygon stroke rendering fix: A pull request fixes an issue where the stroke of polygons using the
Nonzero
fill rule was not rendering correctly on internal edges by modifying the drawing order to draw the fill before the stroke. It includes new sample and UI tests to verify the fix.
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 24
Key Closed Pull Requests
1. Separate snapshot diffs artifacts in CI: This pull request improves the UI test pipeline by replacing deprecated artifact publishing tasks with modern ones, dynamically handling target frameworks, adding folder existence checks to prevent errors, and separating snapshot diff artifacts by platform to reduce download sizes, while also including a temporary UI change to validate the new pipeline logic.
- URL: pull/31724
- Merged: Yes
- Associated Commits: 26e14, 99c98, 03fd3, e0f16, 3c377, 288f8, 38526, f4cfa, 05dae, 713ac, 80cd9, 787fe, 9fefd
2. [release/10.0/1xx-rc2] Update net10 ios rc2: This pull request updates the .NET MAUI project to the latest .NET 10 iOS release candidate 2, including support for Xcode 26, version updates, and enforcing the minimum OS version to 15.6.
- URL: pull/31781
- Merged: Yes
3. Comprehensive fix: Add proper x:DataType attributes to eliminate ALL XC0022/XC0023 warnings in TestCases.HostApp: This pull request implements a comprehensive, multi-phase solution that systematically adds appropriate x:DataType
attributes to all 459 XAML files in the TestCases.HostApp project, effectively eliminating thousands of XC0022 and XC0023 XAML compilation warnings without introducing any breaking changes.
- URL: pull/31735
- Merged: No
Other Closed Pull Requests
- UI Test Image Failures and Screenshot Improvements: Multiple pull requests address UI test image failures across different branches by replacing snapshots and improving rendering and test stability on various platforms. Additional enhancements include adding screenshot cropping support, especially on Android, to exclude navigation bar artifacts and improve test accuracy and stability in different orientations and layouts.
- UI Test Category and Instruction Updates: Several pull requests update UI test category configurations and Copilot instructions to improve clarity, prevent redundant test runs, and ensure new test categories like 'SafeAreaEdges' are included in automated pipelines. These changes enhance test management and developer guidance within the .NET MAUI project.
- Platform-Specific UI Fixes: Pull requests fix platform-specific UI issues such as disabling bouncing and scrolling in iOS CollectionView when empty to prevent extra space, and correcting Android Shell flyout text wrapping in landscape orientation by adjusting flyout width calculations. These fixes improve user experience and resolve failing UI tests related to these behaviors.
- .NET 10 Compatibility and Updates: Multiple pull requests update templates, components, and tests to target .NET 10, including fixing RadioButton test failures by allowing null values, updating multi-project templates, and fixing navigation event handling for consistency. These changes ensure compatibility and stability with the latest framework version.
- Project Template and Codebase Enhancements: Updates to the MAUI Blazor project templates introduce UX improvements like reconnect modals and custom "Not Found" pages, better asset management, accessibility enhancements, and code cleanup for maintainability. Additionally, the removal of GlobalXmlns.cs from the maui-mobile template prevents confusion while planning future reintroduction after stability improvements.
- Blazor WPF Integration Improvements: A pull request replaces the older WebView2 control with the newer WebView2CompositionControl in the Blazor WPF integration, updating control aliases, event arguments, and project configurations to improve compatibility and resolve airspace issues on Windows.
- Versioning and CI Updates: Pull requests increment the PatchVersion for the SR11.1 release and update continuous integration configurations to use the latest release candidate 2 version, ensuring the project stays current with release cycles.
- Feature Addition - xClassModifier Support: A pull request adds support for the xClassModifier feature in the .NET MAUI project, addressing a specific issue and including a referenced commit to enhance project capabilities.
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
Contributor | Commits | Pull Requests | Issues | Comments |
---|---|---|---|---|
Copilot | 68 | 11 | 0 | 188 |
jfversluis | 59 | 9 | 1 | 33 |
jsuarezruiz | 45 | 11 | 1 | 42 |
rmarinho | 55 | 8 | 0 | 3 |
NafeelaNazhir | 32 | 10 | 1 | 18 |
devanathan-vaithiyanathan | 42 | 5 | 0 | 3 |
kubaflo | 36 | 3 | 0 | 5 |
StephaneDelcroix | 22 | 5 | 0 | 17 |
TamilarasanSF4853 | 23 | 7 | 1 | 7 |
MartyIX | 21 | 4 | 1 | 10 |