diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index faeead95f7c58..34e380b2a8886 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -12,7 +12,7 @@
| Communication Common | NuGet [1.2.1](https://www.nuget.org/packages/Azure.Communication.Common/1.2.1)
NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Common/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Common-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_1.2.1/sdk/communication/Azure.Communication.Common/)
GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_2.0.0-beta.1/sdk/communication/Azure.Communication.Common/) |
| Communication Email | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Communication.Email/1.0.1) | [docs](/dotnet/api/overview/azure/Communication.Email-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.0.1/sdk/communication/Azure.Communication.Email/) |
| Communication Identity | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Communication.Identity/1.2.0) | [docs](/dotnet/api/overview/azure/Communication.Identity-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.2.0/sdk/communication/Azure.Communication.Identity/) |
-| Communication JobRouter | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Communication.JobRouter-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.0.0-beta.3/sdk/communication/Azure.Communication.JobRouter/) |
+| Communication JobRouter | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.0.0) | [docs](/dotnet/api/overview/azure/Communication.JobRouter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.0.0/sdk/communication/Azure.Communication.JobRouter/) |
| Communication Messages | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Messages/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Messages-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Messages_1.0.0-beta.1/sdk/communication/Azure.Communication.Messages/) |
| Communication Network Traversal | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.NetworkTraversal/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Communication.NetworkTraversal/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.NetworkTraversal-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.NetworkTraversal_1.0.0/sdk/communication/Azure.Communication.NetworkTraversal/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.NetworkTraversal_1.1.0-beta.1/sdk/communication/Azure.Communication.NetworkTraversal/) |
| Communication Phone Numbers | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.1.0)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/Communication.PhoneNumbers-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.1.0/sdk/communication/Azure.Communication.PhoneNumbers/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.3.0-beta.2/sdk/communication/Azure.Communication.PhoneNumbers/) |
@@ -131,7 +131,7 @@
| Resource Management - Chaos | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.0.0-beta.5/sdk/chaos/Azure.ResourceManager.Chaos/) |
| Resource Management - Cognitive Search | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.2.0/sdk/search/Azure.ResourceManager.Search/) |
| Resource Management - Cognitive Services | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.3.0/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) |
-| Resource Management - Communication | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.1.0/sdk/communication/Azure.ResourceManager.Communication/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.0-beta.2/sdk/communication/Azure.ResourceManager.Communication/) |
+| Resource Management - Communication | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.1.0/sdk/communication/Azure.ResourceManager.Communication/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.0-beta.4/sdk/communication/Azure.ResourceManager.Communication/) |
| Resource Management - Compute | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.2.0/sdk/compute/Azure.ResourceManager.Compute/) |
| Resource Management - Confidential Ledger | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.0.1)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ConfidentialLedger-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.0.1/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.1.0-beta.2/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/) |
| Resource Management - Confluent | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.0.1/sdk/confluent/Azure.ResourceManager.Confluent/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.1.0-beta.1/sdk/confluent/Azure.ResourceManager.Confluent/) |
@@ -149,7 +149,7 @@
| Resource Management - Customer Insights | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.CustomerInsights/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CustomerInsights-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CustomerInsights_1.0.0-beta.3/sdk/customer-insights/Azure.ResourceManager.CustomerInsights/) |
| Resource Management - Data Box | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.DataBox/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBox-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBox_1.0.2/sdk/databox/Azure.ResourceManager.DataBox/) |
| Resource Management - Data Box Edge | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.DataBoxEdge/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DataBoxEdge/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBoxEdge-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBoxEdge_1.0.1/sdk/databoxedge/Azure.ResourceManager.DataBoxEdge/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBoxEdge_1.1.0-beta.1/sdk/databoxedge/Azure.ResourceManager.DataBoxEdge/) |
-| Resource Management - Data Factory | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.DataFactory/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.DataFactory-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataFactory_1.0.0-beta.4/sdk/datafactory/Azure.ResourceManager.DataFactory/) |
+| Resource Management - Data Factory | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.DataFactory/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.DataFactory-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataFactory_1.0.0-beta.5/sdk/datafactory/Azure.ResourceManager.DataFactory/) |
| Resource Management - Data Lake Analytics | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeAnalytics/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeAnalytics/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataLakeAnalytics-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeAnalytics_1.0.0/sdk/datalake-analytics/Azure.ResourceManager.DataLakeAnalytics/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeAnalytics_1.1.0-beta.2/sdk/datalake-analytics/Azure.ResourceManager.DataLakeAnalytics/) |
| Resource Management - Data Lake Store | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeStore/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeStore/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataLakeStore-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeStore_1.0.0/sdk/datalake-store/Azure.ResourceManager.DataLakeStore/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeStore_1.1.0-beta.2/sdk/datalake-store/Azure.ResourceManager.DataLakeStore/) |
| Resource Management - Data Migration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.DataMigration/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.DataMigration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataMigration_1.0.0-beta.3/sdk/datamigration/Azure.ResourceManager.DataMigration/) |
@@ -310,7 +310,7 @@
| Common - Dependencies | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Common.Dependencies/1.0.0) | | |
| Computer Vision | NuGet [7.0.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.ComputerVision/7.0.1) | | GitHub [7.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Vision.ComputerVision_6.0.0-preview.1/sdk/cognitiveservices/Vision.ComputerVision) |
| Content Safety | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.ContentModerator/2.0.0) | | |
-| Cosmos DB | NuGet [3.36.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.36.0) | [docs](https://learn.microsoft.com/dotnet/api/overview/azure/cosmosdb) | GitHub [3.36.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) |
+| Cosmos DB | NuGet [3.37.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.37.0) | [docs](https://learn.microsoft.com/dotnet/api/overview/azure/cosmosdb) | GitHub [3.37.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) |
| Custom Image Search | NuGet [2.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.BingCustomImageSearch/2.1.0-preview.1) | | GitHub [2.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Search.BingCustomImageSearch_2.1.0-preview.1/sdk/cognitiveservices/Search.BingCustomImageSearch) |
| Custom Image Search | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.CustomImageSearch/2.0.0) | | |
| Custom Search | NuGet [2.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.BingCustomSearch/2.1.0-preview.1) | | GitHub [2.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Search.BingCustomSearch_2.1.0-preview.1/sdk/cognitiveservices/Search.BingCustomSearch) |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index 740ff15178ed2..d07ca1f9c357c 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -12,7 +12,7 @@
| Communication Common | NuGet [1.2.1](https://www.nuget.org/packages/Azure.Communication.Common/1.2.1)
NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Common/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Common-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_1.2.1/sdk/communication/Azure.Communication.Common/)
GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_2.0.0-beta.1/sdk/communication/Azure.Communication.Common/) |
| Communication Email | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Communication.Email/1.0.1) | [docs](/dotnet/api/overview/azure/Communication.Email-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.0.1/sdk/communication/Azure.Communication.Email/) |
| Communication Identity | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Communication.Identity/1.2.0) | [docs](/dotnet/api/overview/azure/Communication.Identity-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.2.0/sdk/communication/Azure.Communication.Identity/) |
-| Communication JobRouter | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Communication.JobRouter-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.0.0-beta.3/sdk/communication/Azure.Communication.JobRouter/) |
+| Communication JobRouter | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.0.0) | [docs](/dotnet/api/overview/azure/Communication.JobRouter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.0.0/sdk/communication/Azure.Communication.JobRouter/) |
| Communication Messages | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Messages/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Messages-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Messages_1.0.0-beta.1/sdk/communication/Azure.Communication.Messages/) |
| Communication Network Traversal | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.NetworkTraversal/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Communication.NetworkTraversal/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.NetworkTraversal-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.NetworkTraversal_1.0.0/sdk/communication/Azure.Communication.NetworkTraversal/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.NetworkTraversal_1.1.0-beta.1/sdk/communication/Azure.Communication.NetworkTraversal/) |
| Communication Phone Numbers | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.1.0)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/Communication.PhoneNumbers-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.1.0/sdk/communication/Azure.Communication.PhoneNumbers/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.3.0-beta.2/sdk/communication/Azure.Communication.PhoneNumbers/) |
@@ -133,7 +133,7 @@
| Resource Management - Chaos | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.0.0-beta.5/sdk/chaos/Azure.ResourceManager.Chaos/) |
| Resource Management - Cognitive Search | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.2.0/sdk/search/Azure.ResourceManager.Search/) |
| Resource Management - Cognitive Services | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.3.0/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) |
-| Resource Management - Communication | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.1.0/sdk/communication/Azure.ResourceManager.Communication/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.0-beta.2/sdk/communication/Azure.ResourceManager.Communication/) |
+| Resource Management - Communication | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.1.0)
NuGet [1.2.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.1.0/sdk/communication/Azure.ResourceManager.Communication/)
GitHub [1.2.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.0-beta.4/sdk/communication/Azure.ResourceManager.Communication/) |
| Resource Management - Compute | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.2.0/sdk/compute/Azure.ResourceManager.Compute/) |
| Resource Management - Confidential Ledger | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.0.1)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ConfidentialLedger-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.0.1/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.1.0-beta.2/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/) |
| Resource Management - Confluent | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.0.1/sdk/confluent/Azure.ResourceManager.Confluent/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.1.0-beta.1/sdk/confluent/Azure.ResourceManager.Confluent/) |
@@ -151,7 +151,7 @@
| Resource Management - Customer Insights | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.CustomerInsights/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.CustomerInsights-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CustomerInsights_1.0.0-beta.3/sdk/customer-insights/Azure.ResourceManager.CustomerInsights/) |
| Resource Management - Data Box | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.DataBox/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBox-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBox_1.0.2/sdk/databox/Azure.ResourceManager.DataBox/) |
| Resource Management - Data Box Edge | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.DataBoxEdge/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.DataBoxEdge/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.DataBoxEdge-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBoxEdge_1.0.1/sdk/databoxedge/Azure.ResourceManager.DataBoxEdge/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataBoxEdge_1.1.0-beta.1/sdk/databoxedge/Azure.ResourceManager.DataBoxEdge/) |
-| Resource Management - Data Factory | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.DataFactory/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.DataFactory-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataFactory_1.0.0-beta.4/sdk/datafactory/Azure.ResourceManager.DataFactory/) |
+| Resource Management - Data Factory | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.DataFactory/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.DataFactory-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataFactory_1.0.0-beta.5/sdk/datafactory/Azure.ResourceManager.DataFactory/) |
| Resource Management - Data Lake Analytics | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeAnalytics/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeAnalytics/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataLakeAnalytics-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeAnalytics_1.0.0/sdk/datalake-analytics/Azure.ResourceManager.DataLakeAnalytics/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeAnalytics_1.1.0-beta.2/sdk/datalake-analytics/Azure.ResourceManager.DataLakeAnalytics/) |
| Resource Management - Data Lake Store | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeStore/1.0.0)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.DataLakeStore/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.DataLakeStore-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeStore_1.0.0/sdk/datalake-store/Azure.ResourceManager.DataLakeStore/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataLakeStore_1.1.0-beta.2/sdk/datalake-store/Azure.ResourceManager.DataLakeStore/) |
| Resource Management - Data Migration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.DataMigration/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.DataMigration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.DataMigration_1.0.0-beta.3/sdk/datamigration/Azure.ResourceManager.DataMigration/) |
diff --git a/docs/core/compatibility/6.0.md b/docs/core/compatibility/6.0.md
index 9dd43b1ef64f6..1ec764f4f7370 100644
--- a/docs/core/compatibility/6.0.md
+++ b/docs/core/compatibility/6.0.md
@@ -13,83 +13,83 @@ If you're migrating an app to .NET 6, the breaking changes listed here might aff
## ASP.NET Core
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [ActionResult\ sets StatusCode to 200](aspnet-core/6.0/actionresult-statuscode.md) | ✔️ | ❌ | |
-| [AddDataAnnotationsValidation method made obsolete](aspnet-core/6.0/adddataannotationsvalidation-obsolete.md) | ✔️ | ❌ | |
-| [Assemblies removed from Microsoft.AspNetCore.App shared framework](aspnet-core/6.0/assemblies-removed-from-shared-framework.md) | ❌ | ✔️ | |
-| [Blazor: Parameter name changed in RequestImageFileAsync method](aspnet-core/6.0/blazor-parameter-name-changed-in-method.md) | ✔️ | ❌ | Preview 1 |
-| [Blazor: WebEventDescriptor.EventArgsType property replaced](aspnet-core/6.0/blazor-eventargstype-property-replaced.md) | ❌ | ❌ | |
-| [Blazor: Byte array interop](aspnet-core/6.0/byte-array-interop.md) | ✔️ | ❌ | Preview 6 |
-| [Changed MessagePack library in @microsoft/signalr-protocol-msgpack](aspnet-core/6.0/messagepack-library-change.md) | ❌ | ✔️ | |
-| [ClientCertificate property doesn't trigger renegotiation for HttpSys](aspnet-core/6.0/clientcertificate-doesnt-trigger-renegotiation.md) | ✔️ | ❌ | |
-| [EndpointName metadata not set automatically](aspnet-core/6.0/endpointname-metadata.md) | ✔️ | ❌ | RC 2 |
-| [Identity: Default Bootstrap version of UI changed](aspnet-core/6.0/identity-bootstrap4-to-5.md) | ❌ | ❌ | |
-| [Kestrel: Log message attributes changed](aspnet-core/6.0/kestrel-log-message-attributes-changed.md) | ✔️ | ❌ | |
-| [Microsoft.AspNetCore.Http.Features split](aspnet-core/6.0/microsoft-aspnetcore-http-features-package-split.md) | ❌ | ✔️ | |
-| [Middleware: HTTPS Redirection Middleware throws exception on ambiguous HTTPS ports](aspnet-core/6.0/middleware-ambiguous-https-ports-exception.md) | ✔️ | ❌ | |
-| [Middleware: New Use overload](aspnet-core/6.0/middleware-new-use-overload.md) | ✔️ | ❌ | Preview 4 |
-| [Minimal API renames in RC 1](aspnet-core/6.0/rc1-minimal-api-renames.md) | ❌ | ❌ | RC 1 |
-| [Minimal API renames in RC 2](aspnet-core/6.0/rc2-minimal-api-renames.md) | ❌ | ❌ | RC 2 |
-| [MVC doesn't buffer IAsyncEnumerable types when using System.Text.Json](aspnet-core/6.0/iasyncenumerable-not-buffered-by-mvc.md) | ✔️ | ❌ | Preview 4 |
-| [Nullable reference type annotations changed](aspnet-core/6.0/nullable-reference-type-annotations-changed.md) | ✔️ | ❌ | |
-| [Obsoleted and removed APIs](aspnet-core/6.0/obsolete-removed-apis.md) | ✔️ | ❌ | Preview 1 |
-| [PreserveCompilationContext not configured by default](aspnet-core/6.0/preservecompilationcontext-not-set-by-default.md) | ❌ | ✔️ | |
-| [Razor: Compiler no longer produces a Views assembly](aspnet-core/6.0/razor-compiler-doesnt-produce-views-assembly.md) | ✔️ | ❌ | Preview 3 |
-| [Razor: Logging ID changes](aspnet-core/6.0/razor-pages-logging-ids.md) | ❌ | ✔️ | RC1 |
-| [Razor: RazorEngine APIs marked obsolete](aspnet-core/6.0/razor-engine-apis-obsolete.md) | ✔️ | ❌ | Preview 1 |
-| [SignalR: Java Client updated to RxJava3](aspnet-core/6.0/signalr-java-client-updated.md) | ❌ | ✔️ | Preview 4 |
-| [TryParse and BindAsync methods are validated](aspnet-core/6.0/tryparse-bindasync-validation.md) | ❌ | ❌ | RC 2 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [ActionResult\ sets StatusCode to 200](aspnet-core/6.0/actionresult-statuscode.md) | ✔️ | ❌ |
+| [AddDataAnnotationsValidation method made obsolete](aspnet-core/6.0/adddataannotationsvalidation-obsolete.md) | ✔️ | ❌ |
+| [Assemblies removed from Microsoft.AspNetCore.App shared framework](aspnet-core/6.0/assemblies-removed-from-shared-framework.md) | ❌ | ✔️ |
+| [Blazor: Parameter name changed in RequestImageFileAsync method](aspnet-core/6.0/blazor-parameter-name-changed-in-method.md) | ✔️ | ❌ |
+| [Blazor: WebEventDescriptor.EventArgsType property replaced](aspnet-core/6.0/blazor-eventargstype-property-replaced.md) | ❌ | ❌ |
+| [Blazor: Byte array interop](aspnet-core/6.0/byte-array-interop.md) | ✔️ | ❌ |
+| [Changed MessagePack library in @microsoft/signalr-protocol-msgpack](aspnet-core/6.0/messagepack-library-change.md) | ❌ | ✔️ |
+| [ClientCertificate property doesn't trigger renegotiation for HttpSys](aspnet-core/6.0/clientcertificate-doesnt-trigger-renegotiation.md) | ✔️ | ❌ |
+| [EndpointName metadata not set automatically](aspnet-core/6.0/endpointname-metadata.md) | ✔️ | ❌ |
+| [Identity: Default Bootstrap version of UI changed](aspnet-core/6.0/identity-bootstrap4-to-5.md) | ❌ | ❌ |
+| [Kestrel: Log message attributes changed](aspnet-core/6.0/kestrel-log-message-attributes-changed.md) | ✔️ | ❌ |
+| [Microsoft.AspNetCore.Http.Features split](aspnet-core/6.0/microsoft-aspnetcore-http-features-package-split.md) | ❌ | ✔️ |
+| [Middleware: HTTPS Redirection Middleware throws exception on ambiguous HTTPS ports](aspnet-core/6.0/middleware-ambiguous-https-ports-exception.md) | ✔️ | ❌ |
+| [Middleware: New Use overload](aspnet-core/6.0/middleware-new-use-overload.md) | ✔️ | ❌ |
+| [Minimal API renames in RC 1](aspnet-core/6.0/rc1-minimal-api-renames.md) | ❌ | ❌ |
+| [Minimal API renames in RC 2](aspnet-core/6.0/rc2-minimal-api-renames.md) | ❌ | ❌ |
+| [MVC doesn't buffer IAsyncEnumerable types when using System.Text.Json](aspnet-core/6.0/iasyncenumerable-not-buffered-by-mvc.md) | ✔️ | ❌ |
+| [Nullable reference type annotations changed](aspnet-core/6.0/nullable-reference-type-annotations-changed.md) | ✔️ | ❌ |
+| [Obsoleted and removed APIs](aspnet-core/6.0/obsolete-removed-apis.md) | ✔️ | ❌ |
+| [PreserveCompilationContext not configured by default](aspnet-core/6.0/preservecompilationcontext-not-set-by-default.md) | ❌ | ✔️ |
+| [Razor: Compiler no longer produces a Views assembly](aspnet-core/6.0/razor-compiler-doesnt-produce-views-assembly.md) | ✔️ | ❌ |
+| [Razor: Logging ID changes](aspnet-core/6.0/razor-pages-logging-ids.md) | ❌ | ✔️ |
+| [Razor: RazorEngine APIs marked obsolete](aspnet-core/6.0/razor-engine-apis-obsolete.md) | ✔️ | ❌ |
+| [SignalR: Java Client updated to RxJava3](aspnet-core/6.0/signalr-java-client-updated.md) | ❌ | ✔️ |
+| [TryParse and BindAsync methods are validated](aspnet-core/6.0/tryparse-bindasync-validation.md) | ❌ | ❌ |
## Containers
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [Default console logger formatting in container images](containers/6.0/console-formatter-default.md) | ✔️ | ❌ | Servicing 6.0.6 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [Default console logger formatting in container images](containers/6.0/console-formatter-default.md) | ✔️ | ❌ |
For information on other breaking changes for containers in .NET 6, see [.NET 6 Container Release Notes](https://github.com/dotnet/dotnet-docker/discussions/3699).
## Core .NET libraries
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [API obsoletions with non-default diagnostic IDs](core-libraries/6.0/obsolete-apis-with-custom-diagnostics.md) | ✔️ | ❌ | Preview 1 |
-| [Changes to nullable reference type annotations](core-libraries/6.0/nullable-ref-type-annotation-changes.md) | ✔️ | ❌ | Preview 1-2 |
-| [Conditional string evaluation in Debug methods](core-libraries/6.0/debug-assert-conditional-evaluation.md) | ✔️ | ❌ | RC 1 |
-| [Environment.ProcessorCount behavior on Windows](core-libraries/6.0/environment-processorcount-on-windows.md) | ✔️ | ❌ | Preview 2 |
-| [EventSource callback behavior](core-libraries/6.0/eventsource-callback.md) | ✔️ | ✔️ | Servicing |
-| [File.Replace on Unix throws exceptions to match Windows](core-libraries/6.0/file-replace-exceptions-on-unix.md) | ✔️ | ❌ | Preview 7 |
-| [FileStream locks files with shared lock on Unix](core-libraries/6.0/filestream-file-locks-unix.md) | ❌ | ✔️ | Preview 1 |
-| [FileStream no longer synchronizes file offset with OS](core-libraries/6.0/filestream-doesnt-sync-offset-with-os.md) | ❌ | ❌ | Preview 4 |
-| [FileStream.Position updates after ReadAsync or WriteAsync completes](core-libraries/6.0/filestream-position-updates-after-readasync-writeasync-completion.md) | ❌ | ❌ | Preview 4 |
-| [New diagnostic IDs for obsoleted APIs](core-libraries/6.0/diagnostic-id-change-for-obsoletions.md) | ✔️ | ❌ | Preview 5 |
-| [New nullable annotation in AssociatedMetadataTypeTypeDescriptionProvider](core-libraries/6.0/nullable-ref-type-annotations-added.md) | ✔️ | ❌ | RC 2 |
-| [New System.Linq.Queryable method overloads](core-libraries/6.0/additional-linq-queryable-method-overloads.md) | ✔️ | ❌ | Preview 3-4 |
-| [Older framework versions dropped from package](core-libraries/6.0/older-framework-versions-dropped.md) | ❌ | ✔️ | Preview 5 |
-| [Parameter names changed](core-libraries/6.0/parameter-name-changes.md) | ✔️ | ❌ | Preview 1 |
-| [Parameter names in Stream-derived types](core-libraries/6.0/parameters-renamed-on-stream-derived-types.md) | ✔️ | ❌ | Preview 1 |
-| [Partial and zero-byte reads in DeflateStream, GZipStream, and CryptoStream](core-libraries/6.0/partial-byte-reads-in-streams.md) | ✔️ | ❌ | Preview 6 |
-| [Set timestamp on read-only file on Windows](core-libraries/6.0/set-timestamp-readonly-file.md) | ❌ | ✔️ | Servicing 6.0.2 |
-| [Standard numeric format parsing precision](core-libraries/6.0/numeric-format-parsing-handles-higher-precision.md) | ✔️ | ❌ | Preview 2 |
-| [Static abstract members in interfaces](core-libraries/6.0/static-abstract-interface-methods.md) | ❌ | ✔️ | Preview 7 |
-| [StringBuilder.Append overloads and evaluation order](core-libraries/6.0/stringbuilder-append-evaluation-order.md) | ❌ | ✔️ | RC 1 |
-| [Strong-name APIs throw PlatformNotSupportedException](core-libraries/6.0/strong-name-signing-exceptions.md) | ❌ | ✔️ | Preview 4 |
-| [System.Drawing.Common only supported on Windows](core-libraries/6.0/system-drawing-common-windows-only.md) | ❌ | ❌ | Preview 7 |
-| [System.Security.SecurityContext is marked obsolete](core-libraries/6.0/securitycontext-obsolete.md) | ✔️ | ❌ | RC 1 |
-| [Task.FromResult may return singleton](core-libraries/6.0/task-fromresult-returns-singleton.md) | ❌ | ✔️ | Preview 1 |
-| [Unhandled exceptions from a BackgroundService](core-libraries/6.0/hosting-exception-handling.md) | ✔️ | ❌ | Preview 4 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [API obsoletions with non-default diagnostic IDs](core-libraries/6.0/obsolete-apis-with-custom-diagnostics.md) | ✔️ | ❌ |
+| [Changes to nullable reference type annotations](core-libraries/6.0/nullable-ref-type-annotation-changes.md) | ✔️ | ❌ |
+| [Conditional string evaluation in Debug methods](core-libraries/6.0/debug-assert-conditional-evaluation.md) | ✔️ | ❌ |
+| [Environment.ProcessorCount behavior on Windows](core-libraries/6.0/environment-processorcount-on-windows.md) | ✔️ | ❌ |
+| [EventSource callback behavior](core-libraries/6.0/eventsource-callback.md) | ✔️ | ✔️ |
+| [File.Replace on Unix throws exceptions to match Windows](core-libraries/6.0/file-replace-exceptions-on-unix.md) | ✔️ | ❌ |
+| [FileStream locks files with shared lock on Unix](core-libraries/6.0/filestream-file-locks-unix.md) | ❌ | ✔️ |
+| [FileStream no longer synchronizes file offset with OS](core-libraries/6.0/filestream-doesnt-sync-offset-with-os.md) | ❌ | ❌ |
+| [FileStream.Position updates after ReadAsync or WriteAsync completes](core-libraries/6.0/filestream-position-updates-after-readasync-writeasync-completion.md) | ❌ | ❌ |
+| [New diagnostic IDs for obsoleted APIs](core-libraries/6.0/diagnostic-id-change-for-obsoletions.md) | ✔️ | ❌ |
+| [New nullable annotation in AssociatedMetadataTypeTypeDescriptionProvider](core-libraries/6.0/nullable-ref-type-annotations-added.md) | ✔️ | ❌ |
+| [New System.Linq.Queryable method overloads](core-libraries/6.0/additional-linq-queryable-method-overloads.md) | ✔️ | ❌ |
+| [Older framework versions dropped from package](core-libraries/6.0/older-framework-versions-dropped.md) | ❌ | ✔️ |
+| [Parameter names changed](core-libraries/6.0/parameter-name-changes.md) | ✔️ | ❌ |
+| [Parameter names in Stream-derived types](core-libraries/6.0/parameters-renamed-on-stream-derived-types.md) | ✔️ | ❌ |
+| [Partial and zero-byte reads in DeflateStream, GZipStream, and CryptoStream](core-libraries/6.0/partial-byte-reads-in-streams.md) | ✔️ | ❌ |
+| [Set timestamp on read-only file on Windows](core-libraries/6.0/set-timestamp-readonly-file.md) | ❌ | ✔️ |
+| [Standard numeric format parsing precision](core-libraries/6.0/numeric-format-parsing-handles-higher-precision.md) | ✔️ | ❌ |
+| [Static abstract members in interfaces](core-libraries/6.0/static-abstract-interface-methods.md) | ❌ | ✔️ |
+| [StringBuilder.Append overloads and evaluation order](core-libraries/6.0/stringbuilder-append-evaluation-order.md) | ❌ | ✔️
+| [Strong-name APIs throw PlatformNotSupportedException](core-libraries/6.0/strong-name-signing-exceptions.md) | ❌ | ✔️ |
+| [System.Drawing.Common only supported on Windows](core-libraries/6.0/system-drawing-common-windows-only.md) | ❌ | ❌ |
+| [System.Security.SecurityContext is marked obsolete](core-libraries/6.0/securitycontext-obsolete.md) | ✔️ | ❌
+| [Task.FromResult may return singleton](core-libraries/6.0/task-fromresult-returns-singleton.md) | ❌ | ✔️ |
+| [Unhandled exceptions from a BackgroundService](core-libraries/6.0/hosting-exception-handling.md) | ✔️ | ❌ |
## Cryptography
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [CreateEncryptor methods throw exception for incorrect feedback size](cryptography/6.0/cfb-mode-feedback-size-exception.md) | ❌ | ✔️ | Preview 7 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [CreateEncryptor methods throw exception for incorrect feedback size](cryptography/6.0/cfb-mode-feedback-size-exception.md) | ❌ | ✔️ |
## Deployment
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [x86 host path on 64-bit Windows](deployment/7.0/x86-host-path.md) | ✔️ | ✔️ | Servicing release |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [x86 host path on 64-bit Windows](deployment/7.0/x86-host-path.md) | ✔️ | ✔️ |
## Entity Framework Core
@@ -97,90 +97,90 @@ For information on other breaking changes for containers in .NET 6, see [.NET 6
## Extensions
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [AddProvider checks for non-null provider](extensions/6.0/addprovider-null-check.md) | ✔️ | ❌ | RC 1 |
-| [FileConfigurationProvider.Load throws InvalidDataException](extensions/6.0/filename-in-load-exception.md) | ✔️ | ❌ | RC 1 |
-| [Repeated XML elements include index](extensions/6.0/repeated-xml-elements.md) | ❌ | ✔️ | |
-| [Resolving disposed ServiceProvider throws exception](extensions/6.0/service-provider-disposed.md) | ✔️ | ❌ | RC 1 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [AddProvider checks for non-null provider](extensions/6.0/addprovider-null-check.md) | ✔️ | ❌ |
+| [FileConfigurationProvider.Load throws InvalidDataException](extensions/6.0/filename-in-load-exception.md) | ✔️ | ❌ |
+| [Repeated XML elements include index](extensions/6.0/repeated-xml-elements.md) | ❌ | ✔️ |
+| [Resolving disposed ServiceProvider throws exception](extensions/6.0/service-provider-disposed.md) | ✔️ | ❌ |
## Globalization
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [Culture creation and case mapping in globalization-invariant mode](globalization/6.0/culture-creation-invariant-mode.md) | | | Preview 7 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [Culture creation and case mapping in globalization-invariant mode](globalization/6.0/culture-creation-invariant-mode.md) | | |
## Interop
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [Static abstract members in interfaces](core-libraries/6.0/static-abstract-interface-methods.md) | ❌ | ✔️ | Preview 7 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [Static abstract members in interfaces](core-libraries/6.0/static-abstract-interface-methods.md) | ❌ | ✔️ |
## JIT compiler
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [Coerce call arguments according to ECMA-335](jit/6.0/coerce-call-arguments-ecma-335.md) | ✔️ | ✔️ | Preview 1 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [Coerce call arguments according to ECMA-335](jit/6.0/coerce-call-arguments-ecma-335.md) | ✔️ | ✔️ |
## Networking
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [Port removed from SPN for Kerberos and Negotiate](networking/6.0/httpclient-port-lookup.md) | ❌ | ✔️ | RC 1 |
-| [WebRequest, WebClient, and ServicePoint are obsolete](networking/6.0/webrequest-deprecated.md) | ✔️ | ❌ | Preview 1 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [Port removed from SPN for Kerberos and Negotiate](networking/6.0/httpclient-port-lookup.md) | ❌ | ✔️ |
+| [WebRequest, WebClient, and ServicePoint are obsolete](networking/6.0/webrequest-deprecated.md) | ✔️ | ❌ |
## SDK
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [`-p` option for `dotnet run` is deprecated](sdk/6.0/deprecate-p-option-dotnet-run.md) | ✔️ | ❌ | Preview 6 |
-| [C# code in templates not supported by earlier versions](sdk/6.0/csharp-template-code.md) | ✔️ | ✔️ | Preview 7 |
-| [EditorConfig files implicitly included](sdk/6.0/editorconfig-additional-files.md) | ✔️ | ❌ | |
-| [Generate apphost for macOS](sdk/6.0/apphost-generated-for-macos.md) | ✔️ | ❌ | Preview 6 |
-| [Generate error for duplicate files in publish output](sdk/6.0/duplicate-files-in-output.md) | ❌ | ✔️ | Preview 1 |
-| [GetTargetFrameworkProperties and GetNearestTargetFramework removed from ProjectReference protocol](sdk/6.0/gettargetframeworkproperties-and-getnearesttargetframework-removed.md) | ❌ | ✔️ | Preview 1 |
-| [Install location for x64 emulated on Arm64](sdk/6.0/path-x64-emulated.md) | ✔️ | ❌ | RC 2 |
-| [MSBuild no longer supports calling GetType()](sdk/6.0/calling-gettype-property-functions.md) | | | RC 1 |
-| [.NET can't be installed to custom location](sdk/6.0/install-location.md) | ✔️ | ✔️ | |
-| [OutputType not automatically set to WinExe](sdk/6.0/outputtype-not-set-automatically.md) | ✔️ | ❌ | RC 1 |
-| [Publish ReadyToRun with --no-restore requires changes](sdk/6.0/publish-readytorun-requires-restore-change.md) | ✔️ | ❌ | 6.0.100 |
-| [runtimeconfig.dev.json file not generated](sdk/6.0/runtimeconfigdev-file.md) | ❌ | ✔️ | 6.0.100 |
-| [RuntimeIdentifier warning if self-contained is unspecified](sdk/6.0/runtimeidentifier-self-contained.md) | ✔️ | ❌ | RC 1 |
-| [Tool manifests in root folder](sdk/7.0/manifest-search.md) | ✔️ | ✔️ | 6.0.4xx, 6.0.3xx, 6.0.1xx |
-| [Version requirements for .NET 6 SDK](sdk/6.0/vs-msbuild-version.md) | ✔️ | ✔️ | 6.0.300 |
-| [.version file includes build version](sdk/6.0/version-file-entries.md) | ✔️ | ✔️ | 6.0.401 |
-| [Write reference assemblies to IntermediateOutputPath](sdk/6.0/write-reference-assemblies-to-obj.md) | ❌ | ✔️ | 6.0.200 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [`-p` option for `dotnet run` is deprecated](sdk/6.0/deprecate-p-option-dotnet-run.md) | ✔️ | ❌ |
+| [C# code in templates not supported by earlier versions](sdk/6.0/csharp-template-code.md) | ✔️ | ✔️ |
+| [EditorConfig files implicitly included](sdk/6.0/editorconfig-additional-files.md) | ✔️ | ❌ |
+| [Generate apphost for macOS](sdk/6.0/apphost-generated-for-macos.md) | ✔️ | ❌ |
+| [Generate error for duplicate files in publish output](sdk/6.0/duplicate-files-in-output.md) | ❌ | ✔️ |
+| [GetTargetFrameworkProperties and GetNearestTargetFramework removed from ProjectReference protocol](sdk/6.0/gettargetframeworkproperties-and-getnearesttargetframework-removed.md) | ❌ | ✔️ |
+| [Install location for x64 emulated on Arm64](sdk/6.0/path-x64-emulated.md) | ✔️ | ❌ |
+| [MSBuild no longer supports calling GetType()](sdk/6.0/calling-gettype-property-functions.md) | | |
+| [.NET can't be installed to custom location](sdk/6.0/install-location.md) | ✔️ | ✔️ |
+| [OutputType not automatically set to WinExe](sdk/6.0/outputtype-not-set-automatically.md) | ✔️ | ❌ |
+| [Publish ReadyToRun with --no-restore requires changes](sdk/6.0/publish-readytorun-requires-restore-change.md) | ✔️ | ❌ |
+| [runtimeconfig.dev.json file not generated](sdk/6.0/runtimeconfigdev-file.md) | ❌ | ✔️ |
+| [RuntimeIdentifier warning if self-contained is unspecified](sdk/6.0/runtimeidentifier-self-contained.md) | ✔️ | ❌ |
+| [Tool manifests in root folder](sdk/7.0/manifest-search.md) | ✔️ | ✔️ |
+| [Version requirements for .NET 6 SDK](sdk/6.0/vs-msbuild-version.md) | ✔️ | ✔️ |
+| [.version file includes build version](sdk/6.0/version-file-entries.md) | ✔️ | ✔️ |
+| [Write reference assemblies to IntermediateOutputPath](sdk/6.0/write-reference-assemblies-to-obj.md) | ❌ | ✔️ |
## Serialization
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [DataContractSerializer retains sign when deserializing -0](serialization/7.0/datacontractserializer-negative-sign.md) | ❌ | ✔️ | Servicing 6.0.11 |
-| [Default serialization format for TimeSpan](serialization/6.0/timespan-serialization-format.md) | ❌ | ✔️ | Servicing 6.0.2 |
-| [IAsyncEnumerable serialization](serialization/6.0/iasyncenumerable-serialization.md) | ✔️ | ❌ | Preview 4 |
-| [JSON source-generation API refactoring](serialization/6.0/json-source-gen-api-refactor.md) | ❌ | ✔️ | RC 2 |
-| [JsonNumberHandlingAttribute on collection properties](serialization/6.0/jsonnumberhandlingattribute-behavior.md) | ❌ | ✔️ | RC 1 |
-| [New JsonSerializer source generator overloads](serialization/6.0/jsonserializer-source-generator-overloads.md) | ❌ | ✔️ | Preview 6 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [DataContractSerializer retains sign when deserializing -0](serialization/7.0/datacontractserializer-negative-sign.md) | ❌ | ✔️ |
+| [Default serialization format for TimeSpan](serialization/6.0/timespan-serialization-format.md) | ❌ | ✔️ |
+| [IAsyncEnumerable serialization](serialization/6.0/iasyncenumerable-serialization.md) | ✔️ | ❌ |
+| [JSON source-generation API refactoring](serialization/6.0/json-source-gen-api-refactor.md) | ❌ | ✔️ |
+| [JsonNumberHandlingAttribute on collection properties](serialization/6.0/jsonnumberhandlingattribute-behavior.md) | ❌ | ✔️ |
+| [New JsonSerializer source generator overloads](serialization/6.0/jsonserializer-source-generator-overloads.md) | ❌ | ✔️ |
## Windows Forms
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [C# templates use application bootstrap](windows-forms/6.0/application-bootstrap.md) | ✔️ | ❌ | RC 1 |
-| [Selected TableLayoutSettings properties throw InvalidEnumArgumentException](windows-forms/6.0/tablelayoutsettings-apis-throw-invalidenumargumentexception.md) | ❌ | ✔️ | Preview 1 |
-| [DataGridView-related APIs now throw InvalidOperationException](windows-forms/6.0/null-owner-causes-invalidoperationexception.md) | ❌ | ✔️ | Preview 4 |
-| [ListViewGroupCollection methods throw new InvalidOperationException](windows-forms/6.0/listview-invalidoperationexception.md) | ❌ | ✔️ | RC 2 |
-| [NotifyIcon.Text maximum text length increased](windows-forms/6.0/notifyicon-text-max-text-length-increased.md) | ❌ | ✔️ | Preview 1 |
-| [ScaleControl called only when needed](windows-forms/6.0/optimize-scalecontrol-calls.md) | ✔️ | ❌ | Servicing 6.0.101 |
-| [Some APIs throw ArgumentNullException](windows-forms/6.0/apis-throw-argumentnullexception.md) | ❌ | ✔️ | Preview 1-4 |
-| [TreeNodeCollection.Item throws exception if node is assigned elsewhere](windows-forms/6.0/treenodecollection-item-throws-argumentexception.md) | ❌ | ✔️ | Preview 1 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [C# templates use application bootstrap](windows-forms/6.0/application-bootstrap.md) | ✔️ | ❌ |
+| [Selected TableLayoutSettings properties throw InvalidEnumArgumentException](windows-forms/6.0/tablelayoutsettings-apis-throw-invalidenumargumentexception.md) | ❌ | ✔️ |
+| [DataGridView-related APIs now throw InvalidOperationException](windows-forms/6.0/null-owner-causes-invalidoperationexception.md) | ❌ | ✔️ |
+| [ListViewGroupCollection methods throw new InvalidOperationException](windows-forms/6.0/listview-invalidoperationexception.md) | ❌ | ✔️ |
+| [NotifyIcon.Text maximum text length increased](windows-forms/6.0/notifyicon-text-max-text-length-increased.md) | ❌ | ✔️ |
+| [ScaleControl called only when needed](windows-forms/6.0/optimize-scalecontrol-calls.md) | ✔️ | ❌ |
+| [Some APIs throw ArgumentNullException](windows-forms/6.0/apis-throw-argumentnullexception.md) | ❌ | ✔️ |
+| [TreeNodeCollection.Item throws exception if node is assigned elsewhere](windows-forms/6.0/treenodecollection-item-throws-argumentexception.md) | ❌ | ✔️ |
## XML and XSLT
-| Title | Binary compatible | Source compatible | Introduced |
-| - | :-: | :-: | - |
-| [XmlDocument.XmlResolver nullability change](core-libraries/6.0/xmlresolver-nullable.md) | ❌ | ✔️ | RC 1 |
-| [XNodeReader.GetAttribute behavior for invalid index](core-libraries/6.0/xnodereader-getattribute.md) | ✔️ | ❌ | Preview 2 |
+| Title | Binary compatible | Source compatible |
+| - | :-: | :-: |
+| [XmlDocument.XmlResolver nullability change](core-libraries/6.0/xmlresolver-nullable.md) | ❌ | ✔️ |
+| [XNodeReader.GetAttribute behavior for invalid index](core-libraries/6.0/xnodereader-getattribute.md) | ✔️ | ❌ |
## See also
diff --git a/docs/core/compatibility/8.0.md b/docs/core/compatibility/8.0.md
index 58ba3bb4d3941..1f23854a1499c 100644
--- a/docs/core/compatibility/8.0.md
+++ b/docs/core/compatibility/8.0.md
@@ -17,25 +17,25 @@ If you're migrating an app to .NET 8, the breaking changes listed here might aff
## ASP.NET Core
-| Title | Type of change | Introduced |
-| ---------------------------------------------------------------------------------------------------- | ------------------- | ---------- |
-| [ConcurrencyLimiterMiddleware is obsolete](aspnet-core/8.0/concurrencylimitermiddleware-obsolete.md) | Source incompatible | Preview 4 |
-| [Custom converters for serialization removed](aspnet-core/8.0/problemdetails-custom-converters.md) | Behavioral change | Preview 2 |
-| [ISystemClock is obsolete](aspnet-core/8.0/isystemclock-obsolete.md) | Source incompatible | Preview 5 |
-| [Rate-limiting middleware requires AddRateLimiter](aspnet-core/8.0/addratelimiter-requirement.md) | Behavioral change | Preview 5 |
-| [Security token events return a JSonWebToken](aspnet-core/8.0/securitytoken-events.md) | Behavioral change | Preview 7 |
-| [TrimMode defaults to full for Web SDK projects](aspnet-core/8.0/trimmode-full.md) | Source incompatible | Preview 7 |
+| Title | Type of change |
+| ---------------------------------------------------------------------------------------------------- | ------------------- |
+| [ConcurrencyLimiterMiddleware is obsolete](aspnet-core/8.0/concurrencylimitermiddleware-obsolete.md) | Source incompatible |
+| [Custom converters for serialization removed](aspnet-core/8.0/problemdetails-custom-converters.md) | Behavioral change |
+| [ISystemClock is obsolete](aspnet-core/8.0/isystemclock-obsolete.md) | Source incompatible |
+| [Rate-limiting middleware requires AddRateLimiter](aspnet-core/8.0/addratelimiter-requirement.md) | Behavioral change |
+| [Security token events return a JsonWebToken](aspnet-core/8.0/securitytoken-events.md) | Behavioral change |
+| [TrimMode defaults to full for Web SDK projects](aspnet-core/8.0/trimmode-full.md) | Source incompatible |
## Containers
-| Title | Type of change | Introduced |
-| ----------------------------------------------------------------------- | ----------------- | ---------- |
-| ['ca-certificates' and 'krb5-libs' packages removed from Alpine images](containers/8.0/krb5-libs-package.md) | Binary incompatible | Preview 7 |
-| [Debian container images upgraded to Debian 12](containers/8.0/debian-version.md) | Binary incompatible/behavioral change | Preview 1 |
-| [Default ASP.NET Core port changed to 8080](containers/8.0/aspnet-port.md) | Behavioral change | Preview 1 |
-| ['libintl' package removed from Alpine images](containers/8.0/libintl-package.md) | Behavioral change | Preview 5 |
-| [Multi-platform container tags are Linux-only](containers/8.0/multi-platform-tags.md) | Behavioral change | Preview 3 |
-| [New 'app' user in Linux images](containers/8.0/app-user.md) | Behavioral change | Preview 1 |
+| Title | Type of change |
+| ----------------------------------------------------------------------- | ----------------- |
+| ['ca-certificates' and 'krb5-libs' packages removed from Alpine images](containers/8.0/krb5-libs-package.md) | Binary incompatible |
+| [Debian container images upgraded to Debian 12](containers/8.0/debian-version.md) | Binary incompatible/behavioral change |
+| [Default ASP.NET Core port changed to 8080](containers/8.0/aspnet-port.md) | Behavioral change |
+| ['libintl' package removed from Alpine images](containers/8.0/libintl-package.md) | Behavioral change |
+| [Multi-platform container tags are Linux-only](containers/8.0/multi-platform-tags.md) | Behavioral change |
+| [New 'app' user in Linux images](containers/8.0/app-user.md) | Behavioral change |
## Core .NET libraries
@@ -67,10 +67,10 @@ If you're migrating an app to .NET 8, the breaking changes listed here might aff
## Deployment
-| Title | Type of change | Introduced |
-| ----------------------------------------------------------------------- | ----------------- | ---------- |
-| [Host determines RID-specific assets](deployment/8.0/rid-asset-list.md) | Binary incompatible/behavioral change | Preview 5 |
-| [StripSymbols defaults to true](deployment/8.0/stripsymbols-default.md) | Behavioral change | Preview 4 |
+| Title | Type of change |
+| ----------------------------------------------------------------------- | ----------------- |
+| [Host determines RID-specific assets](deployment/8.0/rid-asset-list.md) | Binary incompatible/behavioral change |
+| [StripSymbols defaults to true](deployment/8.0/stripsymbols-default.md) | Behavioral change |
## Entity Framework Core
@@ -92,10 +92,10 @@ If you're migrating an app to .NET 8, the breaking changes listed here might aff
## Globalization
-| Title | Type of change | Introduced |
-| ------------------------------------------------------------------------------------------------- | ----------------- | ---------- |
-| [Date and time converters honor culture argument](globalization/8.0/typeconverter-cultureinfo.md) | Behavioral change | Preview 4 |
-| [TwoDigitYearMax default is 2049](globalization/8.0/twodigityearmax-default.md) | Behavioral change | Preview 1 |
+| Title | Type of change |
+| ------------------------------------------------------------------------------------------------- | ----------------- |
+| [Date and time converters honor culture argument](globalization/8.0/typeconverter-cultureinfo.md) | Behavioral change |
+| [TwoDigitYearMax default is 2049](globalization/8.0/twodigityearmax-default.md) | Behavioral change |
## Interop
@@ -115,9 +115,9 @@ If you're migrating an app to .NET 8, the breaking changes listed here might aff
## Reflection
-| Title | Type of change | Introduced |
-| ------------------------------------------------------------------------------------------------- | ----------------- | ---------- |
-| [IntPtr no longer used for function pointer types](reflection/8.0/function-pointer-reflection.md) | Behavioral change | Preview 2 |
+| Title | Type of change |
+| ------------------------------------------------------------------------------------------------- | ----------------- |
+| [IntPtr no longer used for function pointer types](reflection/8.0/function-pointer-reflection.md) | Behavioral change |
## SDK
diff --git a/docs/core/compatibility/aspnet-core/8.0/securitytoken-events.md b/docs/core/compatibility/aspnet-core/8.0/securitytoken-events.md
index 7ce781a924b3b..1c3d314c85f78 100644
--- a/docs/core/compatibility/aspnet-core/8.0/securitytoken-events.md
+++ b/docs/core/compatibility/aspnet-core/8.0/securitytoken-events.md
@@ -1,9 +1,9 @@
---
-title: "Breaking change: Security token events return a JSonWebToken"
-description: Learn about the breaking change in ASP.NET Core 8.0 where the JwtBearer, WsFederation, and OpenIdConnect events context properties of type 'SecurityToken' now return a 'JSonWebToken' by default.
+title: "Breaking change: Security token events return a JsonWebToken"
+description: Learn about the breaking change in ASP.NET Core 8.0 where the JwtBearer, WsFederation, and OpenIdConnect events context properties of type 'SecurityToken' now return a 'JsonWebToken' by default.
ms.date: 07/31/2023
---
-# Security token events return a JSonWebToken
+# Security token events return a JsonWebToken
The , , and events are authentication events fired respectively by the [JwtBearer](xref:Microsoft.AspNetCore.Authentication.JwtBearer), [WsFederation](xref:Microsoft.AspNetCore.Authentication.WsFederation), and [OpenIdConnect](xref:Microsoft.AspNetCore.Authentication.OpenIdConnect) authentication handlers. For example, the event is fired when a security token is validated. These events are fired with a context (for example, ) that exposes a property of abstract type . The default real implementation of changed from to .
@@ -37,7 +37,7 @@ For most users, this change shouldn't be a problem as the type of the properties
However, if you were down-casting one of the affected `SecurityToken` properties to `JwtSecurityToken` (for example, to get the claims), you have two options:
-- Down-cast the property to `JSonWebToken`:
+- Down-cast the property to `JsonWebToken`:
```csharp
service.Configure(JwtBearerDefaults.AuthenticationScheme, options => {
diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml
index 096785b833630..f3ede0b15e5d8 100644
--- a/docs/core/compatibility/toc.yml
+++ b/docs/core/compatibility/toc.yml
@@ -18,7 +18,7 @@ items:
href: aspnet-core/8.0/isystemclock-obsolete.md
- name: Rate-limiting middleware requires AddRateLimiter
href: aspnet-core/8.0/addratelimiter-requirement.md
- - name: Security token events return a JSonWebToken
+ - name: Security token events return a JsonWebToken
href: aspnet-core/8.0/securitytoken-events.md
- name: TrimMode defaults to full for Web SDK projects
href: aspnet-core/8.0/trimmode-full.md
@@ -884,7 +884,7 @@ items:
href: aspnet-core/8.0/isystemclock-obsolete.md
- name: Rate-limiting middleware requires AddRateLimiter
href: aspnet-core/8.0/addratelimiter-requirement.md
- - name: Security token events return a JSonWebToken
+ - name: Security token events return a JsonWebToken
href: aspnet-core/8.0/securitytoken-events.md
- name: TrimMode defaults to full for Web SDK projects
href: aspnet-core/8.0/trimmode-full.md
diff --git a/docs/core/install/linux-fedora.md b/docs/core/install/linux-fedora.md
index a964d834af010..c4fbf834bc1db 100644
--- a/docs/core/install/linux-fedora.md
+++ b/docs/core/install/linux-fedora.md
@@ -8,8 +8,6 @@ ms.date: 11/14/2023
# Install the .NET SDK or the .NET Runtime on Fedora
-[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
-
.NET is supported on Fedora and this article describes how to install .NET on Fedora. When a Fedora version falls out of support, .NET is no longer supported with that version.
[!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)]
diff --git a/docs/core/install/linux-ubuntu-1604.md b/docs/core/install/linux-ubuntu-1604.md
index a038d3b322100..b7b2423265f80 100644
--- a/docs/core/install/linux-ubuntu-1604.md
+++ b/docs/core/install/linux-ubuntu-1604.md
@@ -36,7 +36,7 @@ sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
```
-[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)]
+[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)]
## How to install other versions
diff --git a/docs/core/install/linux-ubuntu-2004.md b/docs/core/install/linux-ubuntu-2004.md
index 96aa8a9e7c380..c5eaf925dd5a8 100644
--- a/docs/core/install/linux-ubuntu-2004.md
+++ b/docs/core/install/linux-ubuntu-2004.md
@@ -8,9 +8,7 @@ ms.date: 11/14/2023
# Install .NET SDK or .NET Runtime on Ubuntu 20.04
-[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
-
-This article discusses how to install .NET on Ubuntu 20.04; .NET 6 and .NET 7 are supported.
+This article discusses how to install .NET on Ubuntu 20.04; .NET 8, .NET 7, and .NET 6, are supported.
[!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)]
diff --git a/docs/core/install/linux-ubuntu-2204.md b/docs/core/install/linux-ubuntu-2204.md
index efc0fd2048175..74668e7d497c1 100644
--- a/docs/core/install/linux-ubuntu-2204.md
+++ b/docs/core/install/linux-ubuntu-2204.md
@@ -8,9 +8,7 @@ ms.date: 11/14/2023
# Install .NET SDK or .NET Runtime on Ubuntu 22.04
-[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
-
-This article discusses how to install .NET on Ubuntu 22.04; .NET 6 and .NET 7 are supported.
+This article discusses how to install .NET on Ubuntu 22.04; .NET 8, .NET 7, and .NET 6, are supported.
[!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)]
@@ -24,7 +22,7 @@ The following versions of .NET are supported or available for Ubuntu 22.04:
| Supported .NET versions | Available in Ubuntu feed | [Available in Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------|-----------------------------------|
-| 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0, 3.1 |
+| 8.0, 7.0, 6.0 | 7.0, 6.0 | 8.0, 7.0, 6.0, 3.1 |
[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)]
diff --git a/docs/core/install/linux-ubuntu-2304.md b/docs/core/install/linux-ubuntu-2304.md
index 50de9071f2ced..81beee82c174f 100644
--- a/docs/core/install/linux-ubuntu-2304.md
+++ b/docs/core/install/linux-ubuntu-2304.md
@@ -8,9 +8,7 @@ ms.date: 11/14/2023
# Install .NET SDK or .NET Runtime on Ubuntu 23.04
-[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)]
-
-This article discusses how to install .NET on Ubuntu 23.04; .NET 6 and .NET 7 are supported.
+This article discusses how to install .NET on Ubuntu 23.04; .NET 8, .NET 7, and .NET 6, are supported.
[!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)]
@@ -24,7 +22,7 @@ The following versions of .NET are supported or available for Ubuntu 23.04:
| Supported .NET versions | Available in Ubuntu feed | [Available in Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------|-----------------------------------|
-| 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 |
+| 8.0, 7.0, 6.0 | 7.0, 6.0 | 8.0, 7.0, 6.0 |
[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)]
diff --git a/docs/core/install/linux-ubuntu-2310.md b/docs/core/install/linux-ubuntu-2310.md
new file mode 100644
index 0000000000000..075daae902451
--- /dev/null
+++ b/docs/core/install/linux-ubuntu-2310.md
@@ -0,0 +1,71 @@
+---
+title: Install .NET on Ubuntu 23.10
+description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Ubuntu 23.10.
+author: adegeo
+ms.author: adegeo
+ms.date: 11/20/2023
+---
+
+# Install .NET SDK or .NET Runtime on Ubuntu 23.10
+
+This article discusses how to install .NET on Ubuntu 23.10; .NET 8, .NET 7, and .NET 6, are supported.
+
+[!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)]
+
+[!INCLUDE [linux-install-package-manager-x64-vs-arm](includes/linux-install-package-manager-x64-vs-arm.md)]
+
+.NET is available in the Ubuntu package manager feeds, as well as the Microsoft package repository. However, you should only use one or the other to install .NET. If you want to use the Microsoft package repository, see [How to register the Microsoft package repository](linux-ubuntu.md#register-the-microsoft-package-repository).
+
+## Supported versions
+
+The following versions of .NET are supported or available for Ubuntu 23.10:
+
+| Supported .NET versions | Available in Ubuntu feed | [Available in Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
+|-------------------------|--------------------------|-----------------------------------|
+| 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 |
+
+[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)]
+
+When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, .NET is no longer supported with that version.
+
+[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)]
+
+## Install .NET
+
+[!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)]
+
+## How to install other versions
+
+.NET package names are standardized across all Linux distributions. The following table lists the packages:
+
+[!INCLUDE [package-manager-switcher](./includes/package-manager-heading-hack-pkgname.md)]
+
+## Troubleshooting
+
+If you run into issues installing or even running .NET, see [Troubleshooting](linux-ubuntu.md#troubleshooting).
+
+## Dependencies
+
+When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed:
+
+- libc6
+- libgcc1
+- libgcc-s1
+- libgssapi-krb5-2
+- libicu72
+- liblttng-ust1
+- libssl3
+- libstdc++6
+- libunwind8
+- zlib1g
+
+[!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)]
+
+[!INCLUDE [linux-libgdiplus-general](includes/linux-libgdiplus-general.md)]
+
+You can install a recent version of *libgdiplus* by [adding the Mono repository to your system](https://www.mono-project.com/download/stable/#download-lin-ubuntu).
+
+## Next steps
+
+- [How to enable TAB completion for the .NET CLI](../tools/enable-tab-autocomplete.md)
+- [Tutorial: Create a console application with .NET SDK using Visual Studio Code](../tutorials/with-visual-studio-code.md)
diff --git a/docs/core/install/linux-ubuntu.md b/docs/core/install/linux-ubuntu.md
index bdb0980a94524..d2977a48641a5 100644
--- a/docs/core/install/linux-ubuntu.md
+++ b/docs/core/install/linux-ubuntu.md
@@ -26,7 +26,7 @@ When your version of Ubuntu supports .NET through the built-in Ubuntu feed, supp
Use the following sections to determine how you should install .NET:
-- [I'm using Ubuntu 22.04, 22.10, or 23.04, and I only need .NET](#im-using-ubuntu-2204-2210-or-2304-and-i-only-need-net)
+- [I'm using Ubuntu 22.04 or later, and I only need .NET](#im-using-ubuntu-2204-or-later-and-i-only-need-net)
- [I'm using a version of Ubuntu prior to 22.04](#im-using-a-version-of-ubuntu-prior-to-2204)
- [I'm using other Microsoft packages, such as `powershell`, `mdatp`, or `mssql`](#im-using-other-microsoft-packages-such-as-powershell-mdatp-or-mssql)
- [I want to create a .NET app](#i-want-to-create-a-net-app)
@@ -36,13 +36,14 @@ Use the following sections to determine how you should install .NET:
- [I don't want to use APT](#i-dont-want-to-use-apt)
- [I'm using an Arm-based CPU](#im-using-an-arm-based-cpu)
-### I'm using Ubuntu 22.04, 22.10, or 23.04, and I only need .NET
+### I'm using Ubuntu 22.04 or later, and I only need .NET
Install .NET through the Ubuntu feed. For more information, see the following pages:
-- [Install .NET on Ubuntu 22.04](linux-ubuntu-2204.md)
-- [Install .NET on Ubuntu 22.10](linux-ubuntu-2210.md)
+- [Install .NET on Ubuntu 22.04](linux-ubuntu-2204.md).
+- [Install .NET on Ubuntu 22.10](linux-ubuntu-2210.md).
- [Install .NET on Ubuntu 23.04](linux-ubuntu-2304.md).
+- [Install .NET on Ubuntu 23.10](linux-ubuntu-2310.md).
[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)]
@@ -66,7 +67,7 @@ If you want to source the .NET packages from the Ubuntu feed, you need to deprio
### I want to create a .NET app
-Use the same package sources for the SDK as you use for the runtime. For example, if you're using Ubuntu 22.04 and .NET 6, but not .NET 7, it's recommended that you install .NET through the built-in Ubuntu feed. If, however, you move to .NET 7, which isn't provided by Canonical for Ubuntu 22.04, you should [Register and install with the Microsoft package repository](#register-the-microsoft-package-repository). Review the other suggestions in the [Decide how to install .NET](#decide-how-to-install-net) section.
+Use the same package sources for the SDK as you use for the runtime. For example, if you're using Ubuntu 22.04 and .NET 6, but not .NET 7, it's recommended that you install .NET through the built-in Ubuntu feed. If, however, you move to .NET 7, which isn't provided by Canonical for Ubuntu 22.04, you should uninstall .NET and reinstall it with the **Microsoft package repository**. For more information, see [Register and install with the Microsoft package repository](#register-the-microsoft-package-repository). Also, review the other suggestions in the [Decide how to install .NET](#decide-how-to-install-net) section.
### I want to run a .NET app in a container, cloud, or continuous-integration scenario
@@ -106,10 +107,11 @@ The following table is a list of currently supported .NET releases and the versi
| Ubuntu | Supported .NET versions | Available in Ubuntu feed | [Available in Microsoft feed](#register-the-microsoft-package-repository) |
|-------------------------------------|-------------------------|--------------------------|-----------------------------------|
-| [23.04](linux-ubuntu-2304.md) | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 |
+| [23.10](linux-ubuntu-2310.md) | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 |
+| [23.04](linux-ubuntu-2304.md) | 8.0, 7.0, 6.0 | 7.0, 6.0 | 8.0, 7.0, 6.0 |
| [22.10](linux-ubuntu-2210.md) | 7.0, 6.0 | 7.0, 6.0 | 7.0, 6.0, 3.1 |
-| [22.04 (LTS)](linux-ubuntu-2204.md) | 7.0, 6.0 | 6.0 | 7.0, 6.0, 3.1 |
-| [20.04 (LTS)](linux-ubuntu-2004.md) | 7.0, 6.0 | None | 7.0. 6.0, 5.0, 3.1, 2.1 |
+| [22.04 (LTS)](linux-ubuntu-2204.md) | 8.0, 7.0, 6.0 | 6.0 | 8.0, 7.0, 6.0, 3.1 |
+| [20.04 (LTS)](linux-ubuntu-2004.md) | 8.0, 7.0, 6.0 | None | 8.0, 7.0. 6.0, 5.0, 3.1, 2.1 |
| [18.04 (LTS)](linux-ubuntu-1804.md) | 7.0, 6.0 | None | 7.0. 6.0, 5.0, 3.1, 2.2, 2.1 |
| [16.04 (LTS)](linux-ubuntu-1604.md) | 6.0 | None | 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 |
diff --git a/docs/csharp/whats-new/tutorials/snippets/primary-constructors/BankAccount.cs b/docs/csharp/whats-new/tutorials/snippets/primary-constructors/BankAccount.cs
index 8bc0fd15f1a6a..1a96300f7d9ac 100644
--- a/docs/csharp/whats-new/tutorials/snippets/primary-constructors/BankAccount.cs
+++ b/docs/csharp/whats-new/tutorials/snippets/primary-constructors/BankAccount.cs
@@ -11,7 +11,7 @@ public class BankAccount(string accountID, string owner)
//
//
-public class CheckAccount(string accountID, string owner, decimal overdraftLimit = 0) : BankAccount(accountID, owner)
+public class CheckingAccount(string accountID, string owner, decimal overdraftLimit = 0) : BankAccount(accountID, owner)
{
public decimal CurrentBalance { get; private set; } = 0;
diff --git a/docs/fsharp/style-guide/component-design-guidelines.md b/docs/fsharp/style-guide/component-design-guidelines.md
index 9c4717f182d01..dbbc5fb8b95ca 100644
--- a/docs/fsharp/style-guide/component-design-guidelines.md
+++ b/docs/fsharp/style-guide/component-design-guidelines.md
@@ -50,9 +50,9 @@ You can use either the short form XML comments (`/// comment`), or standard XML
Using explicit signatures files in an F# library provides a succinct summary of public API, which helps to ensure that you know the full public surface of your library, and provides a clean separation between public documentation and internal implementation details. Signature files add friction to changing the public API, by requiring changes to be made in both the implementation and signature files. As a result, signature files should typically only be introduced when an API has become solidified and is no longer expected to change significantly.
-### Always follow best practices for using strings in .NET
+### Follow best practices for using strings in .NET
-Follow [Best Practices for Using Strings in .NET](../../standard/base-types/best-practices-strings.md) guidance. In particular, always explicitly state *cultural intent* in the conversion and comparison of strings (where applicable).
+Follow [Best Practices for Using Strings in .NET](../../standard/base-types/best-practices-strings.md) guidance when the scope of the project warrants it. In particular, explicitly stating *cultural intent* in the conversion and comparison of strings (where applicable).
## Guidelines for F#-facing libraries
@@ -62,7 +62,7 @@ This section presents recommendations for developing public F#-facing libraries;
#### Use .NET naming and capitalization conventions
-The following table follows .NET naming and capitalization conventions. There are small additions to also include F# constructs.
+The following table follows .NET naming and capitalization conventions. There are small additions to also include F# constructs. Those recommendations are especially meant for APIs that cross beyond F#-to-F# boundaries, fitting with idioms from .NET BCL and the majority of libraries.
| Construct | Case | Part | Examples | Notes |
|-----------|------|------|----------|-------|
diff --git a/docs/fundamentals/toc.yml b/docs/fundamentals/toc.yml
index 6cc7b1d0b1674..468e3ff56535f 100644
--- a/docs/fundamentals/toc.yml
+++ b/docs/fundamentals/toc.yml
@@ -25,6 +25,8 @@ items:
items:
- name: Overview
href: ../core/install/linux-ubuntu.md
+ - name: "23.10"
+ href: ../core/install/linux-ubuntu-2310.md
- name: "23.04"
href: ../core/install/linux-ubuntu-2304.md
- name: "22.10"
diff --git a/docs/standard/security/cross-platform-cryptography.md b/docs/standard/security/cross-platform-cryptography.md
index 576a124d56356..4ac051378e31f 100644
--- a/docs/standard/security/cross-platform-cryptography.md
+++ b/docs/standard/security/cross-platform-cryptography.md
@@ -30,22 +30,22 @@ All hash algorithm and hash-based message authentication (HMAC) classes, includi
The underlying ciphers and chaining are done by the system libraries.
-| Cipher + Mode | Windows | Linux | macOS | iOS | Android |
-|---------------|----------|-------|-------|-----|---------|
-| AES-CBC | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| AES-ECB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| AES-CFB8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| AES-CFB128 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| 3DES-CBC | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| 3DES-ECB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| 3DES-CFB8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| 3DES-CFB64 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| DES-CBC | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| DES-ECB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| DES-CFB8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| RC2-CBC | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
-| RC2-ECB | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
-| RC2-CFB | ❌ | ❌ | ❌ | ❌ | ❌ |
+| Cipher + Mode | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|---------------|----------|-------|-------|------------------------|---------|
+| AES-CBC | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| AES-ECB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| AES-CFB8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| AES-CFB128 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| 3DES-CBC | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| 3DES-ECB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| 3DES-CFB8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| 3DES-CFB64 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| DES-CBC | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| DES-ECB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| DES-CFB8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| RC2-CBC | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
+| RC2-ECB | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
+| RC2-CFB | ❌ | ❌ | ❌ | ❌ | ❌ |
## Authenticated encryption
@@ -53,11 +53,11 @@ Authenticated encryption (AE) support is provided for AES-CCM, AES-GCM, and ChaC
As authentication encryption requires newer platform APIs to support the algorithm, support may not be present on all platforms. The `IsSupported` static property on the classes for the algorithm can be used to detect at runtime if the current platform supports the algorithm or not.
-| Cipher + Mode | Windows | Linux | macOS | iOS | Android | Browser |
-|-------------------|-------------------------|----------------|---------|-----|---------------|---------|
-| AES-GCM | ✔️ | ✔️ | ⚠️ | ❌ | ✔️ | ❌ |
-| AES-CCM | ✔️ | ✔️ | ⚠️ | ❌ | ✔️ | ❌ |
-| ChaCha20Poly1305 | Windows 10 Build 20142+ | OpenSSL 1.1.0+ | ⚠️ | ❌ | API Level 28+ | ❌ |
+| Cipher + Mode | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android | Browser |
+|-------------------|-------------------------|----------------|---------|------------------------|---------------|---------|
+| AES-GCM | ✔️ | ✔️ | ⚠️ | ❌ | ✔️ | ❌ |
+| AES-CCM | ✔️ | ✔️ | ⚠️ | ❌ | ✔️ | ❌ |
+| ChaCha20Poly1305 | Windows 10 Build 20142+ | OpenSSL 1.1.0+ | ⚠️ | ❌ | API Level 28+ | ❌ |
### AES-CCM on macOS
@@ -121,16 +121,16 @@ RSA key operations are performed by the OS libraries, and the types of key that
Padding and digest support vary by platform:
-| Padding Mode | Windows (CNG) | Linux (OpenSSL) | macOS | iOS | Android | Windows (CAPI) |
-|-------------------------------------|--------------------------|-----------------|--------|-----|---------|----------------|
-| PKCS1 Encryption | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| OAEP - SHA-1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| OAEP - SHA-2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
-| OAEP - SHA-32 | Windows 11 Build 25324+ | OpenSSL 1.1.1+ | ❌ | ❌ | ❌ | ❌ |
-| PKCS1 Signature (MD5, SHA-1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| PKCS1 Signature (SHA-2) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⚠️1 |
-| PKCS1 Signature (SHA-3)2 | Windows 11 Build 25324+ | OpenSSL 1.1.1+ | ❌ | ❌ | ❌ | ❌ |
-| PSS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
+| Padding Mode | Windows (CNG) | Linux (OpenSSL) | macOS | iOS, tvOS, MacCatalyst | Android | Windows (CAPI) |
+|-------------------------------------|--------------------------|-----------------|--------|------------------------|---------|----------------|
+| PKCS1 Encryption | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| OAEP - SHA-1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| OAEP - SHA-2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
+| OAEP - SHA-32 | Windows 11 Build 25324+ | OpenSSL 1.1.1+ | ❌ | ❌ | ❌ | ❌ |
+| PKCS1 Signature (MD5, SHA-1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| PKCS1 Signature (SHA-2) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⚠️1 |
+| PKCS1 Signature (SHA-3)2 | Windows 11 Build 25324+ | OpenSSL 1.1.1+ | ❌ | ❌ | ❌ | ❌ |
+| PSS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
1 Windows CryptoAPI (CAPI) is capable of PKCS1 signature with a SHA-2 algorithm. But the individual RSA object may be loaded in a cryptographic service provider (CSP) that doesn't support it.
@@ -148,11 +148,11 @@ Padding and digest support vary by platform:
.NET exposes types to allow programs to interoperate with the OS libraries that the .NET cryptography code uses. The types involved do not translate between platforms, and should only be directly used when necessary.
-| Type | Windows | Linux | macOS | iOS | Android |
-|--------------------------------------------------------------|---------|---------------|-----------------|-----------------|-----------------|
-| | ✔️ | ⚠️1 | ⚠️1 | ⚠️1 | ⚠️1 |
-| | ✔️ | ❌ | ❌ | ❌ | ❌ |
-| | ❌ | ✔️ | ⚠️2 | ❌ | ❌ |
+| Type | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|--------------------------------------------------------------|---------|---------------|-----------------|-------------------------|-----------------|
+| | ✔️ | ⚠️1 | ⚠️1 | ⚠️1 | ⚠️1 |
+| | ✔️ | ❌ | ❌ | ❌ | ❌ |
+| | ❌ | ✔️ | ⚠️2 | ❌ | ❌ |
1 On non-Windows, can be used for compatibility with existing programs. In that case, any method that requires OS interop, such as opening a named key, throws a .
@@ -164,15 +164,15 @@ ECDSA (Elliptic Curve Digital Signature Algorithm) key generation is done by the
ECDSA key curves are defined by the OS libraries and are subject to their limitations.
-| Elliptic Curve | Windows 10 | Windows 7 - 8.1 | Linux | macOS | iOS | Android |
-|------------------------------------|----------------|-----------------|-----------------|----------------|----------------|----------------|
-| NIST P-256 (secp256r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| NIST P-384 (secp384r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| NIST P-521 (secp521r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Brainpool curves (as named curves) | ✔️ | ❌ | ⚠️1 | ❌ | ❌ | ⚠️4 |
-| Other named curves | ⚠️2 | ❌ | ⚠️1 | ❌ | ❌ | ⚠️4 |
-| Explicit curves | ✔️ | ❌ | ✔️ | ❌ | ❌ | ✔️ |
-| Export or import as explicit | ✔️ | ❌3 | ✔️ | ❌3 | ❌3 | ✔️ |
+| Elliptic Curve | Windows 10 | Windows 7 - 8.1 | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|------------------------------------|----------------|-----------------|-----------------|----------------|------------------------|----------------|
+| NIST P-256 (secp256r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| NIST P-384 (secp384r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| NIST P-521 (secp521r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Brainpool curves (as named curves) | ✔️ | ❌ | ⚠️1 | ❌ | ❌ | ⚠️4 |
+| Other named curves | ⚠️2 | ❌ | ⚠️1 | ❌ | ❌ | ⚠️4 |
+| Explicit curves | ✔️ | ❌ | ✔️ | ❌ | ❌ | ✔️ |
+| Export or import as explicit | ✔️ | ❌3 | ✔️ | ❌3 | ❌3 | ✔️ |
1 Linux distributions don't all have support for the same named curves.
@@ -186,10 +186,10 @@ ECDSA key curves are defined by the OS libraries and are subject to their limita
.NET exposes types to allow programs to interoperate with the OS libraries that the .NET cryptography code uses. The types involved don't translate between platforms and should only be directly used when necessary.
-| Type | Windows | Linux | macOS | iOS | Android |
-|--------------------------------------------------|---------|-------|-------|-----|---------|
-| | ✔️ | ❌ | ❌ | ❌ | ❌ |
-| | ❌ | ✔️ | ⚠️\* | ❌ | ❌ |
+| Type | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|--------------------------------------------------|---------|-------|-------|------------------------|---------|
+| | ✔️ | ❌ | ❌ | ❌ | ❌ |
+| | ❌ | ✔️ | ⚠️\* | ❌ | ❌ |
\* On macOS, works if OpenSSL is installed in the system and an appropriate libcrypto dylib can be found via dynamic library loading. If an appropriate library can't be found, exceptions will be thrown.
@@ -211,15 +211,15 @@ The class supports the "raw"
ECDH key curves are defined by the OS libraries and are subject to their limitations.
-| Elliptic Curve | Windows 10 | Windows 7 - 8.1 | Linux | macOS | iOS | Android |
-|------------------------------------|----------------|-----------------|----------------|-----------------|----------------|----------------|
-| NIST P-256 (secp256r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| NIST P-384 (secp384r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| NIST P-521 (secp521r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Brainpool curves (as named curves) | ✔️ | ❌ | ⚠️1 | ❌ | ❌ | ⚠️4 |
-| Other named curves | ⚠️2 | ❌ | ⚠️1 | ❌ | ❌ | ⚠️4 |
-| Explicit curves | ✔️ | ❌ | ✔️ | ❌ | ❌ | ✔️ |
-| Export or import as explicit | ✔️ | ❌3 | ✔️ | ❌3 | ❌3 | ✔️ |
+| Elliptic Curve | Windows 10 | Windows 7 - 8.1 | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|------------------------------------|----------------|-----------------|----------------|-----------------|------------------------|----------------|
+| NIST P-256 (secp256r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| NIST P-384 (secp384r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| NIST P-521 (secp521r1) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Brainpool curves (as named curves) | ✔️ | ❌ | ⚠️1 | ❌ | ❌ | ⚠️4 |
+| Other named curves | ⚠️2 | ❌ | ⚠️1 | ❌ | ❌ | ⚠️4 |
+| Explicit curves | ✔️ | ❌ | ✔️ | ❌ | ❌ | ✔️ |
+| Export or import as explicit | ✔️ | ❌3 | ✔️ | ❌3 | ❌3 | ✔️ |
1 Linux distributions don't all have support for the same named curves.
@@ -233,10 +233,10 @@ ECDH key curves are defined by the OS libraries and are subject to their limitat
.NET exposes types to allow programs to interoperate with the OS libraries that .NET uses. The types involved don't translate between platforms and should only be directly used when necessary.
-| Type | Windows | Linux | macOS | iOS | Android |
-|------------------------------------------------------------|---------|-------|-------|-----|----------|
-| | ✔️ | ❌ | ❌ | ❌ | ❌ |
-| | ❌ | ✔️ | ⚠️\* | ❌ | ❌ |
+| Type | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|------------------------------------------------------------|---------|-------|-------|------------------------|----------|
+| | ✔️ | ❌ | ❌ | ❌ | ❌ |
+| | ❌ | ✔️ | ⚠️\* | ❌ | ❌ |
\* On macOS, works if OpenSSL is installed and an appropriate libcrypto dylib can be found via dynamic library loading. If an appropriate library can't be found, exceptions will be thrown.
@@ -244,14 +244,14 @@ ECDH key curves are defined by the OS libraries and are subject to their limitat
DSA (Digital Signature Algorithm) key generation is performed by the system libraries and is subject to their size limitations and performance characteristics.
-| Function | Windows CNG | Linux | macOS | Windows CAPI | iOS | Android |
-|-------------------------------|-------------|-------|---------------|--------------|------|---------|
-| Key creation (<= 1024 bits) | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ✔️ |
-| Key creation (> 1024 bits) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ✔️ |
-| Loading keys (<= 1024 bits) | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
-| Loading keys (> 1024 bits) | ✔️ | ✔️ | ⚠️\* | ❌ | ❌ | ✔️ |
-| FIPS 186-2 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
-| FIPS 186-3 (SHA-2 signatures) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ✔️ |
+| Function | Windows CNG | Linux | macOS | Windows CAPI | iOS, tvOS, MacCatalyst | Android |
+|-------------------------------|-------------|-------|---------------|--------------|-------------------------|---------|
+| Key creation (<= 1024 bits) | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ✔️ |
+| Key creation (> 1024 bits) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ✔️ |
+| Loading keys (<= 1024 bits) | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
+| Loading keys (> 1024 bits) | ✔️ | ✔️ | ⚠️\* | ❌ | ❌ | ✔️ |
+| FIPS 186-2 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
+| FIPS 186-3 (SHA-2 signatures) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ✔️ |
\* macOS loads DSA keys bigger than 1024 bits, but the behavior of those keys is undefined. They don't behave according to FIPS 186-3.
@@ -267,11 +267,11 @@ DSA (Digital Signature Algorithm) key generation is performed by the system libr
.NET exposes types to allow programs to interoperate with the OS libraries that the .NET cryptography code uses. The types involved don't translate between platforms and should only be directly used when necessary.
-| Type | Windows | Linux | macOS | iOS | Android |
-|--------------------------------------------------------------|---------|----------------|-----------------|--------|----------------|
-| | ✔️ | ⚠️1 | ⚠️1 | ❌ | ⚠️1 |
-| | ✔️ | ❌ | ❌ | ❌ | ❌ |
-| | ❌ | ✔️ | ⚠️2 | ❌ | ❌ |
+| Type | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|--------------------------------------------------------------|---------|----------------|-----------------|------------------------|----------------|
+| | ✔️ | ⚠️1 | ⚠️1 | ❌ | ⚠️1 |
+| | ✔️ | ❌ | ❌ | ❌ | ❌ |
+| | ❌ | ✔️ | ⚠️2 | ❌ | ❌ |
1 On non-Windows, can be used for compatibility with existing programs. In that case, any method that requires system interop, such as opening a named key, throws a .
@@ -283,26 +283,26 @@ The majority of support for X.509 certificates in .NET comes from OS libraries.
### Read a PKCS12/PFX
-| Scenario | Windows | Linux | macOS | iOS | Android |
-|----------------------------------------------|---------|-------|-------|-----|---------|
-| Empty | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| One certificate, no private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| One certificate, with private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Multiple certificates, no private keys | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Multiple certificates, one private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Multiple certificates, multiple private keys | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Scenario | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|----------------------------------------------|---------|-------|-------|------------------------|---------|
+| Empty | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| One certificate, no private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| One certificate, with private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Multiple certificates, no private keys | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Multiple certificates, one private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Multiple certificates, multiple private keys | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
### Write a PKCS12/PFX
-| Scenario | Windows | Linux | macOS | iOS | Android |
-|----------------------------------------------|---------|-------|-------|-------|---------|
-| Empty | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| One certificate, no private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| One certificate, with private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Multiple certificates, no private keys | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Multiple certificates, one private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Multiple certificates, multiple private keys | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Ephemeral loading | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
+| Scenario | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|----------------------------------------------|---------|-------|-------|--------------------------|---------|
+| Empty | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| One certificate, no private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| One certificate, with private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Multiple certificates, no private keys | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Multiple certificates, one private key | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Multiple certificates, multiple private keys | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Ephemeral loading | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
macOS can't load certificate private keys without a keychain object, which requires writing to disk. Keychains are created automatically for PFX loading, and are deleted when no longer in use. Since the option means that the private key should not be written to disk, asserting that flag on macOS results in a .
@@ -320,12 +320,12 @@ The following tables show which scenarios are supported in each platform. For un
#### The My store
-| Scenario | Windows | Linux | macOS | iOS | Android |
-|--------------------------------------------------|---------|-------|-------|-------|--------|
-| Open CurrentUser\My (ReadOnly) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Open CurrentUser\My (ReadWrite) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| Open CurrentUser\My (ExistingOnly) | ✔️ | ⚠️ | ✔️ | ✔️ | ✔️ |
-| Open LocalMachine\My | ✔️ | ❌ | ✔️ | ✔️ | ✔️ |
+| Scenario | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|--------------------------------------------------|---------|-------|-------|------------------------|--------|
+| Open CurrentUser\My (ReadOnly) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Open CurrentUser\My (ReadWrite) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| Open CurrentUser\My (ExistingOnly) | ✔️ | ⚠️ | ✔️ | ✔️ | ✔️ |
+| Open LocalMachine\My | ✔️ | ❌ | ✔️ | ✔️ | ✔️ |
On Linux, stores are created on first write, and no user stores exist by default, so opening `CurrentUser\My` with `ExistingOnly` may fail.
@@ -333,14 +333,14 @@ On macOS, the `CurrentUser\My` store is the user's default keychain, which is `l
#### The Root store
-| Scenario | Windows | Linux | macOS | iOS | Android |
-|---------------------------------------|---------|-------|-------------------|-----|------------------|
-| Open CurrentUser\Root (ReadOnly) | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
-| Open CurrentUser\Root (ReadWrite) | ✔️ | ✔️ | ❌ | ❌ | ❌ |
-| Open CurrentUser\Root (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ❌ | ✔️ (if ReadOnly) |
-| Open LocalMachine\Root (ReadOnly) | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
-| Open LocalMachine\Root (ReadWrite) | ✔️ | ❌ | ❌ | ❌ | ❌ |
-| Open LocalMachine\Root (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ❌ | ✔️ (if ReadOnly) |
+| Scenario | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|---------------------------------------|---------|-------|-------------------|------------------------|------------------|
+| Open CurrentUser\Root (ReadOnly) | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
+| Open CurrentUser\Root (ReadWrite) | ✔️ | ✔️ | ❌ | ❌ | ❌ |
+| Open CurrentUser\Root (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ❌ | ✔️ (if ReadOnly) |
+| Open LocalMachine\Root (ReadOnly) | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
+| Open LocalMachine\Root (ReadWrite) | ✔️ | ❌ | ❌ | ❌ | ❌ |
+| Open LocalMachine\Root (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ❌ | ✔️ (if ReadOnly) |
On Linux, the `LocalMachine\Root` store is an interpretation of the CA bundle in the default path for OpenSSL.
@@ -348,14 +348,14 @@ On macOS, the `CurrentUser\Root` store is an interpretation of the `SecTrustSett
#### The Intermediate store
-| Scenario | Windows | Linux | macOS | iOS | Android |
-|-----------------------------------------------|---------|-------|-------------------|-------|---------|
-| Open CurrentUser\Intermediate (ReadOnly) | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
-| Open CurrentUser\Intermediate (ReadWrite) | ✔️ | ✔️ | ❌ | ❌ | ❌ |
-| Open CurrentUser\Intermediate (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ❌ | ❌ |
-| Open LocalMachine\Intermediate (ReadOnly) | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
-| Open LocalMachine\Intermediate (ReadWrite) | ✔️ | ❌ | ❌ | ❌ | ❌ |
-| Open LocalMachine\Intermediate (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ❌ | ❌ |
+| Scenario | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|-----------------------------------------------|---------|-------|-------------------|------------------------|---------|
+| Open CurrentUser\Intermediate (ReadOnly) | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
+| Open CurrentUser\Intermediate (ReadWrite) | ✔️ | ✔️ | ❌ | ❌ | ❌ |
+| Open CurrentUser\Intermediate (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ❌ | ❌ |
+| Open LocalMachine\Intermediate (ReadOnly) | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
+| Open LocalMachine\Intermediate (ReadWrite) | ✔️ | ❌ | ❌ | ❌ | ❌ |
+| Open LocalMachine\Intermediate (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ❌ | ❌ |
On Linux, the `CurrentUser\Intermediate` store is used as a cache when downloading intermediate CAs by their Authority Information Access records on successful X509Chain builds. The `LocalMachine\Intermediate` store is an interpretation of the CA bundle in the default path for OpenSSL.
@@ -363,14 +363,14 @@ On macOS, the `CurrentUser\Intermediate` store is treated as a custom store. Cer
#### The Disallowed store
-| Scenario | Windows | Linux | macOS | iOS | Android |
-|---------------------------------------------|---------|-------|------------------|------------------|------------------|
-| Open CurrentUser\Disallowed (ReadOnly) | ✔️ | ⚠️ | ✔️ | ✔️ | ✔️ |
-| Open CurrentUser\Disallowed (ReadWrite) | ✔️ | ⚠️ | ❌ | ❌ | ❌ |
-| Open CurrentUser\Disallowed (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ✔️ (if ReadOnly) | ✔️ (if ReadOnly) |
-| Open LocalMachine\Disallowed (ReadOnly) | ✔️ | ❌ | ✔️ | ✔️ | ✔️ |
-| Open LocalMachine\Disallowed (ReadWrite) | ✔️ | ❌ | ❌ | ❌ | ❌ |
-| Open LocalMachine\Disallowed (ExistingOnly) | ✔️ | ❌ | ✔️ (if ReadOnly) | ✔️ (if ReadOnly) | ✔️ (if ReadOnly) |
+| Scenario | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|---------------------------------------------|---------|-------|------------------|------------------------|------------------|
+| Open CurrentUser\Disallowed (ReadOnly) | ✔️ | ⚠️ | ✔️ | ✔️ | ✔️ |
+| Open CurrentUser\Disallowed (ReadWrite) | ✔️ | ⚠️ | ❌ | ❌ | ❌ |
+| Open CurrentUser\Disallowed (ExistingOnly) | ✔️ | ⚠️ | ✔️ (if ReadOnly) | ✔️ (if ReadOnly) | ✔️ (if ReadOnly) |
+| Open LocalMachine\Disallowed (ReadOnly) | ✔️ | ❌ | ✔️ | ✔️ | ✔️ |
+| Open LocalMachine\Disallowed (ReadWrite) | ✔️ | ❌ | ❌ | ❌ | ❌ |
+| Open LocalMachine\Disallowed (ExistingOnly) | ✔️ | ❌ | ✔️ (if ReadOnly) | ✔️ (if ReadOnly) | ✔️ (if ReadOnly) |
On Linux, the `Disallowed` store is not used in chain building, and attempting to add contents to it results in a . A is thrown when opening the `Disallowed` store if it has already acquired contents.
@@ -378,11 +378,11 @@ On macOS, the CurrentUser\Disallowed and LocalMachine\Disallowed stores are inte
#### Nonexistent store
-| Scenario | Windows | Linux | macOS | iOS | Android |
-|--------------------------------------------------|---------|-------|-------|-----|---------|
-| Open non-existent store (ExistingOnly) | ❌ | ❌ | ❌ | ❌ | ❌ |
-| Open CurrentUser non-existent store (ReadWrite) | ✔️ | ✔️ | ⚠️ | ❌ | ❌ |
-| Open LocalMachine non-existent store (ReadWrite) | ✔️ | ❌ | ❌ | ❌ | ❌ |
+| Scenario | Windows | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
+|--------------------------------------------------|---------|-------|-------|------------------------|---------|
+| Open non-existent store (ExistingOnly) | ❌ | ❌ | ❌ | ❌ | ❌ |
+| Open CurrentUser non-existent store (ReadWrite) | ✔️ | ✔️ | ⚠️ | ❌ | ❌ |
+| Open LocalMachine non-existent store (ReadWrite) | ✔️ | ❌ | ❌ | ❌ | ❌ |
On macOS, custom store creation with the X509Store API is supported only for `CurrentUser` location. It will create a new keychain with no password in the user's keychain directory (*~/Library/Keychains*). To create a keychain with password, a P/Invoke to `SecKeychainCreate` could be used. Similarly, `SecKeychainOpen` could be used to open keychains in different locations. The resulting `IntPtr` can be passed to [`new X509Store(IntPtr)`](xref:System.Security.Cryptography.X509Certificates.X509Store.%23ctor(System.IntPtr)) to obtain a read/write-capable store, subject to the current user's permissions.
diff --git a/docs/whats-new/dotnet-docs-mod2.md b/docs/whats-new/dotnet-docs-mod2.md
index 65e5a69eeab4f..b12ad714e8fa5 100644
--- a/docs/whats-new/dotnet-docs-mod2.md
+++ b/docs/whats-new/dotnet-docs-mod2.md
@@ -23,7 +23,7 @@ Welcome to what's new in the .NET docs for August 2023. This article lists some
- [Boolean-backed enum type support removed](../core/compatibility/core-libraries/8.0/bool-backed-enum.md)
- [Binding config to dictionary extends values](../core/compatibility/extensions/7.0/config-bind-dictionary.md)
- ['ca-certificates' and 'krb5-libs' packages removed from Alpine images](../core/compatibility/containers/8.0/krb5-libs-package.md)
-- [Security token events return a JSonWebToken](../core/compatibility/aspnet-core/8.0/securitytoken-events.md)
+- [Security token events return a JsonWebToken](../core/compatibility/aspnet-core/8.0/securitytoken-events.md)
- [TrimMode defaults to full for Web SDK projects](../core/compatibility/aspnet-core/8.0/trimmode-full.md)
## .NET Framework