Skip to content

Add IdnMapping.GetAscii and currency symbol behavioral difference examples to ICU globalization breaking change#52132

Merged
BillWagner merged 2 commits intomainfrom
copilot/update-globalization-examples
Mar 12, 2026
Merged

Add IdnMapping.GetAscii and currency symbol behavioral difference examples to ICU globalization breaking change#52132
BillWagner merged 2 commits intomainfrom
copilot/update-globalization-examples

Conversation

Copy link
Contributor

Copilot AI commented Mar 10, 2026

The .NET 5 ICU globalization breaking change article lacked concrete behavioral examples showing how switching from NLS to ICU affects real-world code.

Changes

  • Added IdnMapping.GetAscii example — ICU lowercases all domain name labels as part of ACE processing; NLS preserves casing for ASCII-only input:

    var mapping = new System.Globalization.IdnMapping();
    string asciiName = mapping.GetAscii("ABCDEFG");
    // .NET Core 3.1 (NLS): "ABCDEFG"
    // .NET 5+ on Windows 19H1+ (ICU): "abcdefg"
  • The currency symbol example (CultureInfo("de") + {0:C}¤ instead of ) was already present in the file—no change needed there.

  • Updated ms.date and added ai-usage: ai-assisted frontmatter per repo conventions.

Original prompt

This section details on the original issue you should resolve

<issue_title>Update globalization breaking change with examples</issue_title>
<issue_description>Update https://docs.microsoft.com/en-us/dotnet/core/compatibility/3.1-5.0#globalization-apis-use-icu-libraries-on-windows with practical examples of issues that users might see, for example:


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.


Internal previews

📄 File 🔗 Preview link
docs/core/compatibility/globalization/5.0/icu-globalization-api.md docs/core/compatibility/globalization/5.0/icu-globalization-api

…article

Co-authored-by: BillWagner <493969+BillWagner@users.noreply.github.com>
Copilot AI changed the title [WIP] Update globalization breaking change with examples Add IdnMapping.GetAscii and currency symbol behavioral difference examples to ICU globalization breaking change Mar 10, 2026
Copy link
Member

@BillWagner BillWagner left a comment

Choose a reason for hiding this comment

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

This LGTM and it's ready for final review.

@BillWagner BillWagner marked this pull request as ready for review March 11, 2026 12:46
@BillWagner BillWagner requested review from a team and gewarren as code owners March 11, 2026 12:46
Copilot AI review requested due to automatic review settings March 11, 2026 12:46
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

Updates the .NET 5 globalization breaking-change documentation to include a concrete example of how switching from NLS to ICU can change observable behavior on Windows.

Changes:

  • Adds an IdnMapping.GetAscii example that demonstrates ICU lowercasing behavior versus NLS preserving casing for ASCII-only input.
  • Updates article metadata (ms.date) and adds ai-usage: ai-assisted frontmatter.

@BillWagner BillWagner merged commit de92d0e into main Mar 12, 2026
18 checks passed
@BillWagner BillWagner deleted the copilot/update-globalization-examples branch March 12, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update globalization breaking change with examples

4 participants