Skip to content

Conversation

@csigs
Copy link
Member

@csigs csigs commented Oct 1, 2025

LEGO: Pull request from lego/hb_aa4ddd3b-37ca-4d87-a058-1e95d9ca2d38_20251001194204838 to net10.0 with localized lcls

Copilot AI review requested due to automatic review settings October 1, 2025 19:42
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 PR updates localized resource files for the .NET MAUI Controls SourceGen component across multiple languages. The changes involve removing old error messages and adding a comprehensive set of new, more specific error messages for type conversion failures and other XAML parsing issues.

  • Removes legacy error messages (AmbiguousTypeMessage, AmbiguousTypeTitle)
  • Adds 18 new error message entries for specific conversion failures and resolution issues
  • Updates localized translations for Traditional Chinese, Simplified Chinese, Turkish, Russian, Portuguese (Brazil), Polish, Korean, Japanese, Italian, French, Spanish, German, and Czech

Reviewed Changes

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

Show a summary per file
File Description
loc/zh-Hant/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Traditional Chinese translations with new error messages
loc/zh-Hans/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Simplified Chinese translations with new error messages
loc/tr/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Turkish translations with new error messages
loc/ru/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Russian translations with new error messages
loc/pt-BR/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Portuguese (Brazil) translations with new error messages
loc/pl/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Polish translations with new error messages
loc/ko/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Korean translations with new error messages
loc/ja/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Japanese translations with new error messages
loc/it/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Italian translations with new error messages
loc/fr/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates French translations with new error messages
loc/es/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Spanish translations (missing localized translations)
loc/de/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates German translations with new error messages
loc/cs/src/Controls/src/SourceGen/MauiGResources.resx.lcl Updates Czech translations with new error messages

<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into FlowDirection, expected values are "rtl", "ltr", "inherit", "MatchParent", "LeftToRight" or "RightToLeft".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[無法將 "{0}" 轉換為 FlowDirection,預期值為 "rtl"、"ltr"、"inherit"、"MatchParent"、"LeftToRight" 或 "RightToLeft".]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Missing closing quote after 'RightToLeft'. The period should be outside the quotes to match other error messages in the same file.

Copilot uses AI. Check for mistakes.
Comment on lines +114 to +116
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[無法將 "{0}" 轉換為 LayoutOptions,預期值為 "Start"、"Center、"End" 或 "Fill"。]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Missing closing quote after 'Center'. Should be 'Center'、 not 'Center、'.

Suggested change
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[無法將 "{0}" 轉換為 LayoutOptions,預期值為 "Start"、"Center、"End" 或 "Fill"。]]></Val>
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center", "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[無法將 "{0}" 轉換為 LayoutOptions,預期值為 "Start"、"Center"、"End" 或 "Fill"。]]></Val>

Copilot uses AI. Check for mistakes.
Comment on lines +114 to +116
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Não é possível converter "{0}" em LayoutOptions, os valores esperados são "Start", "Center, "End" ou "Fill".]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Missing closing quote after 'Center'. Should be 'Center', not 'Center,'.

Suggested change
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Não é possível converter "{0}" em LayoutOptions, os valores esperados são "Start", "Center, "End" ou "Fill".]]></Val>
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center", "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Não é possível converter "{0}" em LayoutOptions, os valores esperados são "Start", "Center", "End" ou "Fill".]]></Val>

Copilot uses AI. Check for mistakes.
Comment on lines +114 to +116
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Nie można przekonwertować wartości „{0}” na LayoutOptions, oczekiwane wartości to „Start”, „Center, „End” lub „Fill”.]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Missing closing quote after 'Center'. Should be 'Center', not 'Center,'.

Suggested change
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Nie można przekonwertować wartości „{0}” na LayoutOptions, oczekiwane wartości to „Start”, „Center, „End” lub „Fill”.]]></Val>
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center", "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Nie można przekonwertować wartości „{0}” na LayoutOptions, oczekiwane wartości to „Start”, „Center, „End” lub „Fill”.]]></Val>

Copilot uses AI. Check for mistakes.
Comment on lines +114 to +116
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA["{0}"을(를) LayoutOptions로 변환할 수 없습니다. 필요한 값은 "Start", "Center, "End" 또는 "Fill"입니다.]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Missing closing quote after 'Center'. Should be 'Center', not 'Center,'.

Suggested change
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA["{0}"을(를) LayoutOptions로 변환할 수 없습니다. 필요한 값은 "Start", "Center, "End" 또는 "Fill"입니다.]]></Val>
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center", "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA["{0}"을(를) LayoutOptions로 변환할 수 없습니다. 필요한 값은 "Start", "Center", "End" 또는 "Fill"입니다.]]></Val>

Copilot uses AI. Check for mistakes.
<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into Thickness, expected format is "h, v" or "l, t, r, b" or "l".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA["{0}" を Thickness に変換できません。必要な形式は "h, v"、"l, t, r b" または "l" です。]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Missing comma in format specification. Should be 'l, t, r, b' not 'l, t, r b'.

Suggested change
<Val><![CDATA["{0}" を Thickness に変換できません。必要な形式は "h, v"、"l, t, r b" または "l" です。]]></Val>
<Val><![CDATA["{0}" を Thickness に変換できません。必要な形式は "h, v"、"l, t, r, b" または "l" です。]]></Val>

Copilot uses AI. Check for mistakes.
Comment on lines +114 to +116
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Non è possibile convertire "{0}" in LayoutOptions; il valore previsto è "Start", "Center, "End" o "Fill".]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Missing closing quote after 'Center'. Should be 'Center', not 'Center,'.

Suggested change
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center, "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Non è possibile convertire "{0}" in LayoutOptions; il valore previsto è "Start", "Center, "End" o "Fill".]]></Val>
<Val><![CDATA[Cannot convert "{0}" into LayoutOptions, expected values are "Start", "Center", "End" or "Fill".]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Non è possibile convertire "{0}" in LayoutOptions; il valore previsto è "Start", "Center", "End" o "Fill".]]></Val>

