You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The PQC algorithms are available on systems where the system cryptographic libraries are OpenSSL 3.5 (or newer) or Windows CNG with PQC support. Also, the new classes are all marked as [`[Experimental]`](../../../fundamentals/syslib-diagnostics/experimental-overview.md) under diagnostic `SYSLIB5006` until development is complete.
114
+
The PQC algorithms are available on systems where the system cryptographic libraries are OpenSSL 3.5 (or newer) or Windows CNG with PQC support. The <xref:System.Security.Cryptography.MLKem> type isn't marked as `[Experimental]`, but some of its methods are (and will be until the underlying standards are finalized). The <xref:System.Security.Cryptography.MLDsa>, <xref:System.Security.Cryptography.SlhDsa>, and <xref:System.Security.Cryptography.CompositeMLDsa> classes are marked as `[Experimental]` under diagnostic `SYSLIB5006` until development is complete.
Starting in RC 1, ML-DSA also supports signatures created and verified from an "external" mu value, which provides additional flexibility for advanced cryptographic scenarios:
.NET 10 introduces new types to support [ietf-lamps-pq-composite-sigs](https://datatracker.ietf.org/doc/draft-ietf-lamps-pq-composite-sigs/) (currently at draft 7), including the <xref:System.Security.Cryptography.CompositeMLDsa> and <xref:System.Security.Cryptography.CompositeMLDsaAlgorithm> types, with implementation of the primitive methods for RSA variants.
@@ -217,6 +231,7 @@ The issue arises because LINQ expressions can't handle optional parameters. To a
217
231
## Strings
218
232
219
233
-[String normalization APIs to work with span of characters](#string-normalization-apis-to-work-with-span-of-characters)
234
+
-[UTF-8 support for hex-string conversion](#utf-8-support-for-hex-string-conversion)
220
235
221
236
### String normalization APIs to work with span of characters
222
237
@@ -228,6 +243,17 @@ Unicode string normalization has been supported for a long time, but existing AP
.NET 10 adds UTF-8 support for hex-string conversion operations in the <xref:System.Convert> class. These new methods provide efficient ways to convert between UTF-8 byte sequences and hexadecimal representations without requiring intermediate string allocations:
These methods mirror the existing overloads that work with `string` and `ReadOnlySpan<char>`, but operate directly on UTF-8 encoded bytes for improved performance in scenarios where you're already working with UTF-8 data.
256
+
231
257
## Collections
232
258
233
259
-[Additional `TryAdd` and `TryGetValue` overloads for `OrderedDictionary<TKey, TValue>`](#additional-tryadd-and-trygetvalue-overloads-for-ordereddictionarytkey-tvalue)
@@ -339,6 +365,8 @@ All of this is serialized as JSON in the <xref:System.IO.Pipelines.Pipe> (format
339
365
340
366
The <xref:System.Numerics.Tensors> interface now includes a nongeneric interface, <xref:System.Numerics.Tensors.IReadOnlyTensor>, for operations like accessing <xref:System.Numerics.Tensors.IReadOnlyTensor.Lengths> and <xref:System.Numerics.Tensors.IReadOnlyTensor.Strides>. Slice operations no longer copy data, which improves performance. Additionally, you can access data nongenerically by boxing to `object` when performance isn't critical.
341
367
368
+
The tensor APIs are now stable and no longer marked as experimental. While the APIs still require referencing the [System.Numerics.Tensors](https://www.nuget.org/packages/System.Numerics.Tensors) NuGet package, they have been thoroughly reviewed and finalized for the .NET 10 release. The types take advantage of C# 14 extension operators to provide arithmetic operations when the underlying type `T` supports the operation. If `T` implements the relevant [generic math](../../../standard/generics/math.md) interfaces, for example, `IAdditionOperators<TSelf, TOther, TResult>` or `INumber<TSelf>`, the operation is supported. For example, `tensor + tensor` is available for a `Tensor<int>`, but isn't available for a `Tensor<bool>`.
369
+
342
370
## Options validation
343
371
344
372
-[New AOT-safe constructor for `ValidationContext`](#new-aot-safe-constructor-for-validationcontext)
Copy file name to clipboardExpand all lines: docs/core/whats-new/dotnet-10/overview.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,14 +2,14 @@
2
2
title: What's new in .NET 10
3
3
description: Learn about the new features introduced in .NET 10 for the runtime, libraries, and SDK. Also find links to what's new in other areas, such as ASP.NET Core.
4
4
titleSuffix: ""
5
-
ms.date: 08/12/2025
5
+
ms.date: 09/09/2025
6
6
ms.topic: whats-new
7
7
ai-usage: ai-assisted
8
8
---
9
9
10
10
# What's new in .NET 10
11
11
12
-
Learn about the new features in .NET 10 and find links to further documentation. This page has been updated for Preview 7.
12
+
Learn about the new features in .NET 10 and find links to further documentation. This page has been updated for RC 1.
13
13
14
14
.NET 10, the successor to [.NET 9](../dotnet-9/overview.md), is [supported for three years](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) as a long-term support (LTS) release. You can [download .NET 10 here](https://get.dot.net/10).
0 commit comments