KEMBAR78
Xmlns perf by StephaneDelcroix · Pull Request #30096 · dotnet/maui · GitHub
Skip to content

Conversation

StephaneDelcroix
Copy link
Contributor

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Description of Change

Issues Fixed

Fixes #

@Copilot Copilot AI review requested due to automatic review settings June 20, 2025 14:06
@StephaneDelcroix StephaneDelcroix requested a review from a team as a code owner June 20, 2025 14:06
Copy link
Contributor

@Copilot 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 modernizes various parts of the Controls codebase by updating nullability annotations, improving method signatures, and addressing obsolete API usage while introducing performance‐related improvements for XML namespace processing. Key changes include:

  • Updating type converter and binding method signatures to use nullable context (e.g. in ImageSourceConverter, GridLengthTypeConverter, FontSizeConverter).
  • Converting several public API properties (such as those in DatePicker) from non‑nullable types to nullable, and adjusting internal remapping and event handling methods.
  • Adding pragma directives to suppress obsolete API warnings in platform‑specific handlers.

Reviewed Changes

Copilot reviewed 291 out of 977 changed files in this pull request and generated no comments.

File Description
src/Controls/src/Core/DatePicker/DatePicker.cs Changed Date, MinimumDate, and MaximumDate BindableProperties and public properties to use nullable DateTime.
src/Controls/src/Core/Element/Element.Mapper.cs Introduced a static constructor that calls RemapIfNeeded to update element mappings.
src/Controls/src/Core/IExtendedTypeConverter.cs Updated the ConvertFromInvariantString signature to return nullables.
src/Controls/src/Core/FontImageSource.cs Added a ContentProperty attribute for the Glyph property.
Comments suppressed due to low confidence (1)

src/Controls/src/Core/DatePicker/DatePicker.cs:20

  • Changing the Date, MinimumDate, and MaximumDate properties from non-nullable DateTime to nullable DateTime? in DatePicker constitutes a breaking change in the public API. Please confirm that all consumers of these properties are updated to handle null values appropriately.
			defaultValueCreator: (bindable) => DateTime.Today);

@StephaneDelcroix StephaneDelcroix changed the base branch from main to net10.0 June 20, 2025 14:07
@StephaneDelcroix StephaneDelcroix force-pushed the xmlnsPerf branch 3 times, most recently from d7cbc0a to b8a76b9 Compare June 20, 2025 14:53
@PureWeen
Copy link
Member

Failing tests are unrelated

@PureWeen PureWeen merged commit a10e74a into net10.0 Jun 22, 2025
127 of 129 checks passed
@PureWeen PureWeen deleted the xmlnsPerf branch June 22, 2025 15:34
@StephaneDelcroix StephaneDelcroix linked an issue Jun 24, 2025 that may be closed by this pull request
@github-actions github-actions bot locked and limited conversation to collaborators Jul 23, 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.

XAML xmlns simplifications

4 participants