Copilot uses AI. Check for mistakes.
<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into Rect, expected format is "x, y, w, h"]]></Val>
<Tgt Cat="Text" Stat="Loc" Orig="New">
<Val><![CDATA[Impossible de convertir « {0} » en Rect, le format attendu est « x, y, l, h »]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Incorrect format specification. Should be 'x, y, w, h' (width, height) not 'x, y, l, h'.

Suggested change
<Val><![CDATA[Impossible de convertir « {0} » en Rect, le format attendu est « x, y, l, h »]]></Val>
<Val><![CDATA[Impossible de convertir « {0} » en Rect, le format attendu est « x, y, w, h »]]></Val>

Copilot uses AI. Check for mistakes.
Comment on lines +15 to +57
<Val><![CDATA[Cannot convert "{0}" into ColumnDefinitionCollection, expected values are "*", "n*", "Auto", or "n" (or a combination of these seperated by commas) where n is a numeric value.]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into "{1}".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ConversionFailedTitle" ItemType="0;.resx" PsrId="211" InstFlg="true" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Conversion Failed]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";CornerRadiusConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into CornerRadius, expected format is "tl, tr, bl, br" or "l".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";DuplicateKeyInRD" ItemType="0;.resx" PsrId="211" InstFlg="true" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[duplicate key in resource dictionary]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";DuplicateTypeError" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Multiple Types found for "{0}".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";EasingConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into Easing, expect value is "Linear", "SinOut", "SinIn", "SinInOut", "CubicIn", "CubicOut", "CubicInOut", "BounceOut", "BounceIn", "SpringIn" or "SpringOut".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ExpressionNotClosed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Expression must end with '}'.]]></Val>
Copy link

Copilot AI Oct 1, 2025

Choose a reason for hiding this comment

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

Spanish localization file is missing translated values for most error messages, only containing English text. This needs proper Spanish translation.

Suggested change
<Val><![CDATA[Cannot convert "{0}" into ColumnDefinitionCollection, expected values are "*", "n*", "Auto", or "n" (or a combination of these seperated by commas) where n is a numeric value.]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into "{1}".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ConversionFailedTitle" ItemType="0;.resx" PsrId="211" InstFlg="true" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Conversion Failed]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";CornerRadiusConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into CornerRadius, expected format is "tl, tr, bl, br" or "l".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";DuplicateKeyInRD" ItemType="0;.resx" PsrId="211" InstFlg="true" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[duplicate key in resource dictionary]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";DuplicateTypeError" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Multiple Types found for "{0}".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";EasingConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Cannot convert "{0}" into Easing, expect value is "Linear", "SinOut", "SinIn", "SinInOut", "CubicIn", "CubicOut", "CubicInOut", "BounceOut", "BounceIn", "SpringIn" or "SpringOut".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ExpressionNotClosed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Expression must end with '}'.]]></Val>
<Val><![CDATA[No se puede convertir "{0}" en ColumnDefinitionCollection, los valores esperados son "*", "n*", "Auto" o "n" (o una combinación de estos separados por comas), donde n es un valor numérico.]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[No se puede convertir "{0}" en "{1}".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ConversionFailedTitle" ItemType="0;.resx" PsrId="211" InstFlg="true" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Conversión fallida]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";CornerRadiusConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[No se puede convertir "{0}" en CornerRadius, el formato esperado es "tl, tr, bl, br" o "l".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";DuplicateKeyInRD" ItemType="0;.resx" PsrId="211" InstFlg="true" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[clave duplicada en el diccionario de recursos]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";DuplicateTypeError" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[Se encontraron múltiples tipos para "{0}".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";EasingConversionFailed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[No se puede convertir "{0}" en Easing, el valor esperado es "Linear", "SinOut", "SinIn", "SinInOut", "CubicIn", "CubicOut", "CubicInOut", "BounceOut", "BounceIn", "SpringIn" o "SpringOut".]]></Val>
</Str>
<Disp Icon="Str" />
</Item>
<Item ItemId=";ExpressionNotClosed" ItemType="0;.resx" PsrId="211" Leaf="true">
<Str Cat="Text">
<Val><![CDATA[La expresión debe terminar con '}'.]]></Val>

Copilot uses AI. Check for mistakes.
@rmarinho
Copy link
Member

rmarinho commented Oct 2, 2025

/backport to release/10.0.1xx-rc2

@github-actions
Copy link
Contributor

github-actions bot commented Oct 2, 2025

Started backporting to release/10.0.1xx-rc2: https://github.com/dotnet/maui/actions/runs/18189404281

@rmarinho rmarinho merged commit 4221470 into net10.0 Oct 2, 2025
60 of 62 checks passed
@rmarinho rmarinho deleted the lego/hb_aa4ddd3b-37ca-4d87-a058-1e95d9ca2d38_20251001194204838 branch October 2, 2025 12:27
@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 Nov 2, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants