Weekly GitHub Report for Maui: August 18, 2025 - August 25, 2025 (12:00:14)
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, 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 improvements to streamline development workflows.
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.
-
Windows apps play Windows Exclamation sound when ALT S is pressed in MAUI Blazor Hybrid app: This issue describes a problem in a MAUI Blazor Hybrid app on Windows where pressing the keyboard shortcut ALT+S triggers the Windows default Exclamation sound, despite the presence of an accesskey attribute intended to handle this shortcut. The user notes that this behavior does not occur in WinForms apps with a WebView2 control, but it does occur in both standard MAUI and MAUI Blazor Hybrid apps, and no workaround has been found so far.
- The comments confirm the issue is reproducible on Windows with multiple MAUI preview versions, clarify that the problem occurs specifically when pressing ALT+S inside the WebView, and suggest the root cause may lie with the MAUI WebView control rather than Blazor itself, as the sound suppression works differently across WinForms, MAUI, and MAUI Blazor Hybrid apps.
- Number of comments this week: 7
-
iOS CollectionView doesn't respect a change to ItemsLayout when using Items2.CollectionViewHandler2: This issue describes a problem on iOS where changing the ItemsLayout of a CollectionView at runtime does not work when using the newer Items2.CollectionViewHandler2, despite this handler fixing layout problems on iPhone 16. The user reports that while the regular CollectionView allows dynamic layout changes, switching to the new handler disables this functionality, forcing users to restart the app after device rotation.
- The comments confirm the issue is reproducible on iOS with the CV2 handler but not with the original CV1 handler. A pull request has been suggested as a potential fix, and the contributor responsible for that PR believes it addresses the problem by adding a new mapper for ItemsLayout in CV2.
- Number of comments this week: 4
-
VisualStateManager Setter Fails for Namespaced Custom Controls in .NET MAUI 10.0.0-preview.7: This issue describes a regression in .NET MAUI 10.0.0-preview.7 where the XAML compiler fails to resolve a namespaced custom control when VisualStateManager setters are used, causing a build error that did not occur in the previous preview version. The problem affects multiple platforms and results in a compile-time error XC0000, with a partial workaround involving fully qualified property syntax that is inconsistent across scenarios.
- The comments confirm the issue is reproducible across major platforms and specific to preview 7, not preview 6. One comment marks the issue as a duplicate of another, and another asks if the reporter can test a related pull request to verify a potential fix.
- Number of comments this week: 3
-
Memory Leak in VisualStateGroup When Used with Custom Settings Class in .NET MAUI: This issue describes a memory leak occurring in .NET MAUI when using VisualStateGroups with a custom settings class, specifically involving a custom toggle control and its settings. The leak happens because references to the control are retained when VisualStateManager switches states and the settings are updated or disposed, preventing proper cleanup and memory release.
- The comments confirm the issue is reproducible on Windows with multiple MAUI versions and suggest that defining VisualStates as page-level resources causes the leak by holding references to controls through the custom settings objects; it is also recommended to force garbage collection after removing the control to help mitigate the problem.
- Number of comments this week: 2
-
CollectionView crash: This issue describes a crash occurring in an iOS app when a CollectionView populated with up to 100 items moves to the background, which did not happen previously when using a ListView in Xamarin.Forms. The user has attempted various workarounds, including switching to a new CollectionView handler and limiting the data source, but the app continues to crash, and they are working on creating a minimal reproduction project.
- The discussion includes a suggestion to try the new CollectionView handler introduced in .NET MAUI 9.0, which the user implemented but reported that the crash still occurs. The user plans to create a minimal reproducible example to help diagnose the issue, acknowledging it may take some time due to the complexity of their codebase.
- 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 within a custom control's bindable property in XAML, as the setter for the property is never triggered. The user reports that this occurs across iOS and Android platforms in version 8.0.80 SR8, with no known workaround other than avoiding nullable enums by adding an explicit unset or none value to the enum.
- 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 on Windows version 10.0.19041.0 using the .NET 8.0.80 SR8 runtime, and no workaround has been identified so far.
- 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 invoke method only once, indicating the problem is specific to globally defined styles in the Maui framework 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 ArcSegments used to draw arcs in PathGeometry occasionally appear offset from their expected starting positions, particularly for large arcs greater than 180 degrees. The problem occurs across Windows, Android, and iOS platforms, is more frequent near the 180-degree threshold and with thicker strokes, and persists despite attempted workarounds such as breaking the arc into smaller segments or using line segments, especially during animations.
- .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 the display scaling is changed. Specifically, even when FontAutoScalingEnabled is set to false, the text size increases with higher display scaling settings, which should not occur and affects the consistency of UI appearance.
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: 25
Summarized Issues:
- NativeAOT Build and Test Issues: Multiple issues highlight challenges with NativeAOT support in .NET MAUI, including build failures due to reflection and trimming incompatibilities, the need to improve out-of-the-box NativeAOT support for Windows targets, and failing UI tests after enabling NativeAOT runs. These problems block successful builds and test completions, requiring manual project adjustments and further investigation to ensure compatibility with .NET 10.0 GA.
- [issues/31222, issues/31227, issues/31262]
- CollectionView and Layout Problems: Several issues report CollectionView-related bugs such as crashes on iOS when moving to background with many items, failure to change ItemsLayout at runtime on iOS, incorrect Footer placement on iOS, and layout inconsistencies in custom WinUI layouts. These issues cause UI failures, incorrect rendering, and app crashes across platforms, impacting user experience and app stability.
- [issues/31247, issues/31259, issues/31283, issues/31293]
- Platform-Specific UI and Rendering Bugs: There are multiple platform-specific UI problems including the BackgroundColor property regression in GraphicsView on iOS, macOS, and Windows, image rendering failures from subfolders on Windows, checkbox label spacing issues on Windows, and ToolbarItems becoming unmodifiable after incomplete gestures on iOS. These bugs cause inconsistent UI behavior and visual glitches across different operating systems.
- [issues/31239, issues/31256, issues/31268, issues/31278]
- Crash and Stability Issues: Crashes occur in various scenarios such as two-finger taps on Windows, enabling Windows MSIX package creation, and iOS app backgrounding with CollectionView. These crashes disrupt app usage and debugging, indicating stability regressions in recent versions.
- [issues/31285, issues/31290, issues/31247]
- Versioning and Project Configuration Anomalies: Setting the Version tag in .csproj files does not automatically set AssemblyVersion in .NET MAUI projects, deviating from standard .NET behavior and requiring explicit specification. This inconsistency complicates version management for developers.
- [issues/31243]
- Input and Accessibility Issues: Problems include the ALT+S keyboard shortcut triggering an unwanted Windows sound despite accesskey handlers, and a request to review accessibility fixes in the DeveloperBalance app to ensure compliance with NET10.0 standards. These issues affect user interaction and accessibility compliance.
- [issues/31230, issues/31300]
- Style and Theming Bugs: Styles inheriting from other styles using AppThemeBinding fail to correctly inherit overridden properties, causing derived styles to display base style values instead of expected overrides. This leads to incorrect theming and styling in applications.
- [issues/31280]
- Debug and Release Performance Disparity: Debug mode performance in MAUI is significantly slower than Release mode, prompting tracking of related scenarios to address this performance gap.
- [issues/31309]
- Deployment and SDK Update Regressions: Deploying basic .NET MAUI templates in release mode on iOS and Android fails with .NET 10.0 preview7, and updating to .NET SDK 9.0.304 causes regressions such as missing underlines in Android ENTRY controls and inability to install iOS apps on physical devices. These regressions hinder app deployment and development workflows.
- [issues/31308, issues/31294]
- Pull-to-Refresh Feature Non-Functionality on macOS: The App.ScrollUp feature intended for pull-to-refresh does not work on macOS, although it functions correctly on other platforms, limiting expected user interaction on macOS.
- [issues/31216]
- WaitForTextToBePresentInElement Method Fails to Throw Exceptions: The WaitForTextToBePresentInElement method silently returns false instead of throwing exceptions when expected text is not found, leading to false test results and masking errors in UI tests.
- [issues/31217]
- OnBackButtonPressed API Inconsistencies: The OnBackButtonPressed override behaves inconsistently across Android, iOS, and Windows, suggesting a need to reevaluate or deprecate this API in favor of more consistent lifecycle or navigation event handling.
- [issues/31266]
- XAML Compiler Regression with VisualStateManager: The XAML compiler fails to resolve namespaced custom controls when VisualStateManager setters are used inside the control, causing build errors in .NET MAUI 10.0.0-preview.7 that did not occur previously.
- [issues/31286]
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: 27
Summarized Issues:
- Media Playback Customization: This topic covers the implementation of options and API changes to enable customizable media playback behaviors such as inline playback, autoplay, AirPlay, Picture-in-Picture, and user gesture requirements in the HybridWebView component across iOS, Android, and Windows platforms. These changes aim to provide consistent and flexible media playback experiences on all supported platforms.
- issues/30846
- XAML and Build Process Improvements: Issues related to improving XAML inflator parameter passing using MSBuild properties and item metadata, as well as problems caused by enabling the XAML Source Generator in .NET 10 Preview 7 that break builds involving Grid controls. These focus on optimizing build processes and resolving compilation errors introduced in recent previews.
- issues/30877, issues/31142
- Lifecycle and Navigation Bugs: This includes warnings about the lack of UIScene lifecycle adoption on MacCatalyst, navigation bugs causing main page display issues after repeated tab navigation, and requests for exposing Android Activity OnKey* overrides to handle hardware key events. These issues affect app lifecycle management and navigation reliability across platforms.
- issues/30896, issues/31136, issues/31205
- Windows Platform Stability and Gesture Issues: Covers crashes on Windows caused by repeated window open/close operations and two-finger tap gestures, as well as a pinch gesture problem where interruption by alerts leaves gestures in an active state, causing unresponsiveness. These issues degrade app stability and input handling on Windows.
- issues/30989, issues/31033, issues/31284
- UI Rendering and Control Behavior Regressions: This topic includes inconsistent firing of OnPropertyChanged events for custom controls, CollectionView display issues when changing IsGrouped at runtime, and a persistent black line appearing on CollectionView in MacCatalyst. These problems cause UI elements to not update or render correctly, impacting user experience.
- issues/30999, issues/31096, issues/31226
- iOS Specific Crashes and Exceptions: Issues involving NullReferenceException crashes in Button.LayoutButton after upgrading MAUI versions, recurring InvalidCastException in Maps on iOS after updates, and crashes caused by setting CharacterSpacing to zero on buttons. These bugs cause app instability and crashes on iOS devices.
- issues/31048, issues/31098, issues/31238
- Android WebView and Testing Failures: Problems with .NET 9 MAUI Blazor apps hanging on splash screen due to Android System WebView issues, and Xamarin.UITest failing to run UI tests because of missing assemblies in the APK despite proper embedding settings. These issues break app startup and testing workflows on Android.
- issues/31079, issues/31208
- API and Codebase Refinements: Includes changes to ComputeConstraintForView method to improve API clarity and support custom layout constraints, and synchronization of accessibility fixes from sample projects back to templates to maintain consistency. These efforts aim to improve maintainability and accessibility support.
- issues/31069, issues/31083
- Compilation and Code Signing Issues: Covers compilation errors with custom controls in XAML introduced in .NET 10 preview, and code signing failures on iOS apps using SkiaSharp after macOS updates, which prevent successful app deployment without workarounds. These issues block builds and releases.
- issues/31186, issues/31192
- Project Configuration and Dependency Breakages: Problems caused by removing Android targets leading to unexpected console windows on Windows debugging, and breaking changes requiring manual addition of Xamarin.AndroidX.DocumentFile package after updating MAUI versions. These affect project setup and dependency management.
- issues/31264, issues/31272
- Permission and Exception Handling Challenges: Issues with lack of automatic camera permission checks in WinUI partial trust apps complicate Microsoft Store releases, and enabling all CLR exceptions causes app failures across platforms, hindering debugging and startup. These problems affect app security and stability.
- issues/31251, issues/31299
- Development Environment and Deployment Confusion: Challenges in iOS app development with MAUI related to confusion about the need for intermediary devices and specific Xcode versions, despite successful local device deployment without Xcode. This causes uncertainty in development workflows.
- issues/31257
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: 28
Key Open Pull Requests
1. [iOS] Fix SwipeView stays open on iOS after updating content: This pull request addresses an issue on iOS where a SwipeView inside a CollectionView remains open after its content is updated by manually closing the SwipeView’s open state when the BindingContext changes, thereby fixing bug #19541.
- URL: pull/31248
- Merged: No
- Associated Commits: 13879, 397a2, 2f47f, f3b39, 3d75b, 31c20, 42f84, 811bc, 7925e, 543d9, a8afd, 028ad, 65981, c6444, ec329, 15aa2, 3c0a6, ba941, 21140
2. [net10.0] Update net10: This pull request aims to update the net10.0 branch by bringing in the latest changes from the main branch, including various commits that add manual test samples, modify project files, fix flaky UI tests, adjust test timeouts, and introduce build parameters to improve testing and development workflows.
- URL: pull/31296
- Merged: No
- Associated Commits: 11d2d, 0b248, f05eb, 31155, e4df7, c6941, 4cf10, 8bfcb, b138f, 08b3a, 2bcf9, 03ab3, ae9e6
3. Fix SearchBar IsTextPredictionEnabled false functionality: This pull request fixes the issue where setting IsTextPredictionEnabled to false on the SearchBar control did not disable text prediction on iOS and Android by correcting the implementation to respect the actual property value, ensuring that text suggestions are properly disabled across Android, Windows, iOS, and Mac platforms.
- URL: pull/31255
- Merged: No
Other Open Pull Requests
- IndicatorView Shape Fixes: This pull request fixes the issue where the IndicatorView's square shape on iOS and macOS does not update correctly on load or dynamically by properly retrieving the UIPageIndicatorImageView subview and setting its image to the system "square.fill." It also removes a restrictive check to allow dynamic switching between square and circle shapes, with validation across multiple platforms and associated test cases added.
- Dependency and Package Updates: Multiple pull requests update dependencies and package sources on the net10.0 branch to newer release candidate versions, including SDKs and toolsets for .NET, Android, and Apple platforms. These updates improve overall project stability and build pipeline compatibility with Azure DevOps.
- DisplayRotationStateTrigger Addition: A new
DisplayRotationStateTrigger
is introduced to enable precise detection and handling of specific device rotation angles (0°, 90°, 180°, 270°, and Unknown). This provides more granular control than the existingOrientationStateTrigger
and includes comprehensive unit tests and mock improvements without breaking existing APIs.
- CarouselView Position and Item Handling Fixes: Several fixes address issues in CarouselView on Windows, Android, and iOS, including synchronizing position updates to prevent cascading events and validating index paths to avoid exceptions when deleting newly created items. These changes ensure accurate position changes and stable scrolling behavior across multiple platforms.
- GraphicsView Background Fixes: The
GraphicsView
control is fixed to properly apply or update itsBackground
andBackgroundColor
properties on iOS, macOS, and Windows by updating platform-specific handlers. This includes adding a new test page and UI test to verify dynamic background changes and modifying the Windows handler to use a container when a background is set.
- Image Loading Fix on iOS: An issue where
ImageSource.FromFile
fails to load images located in subfolders on iOS is fixed by updating the image loading logic to use only the file name when accessing the app bundle. New test assets and UI tests verify the fix.
- LineHeight Behavior Fixes on Windows: Two pull requests address the issue where
LineHeight
values less than 1 had no effect on Windows by setting theLineStackingStrategy
toBlockLineHeight
. These changes include adding UI tests and modifying the update method to ensure consistent behavior across platforms.
- Configuration Source Generator: A source generator is introduced that automatically creates a compile-time extension method for
IConfigurationBuilder
to load and embed configuration values from anappsettings.json
file into MAUI applications. This eliminates the need for runtime JSON parsing and enables seamless, zero-dependency configuration integration.
- Background Thread Property Binding Tests: New test cases verify that property binding updates from background threads are correctly marshaled to the UI thread without causing crashes. This includes a specific XAML page and UI test for Issue31139 and comprehensive unit tests for dispatcher extension methods.
- PointerGestureRecognizer Mouse Button Support: Support for differentiating mouse buttons in the
PointerGestureRecognizer
is implemented by introducing a new Buttons parameter. This enables detection of left and right mouse clicks across platforms like macOS and Android, with noted limitations on macOS/iOS and Tizen.
- Windows NativeAOT Integration and Improvements: Several pull requests add integration tests for the Windows nativeAOT template, update the Windows App SDK to preview version 1.8 for .NET 10.0, and introduce targeted improvements to enhance Native AOT publishing stability and compatibility on Windows. These include adding DynamicDependency attributes and improving build configurations.
- Obsolete OffscreenPageLimitProperty and Cleanup: The
OffscreenPageLimitProperty
and related APIs are marked as obsolete, and the unusedUpdateOffscreenPageLimit
method is removed from the modernTabbedPageManager
implementation while preserved in the compatibility layer. Code cleanup and warning suppressions maintain backward compatibility and code quality without breaking existing functionality.
- Android FlyoutPage Orientation Crash Fix: A critical crash in Android FlyoutPage during device orientation changes is fixed by clearing the layout parameters of views when they are moved between different parent containers. This prevents a ClassCastException caused by incompatible layout parameter types.
- iOS CollectionView Empty Space Fix: An issue in the iOS implementation of CollectionView (CV2) causing unwanted large empty space and horizontal scrolling at the bottom when no items are present is fixed by overriding CollectionViewContentSize to return CGSize.Empty. This prevents the unwanted scrolling behavior.
- UI Test Timeout Exception Improvement: The
WaitForTextToBePresentInElement
method is modified to throw aTimeoutException
with a descriptive message when the expected text is not found within the timeout period. This replaces the previous behavior of silently returning false, ensuring UI tests fail properly and preventing false positives.
- iOS DatePickerExtensions Date Format Update: The iOS DatePickerExtensions are updated by replacing the usage of NSDateFormatterStyle with explicit date format strings for long and short date formats. This ensures consistent date display regardless of locale settings.
- FlyoutPage Navigation Simplification: The FlyoutPage.cs is updated to simplify navigation logic by removing NavigationPage unwrapping and replacing explicit null-checks with null-conditional operators. This ensures that the
SendNavigatingFrom
method is invoked directly on the currentPageDetail
value.
- Android GraphicsView Scaling Fix: An issue in the Android GraphicsView where the rendered content size was incorrectly doubled is fixed by removing an unnecessary scaling call in PlatformGraphicsView. Scaling is already handled by the canvas.ResetState() method.
- Layout Performance Improvement: A pull request proposes utilizing the newly computed
LayoutConstraint
in common layouts to prevent unnecessary invalidation propagation. This change significantly improves layout performance in the project.
- iOS ToolbarItems Back Gesture Fix: An issue on iOS where ToolbarItems could no longer be manipulated after an incomplete "Back" gesture is fixed by moving the CollectionChanged event handler attachment for _tracker to the initialization logic. This simplifies event handling and ensures consistent attachment, fixing the related bug reported in issue #31278.
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: 37
Key Closed Pull Requests
1. Copilot/fix f2867d86 9ecf 4090 b2f2 ef45b1c41f32 net10: This pull request proposes various changes including adding a manual test sample, modifying project files, implementing and refining a RunNativeAOT parameter to control NativeAOT UI tests, removing unnecessary checks and tokens, and updating CI pipeline configurations, but it was ultimately not merged.
- URL: pull/31273
- Merged: No
- Associated Commits: 7eb6a, fd0ed, 71d2b, 0c61e, 516ed, cec2f, c1331, 8eed9, e1152, 16caa, ec4c7, 44679, 8d85f, b0221, 73c13, 112f2, 3e62d
2. [Testing] Run UI tests with CoreCLR on Android: This pull request adds support for running UI tests with the CoreCLR runtime on Android by introducing CoreCLR as a runtime variant, refactoring build and test scripts for improved maintainability, updating pipeline configurations to include CoreCLR-specific stages and artifact publishing, fixing NativeAOT UI test build steps, and addressing related compatibility warnings and environment updates.
- URL: pull/30842
- Merged: 2025-08-18T11:59:30Z
- Associated Commits: e2324, b3c5f, 172c4, 66327, a9989, b3566, 8904c, 26c02, 7f7f1, 7a6cd, 13ef6, 63dc5, c7fb7, fd905, 9662b
3. Add BuildNativeAOT parameter with separate build and test execution control: This pull request introduces a new BuildNativeAOT
parameter alongside the existing RunNativeAOT
parameter to provide fine-grained, environment-aware control over the building and execution of NativeAOT UI tests, enabling automatic artifact building in the devdiv environment while requiring explicit test execution opt-in to optimize resource usage without breaking existing pipelines.
- URL: pull/31252
- Merged: 2025-08-22T11:51:01Z
- Associated Commits: 51d34, 7ac1b, aa50f, 7467e, 82bb6, fb966, ec48b, 05895, 06d75, ee619, 221e1, 6d101, eafe1
Other Closed Pull Requests
- Pipeline and Test Configuration Updates: Multiple pull requests simplify pipeline configuration by removing unused parameters and obsolete resources, add conditional logic for building and testing NativeAOT UI test artifacts, and update test exclusion lists to improve reliability. Additionally, several fixes address flaky UI tests and image failures by adding waits, updating snapshots, and improving rendering stability across platforms.
- Command Support in CheckBox Control: Two pull requests add command and command parameter support to the
CheckBox
control by implementing theICommandElement
interface, introducing bindable properties, and updating the public API across all supported platforms. These changes enhance MVVM scenario flexibility and include unit tests to ensure commands execute only when allowed.
- Dependency and SDK Version Updates: Several pull requests update multiple dependencies and SDK versions across the .NET MAUI project, including .NET SDK, runtime, Microsoft.Extensions, Microsoft.AspNetCore packages, and Xamarin/MAUI platform SDKs, to their latest release candidate versions. These updates aim to improve compatibility, stability, and incorporate the newest features and security fixes.
- NativeAOT and Trimming Support Enhancements: Multiple pull requests improve NativeAOT support by marking core projects as AOT compatible, enabling unsafe code for trimming, refactoring Windows platform classes, and adding UnconditionalSuppressMessage attributes to suppress trimming warnings in the TestCaseScreen class and related methods. These changes resolve build failures without impacting runtime behavior.
- Android Lifecycle and Edge-to-Edge Display Improvements: Pull requests enhance Android lifecycle event handling by adding generalized OnKey* event delegates for hardware key interactions and implement a temporary workaround for Android 15's removal of legacy edge-to-edge ignore paths. The workaround includes adding a WindowsListener class to key Android handlers and removing legacy system window handling to prevent app content from being obscured.
- UI and Gesture Fixes on Windows: A pull request fixes issues with pan and pinch gesture completion on Windows, addressing problems with pinch gestures running with only one touch point, pan completion events not firing with multiple touch points, and pinch gestures becoming inoperable prematurely. These fixes improve gesture reliability and user interaction on Windows platforms.
- Obsolescence and API Cleanup: One pull request marks the
Performance
andIPerformanceProvider
types as obsolete with compile-time errors, removes their usages including an unused class and performance tracking calls, preventing their use and resolving related build failures. Another pull request removes the newly introduced XamlProcessing attribute in favor of MSBuild item metadata and prepares for the obsolescence of the XamlCompilationAttribute.
- Project and Sample Updates: Pull requests merge main branch changes into net10.0, including bug-report workflows, renderer improvements, and XAML binding fixes, and update the maui-mobile developer sample with recent fixes to improve relevance and functionality. Another pull request reverts previous template changes in the samples repository to ensure consensus.
- Miscellaneous UI and Documentation Changes: Pull requests implement automatic resizing for Chrome icons on iOS toolbar items to ensure visual consistency and add instructions for running Appium UI tests to project documentation, although the latter was not merged. An unmerged work-in-progress pull request attempts to fix iOS template tests by updating the dotnet-tools.json file.
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 | 182 | 25 | 0 | 149 |
rmarinho | 323 | 15 | 6 | 11 |
PureWeen | 89 | 7 | 13 | 19 |
kubaflo | 84 | 16 | 5 | 19 |
NirmalKumarYuvaraj | 74 | 8 | 1 | 3 |
anandhan-rajagopal | 39 | 1 | 0 | 44 |
jsuarezruiz | 68 | 1 | 0 | 13 |
HarishKumarSF4517 | 73 | 3 | 0 | 4 |
jfversluis | 36 | 2 | 2 | 29 |
mattleibow | 51 | 0 | 6 | 10 |