Weekly Project News

Archives
Subscribe
December 1, 2025

Weekly GitHub Report for Maui: November 24, 2025 - December 01, 2025 (12:00:39)

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, delivers over 141 commits primarily focused on critical product fixes, testing enhancements, and infrastructure updates. Key improvements include numerous platform-specific bug fixes for iOS, Android, and Windows controls, dependency version bumps, and expanded UI test coverage to enhance stability and performance.

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. Make MauiDoneAccessoryView DoneButton accessible: This issue addresses the accessibility of the Done button added to the numeric keyboard in a Maui application, specifically noting that the button currently lacks an assigned accessibility identifier, which hinders UI testing. The discussion explores attempts to set accessibility properties, challenges with Apple's Accessibility Inspector not detecting the button consistently, and verification that the button's accessibility ID is correctly assigned and recognized in UI tests across different iOS versions and presentation styles.

    • The comments reveal initial difficulties with the Done button being undetectable by Appium and Apple's Accessibility Inspector, despite correct accessibility property assignments. Subsequent testing confirmed the accessibility ID is properly set and recognized in UI tests on iOS 18 and 26, including when the page is presented as a sheet, with the issue largely attributed to limitations in Apple's Accessibility Inspector rather than the Maui implementation.
    • Number of comments this week: 8
  2. BlazorWebView may have compatibility issues with Android 12.0 and earlier.: This issue reports that the BlazorWebView component in a .NET 10 MAUI Blazor Hybrid app fails to render correctly on Android 12.0 (API 31) and earlier versions, resulting in a white screen or missing content, while it works properly on Android 12.1 (API 32) and above. The problem appears to be linked to JavaScript errors in the WebView on affected Android versions, and it persists across multiple MAUI versions, with no known workaround currently available.

    • The comments include screenshots demonstrating the rendering failure on Android 12.0 and normal behavior on Android 12.1, speculation about JavaScript compatibility issues in Chromium between these Android versions, verification of the issue across various MAUI versions and Android API levels, and detailed user reports confirming the problem occurs after upgrading to .NET 10, with requests for further investigation and support.
    • Number of comments this week: 4
  3. Rapid change of selected tab results in crash on Windows.: This issue describes a crash occurring on Windows when a user rapidly changes the selected tab in a MAUI application, causing an exception related to the tab navigation and content updating process. The problem has been reproduced and validated on multiple MAUI and .NET 10 preview versions, but attempts to test a proposed fix have been hindered by inaccessible or unavailable build artifacts.

    • The comments confirm the issue is reproducible on Windows with specific MAUI and .NET versions, and a request was made to test a fix from a linked pull request; however, the original reporter was unable to access the test artifacts due to build cancellation and permission issues, leaving the fix unverified.
    • Number of comments this week: 3
  4. MediaPicker.PickVideosAsync returns only file names as file path and doesn't compress the videos anymore under iOS: This issue reports that since upgrading to .NET MAUI 10, the MediaPicker.PickVideosAsync method on iOS no longer compresses videos automatically and returns only the file name instead of the full file path, breaking previous functionality. Users confirm this regression affects both video and image picking APIs on iOS devices and simulators, making it impossible to access or process selected media files reliably without additional workarounds.

    • Multiple users validated the issue across various .NET MAUI 10 preview and stable versions on iOS, noting that both single and multiple media selection APIs return only file names without full paths, affecting videos and photos alike. The problem occurs consistently on physical devices and simulators, and no workaround has been found yet, highlighting a regression from .NET MAUI 9 where full file paths and automatic video compression were provided.
    • Number of comments this week: 3
  5. [Android] MediaPicker stops working after lauching other ComponentActivity.: This issue describes a problem on Android where the MediaPicker component stops functioning after launching another ComponentActivity, likely due to the picker re-registering and overriding the launcher, which becomes invalid once the activity is closed. The user provides detailed reproduction steps and suspects the problem started occurring from .NET MAUI version 10.0.0-preview4 onwards.

    • The comments confirm the issue is reproducible across multiple MAUI versions starting from 10.0.0-preview4 on Android, a fix was suggested via a linked pull request, and subsequent testing verified that the fix resolves the problem in both the example and real projects.
    • 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.

  1. Nullable Enums do not bind in XAML: This issue describes a problem where nullable enums do not properly bind in XAML for a bindable property within a custom control, with the setter method not being triggered during binding. It affects all versions on iOS and Android platforms, 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 10 version 19041. 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 problem does not occur when the EventTrigger is applied through a named style with a key, indicating that the duplication is specific to globally defined styles in the Maui framework 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 arcs in a PathFigure or PathGeometry occasionally appear offset from their expected starting position, 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 using multiple smaller arcs or manually drawing arcs with LineSegments, especially during animations.
  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 the display scaling is changed. Specifically, when FontAutoScalingEnabled is set to false, the text size still increases with higher display scaling settings, which should not occur, making it difficult for developers to control font rendering on Windows devices.

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

