Skip to content

[release/10.0.1xx-preview5] Bring latest changes from net10.0 to preview 5 - #29838

Merged
rmarinho merged 9 commits into
release/10.0.1xx-preview5from
net10.0
Jun 5, 2025
Merged

rmarinho merged 9 commits into
release/10.0.1xx-preview5from
net10.0

Conversation

@rmarinho

@rmarinho rmarinho commented Jun 5, 2025

Copy link
Copy Markdown
Member

Description of Change

Try get latest features from net10.0 to preview 5

Tamilarasan-Paranthaman and others added 6 commits May 30, 2025 12:29
* Removed MessagingCenter

* Resolved issues and optimized the code

* Reverted unwanted changes

* MessagingCenter changes

* updated code changes

* Improved code changes

* Added test cases

* Test sample changes

* test sample changes

* RadioButtonGroupController changes
* Enable Nullability on ShellPageRendererTracker

* Fix broken tests

* Remove unnecessary changes

* Update src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellPageRendererTracker.cs

Co-authored-by: Rui Marinho <me@ruimarinho.net>

* Update src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellPageRendererTracker.cs

Co-authored-by: Rui Marinho <me@ruimarinho.net>

* Update src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellPageRendererTracker.cs

Co-authored-by: Rui Marinho <me@ruimarinho.net>

* Update src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellPageRendererTracker.cs

Co-authored-by: Rui Marinho <me@ruimarinho.net>

* Update src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellPageRendererTracker.cs

Co-authored-by: Rui Marinho <me@ruimarinho.net>

* Update src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellPageRendererTracker.cs

Co-authored-by: Rui Marinho <me@ruimarinho.net>

* Changes based on feedback

---------

Co-authored-by: Rui Marinho <me@ruimarinho.net>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Expose _framework/hybridwebview.js

Now that the _framework/hybridwebview.js file is embedded, we can
make it available for consumption by the app. It is not required
to use this URL, but it is now available.

This being embedded makes things easier to update and keep in sync
with the implementation of the HybridWebView.

* Fix the path matching in HWV
* [X] implicit xmlns declarations

Make the default xmlns implicitely pointing to maui default xmlns
pre-load all available XmlsPrefixes for use

the capability is disabled by default, and you need to opt-in

- fixes #28849
- fixes #28850
- fixes #28847

* [X] global xmlns

Allow aggregating multiple xmlns into a single new global
http://schemas.microsoft.com/dotnet/maui/global using XmlnsDefinition
attribute, like this

```csharp
[assembly: XmlnsDefinition("http://schemas.microsoft.com/dotnet/maui/global", "http://schemas.microsoft.com/dotnet/2021/maui")]
```

the x: xmlns can not be aggregated, as it serves important purposes for
the parsers

this also brings #28090 to fix #28150

- fixes #28150
- fixes #28843
- closes #28090

* [X] Protect some xmlns

protect maui and x: xmlns from overloading.

- fixes #28836

* be less strict while checking for protected xmlns

* fail on collision

* fixing default assembly

* load from current assembly

* fix DataTemplate

* fix BPConverter

* [X] report diagnostice on ambiguous type

* Update src/Controls/src/Build.Tasks/TypeReferenceExtensions.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Controls/src/Build.Tasks/TypeReferenceExtensions.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 5, 2025 16:21
@rmarinho
rmarinho requested a review from a team as a code owner June 5, 2025 16:21
@rmarinho rmarinho added this to the .NET 10.0-preview5 milestone Jun 5, 2025

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 brings the latest net10.0 changes into preview 5, updating various public API signatures and improving internal build and XAML processing tasks.

  • Updated PublicAPI files to change the XmlnsDefinitionAttribute constructor signature from taking a "clrNamespace" parameter to a "target" parameter.
  • Added new virtual methods and improved nullability annotations/enforcements in platform-specific renderer trackers.
  • Enhanced build tasks for XAML parsing and type resolution while updating documentation and project references.

Reviewed Changes

Copilot reviewed 82 out of 82 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
PublicAPI.*.txt (net-maccatalyst, net-ios, net-android) Updates to XmlnsDefinitionAttribute constructor signature, aligning parameter names with new API design.
AssemblyInfo.cs New assembly attribute added for XAML xmlns prefix support.
ShellPageRendererTracker.cs Reviewed improvements to nullability and event unsubscription logic.
Build.Tasks/* Updates in XAML parsing, type reference handling, and binding property conversion.
docs/Microsoft.Maui.Controls/XmlnsDefinitionAttribute.xml Documentation updated to reflect constructor signature changes.
Samples & Solution Files Adjustments to JavaScript resource usage and inclusion of new unit tests.
Directory.Build.targets Addition of a target to prevent deletion of TypeScript outputs.
Comments suppressed due to low confidence (1)

src/Controls/src/Build.Tasks/SetPropertiesVisitor.cs:536

  • The condition's operator precedence may cause unexpected behavior. Consider adding parentheses around the namespace checks to ensure both 'MauiUri' and 'MauiGlobalUri' are tested correctly when the element name matches.
if (n.XmlType.Name == nameof(Microsoft.Maui.Controls.DataTemplate) && (n.XmlType.NamespaceUri == XamlParser.MauiUri) || n.XmlType.NamespaceUri == XamlParser.MauiGlobalUri)

Comment thread src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Shipped.txt Outdated
rmarinho and others added 2 commits June 5, 2025 19:12
* [api] Revert back changes to publicapi shipped file

* [api] Update unshipped api for XmlnsDefinitionAttribute
… other features (#29829)

* Sometimes the OS changes the header casing

Android: Observed lower case on some OS versions (ie 28)
Windows: Header lookup is case insensitive
macOS/iOS: CI will inform

* fix some more issues

* This should work... It was like this before

* Better support for older devices and skip API 24
@github-project-automation github-project-automation Bot moved this from Todo to Approved in MAUI SDK Ongoing Jun 5, 2025
@mattleibow

Copy link
Copy Markdown
Member

/azp run MAUI

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@mattleibow

Copy link
Copy Markdown
Member

/azp run MAUI-UITests

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@rmarinho
rmarinho merged commit 1bdc89f into release/10.0.1xx-preview5 Jun 5, 2025
@github-project-automation github-project-automation Bot moved this from Approved to Done in MAUI SDK Ongoing Jun 5, 2025
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 6, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants