Skip to content

Conversation

@rmarinho
Copy link
Member

Description of Change

Change the pipelines to allow to run the tests with CoreCLR

This pull request introduces support for using CoreCLR in Android builds and tests. The changes include updates to the build script (android.cake) to handle a new useCoreClr argument, modifications to pipeline templates to propagate this parameter, and adjustments to build and test logic.

Build Script Updates:

  • Added a new useCoreClr argument to the android.cake script, defaulting to false. This argument is passed to the ExecuteBuild method. [1] [2] [3]
  • Updated the ExecuteBuild method to conditionally append the /p:UseMonoRuntime=false MSBuild property when useCoreClr is enabled.

Pipeline Template Updates:

  • Introduced a useCoreClr parameter in device-tests-jobs.yml and device-tests-steps.yml, defaulting to false. This parameter is passed through various pipeline configurations. [1] [2]
  • Updated job display names to indicate when CoreCLR is being used.
  • Propagated the useCoreClr parameter to build and test steps, ensuring it is included in the dotnet cake command. [1] [2]

Android-Specific Pipeline Enhancements:

  • Added a conditional block in device-tests.yml to handle Android-specific projects with the useCoreClr parameter.

Issues Fixed

Fixes #30277

@rmarinho rmarinho added this to the .NET 10.0-preview7 milestone Jul 17, 2025
Copilot AI review requested due to automatic review settings July 17, 2025 15:25
@rmarinho rmarinho requested a review from a team as a code owner July 17, 2025 15:25
@rmarinho rmarinho added the area-testing Unit tests, device tests label Jul 17, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request introduces support for using CoreCLR runtime instead of Mono in Android device tests by adding a new useCoreClr parameter throughout the build pipeline. The changes enable the option to run Android tests with CoreCLR while maintaining backward compatibility with the default Mono runtime.

  • Adds useCoreClr parameter to pipeline templates and build scripts
  • Updates Android build logic to conditionally set MSBuild properties for CoreCLR
  • Extends pipeline configurations to support CoreCLR testing workflows

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
eng/pipelines/common/device-tests.yml Adds new Android-specific block with CoreCLR parameter
eng/pipelines/common/device-tests-steps.yml Passes useCoreClr parameter to build command
eng/pipelines/common/device-tests-jobs.yml Adds CoreCLR parameter and updates display names
eng/devices/android.cake Implements CoreCLR logic with MSBuild property configuration
Comments suppressed due to low confidence (1)

eng/devices/android.cake:28

  • The argument name 'coreclr' is inconsistent with the variable name 'useCoreClr' and the parameter name used throughout the pipeline templates. Consider using 'useCoreClr' for consistency.
var useCoreClr = Argument("coreclr", false);

<RuntimeIdentifier Condition="$(TargetFramework.Contains('-maccatalyst'))">maccatalyst-x64</RuntimeIdentifier>
<RuntimeIdentifier Condition="$(TargetFramework.Contains('-maccatalyst')) and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'arm64'">maccatalyst-arm64</RuntimeIdentifier>
<RuntimeIdentifiers Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">android-arm64;android-x86;android-x64</RuntimeIdentifiers>
<RuntimeIdentifiers Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">android-arm64;android-x64</RuntimeIdentifiers>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just FYI, if you have tests that run on a really old API level somewhere (maybe main?), you might need android-x86 in some cases. It depends on if Google put out an x86_64 emulator image for each version.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah on our main build we run from 23/33

@rmarinho
Copy link
Member Author

/rebase

@jonathanpeppers
Copy link
Member

@rmarinho is there a way we can merge this, but only run CoreCLR on the newer API levels?

I think it's only broken on older ones, @simonrozsival is still investigating which one breaks.

@rmarinho rmarinho moved this from Todo to In Progress in MAUI SDK Ongoing Jul 29, 2025
@rmarinho
Copy link
Member Author

/rebase

@PureWeen PureWeen moved this from In Progress to Ready To Review in MAUI SDK Ongoing Aug 4, 2025
@rmarinho
Copy link
Member Author

/rebase

@rmarinho
Copy link
Member Author

rmarinho commented Aug 18, 2025