Summarized Issues:

  • Crashes and Navigation Failures: Multiple issues report crashes and navigation errors across platforms, including Windows tab navigation crashes due to rapid tab changes causing exceptions in WinRT and Microsoft.UI.Xaml, and a Windows navigation failure when pushing from NavigationPage to TabbedPage with a NavigationFailed error on the second push. Android also experiences a crash when rendering images with extreme aspect ratios, causing runtime exceptions and app failure.
    • issues/32824, issues/32869, issues/32877
  • MediaPicker and FilePicker Malfunctions: Several issues describe problems with media and file picking on iOS and Android, including MediaPicker.PickVideosAsync no longer compressing videos and returning only file names on iOS, MediaPicker stopping to function after launching another ComponentActivity on Android, and FilePicker.Default.PickAsync silently failing in Release builds on iOS. These regressions break expected media handling and file access workflows.
    • issues/32832, issues/32845, issues/32887
  • UI Rendering and Layout Issues: Various UI components exhibit rendering and layout problems, such as CollectionView failing to adjust ScrollView content insets on iOS causing items to appear under the navigation bar, Shell flyout icons always rendering black across platforms, and the ShellFlyout footer retaining padding after removal on Android. These issues affect visual correctness and user interface consistency.
    • issues/32855, issues/32867, issues/32883
  • Scrolling and Touch Gesture Problems: There are regressions in scrolling behavior on iOS where ScrollView and CollectionView no longer start scrolling when touch-drag gestures begin on interactive child controls, blocking scroll gestures. Additionally, Android keyboard display causes bottom inset issues where buttons are obscured or jump due to improper handling of safe area and soft input adjustments.
    • issues/32852, issues/32871
  • BlazorWebView Rendering Failures: BlazorWebView components fail to render correctly on certain platforms and configurations, including blank screens with JavaScript errors on Android 12.0 and earlier, and failure to render RootComponent on iOS physical devices likely due to AOT or trimming issues. These problems prevent proper Blazor app display in MAUI.
    • issues/32860, issues/32894
  • Theme and Color Handling Bugs: Issues include the clear button in Entry controls becoming invisible when switching themes if TextColor is not set, and dynamically setting text color to null on iOS controls not reverting to default but retaining previous colors. These bugs cause inconsistent UI appearance across themes and platforms.
    • issues/32885, issues/32886
  • Build and Compilation Problems: Problems with build processes include MAUI Xaml SourceGen failing when nullable reference types are enabled with warnings as errors, and the need to improve diagnostic reporting in XAML binding compilation to align with XamlC warnings and errors. These issues hinder reliable build and diagnostics.
    • issues/32893, issues/32904
  • Localization and RTL Support Issues: A regression on iOS causes horizontal CollectionView to ignore the FlowDirection.RightToLeft setting, rendering and scrolling left-to-right instead of right-to-left, breaking proper RTL language support while Android behaves correctly.
    • issues/32906
  • Apple Intelligence Schema and Streaming Response Issues: Problems with Apple Intelligence Foundation Models include streaming responses being returned as complete JSON objects requiring serialization, causing non-deterministic property ordering, and missing schema enhancements such as disallowing additional properties and ordering control, which are unsupported by default response methods.
    • issues/32908, issues/32909
  • Deployment and Environment Failures: Deployment to iOS devices from Visual Studio 2022 on Windows 11 without a Mac fails with missing app bundle errors despite successful builds, and the Android emulator fails to create due to system image download errors without failing the build fast, causing test environment setup issues.
    • issues/32846, issues/32918
  • App UI Regression on macOS: The WhatToEat app on macOS Tahoe 26.1 is missing the 'Search Recipe' and 'My Recipe' tabs at the bottom, representing a regression from previous macOS versions where these tabs were present, affecting app navigation and usability.
    • issues/32900
  • Slider Data Binding Initialization Bug: The Slider control's Value property is set before the Maximum property during XAML data binding initialization, causing the Value to be clamped incorrectly to the Minimum and resulting in an incorrect initial slider value despite valid ViewModel defaults.
    • issues/32903
  • Blazor WebAssembly Build and Hydration Failure: Building a Blazor WebAssembly project with the "--no-restore" flag causes hydration failure and 404 errors for blazor.web.js due to the wasm-tools workload being silently ignored, resulting in broken deployment after publishing.
    • issues/32911
  • ShellTitleView Command Binding Regression: The dotnet bot image fails to appear on the title bar in the G8 - ShellTitleView command binding on iOS 26 and macOS 26.1 with Microsoft.Maui.Controls 10.0.20-ci.main.25576.3, despite working on earlier OS and Maui versions, causing UI inconsistency.
    • issues/32899

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

Summarized Issues:

  • XAML Source Generation Issues: Multiple issues describe problems with the XAML source generator (SourceGen) in .NET MAUI 10, including excessive dead code generation, binding errors due to missing bindable properties, runtime exceptions from incorrect generated code, and compilation errors with nested bindings or style setters. These problems cause increased binary size, runtime crashes, build failures, and inconsistent behavior across platforms, highlighting the need for improved handling and documentation of SourceGen features.
  • issues/32473, issues/32517, issues/32596, issues/32758, issues/32810, issues/32829, issues/32879
  • CollectionView and UI Rendering Problems: Several issues report UI rendering problems in MAUI's CollectionView and other controls, such as images not loading in published apps, Labels disappearing when ItemsSource updates, and erratic scrolling behavior on iOS. These issues degrade user experience by causing empty views, invisible elements, or unusable scrolling, often requiring workarounds like reverting to older controls.
  • issues/32347, issues/32737, issues/32809
  • Platform-Specific Layout and Visual Bugs: Problems with layout measurement and arrangement cause UI elements to be clipped or hidden on Android and iOS, such as CustomExpander children being obscured by status bars and the Liquid Glass effect not disabling as expected. These bugs affect visual correctness and user interface consistency across devices and OS versions.
  • issues/32527, issues/32814
  • Build, Packaging, and Deployment Failures: Issues include failures in packing .NET MAUI Razor SDK libraries, mismatched package metadata causing Microsoft Store upload failures, and app crashes in release mode due to missing files like 'classes.dex'. These problems hinder app distribution and deployment, requiring fixes in build tooling and manifest configurations.
  • issues/32769, issues/32801, issues/32652
  • Visual Studio and Emulator Integration Problems: Visual Studio 2026 with .NET 9 fails to detect iOS emulators or devices on Mac with Xcode 26, while targeting .NET 10 or using Visual Studio 2022 works correctly. This limits development and testing capabilities for certain environment combinations.
  • issues/32645
  • Navigation and Shell Behavior Regressions: Shell navigation issues include pages opening incorrectly on iPhone 14 Plus and lack of straightforward APIs for enabling large titles and translucent navigation bars on iOS Shell apps. These regressions and missing features reduce the ability to create native-like navigation experiences.
  • issues/32705, issues/32917
  • Color and Converter Binding Errors with SourceGen: SourceGen causes colors defined as resources to be treated as strings instead of Color objects and prevents proper value passing to converters, leading to compilation errors and inconsistent UI rendering on Android and iOS. These issues affect theming and UI customization reliability.
  • issues/32836, issues/32837
  • Third-Party Control Compatibility with SourceGen: Enabling XAML source generation causes errors with third-party controls like PanCardView.CarouselView, which do not find required methods, despite working fine without SourceGen. This limits the use of popular controls in SourceGen-enabled projects.
  • issues/32764
  • Source Generation Exclusion and Configuration Challenges: Attempts to disable source generation for specific XAML files or revert inflator settings per file do not work as expected, causing runtime exceptions or confusion about configuration options. These challenges complicate project setup and fine-tuning of build behavior.
  • issues/32640, issues/32644
  • Command and Binding Reference Issues in ControlTemplates: When using SourceGen, Entry controls and behaviors inside ControlTemplates fail to appear or work correctly on Android due to problems with Command reference bindings, though the root cause is not SourceGen itself. This affects control interactivity and user input handling.
  • issues/32829
  • Type Resolution and XML Namespace Errors: XAML compilation fails to resolve types from external libraries referenced via HTTP-based xmlns URIs, causing type resolution errors despite fixes to xmlns aggregation validation. This requires explicit code references to prevent compiler removal of needed types.
  • issues/32830
  • Android Permission and Policy Conflicts: The .NET MAUI MediaPicker requires declaring restricted photo and video permissions upfront, conflicting with Google Play Store policies that restrict such permissions to core media apps, making it impossible to comply without runtime permission requests. This leads to app rejections on the Play Store.
  • issues/32866
  • UI Control Feature Requests: There is a request to add the ability to disable certain Picker options by graying them out and preventing selection changes when clicked, enhancing user interface control and usability.
  • issues/32826
  • Layout and Measurement Regression Fixes: A reported issue where the top menu shifts upward unexpectedly on a physical Android 9.0 device was resolved by a specific pull request, indicating ongoing fixes for platform-specific layout regressions.
  • issues/32813
  • XAML SourceGen Build Performance and Defaults: A proposal suggests enabling XAML source generation by default in all .NET MAUI project templates to improve build performance, debugging, and consistency, along with better documentation and guidance for developers.
  • issues/32732
  • Type Conversion Errors in SourceGen: The XAML source generator incorrectly converts percentage values like "30%" into double instead of float for FlexLayout.Basis, causing type conversion errors during build. This indicates a need for improved type handling in generated code.
  • issues/32901
  • Obsolete API and Upgrade Confusion: Upgrading to .NET 10 triggers errors related to the obsolete 'TemplatedView.Children' property and confusion about the correct replacement method, which worked in previous versions, complicating migration efforts.
  • issues/32598

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

