forked from dotnet/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add globalization API breaking change (dotnet#18492)
* fixes dotnet#18423 Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>
- Loading branch information
1 parent
b6c79b5
commit 57ac4c9
Showing
4 changed files
with
64 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
42 changes: 42 additions & 0 deletions
42
includes/core-changes/globalization/5.0/icu-globalization-api.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
### Globalization APIs use ICU libraries on Windows | ||
|
||
.NET 5.0 and later versions use [International Components for Unicode (ICU)](http://site.icu-project.org/home) libraries for globalization functionality when running on Windows 10 May 2019 Update or later. | ||
|
||
#### Change description | ||
|
||
Previously, .NET libraries used [National Language Support (NLS)](/windows/win32/intl/national-language-support) APIs for globalization functionality. For example, NLS functions were used to get culture data, such as date and time format patterns, compare strings, and perform string casing in the appropriate culture. | ||
|
||
Starting in .NET 5.0, if an app is running on Windows 10 May 2019 Update or later, .NET libraries use [ICU](http://site.icu-project.org/home) globalization APIs. Windows 10 May 2019 Update and later versions ship with the ICU native library. If the .NET runtime can't load ICU, it uses NLS instead. | ||
|
||
This change was introduced for two reasons: | ||
|
||
- Apps have the same globalization behavior across platforms, including Linux, macOS, and Windows. | ||
- Apps can control globalization behavior by using custom ICU libraries. | ||
|
||
#### Version introduced | ||
|
||
.NET 5.0 Preview 4 | ||
|
||
#### Recommended action | ||
|
||
No action is required on the part of the developer. However, if you wish to continue using NLS globalization APIs, you can set a [run-time switch](../../../../docs/core/run-time-config/globalization.md#nls) to revert to that behavior. | ||
|
||
#### Category | ||
|
||
Globalization | ||
|
||
#### Affected APIs | ||
|
||
- <xref:System.Span%601?displayProperty=fullName> | ||
- <xref:System.String?displayProperty=fullName> | ||
- Most types in the <xref:System.Globalization?displayProperty=fullName> namespace | ||
|
||
<!-- | ||
#### Affected APIs | ||
- `T:System.Span%601` | ||
- `T:System.String` | ||
- `N:System.Globalization` | ||
--> |