* Add RC1 release notes template files * Add missing aspnetcore.md template file * Update RC1 release notes to proper template format and update prompt file * Add release notes for .NET 10 RC 1 across various components * Fix markdownlint issues in createprs-for-preview.prompt.md * Update createprs-for-preview prompt with detailed instructions for handling "TBD" placeholders and adding a master consolidation PR process * Servicing Release markdowns and json Updates for 10.0 RC1 * Added ./rc1/README.md * Fix formatting of version-aspnetcoremodule entries and ensure newline at end of file in release notes JSON files * Update csharp for RC 1 (#10051) * Update csharp for RC 1 * Update C# release notes for .NET 10 RC 1 (no notable features) * Update wpf for RC 1 (#10060) * Update wpf for RC 1 * Update WPF release notes for .NET 10 RC 1 to clarify absence of new features * Update containers for RC 1 (#10050) * Update containers for RC 1 * Clarify that the .NET 10 RC 1 release does not include new Container image features in the release notes. * Update runtime for RC 1 (#10056) * Update runtime for RC 1 * Update runtime release notes for .NET 10 RC 1 * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Revise SDK release notes for .NET 10 RC 1 to emphasize quality improvements and encourage developer feedback * Update sdk for RC 1 (#10057) * Clarify that .NET 10 RC 1 does not introduce new Visual Basic features and direct users to relevant documentation * Update aspnetcore for RC 1 (#10049) * Update fsharp for RC 1 (#10054) * Update fsharp for RC 1 * Fix fsharp: replace TBD with content * Update F# release notes for .NET 10 RC 1 to clarify absence of new features --------- Co-authored-by: James Montemagno <james.montemagno@gmail.com> * Update dotnetmaui for RC 1 (#10052) * Update dotnetmaui for RC 1 * Fix duplicate content in dotnetmaui * look! We have release notes added maui and android. Need yet macios and contributors list. * Apply suggestions from code review * Update release-notes/10.0/preview/rc1/dotnetmaui.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update release-notes/10.0/preview/rc1/dotnetmaui.md Co-authored-by: Jon Galloway <jongalloway@gmail.com> * Update release-notes/10.0/preview/rc1/dotnetmaui.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * add images * add bullet for experimental * update lint --------- Co-authored-by: David Ortinau <david.ortinau@microsoft.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: James Montemagno <james.montemagno@gmail.com> * Update libraries for RC 1 (#10055) * Update libraries for RC 1 * Fix libraries: replace TBD with content * Add PQC notes * Fix trailing whitespace * Update release-notes/10.0/preview/rc1/libraries.md Co-authored-by: Tanner Gooding <tagoo@outlook.com> * updates * update link * updates --------- Co-authored-by: Jeremy Barton <jbarton@microsoft.com> Co-authored-by: James Montemagno <james.montemagno@gmail.com> Co-authored-by: Tanner Gooding <tagoo@outlook.com> * Update winforms for RC 1 (#10059) * Update winforms for RC 1 * Update WinForms release notes for .NET 10 RC1 Thanks @KlausLoeffelmann for the content! --------- Co-authored-by: Merrie McGaw <mmcgaw@microsoft.com> * Update efcore for RC 1 (#10053) * Update efcore for RC 1 * Fix efcore: replace TBD with content * EF Core release notes for rc.1 --------- Co-authored-by: Shay Rojansky <roji@roji.org> * markdownlint fixes for WinForms RC1 release notes * Update Language Version in releases.json * Update release.json for Language version support * updates * filled out maui contributor GitHub handles * Revise Visual Studio compatibility information --------- Co-authored-by: victorisr <victorisr@microsoft.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: James Montemagno <james.montemagno@gmail.com> Co-authored-by: David Ortinau <david.ortinau@microsoft.com> Co-authored-by: Jeremy Barton <jbarton@microsoft.com> Co-authored-by: Tanner Gooding <tagoo@outlook.com> Co-authored-by: Merrie McGaw <mmcgaw@microsoft.com> Co-authored-by: Shay Rojansky <roji@roji.org> Co-authored-by: Rahul Bhandari <rbhanda@microsoft.com>
5.1 KiB
Libraries in .NET 10 RC 1 - Release Notes
The following .NET 10 RC 1 release notes describe new features and changes in this release.
- Cryptography: ML-DSA External Mu
- Cryptography: Post Quantum Cryptography "API Complete"
- UTF-8 Support for hex-string conversion
- Tensor, TensorSpan, and ReadOnlyTensorSpan
.NET Libraries updates in .NET 10:
- What's new in .NET 10 documentation
Cryptography: ML-DSA External Mu
The ML-DSA class now allows signatures to be created and verified from an "external" mu (μ) value.
namespace System.Security.Cryptography;
public partial class MLDsa
{
public byte[] SignMu(byte[] externalMu);
public void SignMu(ReadOnlySpan<byte> externalMu, Span<byte> destination);
public byte[] SignMu(ReadOnlySpan<byte> externalMu);
public bool VerifyMu(byte[] externalMu, byte[] signature);
public bool VerifyMu(ReadOnlySpan<byte> externalMu, ReadOnlySpan<byte> signature);
protected abstract void SignMuCore(ReadOnlySpan<byte> externalMu, Span<byte> destination);
protected abstract bool VerifyMuCore(ReadOnlySpan<byte> externalMu, ReadOnlySpan<byte> signature);
}
External mu signatures require platform support. If, as more providers come online, we find that the provider support is fragmented, we may find it useful to add a capability API (e.g. public bool SupportsMu { get; }). But, for now, we are presenting it as a universally available feature.
Cryptography: Post Quantum Cryptography "API Complete"
The MLDsa, MLKem, SlhDsa, and CompositeMLDsa types (and their associated -Algorithm types) have all been through the API Review process,
compared against each other for local consistency, and had all of the members declared for the RC1 release -- both for the .NET 10 built-in versions and for the downlevel compatibility versions in Microsoft.Bcl.Cryptography.
The MLKem type is no longer marked as [Experimental], but a handful of methods on it still are, because they are based on standards that haven't hit final version/publication. We expect to similarly move [Experimental] from the MLDsa type down to a handful of its members for the stable release of .NET 10. The SlhDsa and CompositeMLDsa classes, however, will retain their [Experimental] decoration.
While we have no active plans to introduce breaking changes beyond the stable release of .NET 10, the [Experimental] attribute is indicating areas where specifications are not complete or we are still waiting on features in our underlying platform libraries.
UTF-8 Support for hex-string conversion
The System.Convert class exposes additional overloads which provide support for converting a buffer of UTF-8 text to the corresponding bytes and vice-versa. These mirror the existing overloads taking string and ReadOnlySpan<char>:
namespace System;
public static class Convert
{
public static System.Buffers.OperationStatus FromHexString(ReadOnlySpan<byte> utf8Source, Span<byte> destination, out int bytesConsumed, out int bytesWritten);
public static byte[] FromHexString(ReadOnlySpan<byte> utf8Source);
public static bool TryToHexString(ReadOnlySpan<byte> source, Span<byte> utf8Destination, out int bytesWritten);
public static bool TryToHexStringLower(ReadOnlySpan<byte> source, Span<byte> utf8Destination, out int bytesWritten);
}
Tensor, TensorSpan, and ReadOnlyTensorSpan
We initially previewed the new tensor APIs as part of .NET 9 (see here) and are now shipping these APIs as stable in .NET 10
The API surface remains "out of box" and requires referencing the System.Numerics.Tensors NuGet package to be available.
While the overall API surface remains similar to that previewed in .NET 9, several binary breaking changes were made to the types that were annotated with the [Experimental] attribute based on feedback from the community and general user experience problems that were identified.
The types are taking advantage of the new C# 14 extension operators feature so that arithmetic operations are available if the underlying T in a Tensor<T> itself supports the given operation. Support is identified by the T implementing the relevant Generic Math interfaces, such as IAdditionOperators<TSelf, TOther, TResult> or INumber<TSelf>. For example, tensor + tensor is available for a Tensor<int>, but is not available for a Tensor<bool>.
API Diff
The full diff for the "in box" .NET Libraries APIs between .NET 10 Preview 7 and .NET 10 RC1 can be found here.