Skip to content

Commit c916456

Browse files
authored
Merge pull request #48314 from dotnet/main
Merge main into live
2 parents 1211fca + 1013e76 commit c916456

File tree

31 files changed

+847
-270
lines changed

31 files changed

+847
-270
lines changed

docs/azure/includes/dotnet-all.md

Lines changed: 10 additions & 13 deletions
Large diffs are not rendered by default.

docs/azure/includes/dotnet-new.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
| Conversational Language Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Language.Conversations/1.1.0)<br>NuGet [2.0.0-beta.3](https://www.nuget.org/packages/Azure.AI.Language.Conversations/2.0.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Language.Conversations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_1.1.0/sdk/cognitivelanguage/Azure.AI.Language.Conversations/)<br>GitHub [2.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_2.0.0-beta.3/sdk/cognitivelanguage/Azure.AI.Language.Conversations/) |
3232
| Conversations Authoring | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Language.Conversations.Authoring/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Language.Conversations.Authoring-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations.Authoring_1.0.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.Conversations.Authoring/) |
3333
| Core - Client - AMQP | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Core.Amqp/1.3.1) | [docs](/dotnet/api/overview/azure/Core.Amqp-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Amqp_1.3.1/sdk/core/Azure.Core.Amqp/) |
34-
| Core - Client - Core | NuGet [1.47.3](https://www.nuget.org/packages/Azure.Core/1.47.3) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.47.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.47.3/sdk/core/Azure.Core/) |
34+
| Core - Client - Core | NuGet [1.48.0](https://www.nuget.org/packages/Azure.Core/1.48.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.48.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.48.0/sdk/core/Azure.Core/) |
3535
| Core Newtonsoft Json | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson/2.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Core.NewtonsoftJson-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.NewtonsoftJson_2.0.0/sdk/core/Microsoft.Azure.Core.NewtonsoftJson/) |
3636
| Core WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.CoreWCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.CoreWCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.CoreWCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.CoreWCF.Azure.StorageQueues/) |
3737
| Data Movement | NuGet [12.2.1](https://www.nuget.org/packages/Azure.Storage.DataMovement/12.2.1) | [docs](/dotnet/api/overview/azure/Storage.DataMovement-readme) | GitHub [12.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.DataMovement_12.2.1/sdk/storage/Azure.Storage.DataMovement/) |
@@ -266,7 +266,7 @@
266266
| Resource Management - Event Grid | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.1.0)<br>NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.EventGrid-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.1.0/sdk/eventgrid/Azure.ResourceManager.EventGrid/)<br>GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.2.0-beta.2/sdk/eventgrid/Azure.ResourceManager.EventGrid/) |
267267
| Resource Management - Event Hubs | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.2.0/sdk/eventhub/Azure.ResourceManager.EventHubs/) |
268268
| Resource Management - Extended Location | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ExtendedLocations/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ExtendedLocations-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ExtendedLocations_1.1.1/sdk/extendedlocation/Azure.ResourceManager.ExtendedLocations/) |
269-
| Resource Management - Fabric | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0-beta.2/sdk/fabric/Azure.ResourceManager.Fabric/) |
269+
| Resource Management - Fabric | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0/sdk/fabric/Azure.ResourceManager.Fabric/) |
270270
| Resource Management - Fluid Relay | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.FluidRelay/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FluidRelay-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FluidRelay_1.1.1/sdk/fluidrelay/Azure.ResourceManager.FluidRelay/) |
271271
| Resource Management - Front Door | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.4.0/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) |
272272
| Resource Management - Graph Services | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.GraphServices/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.GraphServices-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GraphServices_1.1.2/sdk/graphservices/Azure.ResourceManager.GraphServices/) |