This is still waiting for dotnet/runtime#118161 so it runs on old devices

@jonathanpeppers
Copy link
Member

@rmarinho .NET 10 dotnet/runtime, might be "done". It's past the "platform shutdown" date.

Can we just run CoreCLR on the newest API level? Just a single one is enough.

@rmarinho rmarinho modified the milestones: .NET 10.0-rc1, .NET 10.0-rc2 Aug 19, 2025
Copy link
Contributor

@jsuarezruiz jsuarezruiz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rmarinho Could you rebase and fix the conflict? Thanks in advance.

[ci] Review changes

[ci] Fix job names

try again

Again

Use core CLR
@rmarinho rmarinho merged commit b09df6d into net10.0 Sep 30, 2025
159 of 164 checks passed
@rmarinho rmarinho deleted the fix-30277 branch September 30, 2025 12:52
@github-project-automation github-project-automation bot moved this from Ready To Review to Done in MAUI SDK Ongoing Sep 30, 2025
@PureWeen PureWeen mentioned this pull request Oct 21, 2025
2 tasks
rmarinho added a commit that referenced this pull request Oct 29, 2025
## What's Changed

.NET MAUI main-to-net10.0 introduces significant improvements across all
platforms with focus on quality, performance, and developer experience.
This release includes 159 commits with various improvements, bug fixes,
and enhancements.

## .NET MAUI Product Fixes
## .NET 10 Features
- [net10.0] Merge main to net10 by @rmarinho in
#31210

- [net10.0] Move to net10 rc2 by @rmarinho in
#31511

- [net10.0] Update net10 by @rmarinho in
#31296

- [NET10] Make IPlatformMeasureInvalidationController public by @Copilot
in #31133

- [net10.0] Update net10.0 with main by @PureWeen in
#31699

- [net10.0] Merge main to net10.0 by @rmarinho in
#31792

- [net10.0] [housekeeping] Update maui net9 by @github-actions[bot] in
#31856
  <details>
  <summary>🔧 Fixes</summary>