Key Open Pull Requests

1. [XSG] Improve diagnostic reporting during binding compilation: This pull request improves the XAML source generator's binding compilation by replacing placeholder TODO comments and exception throws with proper diagnostic reporting that aligns with XamlC error codes, introduces several new diagnostic messages with defined severities, updates relevant source files to emit these diagnostics, and adds tests to validate each diagnostic scenario, thereby enhancing error handling and developer feedback during binding compilation.

  • URL: pull/32905
  • Merged: No
  • Associated Commits: 10911, 756e5, 64452, e39c7, f425f, 8779c, 939d4, 45641, 5a9cf, 09837, 42ae7

2. December 1st, Inflight Candidate: This pull request includes multiple fixes and improvements for the .NET MAUI project, such as updating the Shell Popup Overlay size after rotation on iOS, resolving RTL column mirroring issues in UICollectionView, fixing navigation bar visibility and page appearance events in Shell navigation, handling nullable TimeSpan in TimePicker events, removing unnecessary disposal logic on Android, and addressing UI test failures to enhance rendering and test stability across platforms.

  • URL: pull/32841
  • Merged: No
  • Associated Commits: 376e6, e267c, b2298, 7c3b0, daa15, 73c5f, e2784, 67d89, f3b60

3. [iOS]Fix Shadow Property Incorrectly Modifies Visual Transform Matrix for Border, ContentView, Layouts, and SwipeView: This pull request fixes an issue on iOS where applying a shadow to views such as Border, ContentView, Layouts, and SwipeView incorrectly modified the visual transform matrix, causing child elements to reset unexpectedly, by updating the container logic to create wrappers only when necessary and ensuring consistent rendering behavior across these components.

  • URL: pull/32851
  • Merged: No
  • Associated Commits: c30a6, 97175, da0a5, 41093, efcdd, fbbb8, 153e0, 523fd, 6ad2c

