Weekly Project News

Subscribe
Archives

Weekly GitHub Report for Maui: September 08, 2025 - September 15, 2025 (12:00:27)

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
    • 1.2. Other Noteworthy Updates
  • II. Issues
    • 2.1. Top 5 Active Issues
    • 2.2. Top 5 Stale Issues
    • 2.3. Open Issues
    • 2.4. Closed Issues
    • 2.5. Issue Discussion Insights
  • III. Pull Requests
    • 3.1. Open Pull Requests
    • 3.2. Closed Pull Requests
    • 3.3. Pull Request Discussion Insights
  • IV. Contributors
    • 4.1. Contributors

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, infrastructure updates, and dependency version bumps. Key highlights include numerous bug fixes addressing UI behavior, threading issues, and control improvements, alongside expanded automated testing coverage and housekeeping updates to improve stability and maintainability.

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.

  1. [Question] Official stance on community contributions about Linux-support: This issue questions the official position of the MAUI team regarding community contributions for Linux support, given that most Linux-related issues have been closed and there is strong community interest. It inquires whether a community-developed Linux backend could eventually be merged into the main MAUI repository despite Linux support not being on the official roadmap.

    • The comments clarify that Linux support is not currently planned as part of the official MAUI roadmap, but community contributions enabling Linux support are welcomed and encouraged following a pattern of developing backends in separate repositories. A partially developed Linux backend by a team member is mentioned, and alternative suggestions such as using Blazor WebAssembly for broader platform coverage are also proposed.
    • Number of comments this week: 4
  2. [iOS] Severe scroll jittering in CollectionView: This issue describes severe scroll jittering in a CollectionView on iOS, where the scroll offset jumps erratically and can teleport one screen up or down during scrolling. The problem occurs with both DataTemplateSelector and single ItemTemplate setups, has no known workaround, and affects iOS 18 and Android 15 platforms, with no regression from previous behavior.

    • The comments confirm the issue is reproducible across multiple MAUI versions and on iOS with different CollectionView implementations. It was clarified that the problem is not caused by DataTemplateSelector since using a single ItemTemplate exhibits the same erratic scrolling behavior.
    • Number of comments this week: 2
  3. Assets file '[my path]\obj\project.assets.json' doesn't have a target for 'net9.0-android' and ios and windows: This issue describes a problem where a Maui app that previously targeted Android and iOS fails to build after adding Windows as a target framework, resulting in errors indicating that the assets file lacks targets for net9.0-android, net9.0-ios, and net9.0-windows10.0.19041.0. The user has attempted common troubleshooting steps such as cleaning build folders and updating workloads but still encounters unresolved references and empty targets in the project.assets.json file.

    • The commenter requested the user's project file to better understand the configuration, and the user responded by sharing the csproj and assets files for further investigation.
    • Number of comments this week: 2
  4. .NET10-rc1 - XamlSourceGen - Partial method XXX.InitializeComponent()' must have an implementation part because it has accessibility modifiers.: This issue reports build errors encountered when using the .NET 10 release candidate 1 with XAML source generation in a new .NET MAUI app, specifically related to partial methods like InitializeComponent() requiring an implementation due to accessibility modifiers. The errors occur in generated code for default Colors.xml and Styles.xml files when enabling source generation via the project file, causing the build to fail on Android.

    • The comments suggest the problem likely stems from incorrect XAML generation scenarios and recommend testing with upcoming RC2 build artifacts that include many source generation fixes; the issue reporter confirms the problem occurs even with the default MAUI template and plans to retry testing with newer tooling.
    • Number of comments this week: 2
  5. Page's OnAppearing triggered twice with ShellItemChanged + PresentationMode Modal combo: This issue describes a problem where navigating to a modal page using Shell routing in a .NET MAUI application causes the page's OnAppearing method to be triggered twice due to a combination of ShellItem changes and modal presentation mode. The user reports that when calling Shell.Current.GoToAsync to open a modal page, the lifecycle events occur in an unexpected sequence: the modal page's OnAppearing is called, followed by OnDisappearing and then OnAppearing again, which may indicate an underlying issue with the navigation or page lifecycle handling.

    • The initial request asked for a simple reproduction sample to verify the issue, as the problem could not be reproduced with the provided steps. The user then added a sample project and clarified that the modal page’s OnAppearing is triggered twice, with an OnDisappearing event in between, confirming the unexpected lifecycle behavior during modal navigation.
    • 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.

  1. 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.
  2. 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 reporter provides detailed reproduction steps using Visual Studio 2022 and a specific publish command, noting that the app crashes upon clicking the "Choose File" button, with no known workaround available.
  3. Global defined EventTriggers get triggered twice: This issue describes a problem where an EventTrigger defined globally in a style causes its 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 event only once, indicating a discrepancy in behavior between global and keyed style definitions across multiple platforms including iOS, Android, and Windows.
  4. Path with ArcSegments is sporadically drawn offset from expected arc: This issue describes a sporadic rendering problem in .NET Maui where ArcSegments used to draw large arcs greater than 180 degrees are occasionally offset from their expected starting positions, causing visual clipping and misalignment, especially when overlaid on correctly drawn arcs. The problem occurs across Windows, Android, and iOS platforms, appears more frequently near the 180-degree threshold and with thicker strokes, and persists despite attempted workarounds such as breaking the arc into smaller segments or manually drawing arcs with line segments.
  5. .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: 21

Summarized Issues:

  • Scrolling and Layout Issues: Multiple platforms exhibit scrolling and layout problems including Android's Grid item width growing indefinitely with padding, Windows ScrollView height increasing unexpectedly after app closure, and severe scroll jittering in iOS CollectionView. These issues cause unpredictable UI behavior and degrade user experience across MAUI applications.
  • issues/31514, issues/31534, issues/31541
  • Navigation and Modal Behavior: Navigation inconsistencies occur such as the NavigatingFrom event firing in different orders across platforms, modal page OnAppearing being triggered twice in Shell, and Navigation Page back button titles not updating correctly on iOS/macOS. These problems lead to unexpected navigation flows and UI state confusion in cross-platform apps.
  • issues/31520, issues/31539, issues/31584
  • Platform-Specific UI Control Bugs: Several controls have platform-specific bugs including CarouselView2 crashing on iOS when deleting the last item, Switch controls crashing inside BindableLayout due to handler lifecycle issues, and AppThemeBinding colors not updating consistently in CollectionView2 on iOS. These bugs cause crashes and inconsistent UI theming.
  • issues/31535, issues/31554, issues/31569
  • Android-Specific Input and Crash Issues: Android experiences unique problems such as touch listeners not triggering on accessibility activation in Entry controls, startup crashes due to missing view IDs in .NET 10 MAUI apps, and ScrollTo throwing exceptions for invalid group indices unlike other platforms. These issues impact accessibility, stability, and error handling on Android.
  • issues/31556, issues/31581, issues/31551
  • Build and Project Configuration Problems: Building MAUI projects can fail due to missing targets when adding Windows to Android/iOS projects, XAML source generation producing inaccessible partial methods causing build errors, and invalid XAML code compiling without errors but causing runtime crashes. These problems hinder development workflow and project stability.
  • issues/31547, issues/31571, issues/31602
  • Layout and Styling Inconsistencies: FlexLayout with Wrap Reverse and certain AlignContent values misaligns children across platforms, and label padding in right-to-left layouts on Windows is applied inconsistently compared to other platforms. These styling issues cause UI elements to render incorrectly and inconsistently.
  • issues/31565, issues/31585
  • Image and Asset Loading Issues: Loading images from streams on Android results in unexpectedly smaller dimensions compared to loading from files, and Blazor WebAssembly assets fail to serve correctly in new maui-blazor-web projects without manual configuration. These issues affect media rendering and web asset delivery.
  • issues/31568, issues/31589
  • Popover and Platform Behavior Differences: On iOS and iPadOS, popovers appear as modals instead of true popovers like on Mac Catalyst, raising questions about expected behavior and documentation clarity. This inconsistency may confuse developers targeting multiple Apple platforms.
  • issues/31544
  • Community and Platform Support Queries: There is community interest in official Linux support for MAUI, but it is not currently on the official roadmap, prompting questions about the possibility of merging community-driven Linux support into the main repository.
  • issues/31563

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: 6

Summarized Issues:

  • Build and Compilation Errors: Several issues describe build failures due to missing or unrecognized components in the .NET MAUI environment. These include a missing MSBuild task "AdjustReferencedAssemblyVersion" causing build errors with .NET 9 SDK and the removal of the [assembly: XamlProcessing(XamlInflator.SourceGen)] attribute in .NET 10 RC1, which leads to build errors because the attribute and related types are no longer accessible.
  • issues/31512, issues/31550
  • Android 16 KB Memory Page Size Compliance: Users face challenges ensuring their Android apps comply with the new 16 KB memory page size requirement. One issue requests guidance on how to support this requirement, while another reports that compiled .so files do not reflect the expected 16 KB page size, showing Flags: 0x0 in readelf output, and seeks help resolving this discrepancy.
  • issues/31560, issues/31573
  • UI Gesture Conflicts on Android: There is a problem where tap and long press gestures work correctly together on iOS but conflict on Android. Specifically, the long press gesture fails to trigger when a tap gesture is also applied, preventing both gestures from functioning simultaneously on Android devices.
  • issues/31577
  • Picker Component Behavior on Mac Catalyst: An issue describes that pressing the Tab key on Mac Catalyst causes the Picker component to close immediately and become inoperable, preventing users from reopening it. This behavior disrupts the expected user interaction with the Picker control.
  • issues/31533

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: 25

Key Open Pull Requests

1. [inflight/candidate] September 15th, 2025: This pull request includes multiple fixes and enhancements across platforms such as iOS, Android, Windows, and macOS, addressing issues like text prediction, UI alignment, theme responsiveness, and API documentation improvements, as well as adding new features like a done button to Entry controls and support for keeping the last item in view in CollectionView2 on iOS, along with numerous test cases and snapshot updates.

  • URL: pull/31525
  • Merged: No
  • Associated Commits: d2c1b, f5dab, 995f7, 0e5b9, b094e, 0638a, 68326, 50e7c, 25480, c5dcf, f7bf7, ec3a0, c67b8, 4c035, 1f586, 8e243, 5b423, ac398, 35b8d, 7d765, 07eee, fb215, dfb51, e022b, e7c9a, 15974, d5437, 0d36c, 17433, 90c2a, cfd72, 2b81e, 6ccdf, 9baa8, f66df, 27cfc, b274e, e21da, 554fd, 0b8fe, 22e60, 86ccc, 56004, b3bb0, 4f64d, ad504, 34b4d, 02979, f4ad3, 7112f, 2f1f2, 1d54e, d3672, a39c3, 2fe61, 173e2, 9a788, 58c88, b06cd, 195bd, 3dd29, d2fe3, 554d8, d7a3c, 54a92, d61be, 2f39a, fb72d, 6cbfa

2. [Windows, Catalyst] Fix IsPresented=true Not Working on Initial Value in FlyoutPage: This pull request addresses the issue in .NET MAUI where setting IsPresented="True" on a FlyoutPage does not automatically open the flyout on app launch by implementing platform-specific fixes that delay frame observer connection on macOS and ensure the PlatformView is loaded before applying the IsPresented value on Windows.

  • URL: pull/31515
  • Merged: No
  • Associated Commits: cacf3, ba743, 7f5db, c6c7b, 0e7a7, 37fc2, 700af, 36128, 45978

3. [Android] Fix for ArgumentOutOfRangeException thrown by ScrollTo when an invalid group index is specified: This pull request addresses an issue in the Android platform where calling the ScrollTo method with an invalid group index caused an ArgumentOutOfRangeException by updating the code to safely handle invalid indices without throwing exceptions, specifically by modifying the data source retrieval and scroll position logic to prevent errors when the specified group or item does not exist.

  • URL: pull/31553
  • Merged: No
  • Associated Commits: 3baf7, 11950, 8c913, 77f93, 74a1e, 85ab5, 5f953

Other Open Pull Requests

  • Performance improvements in layout and rendering: Multiple pull requests focus on enhancing performance by reducing unnecessary operations and optimizing rendering. These include caching UICollectionViewLayout instances on iOS to speed up CollectionView2 updates, moving Android drawable logic to a Java class for faster background rendering, and introducing caching and optimized call flows to reduce JNI calls during Android layout measure passes.
    • pull/31587, pull/31567, pull/31595, pull/31601
  • CollectionView behavior and visual state fixes: Several pull requests address issues related to CollectionView's visual states and interaction behaviors. These include preserving the selected item's background color when IsEnabled changes, fixing VisualStateManager updates on Android with duplicate items, enabling native iOS "scroll to top" functionality, and correcting TalkBack accessibility announcements when SelectionMode is None.
    • pull/31540, pull/31591, pull/31596, pull/31516
  • Navigation and event handling consistency: Pull requests improve navigation event consistency and runtime updates. They fix the order of the NavigatingFrom event on Android and Windows, update the iOS NavigationPage.BackButtonTitle dynamically, and ensure control size properties are available during the Loaded event on Android.
    • pull/31536, pull/31583, pull/31590
  • Accessibility enhancements: Accessibility improvements include adding tests to verify TapGestureRecognizer functionality with Android TalkBack and iOS VoiceOver enabled, and fixing TalkBack announcements on Android CollectionView items when SelectionMode is None.
    • pull/31548, pull/31516
  • HybridWebView enhancements: These pull requests add new features and fixes to HybridWebView, including a new Source property for SPA navigation and improved URL handling by removing '#' and '?' characters to enable correct local file loading.
    • pull/31575, pull/31597
  • XAML and source generation improvements: Work on XAML source generation includes introducing a dependency-first inflator approach and removing the 'required' keyword in XAML controls to replace ineffective compiler checks with runtime checks.
    • pull/31555, pull/31564
  • UI test additions and fixes: Pull requests add comprehensive UI test cases for TabbedPage styling and behavior, and fix UI test image failures by updating SliderViewModel and replacing snapshots to improve test stability.
    • pull/31572, pull/31592
  • Codebase simplification proposals: Proposals include removing the IElementNode interface to simplify the codebase and avoid conflicts, reflecting a move away from premature optimizations made a decade ago.
    • pull/31559
  • Simulator compatibility fix: A pull request addresses issues with launching older iOS simulators using newer Xcode versions by explicitly specifying the simulator to start, improving compatibility for unsupported devices like the iPhone XS.
    • pull/31586
  • HTTP request header fix for image loading: This fix adds a default User-Agent header to HttpClient requests on Windows to prevent 403 errors and enable URI images to display correctly.
    • pull/31566

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: 13

