diff --git a/docs/core/whats-new/dotnet-10/libraries.md b/docs/core/whats-new/dotnet-10/libraries.md index 0dd05b1111fc1..a13b67745eb63 100644 --- a/docs/core/whats-new/dotnet-10/libraries.md +++ b/docs/core/whats-new/dotnet-10/libraries.md @@ -2,14 +2,14 @@ title: What's new in .NET libraries for .NET 10 description: Learn about the updates to the .NET libraries for .NET 10. titleSuffix: "" -ms.date: 08/12/2025 +ms.date: 09/09/2025 ms.topic: whats-new ai-usage: ai-assisted --- # What's new in .NET libraries for .NET 10 -This article describes new features in the .NET libraries for .NET 10. It's been updated for Preview 7. +This article describes new features in the .NET libraries for .NET 10. It's been updated for RC 1. ## Cryptography @@ -111,7 +111,7 @@ private static bool ValidateMLDsaSignature(ReadOnlySpan data, ReadOnlySpan } ``` -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. +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 type isn't marked as `[Experimental]`, but some of its methods are (and will be until the underlying standards are finalized). The , , and classes are marked as `[Experimental]` under diagnostic `SYSLIB5006` until development is complete. #### ML-DSA @@ -140,6 +140,20 @@ private static byte[] SignPreHashSha3_256(MLDsa signingKey, ReadOnlySpan d } ``` +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: + +```csharp +private static byte[] SignWithExternalMu(MLDsa signingKey, ReadOnlySpan externalMu) +{ + return signingKey.SignMu(externalMu); +} + +private static bool VerifyWithExternalMu(MLDsa verifyingKey, ReadOnlySpan externalMu, ReadOnlySpan signature) +{ + return verifyingKey.VerifyMu(externalMu, signature); +} +``` + #### Composite ML-DSA .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 and 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 ## Strings - [String normalization APIs to work with span of characters](#string-normalization-apis-to-work-with-span-of-characters) +- [UTF-8 support for hex-string conversion](#utf-8-support-for-hex-string-conversion) ### String normalization APIs to work with span of characters @@ -228,6 +243,17 @@ Unicode string normalization has been supported for a long time, but existing AP - - +### UTF-8 support for hex-string conversion + +.NET 10 adds UTF-8 support for hex-string conversion operations in the 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`, but operate directly on UTF-8 encoded bytes for improved performance in scenarios where you're already working with UTF-8 data. + ## Collections - [Additional `TryAdd` and `TryGetValue` overloads for `OrderedDictionary`](#additional-tryadd-and-trygetvalue-overloads-for-ordereddictionarytkey-tvalue) @@ -339,6 +365,8 @@ All of this is serialized as JSON in the (format The interface now includes a nongeneric interface, , for operations like accessing and . Slice operations no longer copy data, which improves performance. Additionally, you can access data nongenerically by boxing to `object` when performance isn't critical. +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` or `INumber`, the operation is supported. For example, `tensor + tensor` is available for a `Tensor`, but isn't available for a `Tensor`. + ## Options validation - [New AOT-safe constructor for `ValidationContext`](#new-aot-safe-constructor-for-validationcontext) diff --git a/docs/core/whats-new/dotnet-10/overview.md b/docs/core/whats-new/dotnet-10/overview.md index 53f0ad2991675..9ca6deee2cf2c 100644 --- a/docs/core/whats-new/dotnet-10/overview.md +++ b/docs/core/whats-new/dotnet-10/overview.md @@ -2,14 +2,14 @@ title: What's new in .NET 10 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. titleSuffix: "" -ms.date: 08/12/2025 +ms.date: 09/09/2025 ms.topic: whats-new ai-usage: ai-assisted --- # What's new in .NET 10 -Learn about the new features in .NET 10 and find links to further documentation. This page has been updated for Preview 7. +Learn about the new features in .NET 10 and find links to further documentation. This page has been updated for RC 1. .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). diff --git a/docs/core/whats-new/dotnet-10/runtime.md b/docs/core/whats-new/dotnet-10/runtime.md index 174f9937fd37e..b034aad4fe20b 100644 --- a/docs/core/whats-new/dotnet-10/runtime.md +++ b/docs/core/whats-new/dotnet-10/runtime.md @@ -2,13 +2,13 @@ title: What's new in .NET 10 runtime description: Learn about the new features introduced in the .NET 10 runtime. titleSuffix: "" -ms.date: 08/12/2025 +ms.date: 09/09/2025 ms.topic: whats-new ai-usage: ai-assisted --- # What's new in the .NET 10 runtime -This article describes new features and performance improvements in the .NET runtime for .NET 10. It's been updated for Preview 7. +This article describes new features and performance improvements in the .NET runtime for .NET 10. It's been updated for RC 1. ## JIT compiler improvements diff --git a/docs/core/whats-new/dotnet-10/sdk.md b/docs/core/whats-new/dotnet-10/sdk.md index d1ad48ef454c2..a388ab43f03c1 100644 --- a/docs/core/whats-new/dotnet-10/sdk.md +++ b/docs/core/whats-new/dotnet-10/sdk.md @@ -2,14 +2,14 @@ title: What's new in the SDK and tooling for .NET 10 description: Learn about the new .NET SDK features introduced in .NET 10. titleSuffix: "" -ms.date: 08/12/2025 +ms.date: 09/09/2025 ms.topic: whats-new ai-usage: ai-assisted --- # What's new in the SDK and tooling for .NET 10 -This article describes new features and enhancements in the .NET SDK for .NET 10. It's been updated for Preview 7. +This article describes new features and enhancements in the .NET SDK for .NET 10. It's been updated for RC 1. ## .NET tools enhancements