docs/core/compatibility/10.0.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Breaking changes in .NET 10
33
titleSuffix: ""
44
description: Navigate to the breaking changes in .NET 10.
5-
ms.date: 08/08/2025
5+
ms.date: 09/09/2025
66
ai-usage: ai-assisted
77
no-loc: [Blazor, Razor, Kestrel]
88
---
@@ -27,6 +27,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
2727
| [IPNetwork and ForwardedHeadersOptions.KnownNetworks are obsolete](aspnet-core/10/ipnetwork-knownnetworks-obsolete.md) | Source incompatible | Preview 7 |
2828
| [Microsoft.Extensions.ApiDescription.Client package deprecated](aspnet-core/10/apidescription-client-deprecated.md) | Source incompatible | Preview 7 |
2929
| [Razor run-time compilation is obsolete](aspnet-core/10/razor-runtime-compilation-obsolete.md) | Source incompatible | Preview 7 |
30+
| [WebHostBuilder, IWebHost, and WebHost are obsolete](aspnet-core/10/webhostbuilder-deprecated.md) | Source incompatible | RC 1 |
3031

3132
## Containers
3233

@@ -54,6 +55,17 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
5455
| [System.Linq.AsyncEnumerable included in core libraries](core-libraries/10.0/asyncenumerable.md) | Source incompatible | Preview 1 |
5556
| [YMM embedded rounding removed from AVX10.2](core-libraries/10.0/ymm-embedded-rounding.md) | Behavioral change | Preview 5 |
5657

