Skip to content

Remove .NET Framework remarks (System.Globalization)#12635

Merged
gewarren merged 5 commits into
dotnet:mainfrom
gewarren:fw-remarks-system-globalization
May 21, 2026
Merged

Remove .NET Framework remarks (System.Globalization)#12635
gewarren merged 5 commits into
dotnet:mainfrom
gewarren:fw-remarks-system-globalization

Conversation

@gewarren
Copy link
Copy Markdown
Contributor

.NET Framework API ref has moved to its own repo (https://github.com/dotnet/dotnetfw-api-docs), so we can clean up .NET Framework remarks, exceptions, and code examples out of this repo. Contributes to #12513.

Removes remarks related to:

  • .NET Framework versions
  • Code-access security
  • Configuring apps via app.config file
  • App domains

Hide whitespace changes

@gewarren gewarren requested a review from a team as a code owner May 21, 2026 00:10
Copilot AI review requested due to automatic review settings May 21, 2026 00:10
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization

Copy link
Copy Markdown
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 System.Globalization API reference XML docs to remove or modernize .NET Framework-specific remarks and version-dependent guidance now that .NET Framework reference docs live in a separate repository.

Changes:

  • Replaces “.NET Framework” phrasing in various remarks/notes/examples with “.NET”/“modern .NET”, and removes some .NET Framework version-specific remarks.
  • Removes legacy guidance blocks (for example, OS-/framework-version-specific IDNA notes and older version comparisons) from several types.
  • Simplifies or updates remarks/exceptions to better match modern .NET behavior and terminology.

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
xml/System.Globalization/UmAlQuraCalendar.xml Updates notes/examples wording and removes .NET Framework version-specific remarks.
xml/System.Globalization/ThaiBuddhistCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/TextElementEnumerator.xml Updates remarks wording; markdown formatting/typo issues need follow-up.
xml/System.Globalization/TaiwanLunisolarCalendar.xml Updates note wording from .NET Framework to .NET.
xml/System.Globalization/TaiwanCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/StringInfo.xml Removes .NET Framework/Core version comparisons; normalizes section heading text.
xml/System.Globalization/RegionInfo.xml Rephrases version comparisons using “modern .NET”.
xml/System.Globalization/PersianCalendar.xml Removes .NET Framework version-specific behavior notes; keeps modern behavior descriptions.
xml/System.Globalization/NumberFormatInfo.xml Removes .NET Framework-specific exception behavior note.
xml/System.Globalization/KoreanLunisolarCalendar.xml Rewords earliest supported date comparison.
xml/System.Globalization/KoreanCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/JulianCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/JapaneseCalendar.xml Rephrases MinSupportedDateTime note to remove framework-specific wording.
xml/System.Globalization/IdnMapping.xml Removes .NET Framework 4.5 / OS-dependent IDNA standard notes.
xml/System.Globalization/HijriCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/HebrewCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/GregorianCalendar.xml Updates notes/examples wording; rephrases historic-date guidance to .NET.
xml/System.Globalization/EastAsianLunisolarCalendar.xml Updates note wording from .NET Framework to .NET.
xml/System.Globalization/CultureTypes.xml Updates summaries/remarks to remove framework split; one deprecated-member description needs clarification.
xml/System.Globalization/CultureNotFoundException.xml Updates warning wording; needs to account for invariant-mode scenarios.
xml/System.Globalization/CultureInfo.xml Removes .NET Framework version history in usage blocks; adds invariant-mode guidance; one placeholder/typo needs fixing.
xml/System.Globalization/CompareInfo.xml Rewords hash-code stability guidance; currently introduces misleading guidance about collections.
xml/System.Globalization/ChineseLunisolarCalendar.xml Updates note wording from .NET Framework to .NET.
xml/System.Globalization/CharUnicodeInfo.xml Removes .NET Framework Unicode-version table; replaces with modern .NET phrasing.
xml/System.Globalization/CalendarWeekRule.xml Removes “Starting with .NET Core 3.0” phrasing; keeps ISOWeek guidance.
xml/System.Globalization/Calendar.xml Same ISO 8601 / ISOWeek wording update as CalendarWeekRule.
Comments suppressed due to low confidence (1)

xml/System.Globalization/TextElementEnumerator.xml:88

  • These lines are indented by a leading space inside the markdown block; after a list this can cause the text to be rendered as part of the previous list item. Consider removing the leading indentation so the paragraphs render consistently as normal text after the list.
 The <xref:System.Globalization.TextElementEnumerator> class allows you to work with the text elements in a string rather than with single <xref:System.Char> objects.

 You instantiate a <xref:System.Globalization.TextElementEnumerator> object that represents a particular string by passing the string to the <xref:System.Globalization.StringInfo.GetTextElementEnumerator*?displayProperty=nameWithType> method. This returns an enumerator that is positioned before the first text element in the string. Calling the <xref:System.Globalization.TextElementEnumerator.Reset*> method also brings the enumerator back to this position. Because this represents an invalid state, you must call <xref:System.Globalization.TextElementEnumerator.MoveNext*> to advance the enumerator to the first text element of the string before reading the value of the <xref:System.Globalization.TextElementEnumerator.Current> property to return the current text element.

 When working with a <xref:System.Globalization.TextElementEnumerator> object, you are responsible for positioning the enumerator. The <xref:System.Globalization.TextElementEnumerator.Current> property returns the same text element until you call either <xref:System.Globalization.TextElementEnumerator.MoveNext*> or <xref:System.Globalization.TextElementEnumerator.Reset*>. The enumerator is in an invalid state if it is positioned before the first text element or after the last text element in the string. When the enumerator is in an invalid state, attempting to retrieve the value of the <xref:System.Globalization.TextElementEnumerator.Current> property throws an exception. You can determine whether the enumerator is in an invalid state by testing whether the return value of the <xref:System.Globalization.TextElementEnumerator.MoveNext> property is `false`.

Comment thread xml/System.Globalization/TextElementEnumerator.xml Outdated
Comment thread xml/System.Globalization/CultureInfo.xml Outdated
Comment thread xml/System.Globalization/CultureInfo.xml
Comment thread xml/System.Globalization/CompareInfo.xml Outdated
Comment thread xml/System.Globalization/CompareInfo.xml
Comment thread xml/System.Globalization/CultureTypes.xml Outdated
Comment thread xml/System.Globalization/CultureNotFoundException.xml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Member

@tarekgh tarekgh left a comment

Choose a reason for hiding this comment

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

The GetHashCode(ReadOnlySpan, CompareOptions) overload had its "application domain" reference updated, but the GetHashCode(string, CompareOptions) overload (~line 1410 in CompareInfo.xml) still says:

hash codes should never be used outside of the application domain in which they were created

Should this be updated to match the other overload's wording?

hash codes should not be treated as unique identifiers, they should not be persisted, and they should not be used outside the current process.

@gewarren gewarren enabled auto-merge (squash) May 21, 2026 18:21
@gewarren gewarren merged commit b2f2dde into dotnet:main May 21, 2026
6 checks passed
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.

3 participants