Weekly GitHub Report for Maui: July 27, 2026 - August 03, 2026 (21:18:04)
Weekly GitHub Report for Maui
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is 9.0.90
1.2 Version Information:
The .NET MAUI 9.0.90 SR9 release, published on July 11, 2025, includes over 141 commits primarily focused on critical product fixes across iOS, Android, and Windows platforms, testing enhancements, and infrastructure updates. Key highlights involve resolving UI and navigation issues, improving handler and threading stability, updating dependencies, and extensive test case additions to ensure robustness.
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.
-
[T/BUG] [PLATFORM/ANDROID] [S/VERIFIED] [AREA-CONTROLS-GENERAL] [S/TRIAGED] [I/REGRESSION] [PARTNER/SYNCFUSION] [REGRESSED-IN-10.0.90] [Android] Upgrade to 10.0.90 does not handle UI events properly: This issue reports that upgrading the MAUI.Controls and Compat packages from version 10.0.80 to 10.0.90 on Android causes UI events to not propagate correctly, resulting in visual states not updating as expected despite internal properties changing. The user narrowed the problem down to the presence of a shadow on a Border control, which appears to interfere with proper UI event handling and visual state updates in the newer version.
- The comments include a request for a reproduction sample, the user providing a minimal repro repository demonstrating the issue linked to a Border shadow, confirmation of the issue's reproducibility on Android with version 10.0.90, and a clarification about the correct regression label version.
- Number of comments this week: 4
-
[T/BUG] [AREA-LAYOUT] [PLATFORM/IOS] [S/NEEDS-ATTENTION] [NET 10] iOS App Freezes in Display Zoom mode set to "Larger Text": This issue describes a problem where an iOS app built with .NET MAUI freezes on the splash screen when the device's Display Zoom setting is set to "Larger Text," specifically affecting devices with a notch or Dynamic Island starting from iOS 15. The user suspects the problem relates to handling safe area padding and notes that the issue persists in version 10.0.50 despite previous fixes, with workarounds involving removing SafeAreaEdges settings or adjusting BoxView heights.
- Comments reveal attempts to reproduce the issue on both simulators and real devices with mixed results; some cannot reproduce it on simulators while others confirm it occurs on both, and clarifications were made distinguishing Display Zoom from text size adjustments to aid in accurate reproduction.
- Number of comments this week: 4
-
[PLATFORM/ANDROID] [AREA-CONTROLS-SHELL] [S/VERIFIED] [S/TRIAGED] [I/REGRESSION] [PARTNER/SYNCFUSION] [REGRESSED-IN-10.0.90] [regression/10.0.90] Shell: DI-Singleton page pushed via a registered route renders blank when re-pushed after an absolute-route stack reset: This issue describes a regression in .NET MAUI version 10.0.90 on Android where a page registered as a DI Singleton and navigated via a registered route renders completely blank when re-pushed after the Shell navigation stack is reset with an absolute route while another page is on top. The problem does not occur in version 10.0.80, and the navigation call completes silently without attaching the page or firing lifecycle events, causing a blocking issue for upgrading due to the blank page rendering despite memory leak fixes in the newer version.
- The comments confirm the issue is reproducible on Android in 10.0.90 but not 10.0.80, note that registering the page as Transient avoids the blank page but causes a memory leak, and users are seeking a viable workaround while sample projects and videos have been shared for validation.
- Number of comments this week: 3
-
[S/NEEDS-ATTENTION] [T/A11Y] Screen Reader Announces Unnecessary Text "Microsoft.Maui.Controls.Platform.ItemTemplateContext" on Tasks Checkbox Navigation.: A11y_.NET MAUI SDKs_Task_Screenreader: This issue concerns a screen reader announcing unnecessary and irrelevant text "Microsoft.Maui.Controls.Platform.ItemTemplateContext" when navigating through the Tasks checkbox list in a .NET MAUI application, which can confuse users relying on assistive technologies. The expected behavior is for the screen reader to directly announce only the checkbox's accessible name and state without including extraneous information, improving accessibility and user experience.
- The comments include validation attempts across multiple .NET MAUI versions and Visual Studio builds, with one user unable to reproduce the issue and requesting additional project details and version information, which were subsequently provided along with a screenshot for further investigation.
- Number of comments this week: 3
-
[S/NEEDS-ATTENTION] [T/A11Y] "Tags" label is not programmatically associated with its controls.: A11y_.NET MAUI SDKs_Project_Screenreader: This issue addresses the problem where the visible "Tags" label in the .NET MAUI SDKs sample app is not programmatically linked to its corresponding form controls, causing screen readers to not announce the label when the controls receive focus. The expected behavior is for the label to be properly associated with the controls using methods like
<label for="fieldId">oraria-labelledbyto improve accessibility for users relying on screen readers.- The comments include validation attempts on different .NET MAUI versions and environments, a request for additional project details and environment information to reproduce the issue, and a response providing the source of the template and specific SDK versions used, along with a screenshot for clarification.
- Number of comments this week: 3
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.
As of our latest update, there are no stale issues for the project this week.
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: 30
Summarized Issues:
- Android UI and Navigation Issues: Several Android-specific problems affect UI rendering and navigation behavior. These include a regression causing DI-registered Singleton pages to render blank after navigation stack resets, UI events not propagating correctly after upgrading MAUI.Controls, a memory leak retaining ShellContentFragments after navigation, and stale safe-area padding during IME hide animations causing layout jumps.
- [issues/36834, issues/36852, issues/36853, issues/36942, issues/37012]
- iOS Layout and SafeArea Problems: Multiple issues on iOS involve incorrect label positioning within ScrollViews when SafeArea settings are applied, freezing on splash screen with Display Zoom enabled, and tap gesture hit regions being offset due to legacy TextKit API usage. These problems affect layout accuracy and user interaction responsiveness.
- [issues/36845, issues/36863, issues/36864, issues/36975, issues/37013]
- Accessibility and Screen Reader Concerns: Accessibility is impacted by screen readers announcing irrelevant text or failing to associate labels with controls, and keyboard navigation issues in menus and charts. These issues reduce usability for users relying on assistive technologies and disrupt expected focus order.
- [issues/36940, issues/36941, issues/36943, issues/36972, issues/36991]
- Build and CI Infrastructure Failures: Build and CI processes face intermittent failures and inefficiencies, including Android resource linking errors, StackOverflowException from deep ProjectReference chains, brittle XAML hot reload caching, and outdated CI workflows lacking native skill integration. These hinder reliable builds and continuous integration.
- [issues/36847, issues/36918, issues/36937, issues/37020]
- Memory and Resource Management Bugs: Resource handling issues cause crashes and leaks, such as recycled bitmaps causing Android crashes, memory leaks from ShellContentFragments not being destroyed, and background colors not clearing on iOS and MacCatalyst controls. These lead to runtime instability and visual inconsistencies.
- [issues/36851, issues/36852, issues/36906, issues/36933]
- UI Control Rendering and Behavior Defects: Problems with control rendering include Picker title placeholders not allowing horizontal scrolling on Android, TabbedPage tabs not filling full width on Android, and inconsistent WebView height rendering inside virtualized lists. These affect visual fidelity and user experience.
- [issues/36834, issues/37011, issues/37028]
- Source Generation and Manifest Generation Issues: The MauiXaml source generator produces duplicate type definitions due to ignoring conditional exclusions, and the Component Governance manifest omits a critical SQLite package due to missing version mapping, causing manifest conflicts and build inconsistencies.
- [issues/36948, issues/36951]
- Dependency and Runtime Compatibility Problems: Upgrading CommunityToolkit.Maui introduces a Windows App Runtime dependency causing unpackaged apps to crash on startup, highlighting compatibility and deployment challenges with new dependencies.
- [issues/36983]
- Test Infrastructure Migration Challenges: Migrating macOS UI-test pools to new infrastructure causes test failures, hangs, and timeouts due to environmental differences, impacting test reliability and maintenance.
- [issues/37008]
- API Consistency and Feature Proposals: Proposals include creating a consistent built-in icon tinting API across MAUI controls to improve theme support and reduce asset duplication, aiming to enhance API uniformity and developer experience.
- [issues/36896]
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: 21
Summarized Issues:
- Navigation and Handler Consolidation: This topic covers efforts to unify and improve navigation and gesture handling across platforms in .NET MAUI. It includes creating a unified NavigationHandler for iOS to align with other platforms and addressing extensibility and correctness issues in gesture management to support custom and third-party handlers without invalid casts or assumptions.
- [issues/33081, issues/33364, issues/35044]
- Extensibility of Platform and Backend Support: Several issues focus on making MAUI's infrastructure more extensible by enabling custom backend registration, handler registration, and support for neutral target frameworks. This includes allowing external backends to integrate seamlessly, enabling extensibility in Resizetizer for image and asset processing, and improving BlazorWebView handler registration without bypassing existing methods.
- [issues/34103, issues/35021, issues/35022, issues/36650]
- UI and Control Behavior Issues: This group addresses problems with UI controls and platform-specific behaviors, such as WebView navigation interception failures on Android, map pin image updates on iOS/Mac Catalyst, and adding support for custom map cluster icons. It also includes accessibility issues where screen readers do not announce labels properly in Entry controls, and animation respects iOS Reduce Motion settings.
- [issues/34392, issues/36292, issues/36335, issues/36579, issues/35845]
- Performance and Memory Optimization: This topic covers profiling and optimizing .NET MAUI apps to reduce memory allocations and improve performance. Key issues include reducing excessive PropertyChangedEventArgs instantiations, minimizing SolidColorBrush churn, and avoiding Boolean boxing in property coercion to lower allocation overhead in real-world scenarios.
- [issues/35302]
- XAML and Hot Reload Limitations: Issues here describe limitations and bugs in XAML markup extensions and Hot Reload functionality. They include the hardcoded platform and idiom sets in
{OnPlatform}and{OnIdiom}markup extensions limiting custom backend support, and a SourceGen incremental XAML Hot Reload bug causing invalid casts and compilation errors during live UI updates. - [issues/35695, issues/36256]
- Status Bar and Theming Control: This issue proposes adding a
Window.StatusBarThemeproperty to allow explicit control over the status bar icon appearance on Android and iOS, addressing readability problems caused by edge-to-edge transparent status bars where the background may not match the app theme. - [issues/34902]
- Regression and Diagnostic Issues: This topic covers regressions and false-positive diagnostics affecting app appearance and build correctness. It includes a regression causing SwipeItem icons to appear black on black backgrounds in Dark Mode on Android and a false-positive MAUIG2045 warning for RelativeSource AncestorType bindings with derived types.
- [issues/36766, issues/36818]
- Build and Template Compatibility: This issue addresses failures in .NET 11 MAUI Blazor solution template tests due to obsolete API usage and launch-profile configurations, requiring their removal to fix build errors on macOS and Windows.
- [issues/36846]
- App Startup Stability and CI Pipeline Improvements: This topic includes an intermittent iOS app startup crash caused by async Shell item population race conditions and the removal of a blanket retry mechanism in CI integration tests due to inefficiency, proposing more targeted retries for flaky tests.
- [issues/36922, issues/36993]
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: 20
Key Open Pull Requests
1. [NET11] [iOS/MacCatalyst] Migrate Shell to Handler architecture: This pull request migrates the iOS and MacCatalyst implementation of the Shell component from the legacy monolithic renderer architecture to a new layered handler architecture—introducing ShellHandler, ShellItemHandler, ShellSectionHandler, and ShellContentHandler—to improve maintainability, align with Android and Windows handler patterns, eliminate retain cycles, and enable mapper-driven property dispatch, while maintaining feature parity and reusing existing compatibility trackers without requiring opt-in.
- URL: pull/37034
- Associated Commits: 0eb23, 685b1, eec74, 787cb, b4d76, c0f46, a02c7, 6ae66, 13779, 6beb0, bc79b, 302cb, 4d45b, 4ffb8, a9c6a, a513c, 56b26, cccb5
2. Fix skill evaluation fixtures and failure reporting: This pull request fixes skill evaluation fixtures and failure reporting by making capability fixtures deterministic, repairing execution errors in try-fix capabilities, improving authentication guidance for preflight checks, clarifying aggregate test verdicts using Vally's suite results, ensuring full-matrix validation loads target skills, enabling anonymous public GitHub review without authentication, and distinguishing failed runs from incomplete ones to enhance diagnostic clarity and reliability in the skill evaluation process.
- URL: pull/36954
- Associated Commits: 95d1c, a261d, 86989, 0e58f, 64b28, b7e8d, 7bee9, 8b4a2, 157d8, f5beb, 9f220, 1b943, a5a41, a972c, 4a38b, 2fd02, 5f84e
3. [net11.0] Update .NET and Android dependencies and restore CI compatibility: This pull request updates the .NET 11.0 and Android dependencies, fixes compatibility issues related to workload installation and iOS/Mac Catalyst APIs, restores CI build stability by adjusting SDK paths and test hooks, and temporarily skips Avalonia template builds until required packages are available on the CI feed.
- URL: pull/36996
- Associated Commits: 5aa3b, d65c4, b4622, d97b2, 880e7, 143cd, d0c24, f8157, 6e602, ae97c, c81c2, df29d, b87c2, 4a31f, 589a8
Other Open Pull Requests
- Android UI Diagnostics Integration: This pull request adds comprehensive native element registrations and lifecycle management for Android UI components within the DevFlow diagnostics framework. It enables inspection and automation of Android-owned controls by emitting versioned diagnostic events, preserving stable registrations across UI refreshes, and ensuring proper cleanup without public API changes.
[pull/36835]
- SwipeItem Icon Tinting Enhancement: This pull request introduces a new bindable property,
SwipeItem.IconColor, to explicitly control the tint color of swipe item icons across Android, iOS, and Windows platforms in .NET 11. It replaces the previous implicit tinting behavior, enabling theme-aware icon coloring viaAppThemeBindingand resolving icon visibility issues in dark mode.
[pull/36884]
- CI Scanner Manifest and Security Improvements: This pull request fixes production dry-run failures by improving the CI scanner manifest handoff through a same-run artifact approach and canonicalizing ASCII fingerprint casing. It also hardens manifest threat detection, exact-once submission gates, and validation to reject unsafe characters, ensuring secure and fail-closed processing of scanner manifests and related artifacts.
[pull/36958]
- Material 3 Styling for Android Pickers: This pull request updates Android DatePicker and TimePicker controls to fully adopt Material 3 styling by replacing underline-style text fields with outlined Material text fields featuring stroked borders, floating labels, and trailing icons. It consolidates shared behavior into a new abstract base view to ensure consistent appearance and interaction aligned with Material 3 guidelines.
[pull/36907]
- iOS and Mac Test Image Updates: This pull request fixes test case failures by adding and updating base and valid images for iOS and Mac platforms. It improves rendering and test stability across platforms, including specific test changes and conditional test failure handling.
[pull/36935]
- Switch Control UI Test Refactor and Expansion: This pull request refactors and expands UI test cases for the
Switchcontrol by adding support for theOffColorproperty and improving theSwitchViewModeland options page. It enhances test coverage with comprehensive UI tests, fixes checkbox event handler logic, simplifies XAML structure, and introduces improved test management and categorization.
[pull/36939]
- Continuous Integration Fixes for net11.0 Merge: This pull request addresses CI fixes related to the automated merge of
net11.0to Preview 7 by adding a missing iOS hosting namespace, refining Avalonia template test NuGet configurations, and serializing certain unit tests to prevent race conditions. These changes result in a successful aggregate build and improved test reliability.
[pull/37036]
- CollectionView Vertical Spacing Fix on iOS/MacCatalyst: This pull request fixes an issue where changing vertical spacing at runtime caused the first item in a CollectionView to be hidden due to ContentOffset shifts. It captures and restores the offset during layout updates to keep the first item visible without manual scrolling.
[pull/37032]
- Android Shell Default Colors Refactor: This pull request refactors Shell's default colors on Android by removing hardcoded hex values and making the Android theme the single source of truth. It introduces context-aware helpers that read color attributes from the current Android theme to ensure consistent theming across native renderers and shared toolbar handlers.
[pull/36869]
- Automated Local Readiness Checks for net11 Build Pipeline: This pull request adds automated local readiness checks for the net11 official build pipeline in the internal dotnet-maui Azure DevOps environment. It implements deterministic discovery and classification of recent builds with sanitized, public-safe reporting and handles partial authentication failures gracefully.
[pull/36915]
- Background Clearing Fix for iOS/MacCatalyst Pickers: This pull request fixes an issue where setting the Background property of DatePicker and TimePicker to null at runtime did not clear the background. It adds internal MapBackground methods and updates property mappers to properly remove the background layer and reset the background color, with added test coverage.
[pull/36934]
- Reconciler for net11.0-to-Release Merge Flow: This pull request introduces a tested reconciler that preserves source-only version properties in release merges by adding missing direct source properties without altering release pins. It includes strict validation to fail on malformed XML, ensures idempotent fast-forward commits, and addresses prior build failures caused by property resets.
[pull/37019]
- HorizontalGridFooterExpand Test Fix on Windows: This pull request fixes a test failure by refining the layout logic of the horizontal MauiItemsView to correctly compute the items area width, subtracting header and footer widths. This improves layout accuracy and reduces unnecessary layout passes without adding new tests since existing UI tests cover the behavior.
[pull/37027]
- .NET 10 Servicing Dependency Flow Update: This pull request updates the .NET 10 servicing dependency flow for the
release/10.0.1xx-sr9branch to use the 10.0.11 ship build. It aligns SDK package and runtime versions to 10.0.111 and 10.0.11 respectively, removes previous SDK/runtime references, and validates the changes through various checks.
[pull/36844]
- iOS Safe Area Insets Per-Edge Fix: This pull request addresses an iOS-specific issue where safe area insets were incorrectly applied across all edges when parent and child views handled different edges. It implements a per-edge evaluation and caching mechanism to ensure each edge independently respects safe area adjustments without double-padding or suppression.
[pull/37033]
- Windows Label Feature Matrix Test Fix: This pull request fixes test failures in the Windows Label Feature Matrix by reverting a recently added baseline image that caused discrepancies between the CI-generated image and the expected baseline.
[pull/37035]
- PR-Finalize Symlink Test Improvements: This pull request improves PR-finalize symlink tests by making them self-sufficient to detect skipped symlinks correctly. It replaces a localized string assertion with a culture-invariant exception type check and documents why changing
New-Item -Pathto-LiteralPathis inapplicable to prevent future confusion.
[pull/37039]
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: 108
Key Closed Pull Requests
1. Add report-only ci-scan stale tracking-issue reconciler: This pull request adds a deterministic, report-only reconciler for the ci-scan and ci-scan-net11 tracking issues in the dotnet/maui repository that identifies genuinely stale issues by analyzing Azure DevOps build IDs without performing any mutations, enforces strict safety and permission boundaries to prevent unauthorized writes, and includes extensive mutation-verified tests and static invariants to ensure correctness and security before any enforcement or automatic issue closure is enabled.
- URL: pull/36850
- Associated Commits: bc3e3, 856ba, 6495b, 0df59, 73657, e153d, b6cf6, 1bb00, 21cc7, 5e227, b0d94, a0db7, c1d87, 753ef, b4ac9, 78bd8, a99a4, c988a, c03a3, e2292, 14390, a98af, 6fe25, f9fc6, 1500c, e2a6d, b3696, f08c8, 29d4c, cbf85, cccba, 04152, b213e, 4b916, 05026, a4ff0, d2848, 5b241, e2c85, eba14, a53f7, 2f756, f02b3, db3a2, e12bd, b0085, 8520d, df121, 74b3d, 26da5, aa53f, 03f6b, 677be, c7897, 77b63, e0f7d, 7add9, e44f0, c0352, d0c5e, 4d29e, e2894, aaf5b, 58182, bd826, 3eeac, cddaf, 2d2fe, 2a6de, dab39, 58e0e, 518fa, 8b4dd, d8a23, 6fa7b, b9873, 3d0df, ea9b8, d67df, 3ef0f, db2fc, e58ad, 12a90, cca1f
2. [Essentials] Passkeys (WebAuthn/FIDO2) Essentials API: This pull request introduces a comprehensive cross-platform Passkeys (WebAuthn/FIDO2) Essentials API for .NET MAUI, including native implementations for Apple, Android, and Windows, a minimal headless reference server for passkey authentication, a MAUI sample app demonstrating passkey registration and sign-in flows, and extensive setup, testing, and documentation to enable secure, passwordless authentication across major platforms.
- URL: pull/36837
- Associated Commits: b4a1a, 0b564, dad6b, 9b52d, eac2f, 918b1, 1074e, f6bd9, fc027, d6e02, a132d, 95ae7, 58246, cc692, 496b9, 26e14, 9f64a, dea2d, cd71d, 4d066, 1a563, 8de61, 90fb3, e2440, 15e3c, 42ceb, 88c56, 85ec0, b1322, cae11, b6051, 0ae1d, f36a0, ec465, f5dff, 6327f, 9b867, f55fe, 57e5d, bbc1d, 6edb5, c95e6, e0b05, 8848b, 3ea05, 770e6, 85232, 6f04d, bd040, 2a2c1, 22095, 9764b, 8fa17, 430fb, 1243a, 6eac9, e774d, 0c481, f11fb, a6df3, 945d6, 0914f, 21a3a, 0e8f2, 9a40f, 34664, b38b2, a4489, 9a71b, 316bc, 64fa1, 7712d, 1698c, 53a58
3. Revert "Fix SwipeItem IconImageSource color handling and rendering across platforms (#35632)": This pull request reverts the previous change (#35632) that altered the color handling and rendering of SwipeItem.IconImageSource across platforms by restoring the original behavior of auto-tinting icons to ensure consistent contrast and legibility, addressing issues caused by the prior change such as icons rendering invisibly in dark mode, and deferring the new behavior with an explicit opt-out API to a future .NET 11 release.
- URL: pull/36883
- Associated Commits: f8e85, 19741, 9a71e, 5535b, 3c1b7, 83816, 208a6, c03ff, 0395a, 6aad9, c1dc2, 0ce73, 0188c, ebf87, 95dc1, 5a439, a4ede, 23cf0, 76c77, 2d1f5, 3faa8, 78ffa, be2a4, 8ae89, 07dd7, 211a2, fbf16, 997d8, 28b43, fa156, 00b70
Other Closed Pull Requests
- StatusBarTheme property for OS-drawn status bar icons: This pull request introduces a new
Window.StatusBarThemeproperty and a correspondingStatusBarThemeenum to allow explicit control over the appearance of OS-drawn status bar icons on Android and iOS. It supports light, dark, and default icon styles with full platform integration, theming support, unit and device tests, and includes a sample page for interactive validation.
- Custom icons for map cluster markers: This pull request adds support for custom icons on map cluster markers by introducing
ClusterImageProviderfor dynamic icons andClusterImageSourcefor static icons. It implements platform-specific rendering and caching improvements on Android and iOS/MacCatalyst, fixes an iOS binding issue, and includes sample UI updates and comprehensive testing.
- XAML Hot Reload improvements: This pull request enhances XAML Hot Reload by improving incremental source generation, expanding deterministic coverage, preserving complex properties during root element replacements, buffering diagnostics, and reorganizing AI-assisted test suites. It also provides extensive new test coverage and addresses issues such as property loss and safe handling of unsupported resource-dependent updates.
- AllowedDomains property for WebView controls: This pull request introduces an optional
AllowedDomainsproperty toWebView,HybridWebView, andBlazorWebViewcontrols to enable URL allowlisting. It restricts navigation and sub-resource loading to specified domains and subdomains across multiple platforms with comprehensive enforcement, domain matching including punycode/IDN support, special scheme handling, and extensive testing.
- NavigationViewHandler replacing NavigationRenderer: This pull request replaces the monolithic iOS and MacCatalyst
NavigationRendererwith a new layeredNavigationViewHandlerarchitecture. The new handler improves maintainability, enables shared infrastructure reuse, aligns with the handler pattern, and provides full feature parity with enhanced lifecycle event handling, toolbar management, and navigation behaviors.
- CI scanner and CI-fixer workflow hardening: These pull requests harden the net11 CI scanner and CI-fixer workflows by enforcing complete and deterministic coverage, validating issue metadata, closing gaps that allowed silent failures, and improving retry and staging robustness. They also replace broad live issue discovery with deterministic snapshots, enforce strict transport gates, fix multiple defects, and add comprehensive hermetic test coverage to ensure robust and reliable automated CI operations.
- ImmutableBrush caching and performance improvements: This pull request introduces a two-stage caching mechanism for
ImmutableBrushinstances keyed byColorto optimize color-to-brush conversions, reduce memory allocations, and improve performance. It also adds benchmarks to validate these enhancements in property-change propagation for common UI controls.
- Label mapping and formatted text rendering fixes: This pull request improves label mapping performance by ensuring complete coverage of the
ToPlatformmethod and related property changes. It updates test samples and images across platforms and fixes issues in formatted text rendering on iOS by enhancing span property propagation and layout logic to prevent incorrect text positioning.
- Cross-platform Passkeys (WebAuthn/FIDO2) Essentials API: This pull request introduces a cross-platform Passkeys API in the Microsoft.Maui.Authentication namespace, providing a detailed design and full implementation across supported platforms. It enables apps to create and assert public-key credentials via native OS authenticators, handles JSON-based communication with relying-party servers, and includes platform-specific integrations, error handling, cancellation support, and comprehensive testing.
- Release readiness tracker improvements: This pull request refines the release readiness tracker by improving how issues are generated, evaluated, and reported. It addresses evidence validation, lifecycle-specific guidance, immutable release anchors, and handling incomplete or malformed data to ensure precise verdicts, hashes, and actionable next steps throughout the release process.
- Android device test coverage extension and fixes: This pull request extends Android device test coverage by enabling Renderer-based tests to validate Handler-based Shell, Modal, and Window implementations in CI. It also fixes a bottom navigation menu update issue and improves toolbar detection in Handler tests.
- Test case fixes for Shell Flyout and UI layout: This pull request fixes test case failures by updating assertions related to Shell Flyout footer positioning, adjusting UI element heights for consistent layout, and adding or replacing base images across multiple platforms to improve rendering and test stability.
- External backend support for Resizetizer tool: This pull request enables external backend processing for the Resizetizer tool by introducing an MSBuild contract allowing custom backends to opt in via the
ResizetizerPlatformTypeproperty. It supports incremental builds with proper tracking and fallback, preserves compatibility with built-in processing, and includes extensive tests for correct handling of images, fonts, and assets.
- Additive support for route templates in Shell navigation: This pull request adds non-breaking support for route templates with
{param}path parameters in Shell navigation. It enables expressive route patterns with optional parameters, default values, constraints, catch-all segments, and mixed literals, integrated with existing query property mechanisms to enhance URI-based navigation.
- Screenshot publishing fixes for visual-comparison workflow: This pull request fixes the screenshot publishing process by switching to an orphan asset-only branch to avoid requiring GitHub Workflows permissions. It implements strict validation of branch contents, improves local test report extraction, preserves legacy asset branches, and validates changes through extensive automated tests and real-evidence runs.
- Cleanup of Controls targets for .NET 11.0: This pull request removes the
_MauiFixTrimmerRootAssemblyMetadataworkaround and eliminates theRootMode="All"attribute fromTrimmerRootAssemblyitems as part of merging theorigin/net11.0branch. This cleans up Controls targets for .NET 11.0.
- Immediate runtime update of map pin icons on iOS and Mac Catalyst: This pull request fixes the map implementation to update a pin’s icon immediately at runtime when its
Pin.ImageSourcechanges by refreshing the live annotation view without removing it. It preserves selection, callouts, cluster membership, handles image loading concurrency, view type transitions, and adds sample UI controls demonstrating runtime updates.
- Public gesture extensibility interfaces and bug fix: This pull request makes
IGesturePlatformManagerandIGesturePlatformManagerFactoryinterfaces public to provide a gesture-extensibility contract. It introduces a factory-based mechanism for platform-specific gesture managers with dependency injection and fixes a critical bug by guarding against invalid cast exceptions on Apple and Windows platforms.
- Avalonia.Controls.Maui desktop integration support: This pull request adds Avalonia desktop integration to MAUI app templates by introducing a
--with-avaloniacommand option. It updates themaui-mobiletemplate to include Avalonia NuGet packages, targets net11.0, and configures the Maui AppBuilder to register Avalonia handlers and embedded support for enhanced desktop functionality.
- Deterministic and stable XAML Incremental Hot Reload source generator: This pull request makes the XIHR source generator deterministic and Edit-and-Continue stable by replacing mutable static versioning with a stable content-hash-based version. It always emits the
UpdateComponent()method, removes stale patch accumulation causing invalid code and crashes, and improves XAML change classification without altering public APIs.
- Fix Android WebViewClient overriding issue: This pull request fixes an Android issue where MAUI handler property mappers were overriding custom
WebViewClientinstances set by developers. It removes theMapWebViewClientandMapWebChromeClientmappers and creates default clients once inCreatePlatformView(), allowing reliable overriding without silent replacement.
- Refactor
{OnPlatform}and{OnIdiom}XAML markup extensions: This pull request refactors these markup extensions to use data-driven, case-sensitive string matching for platform and idiom values. It makes previously internalGTK,macOS, andWPFproperties public, enabling custom and community backends to specify platform-conditional values similarly to first-party platforms while preserving behavior and performance.
- Revert Android TabbedPage scrolling behavior change: This pull request reverts a previous change that altered Android
TabbedPageautomatic scrolling by restoring the nativeTabLayout.TabModefromModeAutoback toModeFixed. This reinstates the fixed, full-width tab layout used before .NET MAUI 10.0.90 and addresses a reported regression.
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 | 633 | 5 | 0 | 133 |
| mattleibow | 162 | 10 | 0 | 19 |
| PureWeen | 53 | 27 | 3 | 66 |
| kubaflo | 51 | 22 | 4 | 59 |
| devanathan-vaithiyanathan | 128 | 6 | 0 | 0 |
| KarthikRajaKalaimani | 67 | 2 | 0 | 0 |
| Dhivya-SF4094 | 49 | 2 | 0 | 14 |
| Redth | 46 | 1 | 1 | 15 |
| StephaneDelcroix | 52 | 4 | 1 | 2 |
| HarishwaranVijayakumar | 47 | 5 | 1 | 0 |