58+
## Cryptography
59+
60+
| Title | Type of change | Introduced version |
61+
|-------|-------------------|--------------------|
62+
| [CoseSigner.Key can be null](cryptography/10.0/cosesigner-key-null.md) | Behavioral/source incompatible change | Preview 7 |
63+
| [MLDsa and SlhDsa 'SecretKey' members renamed](cryptography/10.0/mldsa-slhdsa-secretkey-to-privatekey.md) | Source incompatible | RC 1 |
64+
| [OpenSSL cryptographic primitives aren't supported on macOS](cryptography/10.0/openssl-macos-unsupported.md) | Behavioral change | Preview 6 |
65+
| [X500DistinguishedName validation is stricter](cryptography/10.0/x500distinguishedname-validation.md) | Behavioral change | Preview 1 |
66+
| [X509Certificate and PublicKey key parameters can be null](cryptography/10.0/x509-publickey-null.md) | Behavioral/source incompatible change | Preview 3 |
67+
| [Environment variable renamed to DOTNET_OPENSSL_VERSION_OVERRIDE](cryptography/10.0/version-override.md) | Behavioral change | Preview 1 |
68+
5769
## Entity Framework Core
5870

5971
[Breaking changes in EF Core 10](/ef/core/what-is-new/ef-core-10.0/breaking-changes)
@@ -73,16 +85,6 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
7385
|-------|-------------------|--------------------|
7486
| [Environment variable renamed to DOTNET_ICU_VERSION_OVERRIDE](globalization/10.0/version-override.md) | Behavioral change | Preview 1 |
7587

76-
## Cryptography
77-
78-
| Title | Type of change | Introduced version |
79-
|-------|-------------------|--------------------|
80-
| [CoseSigner.Key can be null](cryptography/10.0/cosesigner-key-null.md) | Behavioral/source incompatible change | Preview 7 |
81-
| [OpenSSL cryptographic primitives aren't supported on macOS](cryptography/10.0/openssl-macos-unsupported.md) | Behavioral change | Preview 6 |
82-
| [X500DistinguishedName validation is stricter](cryptography/10.0/x500distinguishedname-validation.md) | Behavioral change | Preview 1 |
83-
| [X509Certificate and PublicKey key parameters can be null](cryptography/10.0/x509-publickey-null.md) | Behavioral/source incompatible change | Preview 3 |
84-
| [Environment variable renamed to DOTNET_OPENSSL_VERSION_OVERRIDE](cryptography/10.0/version-override.md) | Behavioral change | Preview 1 |
85-
8688
## Interop
8789

8890
| Title | Type of change | Introduced version |
@@ -109,6 +111,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
109111
| [`dotnet new sln` defaults to SLNX file format](sdk/10.0/dotnet-new-sln-slnx-default.md) | Behavioral change | RC 1 |
110112
| [`dotnet package list` performs restore](sdk/10.0/dotnet-package-list-restore.md) | Behavioral change | Preview 4 |
111113
| [`dotnet restore` audits transitive packages](sdk/10.0/nugetaudit-transitive-packages.md) | Behavioral change | Preview 3 |
114+
| [`dotnet tool install --local` creates manifest by default](sdk/10.0/dotnet-tool-install-local-manifest.md) | Behavioral change | Preview 7 |
112115
| [project.json not supported in `dotnet restore`](sdk/10.0/dotnet-restore-project-json-unsupported.md) | Source incompatible | Preview 7 |
113116
| [SHA-1 fingerprint support deprecated in `dotnet nuget sign`](sdk/10.0/dotnet-nuget-sign-sha1-deprecated.md) | Behavioral change | Preview 1 |
114117
| [MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed](sdk/10.0/custom-build-event-warning.md) | Behavioral change | Preview 1 |
@@ -119,6 +122,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
119122
| [PrunePackageReference privatizes direct prunable references](sdk/10.0/prune-packagereference-privateassets.md) | Behavioral change | Preview 7 |
120123
| [HTTP warnings promoted to errors in `dotnet package list` and `dotnet package search`](sdk/10.0/http-warnings-to-errors.md) | Behavioral/source incompatible change | Preview 4 |
121124
| [NUGET_ENABLE_ENHANCED_HTTP_RETRY environment variable removed](sdk/10.0/nuget-enhanced-http-retry-removed.md) | Behavioral change | Preview 6 |
125+
| [NuGet logs an error for invalid package IDs](sdk/10.0/nuget-packageid-validation.md) | Behavioral change | RC 1 |
122126

123127
## Windows Forms
124128

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: "WebHostBuilder, IWebHost, and WebHost are obsolete"
3+
description: "Learn about the breaking change in ASP.NET Core 10 where WebHostBuilder, IWebHost, and WebHost are marked as obsolete."
4+
ms.date: 09/05/2025
5+
ai-usage: ai-generated
6+
ms.custom: https://github.com/aspnet/Announcements/issues/526
7+
---
8+
9+
# WebHostBuilder, IWebHost, and WebHost are obsolete
10+
11+
<xref:Microsoft.AspNetCore.Hosting.WebHostBuilder>, <xref:Microsoft.AspNetCore.Hosting.IWebHost>, and <xref:Microsoft.AspNetCore.WebHost> have been marked as obsolete in .NET 10. `WebHostBuilder` was replaced by `HostBuilder` ([generic host](/aspnet/core/fundamentals/host/generic-host)) in ASP.NET Core 3.0, and `WebApplicationBuilder` was introduced in ASP.NET Core 6.0. These newer alternatives are where future investments will occur.
12+
13+
## Version introduced
14+
15+
.NET 10 RC 1
16+
17+
## Previous behavior
18+
19+
Previously, you could use `WebHostBuilder` to configure and build a web host without any compile-time warnings.
20+
21+
## New behavior
22+
23+
Starting in .NET 10, using `WebHostBuilder` produces a compiler warning with diagnostic ID `ASPDEPR004`:
24+
25+
> warning ASPDEPR004: WebHostBuilder is deprecated in favor of HostBuilder and WebApplicationBuilder. For more information, visit <https://aka.ms/aspnet/deprecate/004>.
26+
27+
Using `IWebHost` or `WebHost` produces a compiler warning with diagnostic ID `ASPDEPR008`:
28+
29+
> warning ASPDEPR008: WebHost is obsolete. Use HostBuilder or WebApplicationBuilder instead. For more information, visit <https://aka.ms/aspnet/deprecate/008>.
30+
31+
## Type of breaking change
32+
33+
This change can affect [source compatibility](../../categories.md#source-compatibility).
34+
35+
## Reason for change
36+
37+
`HostBuilder` and <xref:Microsoft.AspNetCore.Builder.WebApplication> have all the features of `WebHostBuilder` and are the focus of future investment. `WebHostBuilder` was replaced by the generic host in ASP.NET Core 3.0, and minimal APIs with <xref:Microsoft.AspNetCore.Builder.WebApplicationBuilder> were introduced in ASP.NET Core 6.0. These newer hosting models provide better integration with the .NET ecosystem and are the recommended approach for new applications.
38+
39+
## Recommended action
40+
41+
Migrate from `WebHostBuilder` to either [`HostBuilder`](/aspnet/core/fundamentals/host/generic-host) or [`WebApplication`](/aspnet/core/fundamentals/minimal-apis/webapplication):
42+
43+
- For applications that need the full hosting capabilities, migrate to `HostBuilder`:
44+
45+
**Before:**
46+
47+
```csharp
48+
var hostBuilder = new WebHostBuilder()
49+
.UseContentRoot(Directory.GetCurrentDirectory())
50+
.UseStartup()
51+
.UseKestrel();
52+
// Test code might use TestServer:
53+
var testServer = new TestServer(hostBuilder);
54+
```
55+
56+
**After:**
57+
58+
```csharp
59+
using var host = new HostBuilder()
60+
.ConfigureWebHost(webHostBuilder =>
61+
{
62+
webHostBuilder
63+
.UseTestServer() // If using TestServer.
64+
.UseContentRoot(Directory.GetCurrentDirectory())
65+
.UseStartup()
66+
.UseKestrel();
67+
})
68+
.Build();
69+
await host.StartAsync();
70+
71+
var testServer = host.GetTestServer();
72+
```
73+
74+
- For new applications, especially those using minimal APIs, migrate to <xref:Microsoft.AspNetCore.Builder.WebApplicationBuilder>.
75+
76+
## Affected APIs
77+
78+
- <xref:Microsoft.AspNetCore.Hosting.WebHostBuilder?displayProperty=fullName>
79+
- <xref:Microsoft.AspNetCore.Hosting.IWebHost?displayProperty=fullName>
80+
- <xref:Microsoft.AspNetCore.WebHost?displayProperty=fullName>
81+
82+
## See also
83+
84+
- [Generic Host in ASP.NET Core](/aspnet/core/fundamentals/host/generic-host)
85+
- [Minimal APIs with WebApplication](/aspnet/core/fundamentals/minimal-apis/webapplication)
86+
- [HostBuilder replaces WebHostBuilder](/aspnet/core/migration/22-to-30#hostbuilder-replaces-webhostbuilder)
87+
- [Introducing WebApplication](/aspnet/core/migration/50-to-60#new-hosting-model)

docs/core/compatibility/core-libraries/10.0/obsolete-apis.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Breaking change: .NET 10 obsoletions with custom IDs"
33
titleSuffix: ""
44
description: Learn about the APIs that have been marked as obsolete in .NET 10 with a custom diagnostic ID.
5-
ms.date: 03/28/2025
5+
ms.date: 09/08/2025
66
ai-usage: ai-assisted
77
---
88
# API obsoletions with non-default diagnostic IDs (.NET 10)
@@ -21,6 +21,7 @@ The following table lists the custom diagnostic IDs and their corresponding warn
2121
| [SYSLIB0059](../../../../fundamentals/syslib-diagnostics/syslib0059.md) | <xref:Microsoft.Win32.SystemEvents.EventsThreadShutdown?displayProperty=nameWithType> callbacks aren't run before the process exits. Use <xref:System.AppDomain.ProcessExit?displayProperty=nameWithType> instead. | Warning |
2222
| [SYSLIB0060](../../../../fundamentals/syslib-diagnostics/syslib0060.md) | <xref:System.Security.Cryptography.Rfc2898DeriveBytes?displayProperty=nameWithType> constructors are obsolete. Use <xref:System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2*?displayProperty=nameWithType> instead. | Warning |
2323
| [SYSLIB0061](../../../../fundamentals/syslib-diagnostics/syslib0061.md) | <xref:System.Linq.Queryable.MaxBy``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Collections.Generic.IComparer{``0})?displayProperty=nameWithType> and <xref:System.Linq.Queryable.MinBy``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Collections.Generic.IComparer{``0})?displayProperty=nameWithType> taking an `IComparer<TSource>` are obsolete. Use the new ones that take an `IComparer<TKey>`. | Warning |
24+
| [SYSLIB0062](../../../../fundamentals/syslib-diagnostics/syslib0062.md) | <xref:System.Xml.Xsl.XsltSettings.EnableScript?displayProperty=nameWithType> is obsolete. | Warning |
2425

2526
## Version introduced
2627

@@ -64,6 +65,10 @@ These obsoletions can affect [source compatibility](../../categories.md#source-c
6465
- <xref:System.Linq.Queryable.MaxBy``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Collections.Generic.IComparer{``0})?displayProperty=fullName>
6566
- <xref:System.Linq.Queryable.MinBy``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Collections.Generic.IComparer{``0})?displayProperty=fullName>
6667

68+
### SYSLIB0062
69+
70+
- <xref:System.Xml.Xsl.XsltSettings.EnableScript?displayProperty=fullName>
71+
6772
## See also
6873

6974
- [API obsoletions with non-default diagnostic IDs (.NET 9)](../9.0/obsolete-apis-with-custom-diagnostics.md)
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: "Breaking change - MLDsa and SlhDsa 'SecretKey' members renamed"
3+
description: "Learn about the breaking change in .NET 10 where MLDsa and SlhDsa members were renamed from using 'SecretKey' to using 'PrivateKey'."
4+
ms.date: 09/05/2025
5+
ai-usage: ai-assisted
6+
ms.custom: https://github.com/dotnet/docs/issues/47691
7+
---
8+
9+
# MLDsa and SlhDsa 'SecretKey' members renamed
10+
11+
Some methods and properties in the `[Experimental]` post-quantum cryptography (PQC) classes <xref:System.Security.Cryptography.MLDsa?displayProperty=fullName> and <xref:System.Security.Cryptography.SlhDsa?displayProperty=fullName> have been renamed. APIs that involve the `sk` value from their respective specifications now have `PrivateKey` in their names instead of `SecretKey`.
12+
13+
## Version introduced
14+
15+
.NET 10 RC 1
16+
17+
## Previous behavior
18+
19+
Previously, you could call methods like `ImportMLDsaSecretKey` and `ImportSlhDsaSecretKey`, and you could access properties like `SecretKeySizeInBytes`.
20+
21+
## New behavior
22+
23+
Starting in .NET 10 RC 1, you must call methods like `ImportMLDsaPrivateKey` or `ImportSlhDsaPrivateKey`, and access properties like `PrivateKeySizeInBytes`.
24+
25+
## Type of breaking change
26+
27+
This change can affect [source compatibility](../../categories.md#source-compatibility).
28+
29+
## Reason for change
30+
31+
The change was made to align with existing asymmetric cryptography types in .NET and with related members such as <xref:System.Security.Cryptography.MLDsa.ExportPkcs8PrivateKey>.
32+
33+
## Recommended action
34+
35+
Resolve any compile breaks from this change by replacing instances of `SecretKey` with `PrivateKey` in the called member names:
36+
37+
```diff
38+
-int targetSize = key.Algorithm.SecretKeySizeInBytes;
39+
+int targetSize = key.Algorithm.PrivateKeySizeInBytes;
40+
byte[] output = new byte[targetSize];
41+
-key.ExportMLDsaSecretKey(output);
42+
+key.ExportMLDsaPrivateKey(output);
43+
```
44+
45+
## Affected APIs
46+
47+
- <xref:System.Security.Cryptography.MLDsa.ImportMLDsaSecretKey*?displayProperty=fullName>
48+
- <xref:System.Security.Cryptography.MLDsa.ExportMLDsaSecretKey*?displayProperty=fullName>
49+
- <xref:System.Security.Cryptography.MLDsaAlgorithm.SecretKeySizeInBytes?displayProperty=fullName>
50+
- <xref:System.Security.Cryptography.SlhDsa.ImportSlhDsaSecretKey*?displayProperty=fullName>
51+
- <xref:System.Security.Cryptography.SlhDsa.ExportSlhDsaSecretKey*?displayProperty=fullName>
52+
- <xref:System.Security.Cryptography.SlhDsaAlgorithm.SecretKeySizeInBytes?displayProperty=fullName>

0 commit comments

Comments
 (0)