Weekly Project News

Subscribe
Archives

Weekly GitHub Report for Maui: August 04, 2025 - August 11, 2025 (22:38:41)

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. Extended LLVM optimization times when running in build agents.: This issue reports that LLVM optimization times during iOS builds have significantly increased when using .NET 9 compared to .NET 8, with build durations doubling from around 15-45 minutes to up to 90 minutes. The user is frustrated by the lack of resolution in a previously closed related issue and questions the support strategy for .NET 8 in relation to MAUI and Android SDK updates, while also noting that extending build pipeline time is an unsatisfactory workaround.

    • The comments clarify that .NET MAUI support differs from .NET SDK support due to external dependencies and that without new information it is difficult to address the issue. Suggestions include checking build logs, ensuring the correct Azure DevOps agent architecture is used, and trying known workarounds such as disabling LLVM or adjusting linker trim modes, though these have trade-offs. It is also noted that a runtime fix improved build performance in .NET 9 SDK 9.0.203, but the original poster still experiences longer LLVM times, and some improvements are planned for .NET 10.
    • Number of comments this week: 5
  2. Repating OpenWindow and CloseWindow casuses crash on Windows: This issue describes a crash occurring on Windows when repeatedly opening and closing windows in a .NET MAUI app using Application.Current.OpenWindow and CloseWindow, resulting in an exception with code 0xc0000409 after about 200 to 300 iterations. The problem persists across .NET 8.0 and 9.0 versions, and the user seeks a workaround or solution to prevent the crash while using long-term support versions.

    • The comments confirm the issue reproduces on MAUI version 9.0.50 but not on versions 9.0.60 and above, with a sample project provided for testing. The user asks about updating MAUI versions and workarounds, receives guidance to manually update package versions in the project file, but still experiences the crash after cleaning and rebuilding the project, indicating the problem may require further investigation or runtime updates.
    • Number of comments this week: 4
  3. [REGRESSION, 9.0.90, since 9.0.51] OnPropertyChanged events fire very inconsistently for custom controls: This issue reports a regression in .NET MAUI versions 9.0.51 through 9.0.90 where OnPropertyChanged events for custom controls fire inconsistently, causing thread-safe property mirrors like ThreadSafeIsVisible to hold incorrect values. The problem does not occur in version 9.0.50, and the user suspects that PropertyChanged events are no longer invoked when controls are not visible, which breaks expected behavior in their game GnollHack.

    • The commenters initially had trouble running the provided sample due to missing sound bank files, but after detailed instructions were given to include these assets, they were able to build and run the project. Despite successfully running the sample, the bug was not immediately observable, prompting the user to provide a new branch with updated versions and clearer reproduction steps, which confirmed that the event handlers fail to fire properly in versions 9.0.51 and later, causing UI elements to not update as expected.
    • Number of comments this week: 4
  4. .NET MAUI Android Cannot paste image into textarea (that has drag/drop/paste support): This issue describes a problem in a .NET MAUI Blazor/Hybrid app where pasting images into a <textarea> element with drag/drop/paste event handlers works on Windows but fails on Android emulators, with the virtual keyboard showing disabled image options and a message stating the app does not support images. The user has requested relevant Android permissions and provided detailed reproduction steps and code samples but is unsure if additional configuration or permissions are needed, seeking help to resolve the issue and wondering if it might be a bug.

    • The comments include detailed reproduction instructions with code snippets and JavaScript for handling drag/drop/paste events, a shared sample repository demonstrating the issue, confirmation that the problem occurs on Android with specific MAUI versions, and a request to test on iOS and macOS platforms for broader compatibility.
    • Number of comments this week: 4
  5. Unable to access implicit styles while enable AOT and trimming: This issue concerns the failure of implicit styles to work correctly when Ahead-Of-Time (AOT) compilation and trimming are enabled in a .NET MAUI application, specifically affecting iOS and macOS platforms. The problem arises because AOT limits the use of reflection, which was previously suggested as a workaround, and the user is seeking a valid solution to restore implicit styling under these conditions.

    • The comments clarify that the issue does not occur in Debug or Release modes but consistently reproduces when the app is published as an IPA file using specific publish commands. A workaround involving defining explicit and implicit styles with resource dictionaries is suggested to control styling indirectly, though no definitive fix is confirmed.
    • Number of comments this week: 4

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 fail to bind correctly within a custom control's bindable property in a XAML environment, 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 on Windows version 10.0.19041.0. 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 same 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.
  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 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 with LineSegments, with animation further exacerbating the flickering and offset behavior.
  5. .NET Maui does not support FontAutoScalingEnabled for windows platform: This issue highlights that the .NET Maui framework does not properly support the FontAutoScalingEnabled property on the Windows platform, causing text labels to scale incorrectly when display scaling settings are changed. 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: 34