- [[housekeeping] Update maui
net9](#31853)
  </details>

- [net10] Move to rtm by @rmarinho in
#31883

- [net10.0] Bumps Syncfusion.Maui.Toolkit dependency to version 1.0.7 by
@github-actions[bot] in #31952
  <details>
  <summary>🔧 Fixes</summary>

- [Bumps Syncfusion.Maui.Toolkit dependency to version
1.0.7](#31932)
  </details>

- [NET10.0] Change ContentPage SafeAreaEdges default to None for
consistent edge-to-edge behavior by @Copilot in
#31926
  <details>
  <summary>🔧 Fixes</summary>

- [[NET10.0] Change all defaults of SafeAreaEdges so that they will
return "None" as the default if the user hasn't set the
value](#31925)
  </details>

## Android
- [Testing] Run UI tests with CoreCLR on Android by @rmarinho in
#30842
  <details>
  <summary>🔧 Fixes</summary>

- [[Testing] Run UI tests with CoreCLR on
Android](#30278)
  </details>

- [android] 20250820 net10.0 ecosystem updates by @jonathanpeppers in
#31265

- [android] update AOT profile for .NET 10 RC 2 by @jonathanpeppers in
#31768

- Implement SafeAreaEdges property and per-edge safe area control for
Android by @NirmalKumarYuvaraj in
#31022

## Aspire
- Only enable Aspire functionality in non-optimized builds (i.e. Debug)
by @jfversluis in #31494

## BlazorWebView
- Use the WebView2CompositionControl in Blazor WPF by @mattleibow in
#31777

## Collectionview
- [NET 10/ WinUI] Open item template context by @pictos in
#30852
  <details>
  <summary>🔧 Fixes</summary>

- [[NET 10] Open more APIs](#30762)
  </details>

- Update ui-tests.yml timeout to account for CollectionView by @PureWeen
in #31233

- [net10.0] [Testing] Fix for flaky
test(CollectionViewHeaderShouldNotScroll) in CI by @github-actions[bot]
in #31933
  <details>
  <summary>🔧 Fixes</summary>

- [[Testing] Fix for flaky test(CollectionViewHeaderShouldNotScroll) in
CI](#31914)
  </details>

## Controls Dialogalert
- Fix `DisplayAlert` to properly pass the `cancel` parameter to
`DisplayAlertAsync` by @thisisthekap in
#31474
  <details>
  <summary>🔧 Fixes</summary>

- [Page.DisplayAlert(title, message, accept, cancel, flowDirection) is
causing
ArgumentNullException](#31473)
  </details>

## Controls Hybridwebview
- HybridWebView Bi-Directional Exception Handling by @Copilot in
#31521
  <details>
  <summary>🔧 Fixes</summary>

- [HybridWebView needs a consistent and usable story for handling C#
methods that throw
exceptions](#27096)
  </details>

## Controls Radiobutton
- [.NET 10] Fix RadioButton Test Failure by @Tamilarasan-Paranthaman in
#31772

## Core
- Make more .NET MAUI Views public by @jsuarezruiz in
#30872
  <details>
  <summary>🔧 Fixes</summary>

- [[NET 10] Open more APIs](#30762)
  </details>

- [android] update AOT profile for .NET 10 RC 1 by @jonathanpeppers in
#31187

## Core Lifecycle
- Dispose IServiceScope when window is destroyed to prevent memory leaks
by @Copilot in #30196
  <details>
  <summary>🔧 Fixes</summary>

- [IServiceScope should get disposed when the associated window is
destroyed or closed](#8538)
  </details>

- Expose Android Activity and Modal Dialog OnKey* overrides via
ConfigureLifecycleEvents with generalized context parameter by @Copilot
in #31206
  <details>
  <summary>🔧 Fixes</summary>

- [Expose Android Activity OnKey* overrides via
ConfigureLifecycleEvents](#31205)
  </details>

## DateTimePicker
- Fix DatePicker displays today's date instead of blank state when Date
is null by @prakashKannanSf3972 in
#30657
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS] Fix DatePicker to default to Today's date when Date is
null/MinimumDate](#30642)
- [[iOS/Catalyst] If the user specifies NULL for the DatePicker then the
picker should default to Todays date when it's
opened](#30641)
  </details>

- Fixed DatePicker's DateSelected event not firing on Windows - NET 10
Preview 6 by @Dhivya-SF4094 in #30748
  <details>
  <summary>🔧 Fixes</summary>

- [DatePicker's DateSelected event not firing on Windows - .NET 10
Preview 6](#30736)
  </details>

- Add converters to DatePicker and TimePicker for DateOnly and TimeOnly
by @Vignesh-SF3580 in #30790
  <details>
  <summary>🔧 Fixes</summary>

- [XAML DatePicker Control Does Not Update DateOnly
Items](#20438)
  </details>

## Docs
- DependencyService API docs fixes by @jfversluis in
#31392

## Essentials
- [Essentials] Add microphone permission handling on Windows and tests
by @morning4coffe-dev in #31451
  <details>
  <summary>🔧 Fixes</summary>

- [`Permissions.Microphone` returns `Granted` on Windows (partial trust)
even when denied](#31413)
  </details>

## Essentials Texttospeech
- [Essentials: Text to speech] Overwrite system default voice by @yeelut
in #31105
  <details>
  <summary>🔧 Fixes</summary>

- [Text-To-Speech unable to override system's default
voices](#26853)
  </details>

## Flyout
- 30985:Fix FlyoutPage Navigating args to not reach down into the
NavigationPage by @SuthiYuvaraj in
#31232
  <details>
  <summary>🔧 Fixes</summary>

- [[Enhancement] Changes in navigation events
parameters](#28384)
- [[NET10.0] Fix FlyoutPage Navigating args to not reach down into the
NavigationPAge](#30985)
  </details>

## Frame
- Use `ToLowerInvariant().Contains(...)` for .NET Framework by
@StephaneDelcroix in #31353

## Gestures
- Align `OnDoubleTap` behavior on Windows and Android by @MartyIX in
#20870
  <details>
  <summary>🔧 Fixes</summary>

- [TapGestureRecognizer NumberOfTapsRequired=2 Handled Differently on
Windows and Android](#16235)
  </details>

- Implement `PointerGestureRecognizer` Buttons by @morning4coffe-dev in
#31214
  <details>
  <summary>🔧 Fixes</summary>

- [Differentiate Left/Right click in
PointerGestureRecognizer](#24666)
  </details>

## Image
- [Windows] Fix `ImageHandler` Vertical&Horizontal Options with
AspectFit by @morning4coffe-dev in
#30936
  <details>
  <summary>🔧 Fixes</summary>

- [Image under WinUI does not respect VerticalOptions and
HorizontalOptions](#30403)
  </details>

## Infrastructure
- Net10 merge main by @PureWeen in
#31160

- [net10.0] Update to RC1 by @rmarinho in
#31171

- [android] 20250618 net10.0 ecosystem updates by @jonathanpeppers in
#30059

- Mark Performance and IPerformanceProvider types as obsolete and remove
all usages by @Copilot in #30942
  <details>
  <summary>🔧 Fixes</summary>

- [[Copilot] Set Microsoft.Maui.Controls.Internals.Performance and
Microsoft.Maui.Controls.Internals.IPerformanceProvider to Obsolete with
ISError set to true](#30385)
  </details>

- [ci] Update rc1 dependencies by @rmarinho in
#31211

- [XSG] enable/disable feature in msbuild by @StephaneDelcroix in
#31349

- Localized file check-in by OneLocBuild Task: Build definition ID
13330: Build ID 12341555 by @dotnet-bot in
#31479

- [net10.0] Update dependencies from dotnet/android by
@dotnet-maestro[bot] in #31594

- [ci] Fix find simulator with new Xcode on the machine by @rmarinho in
#31586

- [net10.0] Update dependencies from dotnet/android by
@dotnet-maestro[bot] in #31613

- [net10.0] Update dependencies from dotnet/android by
@dotnet-maestro[bot] in #31635

- [net10.0] Update dependencies from dotnet/android by
@dotnet-maestro[bot] in #31678

- [net10.0] Update dependencies from dotnet/macios by
@dotnet-maestro[bot] in #31679

- [net10.0] Update dependencies from dotnet/android by
@dotnet-maestro[bot] in #31690

- [net10.0] Update dependencies from dotnet/android by
@dotnet-maestro[bot] in #31698

- [net10.0] Update dependencies from dotnet/android by
@dotnet-maestro[bot] in #31767

- [net10.0] Update dependencies from dotnet/dotnet by
@dotnet-maestro[bot] in #31600

- [ci] Update to latest rc2 by @rmarinho in
#31771

- [ci] Add internal release trigger by @rmarinho in
#31809

- Separate snapshot diffs artifacts in CI by @jfversluis in
#31724

- Localized file check-in by OneLocBuild Task: Build definition ID
13330: Build ID 12504892 by @dotnet-bot in
#31845

- [ci] Update maui to 9.0.111 by @rmarinho in
#31864

- [net10.0] Update dependencies from dotnet/dotnet by
@dotnet-maestro[bot] in #31983

- [net10.0] Update dependencies from dotnet/macios by
@dotnet-maestro[bot] in #32022

- [net10.0] Update dependencies from dotnet/android by
@dotnet-maestro[bot] in #32024

- [net10.0] Update dependencies from dotnet/dotnet by
@dotnet-maestro[bot] in #32074

- [net10.0] Update dependencies from dotnet/macios by
@dotnet-maestro[bot] in #32075

- [ci] Update Xcode and correct simulator by @rmarinho in
#32095

- [net10.0] Update dependencies from dotnet/dotnet by
@dotnet-maestro[bot] in #32085

## Layout
- Mark CompressedLayout API as obsolete and remove XML documentation by
@Copilot in #31052

- Remove edge to edge from top level container by @PureWeen in
#31193
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] EdgeToEdge does not work for Modal
page](#24903)
- [Your app uses deprecated APIs or parameters for edge-to-edge (Android
15)](#26788)
- [The status bar is blank when ManualMAUITests sample project debugging
on the “Android16.0- API 36”
emulator](#29954)
  </details>

- Change ComputeConstraintForView to return LayoutConstraint instead of
using side effects by @Copilot in
#31091
  <details>
  <summary>🔧 Fixes</summary>

- [Change ComputeConstraintForView to return constraint and set
ComputedConstraint via return value (.NET
10.0)](#31083)
  </details>

- [Android] Create a Java layer for LayoutViewGroup by @albyrock87 in
#31601
  <details>
  <summary>🔧 Fixes</summary>

- [Reduce layout pass java to dotnet jni
calls](#31595)
  </details>

## Localization
- fix resources localization by @StephaneDelcroix in
#31466

## Mediapicker
- Fix wrongful closing modal when using MediaPicker by @jfversluis in
#31500
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS] Fix MediaPicker modal dismissal issue in
CapturePhotoAsync/CaptureVideoAsync](#31470)
- [[iOS] MAUI Essentials MediaPicker.CapturePhotoAsync /
CaptureVideoAsync causes modal page to dismiss
unexpectedly](#31075)
  </details>

## Navigation
- [Net10] [iOS] Set NavigationBar.Translucent based on NavigationPage
BarBackgroundColor transparency by @Tamilarasan-Paranthaman in
#30981

- [net10.0] Invert NavigationPage UseMauiHandler flag by
@github-actions[bot] in #31873
  <details>
  <summary>🔧 Fixes</summary>

- [Invert NavigationPage UseMauiHandler
flag](#31859)
  </details>

## Other
- [XC|XSG] fix target resolution by @StephaneDelcroix in
#31229
  <details>
  <summary>🔧 Fixes</summary>

- [XamlC error XC0000 when using VisualState on custom
control](#31186)
  </details>

- NET 10 - Added command and command parameter for CheckBox control by
@NirmalKumarYuvaraj in #31036
  <details>
  <summary>🔧 Fixes</summary>

- [Command is missing on Checkbox
control](#7394)
- [added Command and CommandParameter on
CheckBox](#20717)
  </details>

- [XSG] simple support for `required` by @StephaneDelcroix in
#30928
  <details>
  <summary>🔧 Fixes</summary>

- [[XSG] Get `required`
working](#30491)
  </details>

- [XSG] double cast on Add by @StephaneDelcroix in
#31367

- Mark OffscreenPageLimitProperty as obsolete and remove unused code by
@Copilot in #31306

- [XSG] simplify OnPlatform by @StephaneDelcroix in
#31421

- [XSG] Fix ValueProvider creation by @StephaneDelcroix in
#31434
  <details>
  <summary>🔧 Fixes</summary>

- [XSG generate call to obsolete ctor
SimpleValueTargetProvider](#31381)
  </details>

- [XSG] Refactor ProjectItem by @StephaneDelcroix in
#31427

- [XSG] report diagnostic if we can't Add by @StephaneDelcroix in
#31462

- Enhance maui-mobile developer sample with recent updates by
@Vignesh-SF3580 in #31489

- Add DisplayRotationStateTrigger for granular device rotation control
by @Copilot in #31297

- [Testing] Fixed Test case failure in Update main net10 by
@TamilarasanSF4853 in #31592

- [X] remove IElementNode interface by @StephaneDelcroix in
#31559

- [Testing] Fixed Test case failure in Update main net10 - 2 by
@TamilarasanSF4853 in #31632

- [X] avoid enumerating 3 times by @StephaneDelcroix in
#31622
  <details>
  <summary>🔧 Fixes</summary>

- [[NET10.0] Performance Regression related to XAML
Parsing](#31172)
  </details>

- [SG] generated code behind for RD in global xmlns by @StephaneDelcroix
in #31623
  <details>
  <summary>🔧 Fixes</summary>

- [Build succeeds with bad XAML - source
gen](#31602)
  </details>

- [XSG] make sure RD are properly inflated, and loaded by
@StephaneDelcroix in #31482
  <details>
  <summary>🔧 Fixes</summary>

- [.NET10-rc1 - XamlSourceGen - Partial method
XXX.InitializeComponent()' must have an implementation part because it
has accessibility
modifiers.](#31571)
  </details>

- [XSG] support xClassModifier by @StephaneDelcroix in
#31754
  <details>
  <summary>🔧 Fixes</summary>

- [.NET10-rc1 The type or namespace name 'XamlProcessingAttribute' could
not be found](#31550)
  </details>

- LEGO: Pull request from
lego/hb_aa4ddd3b-37ca-4d87-a058-1e95d9ca2d38_20251001194204838 to
net10.0 by @csigs in #31841

- [XSG] trim color by @StephaneDelcroix in
#32035
  <details>
  <summary>🔧 Fixes</summary>

- [[XSG] input needs to be
trimmed](#32034)
  </details>

- Merge main into net10 by @PureWeen in
#32079

## ProgressBar
- [Testing] Fix for the ProgressSpinnerWorksWhenReEnabled flaky test in
CI by @TamilarasanSF4853 in #31951

## RefreshView
- Add IsRefreshEnabled Property and Platform-Consistent IsEnabled
Semantics to RefreshView by @Copilot in
#30692
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] Swapping out the content of a RefreshView breaks on
Android](#28361)
- [Proposal: Add IsRefreshEnabled Property and Platform-Consistent
IsEnabled Semantics to
RefreshView](#30690)
  </details>

## Shapes
- [XSG] Correct lineinfo for expanded markups by @StephaneDelcroix in
#31641
  <details>
  <summary>🔧 Fixes</summary>

- [[XSG] fix line and position error
reporting](#30855)
  </details>

- [Windows] Fix `LineHeight` values <1 having no effect by setting
`LineStackingStrategy` to `BlockLineHeight` by @MartyIX in
#31289
  <details>
  <summary>🔧 Fixes</summary>

- [[Windows] Change the LineStackingStrategy to BlockLineHeight for
Labels on Windows](#24520)
- [[Windows] Fix LineHeight values < 1 having no effect by setting
LineStackingStrategy to
BlockLineHeight](#31219)
  </details>

## Shell
- Check if tab bar hidden value actually changed for Shell by
@jfversluis in #31149

- [iOS] Auto Resize chrome icons on iOS to make it more consistent with
other platforms - Toolbar items by @kubaflo in
#30995
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS] Auto Resize chrome icons on iOS to make it more consistent with
other platforms - Toolbar
items](#30994)
  </details>

- Fix modal and Shell edge to edge scenarios by @PureWeen in
#31221
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] EdgeToEdge does not work for Modal
page](#24903)
  </details>

- Shell - Propagate BackButtonBehaviorProperty by @kubaflo in
#28615
  <details>
  <summary>🔧 Fixes</summary>

- [Setting BackButtonBehavior to not visible or not enabled does not
work](#28570)
  </details>

## Templates
- Removed ListView styles from the default project template by
@sheiksyedm in #31155
  <details>
  <summary>🔧 Fixes</summary>

- [The warning of XLS1111 appears once open MAUI App file
Resources\Styles\Styles.xaml](#31146)
  </details>

- Update .NET Bot for .NET 10 by @jfversluis in
#31161

- [net10.0] Fix DeveloperBalance ProjectList page fails to load
correctly by @SuthiYuvaraj in #31158
  <details>
  <summary>🔧 Fixes</summary>

- [[net10.0] DeveloperBalance ProjectList page fails to load
correctly](#31152)
  </details>

- Enhance maui-mobile developer sample with recent updates by
@SuthiYuvaraj in #31151
  <details>
  <summary>🔧 Fixes</summary>

- [Sync back accessibility fixes from Developer Balance sample to
templates](#31069)
  </details>

- Revert template changes by @PureWeen in
#31301

- Fix Aspire ServiceDefaults project template naming by @jfversluis in
#31616
  <details>
  <summary>🔧 Fixes</summary>

- [Aspire ServiceDefaults project name doesn't use provided
name](#30365)
  </details>

- Update the Blazor project templates by @mattleibow in
#31721
  <details>
  <summary>🔧 Fixes</summary>

- [Keep Blazor Hybrid templates in sync with Blazor &
MAUI](#26439)
  </details>

- [net10.0] Delete GlobalXmlns.cs from maui-mobile template by
@github-actions[bot] in #31744
  <details>
  <summary>🔧 Fixes</summary>

- [Delete GlobalXmlns.cs from maui-mobile
template](#31730)
  </details>

- Update multi-project template to .NET 10 by @jfversluis in
#31774

- Clean up Extensions.cs by removing TODO comments by @jfversluis in
#31901

- Enable OpenTelemetry metrics and tracing for MAUI in Service Defaults
by @jfversluis in #31900
  <details>
  <summary>🔧 Fixes</summary>

- [Enable MAUI SDK diagnostics by default for
Aspire](#31846)
  </details>

- Enhance maui-mobile developer sample with recent updates by
@Vignesh-SF3580 in #31646

- [net10.0] Clean up template options for the CLI by @mattleibow in
#31849
  <details>
  <summary>🔧 Fixes</summary>

- [Blazor Hybrid & Web Solution Template: Template options need updating
](#23168)
  </details>

- Remove DisableDevCertSecurityCheck method in Aspire Service Defaults
template by @jfversluis in #31965

- Disable MAUI telemetry for Aspire ServiceDefaults by default by
@jfversluis in #32089

## Theming
- Fix loading ResourceDictionary from source by @simonrozsival in
#31435
  <details>
  <summary>🔧 Fixes</summary>

- [[NET10.0] Unable to deploy basic template on ios/android in release
mode](#31308)
  </details>

## Toolbar
- [iOS] ToolbarItems can no longer be manipulated after an incomplete
"Back" gesture on iOS - fix by @kubaflo in
#31303
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS] `ToolbarItems` can no longer be manipulated after an incomplete
"Back" gesture on iOS.](#31278)
  </details>

## WebView
- [net10.0] Temporarily disable flaky WebView tests using FlakyTest
attribute by @github-actions[bot] in
#31882
  <details>
  <summary>🔧 Fixes</summary>

- [Temporarily disable flaky WebView tests using FlakyTest
attribute](#31868)
  </details>

## Window
- Make IsActivated property public in Window.cs by @pictos in
#30987
  <details>
  <summary>🔧 Fixes</summary>

- [[NET 10] Open more APIs](#30762)
  </details>

## Windows
- Revert "Expose DispatcherExtensions so it could be used outside of
Maui as well" by @jfversluis in
#31184
  <details>
  <summary>🔧 Fixes</summary>

- [[net10.0] MAUI no longer marshalls bindable updates to the UI
thread](#31139)
- [Expose DispatcherExtensions so it could be used outside of Maui as
well](#30488)
  </details>

## Xaml
- Xaml Inflator parameters by @StephaneDelcroix in
#30980
  <details>
  <summary>🔧 Fixes</summary>

- [[XSG] Passing parameters to the
inflators](#30877)
  </details>

- Always use dot separators in XAML SG converters by @jfversluis in
#31225
  <details>
  <summary>🔧 Fixes</summary>

- [[.NET10-preview7] XAML Source Generator - Grid Error +
Warnings](#31142)
  </details>

- fix10 by @StephaneDelcroix in
#31459

- [XSG] Use absolute file paths when generating #line by @simonrozsival
in #31519
  <details>
  <summary>🔧 Fixes</summary>

- [[XG] XamlG generates invalid #line
paths](#31454)
  </details>

- Refactor XAML SourceGen TypeConverters by @jfversluis in
#31467

- [templates] do not use 'required' in xaml controls by
@StephaneDelcroix in #31564

- [XSG] Fix enum converter by @simonrozsival in
#31702

- [X|C] only use a single GridLengthTypeConverter by @StephaneDelcroix
in #29376
  <details>
  <summary>🔧 Fixes</summary>

- [OnIdiom<GridLength> throws an not implemented Exception (in
GridLengthTypeConverter)](#29334)
  </details>

- [XSG] Simplify ColorConverter by @simonrozsival in
#31660

## iOS
- Avoid useless measure passes on iOS by @albyrock87 in
#31485
  <details>
  <summary>🔧 Fixes</summary>

- [[Testing] UITest to measure layout passes on a common
scenario](#25671)
  </details>

- [NET10] [iOS] Fix SafeArea does not correctly account for the view
area under the soft input by @Tamilarasan-Paranthaman in
#31352
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS] SafeArea doesn't properly account for how much of a view is
under the soft input](#31191)
  </details>

- [iOS] Update net10 iOS to rc2 by @rmarinho in
#31749


<details>
<summary>🧪 Testing (17)</summary>

- [Testing] Feature matrix UITest Cases for ScrollView Control by
@NafeelaNazhir in #30188
- [net10.0, Testing] Fixed test failures on merge main net10.0 by
@NafeelaNazhir in #31168
- [net10.0] Add UnconditionalSuppressMessage attributes to fix NativeAOT
by @rmarinho in #31231
- [MacCatalyst] DatePicker null date handling by @jsuarezruiz in
#31365
  <details>
  <summary>🔧 Fixes</summary>

- [[MacCatalyst] Setting NULL for the DatePicker then the picker should
default to Todays date when it's
opened](#31124)
  </details>
- Added a README with details about how to compile the manual tests by
@jsuarezruiz in #31373
- [Testing] Re-enable iOS NativeAOT and Mono full trimming tests by
handling ObjCRuntime warnings by @jsuarezruiz in
#31397
  <details>
  <summary>🔧 Fixes</summary>

- [[testing] Reenable "NativeAOT" and "Mono full" tests for
iOS](#29059)
  </details>
- [Testing] Fix for flaky test(PullToRefreshWorksWhenEnabled) in CI by
@NafeelaNazhir in #31625
- [Testing] Added new SafeAreaEdges categories in UITest and adjusted
screenshot logic for API 36 by @Ahamed-Ali in
#31655
  <details>
  <summary>🔧 Fixes</summary>

- [[Testing] Added new SafeAreaEdges categories in UITest and created
separate lane to run the category in API
36](#31355)
  </details>
- [Testing] Feature matrix UITest Cases for ScrollView with
LayoutOptions by @NafeelaNazhir in
#31650
  <details>
  <summary>🔧 Fixes</summary>

- [[Testing] Add tests validating all the permutations of layoutoptions
with scrollview](#30698)
- [[Testing] Feature matrix UITest Cases for ScrollView with
LayoutOptions](#31122)
  </details>
- Add 'SafeAreaEdges' to UI tests configuration by @jfversluis in
#31709
  <details>
  <summary>🔧 Fixes</summary>

- [[Testing] Added new SafeAreaEdges categories in UITest and adjusted
screenshot logic for API 36
](#31655)
  </details>
- [Testing] Fixed Test case failure in Update main net10 by
@TamilarasanSF4853 in #31729
- Fixed the compilation issue to merge main changes to net10 by
@sheiksyedm in #31762
- [Testing] Fixed Test case failure in net10_main_merge by
@TamilarasanSF4853 in #31773
- [ci] Fix helix local by @rmarinho in
#31796
- [tests] Try run device tests with CoreClr by @rmarinho in
#30686
  <details>
  <summary>🔧 Fixes</summary>

- [[Testing] Run Controls.DeviceTests with CoreCLR on
Android](#30277)
  </details>
- [ci] Fix net10 UiTests by @rmarinho in
#31837
- [testing] Update device testing by @rmarinho in
#31909

</details>

<details>
<summary>🏠 Housekeeping (7)</summary>

- remove dupe by @StephaneDelcroix in
#31420
- [net10.0] [ci] Fix branch classification by @github-actions[bot] in
#31812
  <details>
  <summary>🔧 Fixes</summary>

- [[ci] Fix branch
classification](#31811)
  </details>
- [housekeeping] Automated PR to fix formatting errors on main by
@github-actions[bot] in #31802
- [ci] Fix branch classification by @rmarinho in
#31816
- LEGO: Pull request from
lego/hb_aa4ddd3b-37ca-4d87-a058-1e95d9ca2d38_20251002185521508 to
net10.0 by @csigs in #31851
- Localized file check-in by OneLocBuild Task: Build definition ID
13330: Build ID 12507670 by @dotnet-bot in
#31854
- [net10.0] [c] Run apiscan on release branches and main by
@github-actions[bot] in #31904
  <details>
  <summary>🔧 Fixes</summary>

- [[c] Run apiscan on release branches and
main](#31903)
  </details>

</details>
**Full Changelog**:
main...net10.0
@github-actions github-actions bot locked and limited conversation to collaborators Oct 31, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-testing Unit tests, device tests

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants