Breaking changes in .NET 10
If you're migrating an app to .NET 10, the breaking changes listed here might affect you. Changes are grouped by technology area, such as ASP.NET Core or Windows Forms.
This article categorizes each breaking change as binary incompatible or source incompatible, or as a behavioral change:
Binary incompatible - When run against the new runtime or component, existing binaries may encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
Source incompatible - When recompiled using the new SDK or component or to target the new runtime, existing source code may require source changes to compile successfully.
Behavioral change - Existing code and binaries may behave differently at run time. If the new behavior is undesirable, existing code would need to be updated and recompiled.
Note
This article is a work in progress. It's not a complete list of breaking changes in .NET 10. To query breaking changes that are still pending publication, see Issues of .NET.
Core .NET libraries
Title | Type of change | Introduced version |
---|---|---|
API obsoletions with non-default diagnostic IDs | Source incompatible | Preview 1 |
ActivitySource.CreateActivity and ActivitySource.StartActivity behavior change | Behavioral change | Preview 1 |
C# 14 overload resolution with span parameters | Behavioral change | Preview 1 |
Consistent shift behavior in generic math | Behavioral change | Preview 1 |
LDAP DirectoryControl parsing is now more stringent | Behavioral change | Preview 1 |
MacCatalyst version normalization | Behavioral change | Preview 1 |
Globalization
Title | Type of change | Introduced version |
---|---|---|
Environment variable renamed to DOTNET_ICU_VERSION_OVERRIDE | Behavioral change | Preview 1 |
Cryptography
Title | Type of change | Introduced version |
---|---|---|
X500DistinguishedName validation is stricter | Behavioral change | Preview 1 |
Environment variable renamed to DOTNET_OPENSSL_VERSION_OVERRIDE | Behavioral change | Preview 1 |
Windows Forms
Title | Type of change | Introduced version |
---|---|---|
Renamed parameter in HtmlElement.InsertAdjacentElement | Source incompatible | Preview 1 |
TreeView checkbox image truncation | Behavioral change | Preview 1 |