Summarized Issues:

  • Input and Focus Issues in Entry Controls: Several issues describe problems with Entry controls across platforms, including trailing spaces not visible on iOS when aligned to the end, and premature focus triggering on Windows when Entry is inside a ScrollView or interacts with InputTransparent controls. These issues disrupt expected user input behavior and event handling in .NET MAUI applications.
  • issues/31017, issues/31039
  • CollectionView Binding and Performance Problems: Multiple issues highlight problems with CollectionViewHandler2, including broken relative binding for Button commands on iOS/MacCatalyst, performance degradation when updating columns or grouped mode, and runtime changes to IsGrouped causing display errors. These cause functional regressions and slowdowns compared to the original handler.
  • issues/31042, issues/31071, issues/31096
  • CollectionView Scrolling and Event Handling Bugs: Issues report that the CollectionView's Scrolled event fires incorrectly on orientation changes on iOS, and that the ItemsUpdatingScrollMode property does not work properly in CollectionViewHandler2, preventing upward infinite scrolling. These bugs affect user interaction and scrolling behavior.
  • issues/31059, issues/31085
  • Android Layout and Alignment Problems: Problems on Android include child layouts inside ScrollViews not aligning correctly when HorizontalOptions or VerticalOptions are set, causing layout misalignment in StackLayouts and other containers. These issues affect UI layout consistency on Android devices.
  • issues/31077, issues/31078
  • Build and Compilation Issues: Several issues describe build-related problems such as increased LLVM optimization times on iOS builds with .NET 9, linker crashes with Native AOT enabled during iOS publishing, and the EmbedAssembliesIntoApk MSBuild property failing after upgrading to .NET 9 on Android. These cause longer build times and broken build pipelines.
  • issues/31051, issues/31082, issues/31072
  • OnSizeAllocated Event Not Firing Correctly: The OnSizeAllocated event in AppShell.cs does not fire on Android when rotating devices and also fails on iOS in .NET 10, while it works on iOS in .NET 9 and for MainPage on both platforms. This inconsistency affects layout and size change handling in apps.
  • issues/31020, issues/31055
  • Memory Leak and View Reuse in Android CollectionView: A memory leak and view reuse problem occurs in Android Multicolumn CollectionView when using more than four columns for flat lists or more than three for grouped lists, causing heap growth, lags, ANRs, and crashes due to inefficient garbage collection and failure to reuse views.
  • issues/31047
  • IndicatorView Property and Interactivity Issues: On iOS and Catalyst, the IndicatorView control has issues where setting IsEnabled to false does not disable interactivity, the IndicatorSize property does not update dynamically, and the IndicatorsShape property set to "Square" does not change the shape from circles. These bugs affect visual and interactive behavior of indicators.
  • issues/31063, issues/31064, issues/31065
  • Handler Disconnection and ControlTemplate Unload Problems: Handlers are not properly disconnected from ContentView and child controls when the ContentView is unloaded due to ControlTemplate changes or content replacement, despite the Unloaded event firing, contradicting expected automatic disconnection behavior. This can lead to resource leaks or unexpected behavior.
  • issues/31044
  • Crash and Exception Issues on iOS and Windows: Crashes include a NullReferenceException in Button.LayoutButton on iOS after upgrading .NET MAUI versions, an InvalidCastException in Maps on iOS after version updates, and a Windows crash on app start caused by invalid XmlnsDefinition attributes. These crashes disrupt app stability across platforms.
  • issues/31048, issues/31098, issues/31101
  • MediaPicker Modal Dismissal Bug on iOS: Calling MediaPicker.CapturePhotoAsync() or CaptureVideoAsync() from a modal page causes the modal to dismiss unexpectedly after the native camera interface closes, regardless of capture or cancellation, disrupting expected modal behavior.
  • issues/31075
  • Gesture and Tap Command Inconsistencies: On Windows, a pinch gesture does not complete properly when interrupted by an alert, causing unresponsive gestures, and a TapGesture on a Grid inside a CollectionView ItemTemplate inconsistently fires commands on Windows and Android, affecting user interaction reliability.
  • issues/31033, issues/31102
  • Security Vulnerability in FileProvider Paths: The microsoft_maui_essentials_fileprovider_file_paths.xml file uses a broad “.” path exposing the entire cache directory, and it is recommended to restrict file access to specific subfolders like “MediaPicker” to improve security.
  • issues/31097
  • Implicit Styles and Reflection Limitations with AOT: Implicit styles fail to work in .NET MAUI apps when Ahead-Of-Time compilation and trimming are enabled due to AOT limitations with reflection, causing styling to break in published IPA files on iOS and macOS.
  • issues/31025
  • Debugging and Developer Tooling Enhancements: A request was made to add a debug-only "ShowGridLines" attribute for ContentPage to visually highlight grid columns and rows, aiding developers in pixel-perfect alignment similar to WPF designer features.
  • issues/31031
  • CI Build Configuration Improvements: A proposal suggests adding an MSBuild variable IncludeCurrentTfms to Directory.Build.props to allow selective inclusion or exclusion of current target frameworks in CI builds, enabling more flexible build control.
  • issues/31053
  • Compatibility Testing with Xcode 26: Testing .NET MAUI compatibility with Xcode 26 beta 4 using net9 and net10 workloads was performed to identify issues and blockers for readiness with the upcoming major iOS release.
  • issues/31029
  • API and Layout Method Improvements: A proposal to modify ComputeConstraintForView in net10.0 to return constraints directly and make ComputedConstraint setter private aims to improve API clarity and support custom layouts.
  • issues/31083
  • Blazor Android WebView Regression: A .NET 9 MAUI Blazor app hangs indefinitely on the splash screen on some Android 10 devices due to missing or misconfigured WebView providers, a regression from .NET 8 caused by lack of proper Android System WebView or Chrome as WebView provider.
  • issues/31079
  • Image Resize Method Bugs: The IImage.Resize() method has bugs when used with images loaded via PlatformImage.FromStream(), causing repeated PNG images to paint over previous ones on Windows and incorrect disposal of resized images on Android when using disposeOriginal=true.
  • issues/31103

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

