- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1.9k
Merge main into net10 #32079
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge main into net10 #32079
Conversation
…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
…#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
Automated PR to fix formatting errors
* 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).
* 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
There was a problem hiding this 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" /> | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| <PackageReference Include="Microsoft.WindowsAppSDK" /> | |
| <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.0" /> | 
| editText.SetTextColor(c); | ||
| } | ||
| else | ||
| else if (textColor is null) | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| else if (textColor is null) | |
| else | 
| if (placeholderTextColor is not null && PlatformInterop.CreateEditTextColorStateList(editText.HintTextColors, placeholderTextColor.ToPlatform()) is ColorStateList c) | ||
| editText.SetHintTextColor(c); | ||
| else | ||
| else if (placeholderTextColor is null) | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| else if (placeholderTextColor is null) | |
| else | 
| _dialog.DismissEvent -= OnDialogDismiss; | ||
| _dialog.Hide(); | ||
| _dialog.Dispose(); | ||
| _dialog.Dismiss(); | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| _dialog.Dismiss(); | |
| _dialog.Dismiss(); | |
| _dialog.Dispose(); | 
| 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() | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| { | ||
| var actualReason = result2.TrackedSteps[expected.Key].Single().Outputs.Single().Reason; | ||
| Assert.AreEqual(expected.Value, actualReason, message: expected.Key); | ||
| Assert.Equal(expected.Value, actualReason); | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| Assert.Equal(expected.Value, actualReason); | |
| Assert.Equal(expected.Value, actualReason, $"Mismatch for key: {expected.Key}"); | 
| // 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 | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| 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) | 
| inputs: | ||
| azureSubscription: ${{ parameters.federatedServiceConnection }} | ||
| scriptType: 'pscore' | ||
| addSpnToEnvironment: true | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| addSpnToEnvironment: true | 
| inputs: | ||
| azureSubscription: ${{ parameters.federatedServiceConnection }} | ||
| scriptType: 'pscore' | ||
| addSpnToEnvironment: true | 
    
      
    
      Copilot
AI
    
    
    
      Oct 19, 2025 
    
  
There was a problem hiding this comment.
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.
| addSpnToEnvironment: true | 
## 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
No description provided.