Skip to content

Conversation

@PureWeen
Copy link
Member

No description provided.

TamilarasanSF4853 and others added 30 commits October 1, 2025 10:31
…ews in CI (#31823)

This PR addresses the UI test image failures that occurred in the main
branch and includes updates to improve rendering and test stability
across platforms.

- In the CookiesCorrectlyLoadWithMultipleWebViews test case, I changed
the WebView source to match the cookies.

### Test cases:

- CookiesCorrectlyLoadWithMultipleWebViews
…31831)

* [iOS] Fix added for Navigation.SetTitleView does not work in ios 26.

* changes added.

* changed the version condition.
* Update androidApiLevels for device tests

* [ci] Update provisioning of api 36
… in FlyoutPage (#31515)

* mac fix added

* Windows fix added

* test case added

* Update Issue31372.cs

* Update Issue31372.cs

* Update WindowHandler.iOS.cs

* fix updated

* Update WindowHandler.iOS.cs

* Update WindowHandler.iOS.cs

* Update PublicAPI.Shipped.txt

* changes added in UnShipped file
…1868)

* Initial plan

* Temporarily disable flaky WebView tests with FlakyTest attribute

Co-authored-by: rmarinho <[email protected]>

* Add tracking issue link to FlakyTest attributes

Co-authored-by: rmarinho <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: rmarinho <[email protected]>
…51004.2 (#31872)

On relative base path root
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 9.0.0-prerelease.25426.1 -> To Version 9.0.0-prerelease.25504.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…CI (#31914)

* Update Issue10947.xaml

* Update Issue10947.xaml

* Update Issue10947.cs

* Update Issue10947.cs

* Update Issue10947.xaml

Removed the Grid and added the margin to IOS platform
* Update README with .NET MAUI app creation instructions

Added instructions for creating a new .NET MAUI app and using the Syncfusion Toolkit.

* Apply suggestion from @Copilot

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Rui Marinho <[email protected]>
Co-authored-by: Copilot <[email protected]>
…n template sample (#31743)

* update ProjectListPage

* Update MauiApp.1.csproj
#31747)

* [Android] -Picker dialog causes crash when page is popped while dialog is open

* removed the dispose call.

* Revert "removed the dispose call."

This reverts commit e1e7a9f.

* removed the dispose call.

* Modified with Dismiss() method.
…#31793)

* fix the ios entry selection issue

* Update EntrySelectionLengthRuntimeUpdate.png

* Update EntrySelectionLengthRuntimeUpdate.png
* Update arcade

* Don t use internal feeds
…or text and placeholder reset to default on theme change (#31891)

* added snapshots and fix

* removed test cases

* added the test cases and snapshots

* added braces

* added mac and windows snapshots

* added mac and windows snapshots

* added snapshot
…based ItemsLayout defaults (#31918)

* Initial plan

* Fix memory leak in CollectionViewHandler2.SubscribeToItemsLayoutPropertyChanged

Co-authored-by: PureWeen <[email protected]>

* Fix memory leak by using defaultValueCreator for ItemsLayout properties

Co-authored-by: PureWeen <[email protected]>

* Use internal factory methods for ItemsLayout defaults in converters

Co-authored-by: PureWeen <[email protected]>

* Add WeakReference test for CollectionViewHandler2 to verify no handler leak

Co-authored-by: PureWeen <[email protected]>

* Fix ItemsLayoutTypeConverter tests to check properties instead of reference equality

Co-authored-by: rmarinho <[email protected]>

* Add CarouselView memory leak test with default ItemsLayout

Co-authored-by: rmarinho <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: PureWeen <[email protected]>
Co-authored-by: rmarinho <[email protected]>
* Try spn

* Add more properties

* [ci] Enable private feeds again
* Fixed CollectionView multiselection.

* updated StructuredItemsViewHandler.Windows.cs

* added UI test.

* added snapshots.

* Update StructuredItemsViewHandler.Windows.cs

* updated review concerns.

* added snapshots.

* Updated test

* removed existing output images.

* snapshots added.

* Update Issue30868.cs

* Update Issue30868.cs

* added windows snapshot.
…51014.1 (#32010)

On relative base path root
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 9.0.0-prerelease.25504.2 -> To Version 9.0.0-prerelease.25514.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Otherwise:

1. The arm64 iOS simulator isn't able to run x64 apps.
2. We run x64 apps in the iOS simulator in dotnet/macios (even on arm64 bots).
3. If MAUI installs the arm64 iOS simulator, it'll make our x64 tests apps fail to launch.

So fix this by installing the universal iOS simulator when using Xcode 26+
(earlier versions of Xcode doesn't support the '-architectureVariant'
argument).
Copilot AI and others added 2 commits October 18, 2025 18:59
* Initial plan

* Migrate SourceGen unit tests from NUnit to xUnit

Co-authored-by: rmarinho <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: rmarinho <[email protected]>
# Conflicts:
#	.config/dotnet-tools.json
#	eng/Version.Details.xml
#	eng/Versions.props
#	eng/common/core-templates/job/job.yml
#	eng/common/core-templates/job/onelocbuild.yml
#	eng/common/core-templates/job/publish-build-assets.yml
#	eng/common/core-templates/job/source-index-stage1.yml
#	eng/common/core-templates/steps/generate-sbom.yml
#	eng/common/core-templates/steps/source-build.yml
#	eng/pipelines/device-tests.yml
#	global.json
#	src/Controls/src/Core/Items/CarouselLayoutTypeConverter.cs
#	src/Controls/src/Core/Items/ItemsLayoutTypeConverter.cs
#	src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Unshipped.txt
#	src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt
#	src/Controls/tests/SourceGen.UnitTests/SourceGen.UnitTests.csproj
#	src/Controls/tests/SourceGen.UnitTests/SourceGenCssTests.cs
#	src/Controls/tests/SourceGen.UnitTests/SourceGenXamlTests.cs
#	src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyModelItemsObservableCollectionWhenMultipleModePreSelection.png
#	src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/EntrySelectionLengthRuntimeUpdate.png
#	src/Core/src/Handlers/DatePicker/DatePickerHandler.Android.cs
#	src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs
#	src/Core/src/Platform/Android/EditTextExtensions.cs
#	src/Templates/src/templates/maui-mobile/Pages/ProjectListPage.xaml
Copilot AI review requested due to automatic review settings October 19, 2025 11:44
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

Merge main changes into net10 branch introducing platform updates (iOS 26 handling, Windows styling), test framework migration (NUnit → xUnit), new tests, and pipeline/tooling adjustments (Xcode 26 logic, coverage settings, security/network changes).

  • Introduces new cleanup logic for dialogs and flyout initialization adjustments.
  • Migrates several unit test projects from NUnit to xUnit and adds new leak/issue reproduction tests.
  • Adds pipeline/runtime adjustments (Xcode 26 handling, networkIsolationPolicy change, SPN exposure) plus package/project changes (WindowsAppSDK reference).

Reviewed Changes

Copilot reviewed 44 out of 75 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
Graphics.csproj Adds WindowsAppSDK package reference.
EditTextExtensions.cs Alters fallback logic for text/placeholder color updates.
TimePickerHandler.Android.cs Replaces Hide with Dismiss on dialog teardown.
PickerHandler.Android.cs Adds dialog dismissal cleanup on disconnect.
FlyoutViewHandler.Windows.cs Adds Loaded handler to apply initial pane state.
DatePickerHandler.Android.cs Changes dialog disposal logic (removes Dispose).
Issue31889.cs/.xaml (tests) Adds test page and UITest for theme-bound Entry/Editor colors.
Issue31731 tests & host app Adds crash reproduction Picker dialog test.
Issue31372 tests & host app Adds FlyoutPage IsPresented initial value test.
Issue30868 tests & host app Adds CollectionView selection visual state tests.
Issue18443 test changes Adjusts screenshot cropping/alignment.
Issue12134.cs Updates WebView URL for test.
SourceGenTestsBase.cs / SourceGenCssTests.cs / SourceGen.UnitTests.csproj Migrates source-gen tests from NUnit to xUnit.
CollectionViewTests.iOS.cs Adds leak test for default ItemsLayout.
CarouselViewTests.iOS.cs Adds leak test for default CarouselView ItemsLayout.
ItemsLayoutTypeConverterTests.cs Adjusts assertions (reference equality → type/values).
PublicAPI.Unshipped (iOS/MacCatalyst) Records removed override (public API change).
LinearItemsLayout.cs Refactors static layout creation via factory helpers.
ItemsView.cs Changes default ItemsLayout via defaultValueCreator.
ItemsLayoutTypeConverter.cs Returns new layout instances via factory (affects allocations).
CarouselView.cs / CarouselLayoutTypeConverter.cs Changes default and conversion logic to factory-based instances.
StructuredItemsViewHandler.Windows.cs Adds default WinUI style inheritance (BasedOn).
NavigationRenderer.cs Adds iOS 26 handling for TitleView layout.
PhoneFlyoutPageRenderer.cs Moves initial presentation logic from ViewWillLayoutSubviews to ViewDidAppear (removes override).
Pipeline YAML files Adds networkIsolationPolicy, Xcode 26 branching, SPN exposure, component governance ignore dirs.
coverage.runsettings Adds code coverage include/exclude configuration.
README.md Adds template command with toolkit references.
bug-report.yml Adds new release and service release version entries.
Comments suppressed due to low confidence (2)

src/Controls/src/Core/Compatibility/Handlers/FlyoutPage/iOS/PhoneFlyoutPageRenderer.cs:155

  • The override ViewWillLayoutSubviews() was removed (previously handled initial layout completion); this coupled with API removal constitutes a breaking behavioral change. If external code depended on that override timing, initialization now occurs in ViewDidAppear. Consider keeping the override and delegating to new logic for backward compatibility.
		void SetInitialPresented()


<ItemGroup Condition="$(TargetFramework.Contains('-windows'))">
<PackageReference Include="Microsoft.Graphics.Win2D" />
<PackageReference Include="Microsoft.WindowsAppSDK" />
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

PackageReference for Microsoft.WindowsAppSDK lacks an explicit Version attribute, creating a non-deterministic build (restores latest available). Specify a concrete version (e.g. 1.5.x) to ensure reproducible builds.

Suggested change
<PackageReference Include="Microsoft.WindowsAppSDK" />
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.0" />

Copilot uses AI. Check for mistakes.
editText.SetTextColor(c);
}
else
else if (textColor is null)
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

Changing else to else if (textColor is null) prevents the fallback when textColor is non-null but CreateEditTextColorStateList returns null; previously the default system color would be applied. Restore plain else or add a branch for the failed conversion case.

Suggested change
else if (textColor is null)
else

Copilot uses AI. Check for mistakes.
if (placeholderTextColor is not null && PlatformInterop.CreateEditTextColorStateList(editText.HintTextColors, placeholderTextColor.ToPlatform()) is ColorStateList c)
editText.SetHintTextColor(c);
else
else if (placeholderTextColor is null)
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

Same issue as text color: else if restricts fallback logic; if placeholderTextColor is non-null but conversion fails, default system placeholder color is no longer restored. Replace with else or add handling for failed conversion.

Suggested change
else if (placeholderTextColor is null)
else

Copilot uses AI. Check for mistakes.
_dialog.DismissEvent -= OnDialogDismiss;
_dialog.Hide();
_dialog.Dispose();
_dialog.Dismiss();
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

Previously the dialog was Hidden and Disposed; Dispose was removed. Dismiss does not guarantee resource disposal, risking a leak of the dialog instance until GC. Call _dialog.Dispose() after Dismiss to retain explicit cleanup.

Suggested change
_dialog.Dismiss();
_dialog.Dismiss();
_dialog.Dispose();

Copilot uses AI. Check for mistakes.
Comment on lines 163 to 166
UpdateLeftBarButton();
}

public override void ViewWillLayoutSubviews()
{
// Orientation doesn't seem to be set to a stable correct value until here.
// So, we officially process orientation here.
if (!_intialLayoutFinished)
{
_intialLayoutFinished = true;
SetInitialPresented();
}

base.ViewWillLayoutSubviews();
}

public override void ViewDidLoad()
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

The override ViewWillLayoutSubviews() was removed (previously handled initial layout completion); this coupled with API removal constitutes a breaking behavioral change. If external code depended on that override timing, initialization now occurs in ViewDidAppear. Consider keeping the override and delegating to new logic for backward compatibility.

Copilot uses AI. Check for mistakes.
{
var actualReason = result2.TrackedSteps[expected.Key].Single().Outputs.Single().Reason;
Assert.AreEqual(expected.Value, actualReason, message: expected.Key);
Assert.Equal(expected.Value, actualReason);
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

Dropped the descriptive message (expected.Key) from the assertion, reducing debugging context on failure. Pass a custom message via Assert.True(...) or log with ITestOutputHelper to retain the key.

Suggested change
Assert.Equal(expected.Value, actualReason);
Assert.Equal(expected.Value, actualReason, $"Mismatch for key: {expected.Key}");

Copilot uses AI. Check for mistakes.
// Wait for a moment to ensure dialog is open, then wait for auto navigation
// The page will automatically pop after 3 seconds
// If the bug exists, this would cause a crash
System.Threading.Thread.Sleep(4000); // Wait longer than the 3-second delay
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

Using Thread.Sleep(4000) in UI tests lengthens suite execution and ties up the thread. Replace with a polling wait (e.g. loop with short delays until navigation state changes) or a built-in wait mechanism to reduce unnecessary idle time.

Suggested change
System.Threading.Thread.Sleep(4000); // Wait longer than the 3-second delay
// Wait for the main page to reappear after navigation (should pop after ~3 seconds)

Copilot uses AI. Check for mistakes.
inputs:
azureSubscription: ${{ parameters.federatedServiceConnection }}
scriptType: 'pscore'
addSpnToEnvironment: true
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

addSpnToEnvironment: true exposes service principal credentials as environment variables to subsequent steps, increasing potential for leakage. Remove or limit scope unless downstream steps require them explicitly.

Suggested change
addSpnToEnvironment: true

Copilot uses AI. Check for mistakes.
inputs:
azureSubscription: ${{ parameters.federatedServiceConnection }}
scriptType: 'pscore'
addSpnToEnvironment: true
Copy link

Copilot AI Oct 19, 2025

Choose a reason for hiding this comment

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

Same concern: addSpnToEnvironment: true unnecessarily exposes credentials. Prefer omitting unless a downstream script explicitly consumes those variables.

Suggested change
addSpnToEnvironment: true

Copilot uses AI. Check for mistakes.
@rmarinho rmarinho merged commit a4c1246 into net10.0 Oct 21, 2025
156 of 167 checks passed
@rmarinho rmarinho deleted the merge_main_into_net10 branch October 21, 2025 14:30
@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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.