Summarized Issues:

  • Accessibility issues in Developer Balance app: Multiple accessibility problems affect the Developer Balance (.NET Maui) app across Windows and Mac platforms, including insufficient color contrast, missing keyboard focus visibility, absent visual labels on buttons, and screen readers not announcing project descriptions. These issues hinder usability for low vision users and those relying on assistive technologies, impacting overall accessibility compliance.
  • issues/30800, issues/30805, issues/30810, issues/30827
  • UI behavior and control interaction problems: Several UI controls in .NET MAUI exhibit inconsistent or incorrect behavior, such as the "Delete" button on the new project screen acting as a back button, the iOS Editor control failing to show the paste popup on long-click, and the Picker control on iOS not clearing selected text when setting SelectedIndex to -1. These issues cause confusion and reduce expected functionality on specific platforms.
  • issues/30828, issues/30898, issues/31011
  • Build and deployment failures on iOS and Android: Deployment and build processes encounter errors such as iOS app installation failures with distribution signing identities, .NET runtime detection failures on remote macOS hosts during CI builds, and Android build failures due to incorrect Xamarin.Android.Build.Tasks assembly loading. These problems prevent successful app deployment and require workarounds or fixes to restore normal build and deployment workflows.
  • issues/30885, issues/31021, issues/30948
  • CollectionView and CarouselView performance and update issues: CollectionView components suffer from crashes on Android after updates, layout update failures on iOS/macOS when starting with zero height, and duplicate items caused by background thread updates. Additionally, CarouselView on Android experiences severe performance degradation due to excessive data template initialization when using a specific scroll mode. These issues degrade app stability and responsiveness.
  • issues/30945, issues/30953, issues/31010, issues/30971
  • Image and icon rendering problems: Image loading from streams in release builds on Android results in corrupted images, and the Resizetizer tool intermittently fails during WinUI builds due to file access conflicts, especially on slower build environments. These rendering and build tool issues affect app visuals and build reliability.
  • issues/30892, issues/30900
  • Visual Studio and package management issues: Users face difficulties finding stable versions of required packages like Microsoft.NET.ILLink.Tasks after upgrading Visual Studio, impacting the ability to compile MAUI projects until package availability is restored. This disrupts development workflows until resolved.
  • issues/31013
  • Application icon mismatch in Windows Add/Remove Programs: An application published with Visual Studio Community 2022 installs correctly and appears in the Programs Add/Remove list on Windows, but the icon displayed does not match the actual application icon, causing a visual inconsistency in the system interface.
  • issues/30726
  • XAML hot reload issues on iOS simulator: Changes made to XAML files are not correctly rebuilt or reflected when launching the app on the iOS simulator via Visual Studio, requiring a full rebuild to see updates, while this problem does not occur on Android. This limits developer productivity during UI iteration on iOS.
  • issues/30732
  • Hybrid Blazor app restore failure on Android: A .NET MAUI Hybrid Blazor app hangs and fails to restore correctly when resumed from the background on Android devices running API level 21 or later, caused by the app's App.xaml.cs missing an override of the CreateWindow method. This results in app instability during lifecycle events.
  • issues/31060

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

Key Open Pull Requests

1. [net10.0] Merge main to net10.0: This pull request aims to merge the latest changes from the main branch into the net10.0 branch, incorporating numerous platform fixes, UI test enhancements, code quality improvements, and feature matrix updates across Android, iOS/MacCatalyst, Windows, and cross-platform components to keep net10.0 up to date with main.

  • URL: pull/31076
  • Merged: No
  • Associated Commits: 106ad, 848b4, 17249, e824a, 18d47, eae9b, 71c8c, 1840d, 6ee67, 97585, 837f0, cdfb3, c9d0a, 85c47, 1df60, fa58c, f87e5, f71da, ee6c1, fbf3a, 82f21, 61fe7, d056e, 2b874, 7228e, 73d89, 83827, 3c59c, 9bd6e, b111d, 1c13f, 18b16, cc45d, 4004f, 828a4, 29833, 96e9a, 6c98e, 3ca95, b13ec, 8c654, 97451, b35e5, 99e0f, f98f1, df658, 885da, 8ef63, e121c, b8aa8, 3ea80, 6feca, 26629, 6b425, ac0ad, a2925, 9509f, a1d25, f1df1, 7f994, 8c527, 47f3d, 76c31, 44642, e6ff4, da2a7, e944f, 46ba7, 1182a, 2efcd

2. Refactor Essentials interfaces to inherit from base ISensor and IDeviceCapability interfaces: This pull request refactors the Essentials interfaces by introducing new base interfaces, ISensor and IDeviceCapability, to create a cleaner, hierarchical structure that enables polymorphic usage and type safety while maintaining full backwards compatibility with existing code.

  • URL: pull/31086
  • Merged: No
  • Associated Commits: 755ee, dff68, 98c9c, bce92, 4ba7d, 02805, 63c4d, a88bd, dd918, cd642, 3ee17, e006a

3. [iOS] Fix TimePicker AM/PM frequently changes when the app is closed and reopened: This pull request addresses an issue in the iOS TimePicker where the AM/PM indicator would frequently change incorrectly after the app was closed and reopened by ensuring consistent use of culture settings—using en-US for formats with AM/PM and de-DE for 24-hour formats—to fix the display problem when using the "HH:mm tt" format.

  • URL: pull/31066
  • Merged: No
  • Associated Commits: 31c20, 9f36a, eb9b8, 8913c, 3766f, 13879, 397a2, 2f47f, f3b39, 3d75b

Other Open Pull Requests

  • Build and pipeline updates for .NET 10 and Xcode 26: This pull request updates build and pipeline configurations to support the latest .NET 10.0.100 preview and Xcode 26.0 beta 4. It also adds suppression for preview warnings related to Xcode 26.0 across multiple Apple platforms.
    • pull/31045
  • Windows CollectionView layout fix: This pull request fixes an issue on Windows where a CollectionView with a single-column GridItemsLayout (Span=1) did not adapt to window width reductions. The fix modifies UpdateItemSize to avoid setting a fixed ItemWidth, enabling the native UWP ItemsWrapGrid to use its Auto layout behavior.
    • pull/31038
  • FlyoutPage toolbar item visibility and order on iOS: This pull request resolves an issue where FlyoutPage toolbar items were not visible or appeared in the wrong order in the NavigationPage navigation bar on iOS. It explicitly adds the flyout page to toolbar processing targets and prioritizes it correctly to display toolbar items from both Flyout and Detail pages in the intended sequence.
    • pull/31067
  • CheckBox command support implementation: This pull request adds command and command parameter support to the CheckBox control by implementing the ICommandElement interface. It updates the public API across platforms and includes unit and UI tests to ensure correct command invocation behavior.
    • pull/31036
  • Map pin InfoWindowClicked event fix on iOS and MacCatalyst: This pull request fixes the issue where the InfoWindowClicked event of a map pin was not fired on iOS and MacCatalyst. It properly assigns the custom annotation view creation delegate to MKMapView and ensures gesture recognizers are correctly attached, with tests verifying behavior across Android, Windows, iOS, and Mac.
    • pull/31062
  • Refactor ComputeConstraintForView method: This pull request refactors the ComputeConstraintForView method to return a LayoutConstraint value instead of modifying the child view’s ComputedConstraint property via side effects. This improves code maintainability, encapsulation, and testability while maintaining full behavioral compatibility.
    • pull/31091
  • Compiled binding support for SafeAreaEdgesTypeConverter: This pull request implements compiled binding support for the SafeAreaEdgesTypeConverter to improve XAML parsing performance by generating IL code at build time. It adds the compiled converter, registers it for XAML compilation, and includes tests to validate correctness and backward compatibility.
    • pull/31015
  • SafeAreaHandler and Android platform view refactor: This pull request introduces a new SafeAreaHandler class and refactors Android platform views to provide optimized, consistent, and keyboard-aware safe area handling per edge. It improves layout performance and maintainability by reducing redundant hierarchy traversals and adding supporting types and extension methods.
    • pull/31022
  • Fix LoadFile method in iOS and macOS WebView for subdirectory files: This pull request fixes an issue where the LoadFile method ignored files located in subdirectories by updating file path handling to correctly use NSBundle.GetUrlForResource overloads. It includes new tests to verify that files in nested directories are properly loaded and displayed.
    • pull/31040
  • Mark CompressedLayout API as obsolete: This pull request marks the entire CompressedLayout API as obsolete by adding [Obsolete] attributes with deprecation messages to the class and all public members. It removes the associated XML documentation file, replaces XML include references with direct comments, and maintains existing functionality while guiding users away from this non-functional API.
    • pull/31052
  • Add MSBuild variable IncludeCurrentTfms for CI builds: This pull request introduces a new MSBuild variable, IncludeCurrentTfms, enabling selective inclusion or exclusion of current target frameworks in continuous integration builds. This allows teams to control build scope and optimize build times by conditionally building current TFMs alongside or separately from previous TFMs, with updates to project files and documentation.
    • pull/31054
  • Fix Android location permission CheckStatusAsync method: This pull request fixes the Android location permission CheckStatusAsync method to correctly return PermissionStatus.Restricted instead of Denied when users grant partial location permissions on API 31 and above. It overrides the method in LocationWhenInUse and LocationAlways classes to align with existing RequestAsync logic for handling partial permissions.
    • pull/31019
  • Restore OnSizeAllocated behavior in Shell for .NET 10: This pull request restores the expected behavior of the OnSizeAllocated method in the Shell component for .NET 10 on Android and iOS. It ensures the method is properly called to support layout-dependent initialization and resizing logic that was broken in the latest version.
    • pull/31056
  • Fix iOS toolbar items BarTextColor rendering: This pull request fixes an issue where iOS toolbar items did not correctly reflect the custom BarTextColor by updating their image rendering mode to Automatic. This ensures UIBarButtonItem images use the intended tint color instead of the default AlwaysOriginal mode.
    • pull/31092
  • Fix iOS CollectionViewHandler2 IsGrouped layout update: This pull request addresses an issue where changing the IsGrouped property at runtime did not properly update the layout in iOS CollectionViewHandler2. It adds a call to handler.UpdateLayout() in the MapIsGrouped method to ensure the layout refreshes correctly when grouping state changes.
    • pull/31100
  • Add Appium UI test running instructions: This pull request proposes adding instructions for running Appium UI tests to the project documentation. The goal is to improve guidance for executing these tests.
    • pull/31009
  • Fix alert popups appearing on wrong window on iOS/macOS: This pull request fixes an issue where alert popups could appear on the wrong window during modal page navigation on iOS and macOS. It skips view controllers being dismissed to ensure alerts and popups display only on valid, active UI stacks, preventing deadlocks and improving reliability.
    • pull/31016
  • Fix OnSizeAllocated event firing on Android Shell: This pull request fixes the issue where the OnSizeAllocated event was not fired for the Android shell. It updates the Android implementation to mirror iOS behavior, ensuring consistent event handling across platforms.
    • pull/31035
  • Fix UITestSearchBar cursor visibility and UI test image failures: This pull request addresses UI test image failures related to cursor visibility on the UITestSearchBar control by improving rendering and test stability across platforms. Changes include adding cropBottom in VerifyScreenshot for iOS and replacing PlatformView with QueryEditor to prevent the SearchBar cancel button from being hidden when IsCursorVisible is false.
    • pull/31041
  • Add ItemsUpdatingScrollMode.KeepLastItemInView support to iOS CollectionView: This pull request adds support for the ItemsUpdatingScrollMode.KeepLastItemInView feature to the CollectionView control on iOS. It updates layout creation and scroll logic, addresses related issues, and includes new test cases to verify correct behavior.
    • pull/31104

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

Key Closed Pull Requests

1. [ci] Enable api scan on dnceng: This pull request re-enables API scanning in the new dnceng build pipelines by adding a dedicated APIScan stage with configurable parameters, integrating it into the existing pipeline dependencies, preparing necessary artifacts for scanning, and cleaning up deprecated build script code to restore and improve the API scan process that was previously disabled during the migration.

  • URL: pull/30984
  • Merged: 2025-08-05T09:18:13Z
  • Associated Commits: e7e08, e2e36, ff481, c0689, 9f17f, 13112, 13338, 097a0, 9b3ab, 6f068, cf43f, a9904, e0d06, f39f9, c5958, 9e488, 2de4c, 56676, 5785b, 3f386, 891af, b3f22

2. [v3] Add Diagnostics Metrics Tracking to MAUI Applications: This pull request introduces a core diagnostics and metrics tracking infrastructure to .NET MAUI applications, enabling detailed, zero-allocation instrumentation of layout operations like measure and arrange with extensible interfaces for adding custom tags and domain-specific metrics, thereby providing a performant and flexible foundation for application observability and performance monitoring.

  • URL: pull/31058
  • Merged: 2025-08-08T20:30:47Z
  • Associated Commits: 19d95, 493df, 258c8, 5f10f, c6a24, 18346, b5671, b8019, 8b027, e35ff, afef5, d0e92, 6b63f

3. Add emulator process kill timeout with ADB restart and comprehensive timeout protection: This pull request implements comprehensive timeout and error-handling mechanisms for the Android emulator process kill operation and ADB commands within the build automation script, including a one-minute kill timeout with automatic ADB server restart on failure, targeted ADB server restart at 90 seconds during emulator boot to resolve authorization issues, and enhanced logging to prevent indefinite hangs and improve recovery in CI/CD pipelines.

  • URL: pull/30941
  • Merged: 2025-08-05T09:12:45Z
  • Associated Commits: b71a6, d54b5, 00de2, 013a0, b5823, 91057, 5a7d3, a3397, c414c

Other Closed Pull Requests

  • Build and CI improvements: Multiple pull requests enhance the project's continuous integration and build processes by refining automated workflows, improving error handling, and updating build configurations. These changes include adding timeout mechanisms for emulator cleanup, handling SSL certificate revocation issues, and improving release pipeline robustness to handle removed packages gracefully.
    • pull/31088, pull/31003, pull/31028, pull/31032, pull/31057, pull/31089, pull/31080, pull/31003, pull/31057, pull/31088, pull/31089
  • Layout constraint system refactoring: Two pull requests refactor the .NET MAUI layout constraint system by changing the ComputeConstraintForView method to return a LayoutConstraint value and making the ComputedConstraint setter private with an internal setter method. These changes improve API clarity, encapsulation, and ease of implementing custom layouts in the upcoming .NET 10.0 release.
    • pull/31087, pull/31070
  • iOS and Apple SDK updates: Pull requests update the project to support Xcode 26 by upgrading Apple platform SDK versions, adjusting build and pipeline configurations, and adding new dependencies and NuGet package sources. Additionally, fixes address iOS ScrollView content offset regressions and snapshot test failures to improve stability and compatibility.
    • pull/31030, pull/30724, pull/30976, pull/31074, pull/30729, pull/30724
  • UI test reliability fixes: Several pull requests improve UI test stability by fixing flaky tests through adding helper methods with retry logic, additional tap actions, and providing correct snapshot images for various platforms. These changes enhance test reliability and reduce false failures in the CI environment.
    • pull/31006, pull/31004, pull/31018, pull/31028, pull/31084, pull/31018, pull/31006, pull/31004, pull/31018, pull/31084
  • ScrollView and RecyclerView fixes: Pull requests address layout and behavior issues in ScrollView and MauiRecyclerView components by fixing RTL content offset regressions, resolving extra bottom space caused by race conditions, and reducing excessive layout updates. These fixes improve UI consistency and performance across platforms.
    • pull/30724, pull/30729, pull/30988
  • Permissions and API updates: Updates include adding Bluetooth permission support on iOS and fixing Android permissions request flow by handling edge cases where permission results are empty. These changes enhance platform API coverage and robustness in permission handling.
    • pull/30724, pull/30697, pull/31084
  • Sensor interface refactoring: One pull request refactors all sensor interfaces to inherit from a common ISensor interface using member shadowing and explicit interface implementations. This establishes a clean and consistent interface hierarchy while maintaining backward compatibility and enabling new polymorphic usage.
    • pull/30839
  • Dependency version updates: A pull request updates multiple Microsoft.Extensions and Microsoft.AspNetCore package versions to their latest stable releases to improve dependency stability and security. This ensures the project uses the most current and reliable package versions.
    • pull/31068
  • CollectionView layout fix: A pull request fixes an issue where the CollectionView layout does not update correctly when the ItemsSource changes from null at runtime by adding a fallback in the measurement method. This ensures proper rendering of items across multiple platforms.
    • pull/30978
  • Blazor component cleanup: One pull request cleans up duplicate path normalization code in the HybridWebView component of the Blazor project, addressing a specific issue to improve code maintainability.
    • pull/30873

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 176 25 0 217
rmarinho 297 14 6 18
jsuarezruiz 131 5 1 39
PureWeen 121 9 6 23
kubaflo 96 19 7 32
NirmalKumarYuvaraj 101 5 0 2
mattleibow 65 3 7 25
bhavanesh2001 72 1 2 5
HarishKumarSF4517 74 3 0 3
NanthiniMahalingam 71 2 0 3

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