Other Open Pull Requests

  • iOS and macOS UI Fixes and Improvements: Several pull requests address UI issues on iOS and macOS, including fixing a regression in MediaPicker.PickVideoAsync to return full file paths by modifying PHPickerFileResult for thread-safe loading and cleanup, resolving alert dialog display delays after modal dismissal by adjusting topmost view controller logic, and fixing TabBar tabs visibility on macOS 26.1 by excluding macOS from TabSidebar mode. These changes improve platform consistency and user experience with added UI tests to prevent regressions.
  • pull/32834, pull/32872, pull/32910
  • Shell and Navigation Enhancements: Multiple pull requests improve Shell behavior and navigation stability, including preventing tabs from being removed during modal navigation on Android, fixing shell color updates when switching TabBar items on Android, addressing Shell flyout footer positioning by accounting for safe area insets, fixing a crash on Windows caused by rapid tab switching with guard flags, and ensuring proper footer content padding update when the flyout footer is null. These fixes enhance navigation reliability and visual correctness across platforms.
  • pull/32878, pull/32882, pull/32891, pull/32884, pull/32889
  • CollectionView and Layout Fixes: Pull requests address layout and sizing issues in CollectionView controls, including fixing unexpected scrolling on iOS iPad by replacing cell update logic with reconfigureItems, correcting Android grouped CollectionView sizing by excluding group headers and footers from the first item measurement strategy, and fixing label measurement race conditions on iOS and macOS for TextType="Html" labels by removing asynchronous dispatch. These changes ensure correct layout behavior and measurement consistency.
  • pull/32874, pull/32895, pull/32919
  • Binding and XAML Improvements: Several pull requests improve binding and XAML compilation, including adding support for C# 14 extension properties in XAML with runtime and build task enhancements, fixing runtime bindings to resolve properties inherited from interfaces by implementing recursive GetProperty(), fixing stale manual value setters in TwoWay bindings to trigger property changed callbacks correctly, and resolving a NullReferenceException in XamlC when binding to a Dictionary with Enum keys by adding enum indexer support. These updates enhance binding robustness and XAML authoring experience.
  • pull/32898, pull/32912, pull/32914, pull/32916
  • Platform-Specific Behavior Fixes: Pull requests fix platform-specific issues such as inconsistent Text-to-Speech rate behavior across Mac, iOS, and Windows by implementing platform-specific normalization, fixing image loading on Windows by extracting filenames to avoid path separator issues, and fixing Entry control clear button visibility on dark themes across Android, iOS, and Mac by adapting color handling to system themes. These fixes improve cross-platform consistency and UI correctness.
  • pull/32850, pull/32864, pull/32889
  • Documentation and CI Pipeline Improvements: One pull request adds a comprehensive, high-quality README file to the Microsoft.Maui.Controls NuGet package following official guidelines, including detailed feature overviews and examples, while another addresses silent failures during Android SDK provisioning in the CI pipeline by capturing command outputs and emitting MSBuild errors to fail builds fast. These improvements enhance developer experience and build reliability.
  • pull/32835, pull/32863
  • Control-Specific Bug Fixes: Pull requests fix control-specific bugs such as correcting Slider control value clamping by changing clamping logic to propertyChanged callbacks, restoring image rendering in Shell.TitleView on iOS 26 and macOS 26.1 by removing erroneous height assignment, and fixing text color visibility on iOS Entry, TimePicker, and SearchBar controls when text color is null by defaulting to system label color. These fixes improve control behavior and visual fidelity.
  • pull/32907, pull/32913, pull/32888

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

Key Closed Pull Requests

1. Agents scripts: This pull request refactors and consolidates various build and deployment workflows into centralized PowerShell scripts, simplifies and updates agent instructions to rely on these scripts instead of manual commands, enhances troubleshooting guidance particularly for Android and iOS testing scenarios, and improves overall script maintainability and clarity for the .NET MAUI project.

  • URL: pull/32819
  • Merged: 2025-11-25T13:38:25Z
  • Associated Commits: 123e1, 83d39, 0b411, 91a31, 50d89, 3f241, 6900a, f6f3f, 7acbf, c810f, 8c924, b904c, 2c3df, 939f5, f15c2, 46e2b, f3456, a5cb0, 60487, e7cce, fa04b, dfaec, 8d37d, b0126, f3641, b1688, 97e83, d5bd5

2. [XSG] Reduce dead code for Setters with compiled converters: This pull request optimizes the .NET MAUI XAML Source Generator by eliminating dead code generated for Setters with compiled converters, specifically by introducing the IKnownMarkupValueProvider interface and related logic to fully inline simple Setter properties without creating unnecessary service provider objects, thereby reducing binary size and removing AOT-incompatible code while maintaining correct behavior for Setters using markup extensions.

  • URL: pull/32474
  • Merged: 2025-11-25T10:13:21Z
  • Associated Commits: 1bd90, 16a6a, 53d15, 6bcda, 04e83, 3f29b, 878ad, 10302, b0f87, 4e7be, 968f3, 9e356, b2a65, 1c61b

3. [XSG] Add heuristic to support bindable properties generated by other source generators: This pull request implements a heuristic in the XAML source generator to detect and support bindable properties whose BindableProperty fields are generated by other source generators, enabling correct binding by generating appropriate SetBinding or SetValue calls based on recognized attributes and property/field naming patterns, thereby resolving the MAUIX2002 error when such properties are used in XAML.

  • URL: pull/32597
  • Merged: 2025-11-28T16:17:22Z
  • Associated Commits: 4837d, 52d20, bc7cc, 91269, 0e21c, 8424e, 7d996, b0f7d, 95035, 476f5, a78f4, c4025, 0118d, 936a0

Other Closed Pull Requests

  • XAML Source Generator Fixes and Enhancements: Multiple pull requests improve the XAML source generator by fixing bugs related to content property syntax, nullable bindings, and typed resource handling, ensuring valid generated code and preventing runtime exceptions. Additionally, performance improvements include enabling XAML source generation by default and adding a shortcut for the x:Null markup extension to emit null directly at compile time.
    • pull/32890, pull/32580, pull/32733, pull/32892, pull/32843
  • Modal Navigation and iOS Modal Issues: Several pull requests address modal navigation problems including a race condition causing app hangs during modal transitions and an iOS-specific issue where reusing the same page instance for FormSheet modals caused progressive shrinking. These fixes introduce proper task serialization and reset modal view frames to ensure smooth and consistent modal behavior with added tests for verification.
    • pull/32817, pull/32856
  • Control Handler Registration and Attribute-Based Resolution: A major migration moves about 80 built-in controls from dependency injection registration to an attribute-based handler resolution system, improving handler instantiation, resolution order, and adding Android context injection support. This change simplifies and optimizes the control handler registration process and introduces a runtime feature switch for CSS trimmability.
    • pull/32862
  • Agent and Pipeline Improvements: Multiple pull requests enhance the Issue-Resolver agent with features like collapsible PR descriptions and mandatory prefixes, refactor agent scripts to consolidate build and deploy commands, and backport pipeline configuration fixes to improve CI/CD reliability. These changes automate workflows, simplify maintenance, and improve build stability.
    • pull/32804, pull/32820, pull/32806
  • UI Test and Accessibility Enhancements: Pull requests fix UI test image failures by updating snapshots and disabling flaky tests, add accessibility identifiers to iOS Done buttons for reliable UI testing, and address iOS UITest failures by cleaning up unusable simulator runtimes. These improvements increase test stability and accessibility compliance.
    • pull/32868, pull/32828, pull/32736
  • SourceGen Collection and Assignment Fixes: Fixes to the SourceGen collection assignment improve detection of collection-to-collection assignments and add explicit casts when needed, enabling correct code generation for complex scenarios like assigning IReadOnlyList to IList properties. Comprehensive unit tests accompany these improvements.
    • pull/32780
  • iOS and Android UI Bug Fixes: Several pull requests fix platform-specific UI issues including preserving custom tint colors on disabled iOS CheckBox controls, preventing background color changes in iOS CollectionView selected items after scrolling, and stopping Android tabs from being removed during modal navigation to maintain consistent behavior.
    • pull/32859, pull/32822, [pull/32881](https://github.com/pull/32881]
  • Build and Test Infrastructure Updates: Updates include replacing a deprecated VisualTestUtils NuGet package with vendored source code and new projects for visual regression testing, adding PowerShell wrapper scripts to detect Android SDK install failures early, and fixing markdown links in agent documentation for better navigation. These changes improve maintainability, security, and developer experience.
    • pull/32607, pull/32847, pull/32818
  • Validation and Exception Handling Improvements: The BindableObject.SetValueCore method is updated to throw an ArgumentException when a value fails validation instead of logging a warning and returning early, enforcing stricter error handling and improving robustness.
    • pull/32707
  • Test Optimization with Copilot Agent: A new pipeline stage uses a Copilot agent and helper script to dynamically select UI test categories, install the Copilot CLI, and gate downstream UI test matrices, optimizing test execution efficiency.
    • pull/32876

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 346 46 0 344
StephaneDelcroix 96 25 11 44
simonrozsival 42 1 11 114
PureWeen 98 5 7 17
mattleibow 37 5 31 23
jfversluis 26 4 0 66
rmarinho 63 3 7 3
kubaflo 40 18 0 17
TamilarasanSF4853 16 3 2 27
devanathan-vaithiyanathan 38 7 0 0

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