Key Closed Pull Requests

1. [net10.0] Move to net10 rc2 : This pull request updates the project to use the latest .NET 10 release candidate 2 SDK and runtime versions, along with corresponding updates to Android and Apple platform SDKs, toolset dependencies, and NuGet package sources to ensure compatibility with the newest features and upstream changes.

  • URL: pull/31511
  • Merged: Yes
  • Associated Commits: 313d5, 505cc, 97873, 34441, d23b6, a88ec, 0120a, 18299, ff9df, 51955, 1ffbb, 7efe0, be232, 8d19d, 868e9

2. [XSG] Use absolute file paths when generating #line: This pull request updates the source generator to use absolute file paths instead of relative paths when generating #line directives, addressing an issue where relative paths were unsupported and caused compilation errors, and includes tests and fixes to ensure correct path handling.

  • URL: pull/31519
  • Merged: Yes
  • Associated Commits: 9d955, a2fb5, 1a761, 56675, 0989a, ed170

3. HybridWebView Bi-Directional Exception Handling: This pull request implements comprehensive bi-directional exception handling between C# and JavaScript in HybridWebView, enabling detailed error propagation with preserved type information and stack traces across the platform boundary, along with extensive testing and sample demonstrations to ensure robust debugging and backward compatibility.

  • URL: pull/31521
  • Merged: Yes
  • Associated Commits: ad032, 4d79f, c9402, dcc70, b5cd3, 7fb83

Other Closed Pull Requests

  • CollectionView Scroll and Selection Fix: This pull request fixes issues in a customized CollectionView on WinUI where the ScrollTo method did not work and selection was not displayed correctly by changing the item identification logic from a reference check to a value-based check. This aligns the behavior with Android and iOS platforms for consistency.
  • pull/31549
  • AbsoluteLayout Feature Matrix: This pull request introduces a comprehensive feature matrix for AbsoluteLayout in the test host app, including a new interactive page with configurable UI elements and an options page for adjusting layout properties. It also adds a view model enabling dynamic two-way binding to facilitate real-time testing and exploration of AbsoluteLayout behaviors.
  • pull/31517
  • ManualTests TargetFrameworks Configuration: This pull request adds detailed instructions and example project file configurations to enable TargetFrameworks in the ManualTests app within the .NET MAUI project. This helps improve the testing setup by supporting multiple target frameworks.
  • pull/31523
  • Pipeline Restoration: This pull request restores the dnceng-public Maui pipeline that was mistakenly removed in a previous change, ensuring the continuous integration process is correctly configured and operational.
  • pull/31524
  • .NET 9 Branding Updates: These pull requests update the .NET MAUI project with .NET 9 release branding, including modifying the bug report template to reference version 9.0.110 SR11, incrementing the patch version from 110 to 120, and applying branding changes for the .NET 9 SR 11 release. One pull request also reverts the initial "9.0.110 branding" commit.
  • pull/31545, pull/31526, pull/31527
  • HybridWebView Error Handling Improvement: This pull request improves error handling in HybridWebView by ensuring exceptions thrown by C# methods invoked from JavaScript are properly logged using .NET MAUI's logging mechanisms and propagated back to the JavaScript caller when appropriate. This enhances debugging and exception management in hybrid scenarios.
  • pull/31530
  • Inventory as Code Update: This pull request introduces an update for inventory as code, addressing inventory drift as part of the continuous integration process to maintain consistency and accuracy.
  • pull/31593

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 86 13 0 91
jfversluis 69 4 0 44
rmarinho 84 6 2 2
kubaflo 68 7 0 11
jsuarezruiz 49 7 0 24
StephaneDelcroix 31 4 1 22
devanathan-vaithiyanathan 44 6 1 2
PureWeen 19 6 9 5
NafeelaNazhir 13 2 4 14
MartyIX 18 4 0 10

Don't miss what's next. Subscribe to Weekly Project News:
Powered by Buttondown, the easiest way to start and grow your newsletter.