diff --git a/.openpublishing.redirection.core.json b/.openpublishing.redirection.core.json
index 842de3d3c08a2..a33a79e8efc13 100644
--- a/.openpublishing.redirection.core.json
+++ b/.openpublishing.redirection.core.json
@@ -1224,7 +1224,7 @@
},
{
"source_path_from_root": "/docs/core/whats-new/index.md",
- "redirect_url": "/dotnet/core/whats-new/dotnet-8",
+ "redirect_url": "/dotnet/core/whats-new/dotnet-8/overview",
"ms.custom": "updateeachrelease"
},
{
diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json
index b19a704d95a18..cc3d1f586579f 100644
--- a/.openpublishing.redirection.csharp.json
+++ b/.openpublishing.redirection.csharp.json
@@ -3166,7 +3166,7 @@
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-create-a-nested-group.md",
- "redirect_url": "/dotnet/csharp/linq/create-a-nested-group"
+ "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-dynamically-specify-predicate-filters-at-runtime.md",
@@ -3174,7 +3174,7 @@
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-group-query-results.md",
- "redirect_url": "/dotnet/csharp/linq/group-query-results"
+ "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-group-results-by-contiguous-keys.md",
@@ -3190,31 +3190,31 @@
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-join-by-using-composite-keys.md",
- "redirect_url": "/dotnet/csharp/linq/join-by-using-composite-keys"
+ "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-order-the-results-of-a-join-clause.md",
- "redirect_url": "/dotnet/csharp/linq/order-the-results-of-a-join-clause"
+ "redirect_url": "/dotnet/csharp/linq/standard-query-operators/"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-perform-a-subquery-on-a-grouping-operation.md",
- "redirect_url": "/dotnet/csharp/linq/perform-a-subquery-on-a-grouping-operation"
+ "redirect_url": "/dotnet/csharp/linq/standard-query-operators/grouping-data"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-perform-custom-join-operations.md",
- "redirect_url": "/dotnet/csharp/linq/perform-custom-join-operations"
+ "redirect_url": "/dotnet/csharp/linq/"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-perform-grouped-joins.md",
- "redirect_url": "/dotnet/csharp/linq/perform-grouped-joins"
+ "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-perform-inner-joins.md",
- "redirect_url": "/dotnet/csharp/linq/perform-inner-joins"
+ "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-perform-left-outer-joins.md",
- "redirect_url": "/dotnet/csharp/linq/perform-left-outer-joins"
+ "redirect_url": "/dotnet/csharp/linq/standard-query-operators/join-operations"
},
{
"source_path_from_root": "/docs/csharp/programming-guide/linq-query-expressions/how-to-query-a-collection-of-objects.md",
diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index 1086a48f1f0cf..357c26f727b9a 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -30,6 +30,7 @@
| Dev Center | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Developer.DevCenter/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Developer.DevCenter-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.DevCenter_1.0.0-beta.3/sdk/devcenter/Azure.Developer.DevCenter/) |
| Device Update | NuGet [1.0.0](https://www.nuget.org/packages/Azure.IoT.DeviceUpdate/1.0.0) | [docs](/dotnet/api/overview/azure/IoT.DeviceUpdate-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.DeviceUpdate_1.0.0/sdk/deviceupdate/Azure.IoT.DeviceUpdate/) |
| Digital Twins | NuGet [1.4.0](https://www.nuget.org/packages/Azure.DigitalTwins.Core/1.4.0) | [docs](/dotnet/api/overview/azure/DigitalTwins.Core-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.DigitalTwins.Core_1.4.0/sdk/digitaltwins/Azure.DigitalTwins.Core/) |
+| Document Intelligence | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.DocumentIntelligence/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.DocumentIntelligence-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.DocumentIntelligence_1.0.0-beta.1/sdk/documentintelligence/Azure.AI.DocumentIntelligence/) |
| Document Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Document/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Translation.Document-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0/sdk/translation/Azure.AI.Translation.Document/) |
| Event Grid | NuGet [4.22.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid/4.22.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid-readme) | GitHub [4.22.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.22.0/sdk/eventgrid/Azure.Messaging.EventGrid/) |
| Event Hubs | NuGet [5.11.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.11.0) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme) | GitHub [5.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.11.0/sdk/eventhub/Azure.Messaging.EventHubs/) |
@@ -193,7 +194,7 @@
| Resource Management - Hybrid Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Kubernetes-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.Kubernetes_1.0.0-beta.4/sdk/hybridkubernetes/Azure.ResourceManager.Kubernetes/) |
| Resource Management - Hybrid Network | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.HybridNetwork/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridNetwork_1.0.0-beta.2/sdk/hybridnetwork/Azure.ResourceManager.HybridNetwork/) |
| Resource Management - IoT Central | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.0.1)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.IotCentral-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.0.1/sdk/iotcentral/Azure.ResourceManager.IotCentral/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.1.0-beta.2/sdk/iotcentral/Azure.ResourceManager.IotCentral/) |
-| Resource Management - IoT Firmware Defense | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.0.0-beta.2/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) |
+| Resource Management - IoT Firmware Defense | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.0.0/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) |
| Resource Management - IoT Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.1.1/sdk/iothub/Azure.ResourceManager.IotHub/) |
| Resource Management - Key Vault | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.KeyVault/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.KeyVault-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KeyVault_1.2.0/sdk/keyvault/Azure.ResourceManager.KeyVault/) |
| Resource Management - Kubernetes Configuration | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.KubernetesConfiguration/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.KubernetesConfiguration-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KubernetesConfiguration_1.2.0/sdk/kubernetesconfiguration/Azure.ResourceManager.KubernetesConfiguration/) |
@@ -253,7 +254,7 @@
| Resource Management - Resource Connector | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ResourceConnector/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceConnector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceConnector_1.0.0-beta.2/sdk/resourceconnector/Azure.ResourceManager.ResourceConnector/) |
| Resource Management - Resource Graph | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.0.1)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceGraph-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.0.1/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.1.0-beta.2/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/) |
| Resource Management - Resource Health | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceHealth-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.0.0/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.1.0-beta.3/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/) |
-| Resource Management - Resource Manager | NuGet [1.10.1](https://www.nuget.org/packages/Azure.ResourceManager/1.10.1)
NuGet [1.11.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager/1.11.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager-readme) | GitHub [1.10.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.10.1/sdk/resourcemanager/Azure.ResourceManager/)
GitHub [1.11.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.11.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/) |
+| Resource Management - Resource Manager | NuGet [1.10.2](https://www.nuget.org/packages/Azure.ResourceManager/1.10.2)
NuGet [1.11.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager/1.11.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager-readme) | GitHub [1.10.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.10.2/sdk/resourcemanager/Azure.ResourceManager/)
GitHub [1.11.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.11.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/) |
| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) |
| Resource Management - Resources | NuGet [1.7.0](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.7.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.7.0/sdk/resources/Azure.ResourceManager.Resources/) |
| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.5/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) |
@@ -288,7 +289,6 @@
| Azure.Communication.CallingServer | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.CallingServer/1.0.0-beta.3) | | |
| Azure.Core.Expressions.DataFactory | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.Core.Expressions.DataFactory/1.0.0-beta.6) | | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Expressions.DataFactory_1.0.0-beta.6/sdk/core/Azure.Core.Expressions.DataFactory/) |
| Communication Calling Windows Client | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.4.0)
NuGet [1.5.0-beta.3](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.5.0-beta.3) | | |
-| Unknown Display Name | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.DocumentIntelligence/1.0.0-beta.1) | | |
| Unknown Display Name | NuGet [12.0.0-beta.1](https://www.nuget.org/packages/Azure.Storage.DataMovement.Files.Shares/12.0.0-beta.1) | | |
| Unknown Display Name | NuGet [1.0.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore.Analyzers/1.0.2) | | |
| Unknown Display Name | NuGet [4.0.2945](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetCore/4.0.2945) | | |
@@ -476,7 +476,7 @@
| Microsoft.Azure.Functions.Worker.Grpc | NuGet [1.16.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Grpc/1.16.0) | | |
| Microsoft.Azure.Functions.Worker.ItemTemplates | NuGet [4.0.2945](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates/4.0.2945) | | |
| Microsoft.Azure.Functions.Worker.ProjectTemplates | NuGet [4.0.2945](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ProjectTemplates/4.0.2945) | | |
-| Microsoft.Azure.Functions.Worker.Sdk | NuGet [1.17.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk/1.17.1) | | |
+| Microsoft.Azure.Functions.Worker.Sdk | NuGet [1.17.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk/1.17.2) | | |
| Microsoft.Azure.Functions.Worker.Sdk.Analyzers | NuGet [1.2.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk.Analyzers/1.2.1) | | |
| Microsoft.Azure.Functions.Worker.Sdk.Generators | NuGet [1.2.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk.Generators/1.2.1) | | |
| Microsoft.Azure.WebJobs.CosmosDb.ChangeProcessor | NuGet [1.0.4](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.CosmosDb.ChangeProcessor/1.0.4) | | |
@@ -485,12 +485,12 @@
| Microsoft.Azure.WebJobs.Extensions.Rpc | NuGet [3.0.39](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Rpc/3.0.39) | | |
| Microsoft.Azure.WebJobs.Rpc.Core | NuGet [3.0.39](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Rpc.Core/3.0.39) | | |
| Service Bus - Message ID plugin | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.ServiceBus.MessageIdPlugin/2.0.0) | | |
-| SignalR | NuGet [1.25.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.25.0)
NuGet [1.25.0-preview1-11147](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.25.0-preview1-11147) | | GitHub [1.25.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR) |
-| SignalR - ASP.NET | NuGet [1.25.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.AspNet/1.25.0) | | GitHub [1.25.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.AspNet) |
+| SignalR | NuGet [1.25.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.25.1)
NuGet [1.25.0-preview1-11147](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.25.0-preview1-11147) | | GitHub [1.25.1](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR) |
+| SignalR - ASP.NET | NuGet [1.25.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR.AspNet/1.25.1) | | GitHub [1.25.1](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.AspNet) |
| SignalR - Benchmark | NuGet [1.0.0-preview1-10415](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Benchmark/1.0.0-preview1-10415) | | GitHub [1.0.0-preview1-10415](https://github.com/azure/azure-signalr-bench) |
-| SignalR - Protocols | NuGet [1.25.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Protocols/1.25.0) | | GitHub [1.25.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Protocols) |
+| SignalR - Protocols | NuGet [1.25.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Protocols/1.25.1) | | GitHub [1.25.1](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Protocols) |
| SignalR - Serverless Protocols | NuGet [1.10.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Serverless.Protocols/1.10.0) | | GitHub [1.10.0](https://github.com/Azure/azure-functions-signalrservice-extension/tree/v1.2.0/src/Microsoft.Azure.SignalR.Serverless.Protocols) |
-| SignalR Management | NuGet [1.25.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Management/1.25.0) | | GitHub [1.25.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Management) |
+| SignalR Management | NuGet [1.25.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Management/1.25.1) | | GitHub [1.25.1](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Management) |
| SQL Database Elastic Scale Client | NuGet [2.4.1](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.ElasticScale.Client/2.4.1) | | GitHub [2.4.1](https://github.com/Azure/elastic-db-tools/tree/v2.3.0/Src/ElasticScale.Client) |
| SQL Database Elastic Scale Service SplitMerge | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.ElasticScale.Service.SplitMerge/1.2.0) | | |
| SQL Database Jobs | NuGet [0.8.3362.1](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.Jobs/0.8.3362.1) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index ce35cd73f495e..248cb0be804f1 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -30,6 +30,7 @@
| Dev Center | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Developer.DevCenter/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Developer.DevCenter-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.DevCenter_1.0.0-beta.3/sdk/devcenter/Azure.Developer.DevCenter/) |
| Device Update | NuGet [1.0.0](https://www.nuget.org/packages/Azure.IoT.DeviceUpdate/1.0.0) | [docs](/dotnet/api/overview/azure/IoT.DeviceUpdate-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.DeviceUpdate_1.0.0/sdk/deviceupdate/Azure.IoT.DeviceUpdate/) |
| Digital Twins | NuGet [1.4.0](https://www.nuget.org/packages/Azure.DigitalTwins.Core/1.4.0) | [docs](/dotnet/api/overview/azure/DigitalTwins.Core-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.DigitalTwins.Core_1.4.0/sdk/digitaltwins/Azure.DigitalTwins.Core/) |
+| Document Intelligence | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.DocumentIntelligence/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.DocumentIntelligence-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.DocumentIntelligence_1.0.0-beta.1/sdk/documentintelligence/Azure.AI.DocumentIntelligence/) |
| Document Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Document/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Translation.Document-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0/sdk/translation/Azure.AI.Translation.Document/) |
| Event Grid | NuGet [4.22.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid/4.22.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid-readme) | GitHub [4.22.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.22.0/sdk/eventgrid/Azure.Messaging.EventGrid/) |
| Event Hubs | NuGet [5.11.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.11.0) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme) | GitHub [5.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.11.0/sdk/eventhub/Azure.Messaging.EventHubs/) |
@@ -196,7 +197,7 @@
| Resource Management - Hybrid Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Kubernetes-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.Kubernetes_1.0.0-beta.4/sdk/hybridkubernetes/Azure.ResourceManager.Kubernetes/) |
| Resource Management - Hybrid Network | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.HybridNetwork/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridNetwork_1.0.0-beta.2/sdk/hybridnetwork/Azure.ResourceManager.HybridNetwork/) |
| Resource Management - IoT Central | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.0.1)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.IotCentral-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.0.1/sdk/iotcentral/Azure.ResourceManager.IotCentral/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.1.0-beta.2/sdk/iotcentral/Azure.ResourceManager.IotCentral/) |
-| Resource Management - IoT Firmware Defense | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.0.0-beta.2/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) |
+| Resource Management - IoT Firmware Defense | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.0.0/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) |
| Resource Management - IoT Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.1.1/sdk/iothub/Azure.ResourceManager.IotHub/) |
| Resource Management - Key Vault | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.KeyVault/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.KeyVault-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KeyVault_1.2.0/sdk/keyvault/Azure.ResourceManager.KeyVault/) |
| Resource Management - Kubernetes Configuration | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.KubernetesConfiguration/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.KubernetesConfiguration-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KubernetesConfiguration_1.2.0/sdk/kubernetesconfiguration/Azure.ResourceManager.KubernetesConfiguration/) |
@@ -256,7 +257,7 @@
| Resource Management - Resource Connector | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ResourceConnector/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceConnector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceConnector_1.0.0-beta.2/sdk/resourceconnector/Azure.ResourceManager.ResourceConnector/) |
| Resource Management - Resource Graph | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.0.1)
NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceGraph-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.0.1/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/)
GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.1.0-beta.2/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/) |
| Resource Management - Resource Health | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceHealth-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.0.0/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.1.0-beta.3/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/) |
-| Resource Management - Resource Manager | NuGet [1.10.1](https://www.nuget.org/packages/Azure.ResourceManager/1.10.1)
NuGet [1.11.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager/1.11.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager-readme) | GitHub [1.10.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.10.1/sdk/resourcemanager/Azure.ResourceManager/)
GitHub [1.11.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.11.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/) |
+| Resource Management - Resource Manager | NuGet [1.10.2](https://www.nuget.org/packages/Azure.ResourceManager/1.10.2)
NuGet [1.11.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager/1.11.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager-readme) | GitHub [1.10.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.10.2/sdk/resourcemanager/Azure.ResourceManager/)
GitHub [1.11.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.11.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/) |
| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) |
| Resource Management - Resources | NuGet [1.7.0](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.7.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.7.0/sdk/resources/Azure.ResourceManager.Resources/) |
| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.5/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) |
diff --git a/docs/core/diagnostics/built-in-metrics-system-net.md b/docs/core/diagnostics/built-in-metrics-system-net.md
index a5ce5b4e082db..738520aecb7b2 100644
--- a/docs/core/diagnostics/built-in-metrics-system-net.md
+++ b/docs/core/diagnostics/built-in-metrics-system-net.md
@@ -105,7 +105,7 @@ Available starting in: .NET 8
| Attribute | Type | Description | Examples | Presence |
|---|---|---|---|---|
-| `error.type` | string | Request failure reason: one of [HTTP Request errors](https://learn.microsoft.com/dotnet/api/system.net.http.httprequesterror?view=net-8.0), or a full exception type, or an HTTP 4xx/5xx status code. | `System.Threading.Tasks.TaskCanceledException`; `name_resolution_error`; `secure_connection_error` ; `404` | If request has failed. |
+| `error.type` | string | Request failure reason: one of the [HTTP request errors](xref:System.Net.Http.HttpRequestError), or a full exception type, or an HTTP 4xx/5xx status code. | `System.Threading.Tasks.TaskCanceledException`; `name_resolution_error`; `secure_connection_error` ; `404` | If request has failed. |
| `http.request.method` | string | HTTP request method. | `GET`; `POST`; `HEAD` | Always |
| `http.response.status_code` | int | [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). | `200` | If one was received. |
| `network.protocol.version` | string | Version of the application layer protocol used. | `1.1`; `2` | If response was received. |
diff --git a/docs/core/extensions/dependency-injection-guidelines.md b/docs/core/extensions/dependency-injection-guidelines.md
index 61df2c5afe8c3..b44705d49a8a6 100644
--- a/docs/core/extensions/dependency-injection-guidelines.md
+++ b/docs/core/extensions/dependency-injection-guidelines.md
@@ -207,7 +207,7 @@ For more information, see [Scope validation](dependency-injection.md#scope-valid
When using scoped services, if you're not creating a scope or within an existing scope - the service becomes a singleton.
-:::code language="csharp" source="snippets/configuration/di-anti-patterns/Program.cs" id="ScopedServiceBecomesSingleton" highlight="13-14":::
+:::image type="content" source="media/scoped-services-becomes-singleton.png" lightbox="media/scoped-services-becomes-singleton.png" alt-text="Anti-pattern: Scoped service becomes singleton. Do not copy!":::
In the preceding code, `Bar` is retrieved within an , which is correct. The anti-pattern is the retrieval of `Bar` outside of the scope, and the variable is named `avoid` to show which example retrieval is incorrect.
diff --git a/docs/core/extensions/logging.md b/docs/core/extensions/logging.md
index 8cab33a216dcb..ec96d83d5d6ec 100644
--- a/docs/core/extensions/logging.md
+++ b/docs/core/extensions/logging.md
@@ -270,7 +270,7 @@ The following algorithm is used for each provider when an `ILogger` is created f
## Log category
-When an `ILogger` object is created, a *category* is specified. That category is included with each log message created by that instance of `ILogger`. The category string is arbitrary, but the convention is to use the class name. For example, in an application with a service defined like the following object, the category might be `"Example.DefaultService"`:
+When an `ILogger` object is created, a *category* is specified. That category is included with each log message created by that instance of `ILogger`. The category string is arbitrary, but the convention is to use the fully qualified class name. For example, in an application with a service defined like the following object, the category might be `"Example.DefaultService"`:
```csharp
namespace Example
@@ -287,7 +287,7 @@ namespace Example
}
```
-To explicitly specify the category, call :
+If further categorization is desired, the convention is to use a hierarchical name by appending a subcategory to the fully qualified class name, and explicitly specify the category using :
```csharp
namespace Example
@@ -297,7 +297,7 @@ namespace Example
private readonly ILogger _logger;
public DefaultService(ILoggerFactory loggerFactory) =>
- _logger = loggerFactory.CreateLogger("CustomCategory");
+ _logger = loggerFactory.CreateLogger("Example.DefaultService.CustomCategory");
// ...
}
diff --git a/docs/core/porting/versioning-sdk-msbuild-vs.md b/docs/core/porting/versioning-sdk-msbuild-vs.md
index cdcf6ea66a75e..d1d14874edfac 100644
--- a/docs/core/porting/versioning-sdk-msbuild-vs.md
+++ b/docs/core/porting/versioning-sdk-msbuild-vs.md
@@ -40,13 +40,14 @@ The support timeframe for the SDK typically matches that of the Visual Studio ve
| 7.0.4xx | 17.7 | Aug '23 | May '242 |
| 8.0.1xx | 17.8 | Nov '23 | TBD |
| 8.0.2xx | 17.93 | Feb '24 | TBD |
+| 8.0.3xx | 17.10 | May '24 | TBD |
> [!NOTE]
> Targeting `net6.0` is officially supported in Visual Studio 17.0+ only.
> Targeting `net7.0` is officially supported in Visual Studio 17.4+ only.
> Targeting `net8.0` is officially supported in Visual Studio 17.8+ only.
>
-> 1.1xx .NET SDK feature bands are supported throughout the lifecycle of major .NET versions. During the extended support period, support is limited to security fixes and minimal high-priority non-security fixes for Linux only. To learn more about the reasoning for this extended support, see [Source-build support](https://github.com/dotnet/source-build#support).
+> 1 .1xx .NET SDK feature bands are supported throughout the lifecycle of major .NET versions. During the extended support period, support is limited to security fixes and minimal high-priority non-security fixes for Linux only. To learn more about the reasoning for this extended support, see [Source-build support](https://github.com/dotnet/source-build#support).
>
> 2 .4xx .NET SDK feature bands are supported for the life of the matching runtime as stand-alone installs.
>
@@ -76,6 +77,7 @@ Starting with .NET SDK 7.0.100 and .NET SDK 6.0.300, a policy has been put into
| 7.0.400 | 17.7 | 17.4 | Net7.0 | Net7.0 |
| 8.0.100 | 17.8 | 17.7 | Net7.0 | Net8.0 |
| 8.0.200 | 17.9 | 17.8 | Net8.0 | Net8.0 |
+| 8.0.300 | 17.10 | 17.8 | Net8.0 | Net8.0 |
> [!NOTE]
> The table depicts how these versioning rules will be applied going forward, starting with .NET SDK 7.0.100 and .NET SDK 6.0.300. It also depicts how the policy would have applied to previously shipped versions of the .NET SDK, had it been in place then. However, the requirements for previous versions of the SDK don't change—that is, the minimum required version of Visual Studio for .NET SDK 6.0.100 or 6.0.200 remains 16.10.
@@ -90,15 +92,9 @@ Major versions of the .NET SDK are typically released within a few days of a Vis
| SDK preview version | Visual Studio version |
|-|-|
-| 8.0.100 Preview 1 | 17.6 Preview 1 |
-| 8.0.100 Preview 2 | 17.6 Preview 2 |
-| 8.0.100 Preview 3 | 17.6 Preview 3 |
-| 8.0.100 Preview 4 | 17.7 Preview 1 |
-| 8.0.100 Preview 5 | 17.7 Preview 2 |
-| 8.0.100 Preview 6 | 17.7 Preview 3 |
-| 8.0.100 Preview 7 | 17.8 Preview 1 |
-| 8.0.100 Preview RC 1 | 17.8 Preview 2 |
-| 8.0.100 Preview RC 2 | 17.8 Preview 3 |
+| 9.0.100 Preview 1 | 17.10 Preview 1 |
+| 9.0.100 Preview 2 | 17.10 Preview 2 |
+| 9.0.100 Preview 3 | 17.10 Preview 3 |
## Reference
diff --git a/docs/core/testing/mstest-analyzers/mstest0007.md b/docs/core/testing/mstest-analyzers/mstest0007.md
index cd36dd46d4025..b340cb2016bb2 100644
--- a/docs/core/testing/mstest-analyzers/mstest0007.md
+++ b/docs/core/testing/mstest-analyzers/mstest0007.md
@@ -9,7 +9,7 @@ helpviewer_keywords:
- UseAttributeOnTestMethodAnalyzer
- MSTEST0007
author: cvpoienaru
-ms.author: codrinpoienaru
+ms.author: copoiena
---
# MSTEST0007: Use test attributes only on test methods
diff --git a/docs/core/testing/mstest-analyzers/mstest0010.md b/docs/core/testing/mstest-analyzers/mstest0010.md
index 891113a6ab0d0..e9750d17922c8 100644
--- a/docs/core/testing/mstest-analyzers/mstest0010.md
+++ b/docs/core/testing/mstest-analyzers/mstest0010.md
@@ -30,7 +30,8 @@ A method marked with `[ClassInitialize]` should have valid layout.
## Rule description
Methods marked with `[ClassInitialize]` should follow the following layout to be valid:
-
+
+- it can't be declared on a generic class without the `InheritanceBehavior` mode is set
- it should be `public`
- it should be `static`
- it should not be `async void`
diff --git a/docs/core/testing/mstest-analyzers/mstest0011.md b/docs/core/testing/mstest-analyzers/mstest0011.md
index 3570d01c4f62e..587e3be81084e 100644
--- a/docs/core/testing/mstest-analyzers/mstest0011.md
+++ b/docs/core/testing/mstest-analyzers/mstest0011.md
@@ -31,6 +31,7 @@ A method marked with `[ClassCleanup]` should have valid layout.
Methods marked with `[ClassCleanup]` should follow the following layout to be valid:
+- it can't be declared on a generic class without the `InheritanceBehavior` mode is set
- it should be `public`
- it should be `static`
- it should not be `async void`
diff --git a/docs/core/testing/mstest-analyzers/mstest0012.md b/docs/core/testing/mstest-analyzers/mstest0012.md
index e1440477c3483..c2d3239a2a311 100644
--- a/docs/core/testing/mstest-analyzers/mstest0012.md
+++ b/docs/core/testing/mstest-analyzers/mstest0012.md
@@ -31,6 +31,7 @@ A method marked with `[AssemblyInitialize]` should have valid layout.
Methods marked with `[AssemblyInitialize]` should follow the following layout to be valid:
+- it can't be declared on a generic class
- it should be `public`
- it should be `static`
- it should not be `async void`
diff --git a/docs/core/testing/mstest-analyzers/mstest0013.md b/docs/core/testing/mstest-analyzers/mstest0013.md
index 5084719c06486..243e2f72347c7 100644
--- a/docs/core/testing/mstest-analyzers/mstest0013.md
+++ b/docs/core/testing/mstest-analyzers/mstest0013.md
@@ -31,6 +31,7 @@ A method marked with `[AssemblyCleanup]` should have valid layout.
Methods marked with `[AssemblyCleanup]` should follow the following layout to be valid:
+- it can't be declared on a generic class
- it should be `public`
- it should be `static`
- it should not be `async void`
diff --git a/docs/core/testing/mstest-analyzers/mstest0015.md b/docs/core/testing/mstest-analyzers/mstest0015.md
new file mode 100644
index 0000000000000..8b50bfa609fc3
--- /dev/null
+++ b/docs/core/testing/mstest-analyzers/mstest0015.md
@@ -0,0 +1,40 @@
+---
+title: "MSTEST0015: Test method should not be ignored"
+description: "Learn about code analysis rule MSTEST0015: Test method should not be ignored"
+ms.date: 03/01/2024
+f1_keywords:
+- MSTEST0015
+- TestMethodShouldNotBeIgnored
+helpviewer_keywords:
+- TestMethodShouldNotBeIgnored
+- MSTEST0015
+author: engyebrahim
+ms.author: enjieid
+---
+# MSTEST0015: Test method should not be ignored
+
+| Property | Value |
+|-------------------------------------|----------------------------------------------|
+| **Rule ID** | MSTEST0015 |
+| **Title** | Test method should not be ignored |
+| **Category** | Design |
+| **Fix is breaking or non-breaking** | Non-breaking |
+| **Enabled by default** | Yes |
+| **Default severity** | Info |
+| **Introduced in version** | 3.3.0 |
+
+## Cause
+
+A Test method should not be ignored.
+
+## Rule description
+
+Test methods should not be ignored (marked with `[Ignore]`).
+
+## How to fix violations
+
+Ensure that the test method isn't ignored.
+
+## When to suppress warnings
+
+Do not suppress a warning from this rule. If you ignore this rule, test method will be ignored.
diff --git a/docs/csharp/misc/cs0225.md b/docs/csharp/misc/cs0225.md
index 63defd481ce16..d1a65431a851a 100644
--- a/docs/csharp/misc/cs0225.md
+++ b/docs/csharp/misc/cs0225.md
@@ -10,7 +10,7 @@ ms.assetid: 0b0cd72b-c47a-44d1-9b27-d1a1fad06807
---
# Compiler Error CS0225
-The params parameter must be a single dimensional array
+The params parameter must be a single-dimensional array
When using the [params](../language-reference/keywords/method-parameters.md#params-modifier) keyword, you must specify a single-dimensional array of the data type. For more information, see [Methods](../programming-guide/classes-and-structs/methods.md).
diff --git a/docs/csharp/toc.yml b/docs/csharp/toc.yml
index f9576ab172e09..96082e48d5db6 100644
--- a/docs/csharp/toc.yml
+++ b/docs/csharp/toc.yml
@@ -222,27 +222,29 @@ items:
items:
- name: Overview
href: linq/standard-query-operators/index.md
- - name: Filtering Data
+ - name: Filter data
href: linq/standard-query-operators/filtering-data.md
- - name: Projection Operations
+ - name: Projection operations
href: linq/standard-query-operators/projection-operations.md
- - name: Set Operations
+ - name: Set operations
href: linq/standard-query-operators/set-operations.md
- - name: Sorting Data
+ - name: Sort data
href: linq/standard-query-operators/sorting-data.md
- - name: Quantifier Operations
+ - name: Quantifier operations
href: linq/standard-query-operators/quantifier-operations.md
- - name: Partitioning Data
+ - name: Partition data
href: linq/standard-query-operators/partitioning-data.md
- - name: Converting Data Types
+ - name: Convert data types
href: linq/standard-query-operators/converting-data-types.md
- - name: Join Operations
+ - name: Join operations
href: linq/standard-query-operators/join-operations.md
- - name: Grouping Data
+ - name: Group data
href: linq/standard-query-operators/grouping-data.md
- name: LINQ to objects
href: linq/query-a-collection-of-objects.md
- - name: "Walkthrough: Writing Queries in C# (LINQ)"
+ - name: Store the results of a query in memory
+ href: linq/store-the-results-of-a-query-in-memory.md
+ - name: "Walkthrough: Writing queries in C#"
href: programming-guide/concepts/linq/walkthrough-writing-queries-linq.md
- name: LINQ and file directories
items:
@@ -250,19 +252,19 @@ items:
href: programming-guide/concepts/linq/linq-and-file-directories.md
- name: "How to query for files with a specified attribute or name"
href: programming-guide/concepts/linq/how-to-query-for-files-with-a-specified-attribute-or-name.md
- - name: "How to group files by extension (LINQ)"
+ - name: "How to group files by extension"
href: programming-guide/concepts/linq/how-to-group-files-by-extension-linq.md
- - name: "How to query for the total number of bytes in a set of folders (LINQ)"
+ - name: "How to query for the total number of bytes in a set of folders"
href: programming-guide/concepts/linq/how-to-query-for-the-total-number-of-bytes-in-a-set-of-folders-linq.md
- - name: "How to compare the contents of two folders (LINQ)"
+ - name: "How to compare the contents of two folders"
href: programming-guide/concepts/linq/how-to-compare-the-contents-of-two-folders-linq.md
- - name: "How to query for the largest file or files in a directory tree (LINQ)"
+ - name: "How to query for the largest file or files in a directory tree"
href: programming-guide/concepts/linq/how-to-query-for-the-largest-file-or-files-in-a-directory-tree-linq.md
- - name: "How to query for duplicate files in a directory tree (LINQ)"
+ - name: "How to query for duplicate files in a directory tree"
href: programming-guide/concepts/linq/how-to-query-for-duplicate-files-in-a-directory-tree-linq.md
- - name: "How to query the contents of files in a folder (LINQ)"
+ - name: "How to query the contents of files in a folder"
href: programming-guide/concepts/linq/how-to-query-the-contents-of-files-in-a-folder-lin.md
- - name: How to articles
+ - name: How-to articles
items:
- name: How to return a query from a method
href: linq/return-a-query-from-a-method.md
@@ -272,29 +274,29 @@ items:
href: linq/handle-null-values-in-query-expressions.md
- name: Handle exceptions in query expressions
href: linq/handle-exceptions-in-query-expressions.md
- - name: "How to count occurrences of a word in a string (LINQ)"
+ - name: "How to count occurrences of a word in a string"
href: programming-guide/concepts/linq/how-to-count-occurrences-of-a-word-in-a-string-linq.md
- - name: "How to query for sentences that contain a specified set of words (LINQ)"
+ - name: "How to query for sentences that contain a specified set of words"
href: programming-guide/concepts/linq/how-to-query-for-sentences-that-contain-a-specified-set-of-words-linq.md
- - name: "How to query for characters in a string (LINQ)"
+ - name: "How to query for characters in a string"
href: programming-guide/concepts/linq/how-to-query-for-characters-in-a-string-linq.md
- name: "How to combine LINQ queries with regular expressions"
href: programming-guide/concepts/linq/how-to-combine-linq-queries-with-regular-expressions.md
- - name: "How to find the set difference between two lists (LINQ)"
+ - name: "How to find the set difference between two lists"
href: programming-guide/concepts/linq/how-to-find-the-set-difference-between-two-lists-linq.md
- - name: "How to sort or filter text data by any word or field (LINQ)"
+ - name: "How to sort or filter text data by any word or field"
href: programming-guide/concepts/linq/how-to-sort-or-filter-text-data-by-any-word-or-field-linq.md
- - name: "How to reorder the fields of a delimited file (LINQ)"
+ - name: "How to reorder the fields of a delimited file"
href: programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file-linq.md
- - name: "How to combine and compare string collections (LINQ)"
+ - name: "How to combine and compare string collections"
href: programming-guide/concepts/linq/how-to-combine-and-compare-string-collections-linq.md
- - name: "How to populate object collections from multiple sources (LINQ)"
+ - name: "How to populate object collections from multiple sources"
href: programming-guide/concepts/linq/how-to-populate-object-collections-from-multiple-sources-linq.md
- - name: "How to split a file into many files by using groups (LINQ)"
+ - name: "How to split a file into many files by using groups"
href: programming-guide/concepts/linq/how-to-split-a-file-into-many-files-by-using-groups-linq.md
- - name: "How to join content from dissimilar files (LINQ)"
+ - name: "How to join content from dissimilar files"
href: programming-guide/concepts/linq/how-to-join-content-from-dissimilar-files-linq.md
- - name: "How to compute column values in a CSV text file (LINQ)"
+ - name: "How to compute column values in a CSV text file"
href: programming-guide/concepts/linq/how-to-compute-column-values-in-a-csv-text-file-linq.md
- name: "How to use expression trees to build dynamic queries"
href: programming-guide/concepts/linq/how-to-use-expression-trees-to-build-dynamic-queries.md
@@ -342,21 +344,21 @@ items:
href: iterators.md
- name: Delegates & events
items:
- - name: Introduction to Delegates
+ - name: Introduction to delegates
href: delegates-overview.md
- name: System.Delegate and the delegate keyword
href: delegate-class.md
- - name: Strongly Typed Delegates
+ - name: Strongly typed delegates
href: delegates-strongly-typed.md
- - name: Common Patterns for Delegates
+ - name: Common patterns for delegates
href: delegates-patterns.md
- name: Introduction to events
href: events-overview.md
- name: Standard .NET event patterns
href: event-pattern.md
- - name: The Updated .NET Event Pattern
+ - name: The updated .NET event pattern
href: modern-events.md
- - name: Distinguishing Delegates and Events
+ - name: Distinguish delegates and events
href: distinguish-delegates-events.md
- name: Versioning
href: versioning.md
@@ -379,7 +381,7 @@ items:
href: how-to/how-to-catch-a-non-cls-exception.md
- name: Advanced topics
items:
- - name: Reflection and Attributes
+ - name: Reflection and attributes
items:
- name: Overview
displayName: attributes, reflection
diff --git a/docs/fundamentals/runtime-libraries/system-data-datacolumn-expression.md b/docs/fundamentals/runtime-libraries/system-data-datacolumn-expression.md
index 1510ac3c01e7e..cf10b99475a18 100644
--- a/docs/fundamentals/runtime-libraries/system-data-datacolumn-expression.md
+++ b/docs/fundamentals/runtime-libraries/system-data-datacolumn-expression.md
@@ -209,11 +209,14 @@ The following functions are also supported.
This function converts an expression to a specified .NET type.
-| | **Value** |
-|-------------|-----------------------------------------------------------|
-| Syntax | `Convert(expression, type)` |
-| Arguments | `expression` -- The expression to convert. |
-| | `type` -- .NET type to which the value will be converted. |
+```csharp
+Convert(expression, type)
+```
+
+| Argument | Description |
+|--------------|-------------------------------------------------|
+| `expression` | The expression to convert. |
+| `type` | .NET type to which the value will be converted. |
Example: `myDataColumn.Expression="Convert(total, 'System.Int32')"`
@@ -223,10 +226,13 @@ All conversions are valid with the following exceptions: `Boolean` can be coerce
This function gets the length of a string.
-| | **Value** |
-|-------------|---------------------------------------------|
-| Syntax | `LEN(expression)` |
-| Arguments | `expression` -- The string to be evaluated. |
+```csharp
+LEN(expression)
+```
+
+| Arguments | Description |
+|--------------|-----------------------------|
+| `expression` | The string to be evaluated. |
Example: `myDataColumn.Expression="Len(ItemName)"`
@@ -234,11 +240,14 @@ Example: `myDataColumn.Expression="Len(ItemName)"`
This function checks an expression and either returns the checked expression or a replacement value.
-| | **Value** |
-|-----------|--------------------------------------------------------------------------------|
-| Syntax | `ISNULL(expression, replacementvalue)` |
-| Arguments | `expression` -- The expression to check. |
-| | `replacementvalue` -- If expression is `null`, `replacementvalue` is returned. |
+```csharp
+ISNULL(expression, replacementvalue)
+```
+
+| Arguments | Description |
+|--------------------|----------------------------------------------------------|
+| `expression` | The expression to check. |
+| `replacementvalue` | If expression is `null`, `replacementvalue` is returned. |
Example: `myDataColumn.Expression="IsNull(price, -1)"`
@@ -246,12 +255,15 @@ Example: `myDataColumn.Expression="IsNull(price, -1)"`
This function gets one of two values depending on the result of a logical expression.
-| | **Value** |
-|-----------|----------------------------------------------------------------|
-| Syntax | `IIF(expr, truepart, falsepart)` |
-| Arguments | `expr` -- The expression to evaluate. |
-| | `truepart` -- The value to return if the expression is true. |
-| | `falsepart` -- The value to return if the expression is false. |
+```csharp
+IIF(expr, truepart, falsepart)
+```
+
+| Arguments | Description |
+|-------------|-------------------------------------------------|
+| `expr` | The expression to evaluate. |
+| `truepart` | The value to return if the expression is true. |
+| `falsepart` | The value to return if the expression is false. |
Example: `myDataColumn.Expression = "IIF(total>1000, 'expensive', 'dear')`
@@ -259,21 +271,27 @@ Example: `myDataColumn.Expression = "IIF(total>1000, 'expensive', 'dear')`
This function removes all leading and trailing blank characters like \r, \n, \t, and ' '.
-| | **Value** |
-|-----------|-----------------------------------------|
-| Syntax | `TRIM(expression)` |
-| Arguments | `expression` -- The expression to trim. |
+```csharp
+TRIM(expression)
+```
+
+| Argument | Description |
+|--------------|-------------------------|
+| `expression` | The expression to trim. |
### `SUBSTRING`
This function gets a substring of a specified length, starting at a specified point in the string.
-| | **Value** |
-|-----------|---------------------------------------------------------------|
-| Syntax | `SUBSTRING(expression, start, length)` |
-| Arguments | `expression`: The source string for the substring. |
-| | `start`: Integer that specifies where the substring starts. |
-| | `length`: Integer that specifies the length of the substring. |
+```csharp
+SUBSTRING(expression, start, length)
+```
+
+| Argument | Description |
+|--------------|-----------------------------------------------------|
+| `expression` | The source string for the substring |
+| `start` | Integer that specifies where the substring starts. |
+| `length` | Integer that specifies the length of the substring. |
Example: `myDataColumn.Expression = "SUBSTRING(phone, 7, 8)"`
diff --git a/docs/iot/debugging.md b/docs/iot/debugging.md
index 1027afc14ead1..61d191c300f53 100644
--- a/docs/iot/debugging.md
+++ b/docs/iot/debugging.md
@@ -96,6 +96,7 @@ Notice the following:
"program": "~/dotnet/dotnet",
"args": ["~/sample/sample.dll"],
"cwd": "~/sample",
+ "justMyCode": false,
"stopAtEntry": false,
"console": "internalConsole",
"pipeTransport": {
@@ -114,6 +115,7 @@ Notice the following:
- `program` is the path to the .NET runtime on the device.
- `args` is the path to the assembly to debug on the device.
- `cwd` is the working directory to use when launching the app on the device.
+- `justMyCode` is set to `false` to ensure that the debugger breaks on breakpoints in the app's code.
- `pipeProgram` is the path to an SSH client on the local machine.
- `pipeArgs` are the parameters to be passed to the SSH client. Be sure to specify the password parameter, as well as the `pi` user in the format `@`.
diff --git a/docs/machine-learning/how-to-guides/ner-dataset-guide.md b/docs/machine-learning/how-to-guides/ner-dataset-guide.md
index 9f0da2879f438..726ac6aedc98f 100644
--- a/docs/machine-learning/how-to-guides/ner-dataset-guide.md
+++ b/docs/machine-learning/how-to-guides/ner-dataset-guide.md
@@ -1,6 +1,6 @@
---
title: How to format data for Named Entity Recognition (NER)
-description: Learn how to format data for Named Entity Recognition (NER) scenario in Model Builder
+description: Learn how to format data for the Named Entity Recognition (NER) scenario in Model Builder
ms.date: 02/23/2024
author: zewditu
ms.author: zehailem
@@ -13,5 +13,5 @@ ms.topic: how-to
NER dataset shapes:
-- **Key information file:** Containing a list of entities, which serves as key information for the training data.
-- **Training data:** Training data consists of a file (.txt, .tsv) containing columns separated by TAB. One of these columns is a sentence column, while the others represent labels for tokens within that sentence column.
+- **Key information file:** The key information file contains a list of entities, which serves as key information for the training data.
+- **Training data:** Training data consists of a file (.txt, .tsv) containing columns separated by a Tab character. One of the columns is a sentence column, while the others represent labels for tokens within the sentence column.
diff --git a/docs/machine-learning/toc.yml b/docs/machine-learning/toc.yml
index 63684d4c0b5ff..4e5cb0bb7ccf1 100644
--- a/docs/machine-learning/toc.yml
+++ b/docs/machine-learning/toc.yml
@@ -1,3 +1,4 @@
+items:
- name: ML.NET
href: index.yml
- name: Overview
@@ -6,7 +7,7 @@
items:
- name: The ML.NET Model Builder tool
href: automate-training-with-model-builder.md
- - name: The ML.NET Command-Line interface
+ - name: The ML.NET command-line interface
href: automate-training-with-cli.md
- name: API
items:
@@ -47,7 +48,7 @@
href: tutorials/iris-clustering.md
- name: Recommend movies (matrix factorization)
href: tutorials/movie-recommendation.md
- - name: Image Classification (transfer learning)
+ - name: Image classification (transfer learning)
href: tutorials/image-classification-api-transfer-learning.md
- name: Classify images (model composition)
href: tutorials/image-classification.md
@@ -55,7 +56,7 @@
href: tutorials/time-series-demand-forecasting.md
- name: Call-volume spikes (anomaly detection)
href: tutorials/phone-calls-anomaly-detection.md
- - name: Product Sales Analysis (anomaly detection)
+ - name: Product sales analysis (anomaly detection)
href: tutorials/sales-anomaly-detection.md
- name: Detect objects in images (object detection)
href: tutorials/object-detection-onnx.md
@@ -93,6 +94,8 @@
href: how-to-guides/install-gpu-model-builder.md
- name: Install the CLI
href: how-to-guides/install-ml-net-cli.md
+ - name: Format data for named entity recognition
+ href: how-to-guides/ner-dataset-guide.md
- name: API
items:
- name: Install extra dependencies
@@ -121,7 +124,7 @@
href: how-to-guides/save-load-machine-learning-models-ml-net.md
- name: Use a model to make predictions
href: how-to-guides/machine-learning-model-predictions-ml-net.md
- - name: Re-train a model
+ - name: Retrain a model
href: how-to-guides/retrain-model-ml-net.md
- name: Deploy a model to Azure Functions
href: how-to-guides/serve-model-serverless-azure-functions-ml-net.md
@@ -131,9 +134,9 @@
href: /azure/machine-learning/how-to-use-automl-onnx-model-dotnet?toc=/dotnet/machine-learning/how-to-guides/toc.json&bc=/dotnet/machine-learning/how-to-guides/toc.json
- name: Reference
items:
- - name: ML.NET API Reference
+ - name: ML.NET API reference
href: ../../api/index.md?view=ml-dotnet&preserve-view=true
- - name: ML.NET API Preview API Reference
+ - name: ML.NET API preview API reference
href: ../../api/index.md?view=ml-dotnet-preview&preserve-view=true
- name: CLI reference
href: reference/ml-net-cli-reference.md
diff --git a/docs/orleans/streaming/streams-quick-start.md b/docs/orleans/streaming/streams-quick-start.md
index 1ea725d09b6bc..be863bc409526 100644
--- a/docs/orleans/streaming/streams-quick-start.md
+++ b/docs/orleans/streaming/streams-quick-start.md
@@ -117,7 +117,7 @@ TimeSpan.FromMilliseconds(1_000));
## Subscribe to and receive streaming data
-For receiving data, you can use implicit/explicit subscriptions, which are described in more detail [here](https://learn.microsoft.com/dotnet/orleans/streaming/streams-programming-apis?pivots=orleans-7-0#explicit-and-implicit-subscriptions). This example uses implicit subscriptions, which are easier. When a grain type wants to implicitly subscribe to a stream, it uses the attribute [[ImplicitStreamSubscription(namespace)]](xref:Orleans.ImplicitStreamSubscriptionAttribute).
+For receiving data, you can use implicit and explicit subscriptions, which are described in more detail at [Explicit and implicit subscriptions](streams-programming-apis.md#explicit-and-implicit-subscriptions). This example uses implicit subscriptions, which are easier. When a grain type wants to implicitly subscribe to a stream, it uses the attribute [[ImplicitStreamSubscription(namespace)]](xref:Orleans.ImplicitStreamSubscriptionAttribute).
For your case, define a `ReceiverGrain` like this:
@@ -146,7 +146,7 @@ var streamId = StreamId.Create("RANDOMDATA", guid);
var stream = streamProvider.GetStream(streamId);
// Set our OnNext method to the lambda which simply prints the data.
-// This doesn't make new subscriptions, because we are using implicit
+// This doesn't make new subscriptions, because we are using implicit
// subscriptions via [ImplicitStreamSubscription].
await stream.SubscribeAsync(
async (data, token) =>
@@ -173,7 +173,7 @@ var streamProvider = GetStreamProvider("SMSProvider");
var stream = streamProvider.GetStream(guid, "RANDOMDATA");
// Set our OnNext method to the lambda which simply prints the data.
-// This doesn't make new subscriptions, because we are using implicit
+// This doesn't make new subscriptions, because we are using implicit
// subscriptions via [ImplicitStreamSubscription].
await stream.SubscribeAsync(
async (data, token) =>
diff --git a/docs/whats-new/dotnet-docs-mod2.md b/docs/whats-new/dotnet-docs-mod2.md
index c35a8aa63c851..082c6a61159e3 100644
--- a/docs/whats-new/dotnet-docs-mod2.md
+++ b/docs/whats-new/dotnet-docs-mod2.md
@@ -1,140 +1,99 @@
---
-title: ".NET docs: What's new for November 2023"
-description: "What's new in the .NET docs for November 2023."
-ms.custom: November-2023
-ms.date: 12/01/2023
+title: ".NET docs: What's new for February 2024"
+description: "What's new in the .NET docs for February 2024."
+ms.custom: February-2024
+ms.date: 03/01/2024
---
-# .NET docs: What's new for November 2023
+# .NET docs: What's new for February 2024
-Welcome to what's new in the .NET docs for November 2023. This article lists some of the major changes to docs during this period.
-
-## .NET security
-
-### Updated articles
-
-- [Cross-Platform Cryptography in .NET](../standard/security/cross-platform-cryptography.md) - Update x-plat cryptography to cover tvOS and MacCatalyst
+Welcome to what's new in the .NET docs for February 2024. This article lists some of the major changes to docs during this period.
## .NET breaking changes
### New articles
-- [Enumerable.Sum throws new OverflowException for some inputs](../core/compatibility/core-libraries/8.0/enumerable-sum.md)
-- [ProcessStartInfo.WindowStyle honored when UseShellExecute is false](../core/compatibility/core-libraries/8.0/processstartinfo-windowstyle.md)
-- [PublishedTrimmed projects fail reflection-based serialization](../core/compatibility/serialization/8.0/publishtrimmed.md)
-- [Source Link included in the .NET SDK](../core/compatibility/sdk/8.0/source-link.md)
-- [Unlisted packages not installed by default for .NET tools](../core/compatibility/sdk/8.0/unlisted-versions.md)
-- [Implicit `using` for System.Net.Http no longer added](../core/compatibility/sdk/8.0/implicit-global-using-netfx.md)
-- [SendFile throws NotSupportedException for connectionless sockets](../core/compatibility/networking/8.0/sendfile-connectionless.md)
-- [System.Windows.Extensions doesn't reference System.Drawing.Common](../core/compatibility/windows-forms/8.0/extensions-package-deps.md)
-- [JSFunctionBinding implicit public default constructor removed](../core/compatibility/interop/8.0/jsfunctionbinding-constructor.md)
-- [System.Formats.Cbor DateTimeOffset formatting change](../core/compatibility/extensions/8.0/cbor-datetime.md)
-
-### Updated articles
-
-- [Breaking changes in .NET 6](../core/compatibility/6.0.md) - Remove "introduced version" column
+- [Duplicate output for -getItem, -getProperty, and -getTargetResult](../core/compatibility/sdk/8.0/getx-duplicate-output.md)
+- [Certificates checked before loading remote images in PictureBox](../core/compatibility/windows-forms/8.0/picturebox-remote-image.md)
+- [InMemoryDirectoryInfo prepends rootDir to files](../core/compatibility/core-libraries/9.0/inmemorydirinfo-prepends-rootdir.md)
+- [Drive's current directory path enumeration](../core/compatibility/core-libraries/8.0/drive-current-dir-paths.md)
+- [.user file imported in outer builds](../core/compatibility/sdk/8.0/user-file.md)
+- [Inline array struct size limit is enforced](../core/compatibility/core-libraries/9.0/inlinearray-size.md)
## .NET fundamentals
### New articles
-- [Microsoft.DotNet.ApiCompat.Tool global tool](../fundamentals/apicompat/global-tool.md)
-- [Networking event counters in .NET](../fundamentals/networking/telemetry/event-counters.md)
-- [Networking metrics in .NET](../fundamentals/networking/telemetry/metrics.md)
-- [Networking telemetry in .NET](../fundamentals/networking/telemetry/overview.md)
-- [CA1862: Use the 'StringComparison' method overloads to perform case-insensitive string comparisons](../fundamentals/code-analysis/quality-rules/ca1862.md)
-- [CA1863: Use 'CompositeFormat'](../fundamentals/code-analysis/quality-rules/ca1863.md)
-- [Install .NET SDK or .NET Runtime on Ubuntu 23.10](../core/install/linux-ubuntu-2310.md)
-- [CA1510: Use ArgumentNullException throw helper](../fundamentals/code-analysis/quality-rules/ca1510.md)
-- [CA1511: Use ArgumentException throw helper](../fundamentals/code-analysis/quality-rules/ca1511.md)
-- [CA1512: Use ArgumentOutOfRangeException throw helper](../fundamentals/code-analysis/quality-rules/ca1512.md)
-- [CA1513: Use ObjectDisposedException throw helper](../fundamentals/code-analysis/quality-rules/ca1513.md)
-- [CA2261: Do not use `ConfigureAwaitOptions.SuppressThrowing` with `Task`](../fundamentals/code-analysis/quality-rules/ca2261.md)
-- [CA2021: Don't call Enumerable.Cast\ or Enumerable.OfType\ with incompatible types](../fundamentals/code-analysis/quality-rules/ca2021.md)
-- [CA1856: Incorrect usage of ConstantExpected attribute](../fundamentals/code-analysis/quality-rules/ca1856.md)
-- [CA1857: The parameter expects a constant for optimal performance](../fundamentals/code-analysis/quality-rules/ca1857.md)
-- [Service discovery in .NET](../core/extensions/service-discovery.md)
-- [Use primary constructor (IDE0290)](../fundamentals/code-analysis/style-rules/ide0290.md)
-- [.NET extensions metrics](../core/diagnostics/built-in-metrics-diagnostics.md)
-- [Artifacts output layout](../core/sdk/artifacts-output.md)
+- [MSTEST0008: TestInitialize method should have valid layout](../core/testing/mstest-analyzers/mstest0008.md)
+- [MSTEST0009: TestCleanup method should have valid layout](../core/testing/mstest-analyzers/mstest0009.md)
+- [MSTEST0010: ClassInitialize method should have valid layout](../core/testing/mstest-analyzers/mstest0010.md)
+- [MSTEST0011: ClassCleanup method should have valid layout](../core/testing/mstest-analyzers/mstest0011.md)
+- [MSTEST0012: AssemblyInitialize method should have valid layout](../core/testing/mstest-analyzers/mstest0012.md)
+- [MSTEST0013: AssemblyCleanup method should have valid layout](../core/testing/mstest-analyzers/mstest0013.md)
+- [CA2263: Prefer generic overload when type is known](../fundamentals/code-analysis/quality-rules/ca2263.md)
+- [MSTest SDK overview](../core/testing/unit-testing-mstest-sdk.md)
+- [What's new in containers for .NET 8](../core/whats-new/dotnet-8/containers.md)
+- [What's new in .NET 8](../core/whats-new/dotnet-8/overview.md)
+- [What's new in the SDK and tooling for .NET 8](../core/whats-new/dotnet-8/sdk.md)
+- [What's new in .NET 9](../core/whats-new/dotnet-9/overview.md)
+- [MSTEST0007: Use test attributes only on test methods](../core/testing/mstest-analyzers/mstest0007.md)
+- [CA2262: Set 'MaxResponseHeadersLength' properly](../fundamentals/code-analysis/quality-rules/ca2262.md)
### Updated articles
-- [What's new in .NET 8](../core/whats-new/dotnet-8/overview.md) - Add .NET Aspire
-- [Runtime configuration options for garbage collection](../core/runtime-config/garbage-collector.md) - Runtimeconfig template
-- [Introduction to trim warnings](../core/deploying/trimming/fixing-warnings.md) - Improvements to trim warnings description and fixes
+- [System.Reflection.Emit.AssemblyBuilder class](../fundamentals/runtime-libraries/system-reflection-emit-assemblybuilder.md) - Update AssemblyBuilder.md with persistable AssemblyBuilder info
+- [What's new in the .NET 8 runtime](../core/whats-new/dotnet-8/runtime.md) - Split up what's new in .NET 8 by SDK/runtime
## C# language
### New articles
-- [Static abstract and virtual interface member errors and warnings](../csharp/language-reference/compiler-messages/static-abstract-interfaces.md)
-- [Choose diagnostic IDs](../csharp/roslyn-sdk/choosing-diagnostic-ids.md)
-
-### Updated articles
-
-- [Resolve errors and warnings in array and collection declarations and initialization expressions](../csharp/language-reference/compiler-messages/array-declaration-errors.md) - Add latest errors codes
-- [Resolve errors and warnings in constructor declarations](../csharp/language-reference/compiler-messages/constructor-errors.md) - Add latest errors codes
-- [Errors and warnings associated with reference parameters, variables, and returns](../csharp/language-reference/compiler-messages/ref-modifiers-errors.md) - Add latest errors codes
+- [Resolve errors and warnings related to assembly references](../csharp/language-reference/compiler-messages/assembly-references.md)
+- [new (C# Reference)](../csharp/language-reference/keywords/new.md)
-## F# language
+## ML.NET
### New articles
-- [What's new in F# 7](../fsharp/whats-new/fsharp-7.md)
-- [What's new in F# 8](../fsharp/whats-new/fsharp-8.md)
+- [How to format data for Named Entity Recognition (NER)](../machine-learning/how-to-guides/ner-dataset-guide.md)
-## Azure SDK for .NET
+## Home
-### New articles
+### Updated articles
-- [Develop .NET apps that use Azure AI services](../azure/ai/azure-ai-for-dotnet-developers.md)
-- [Get started with the .NET enterprise chat sample using RAG](../azure/ai/get-started-app-chat-template.md)
-- [Assess your .NET applications for migration to Azure](../azure/migration/appcat/app-code-assessment-toolkit.md)
-- [Analyze applications with the .NET CLI](../azure/migration/appcat/dotnet-cli.md)
-- [Install Azure Migrate application and code assessment for .NET](../azure/migration/appcat/install.md)
-- [Interpret the analysis results](../azure/migration/appcat/interpret-results.md)
-- [Analyze applications with Visual Studio](../azure/migration/appcat/visual-studio.md)
+- [.NET documentation](index.yml) - Split up what's new in .NET 8 by SDK/runtime
## .NET Framework
### Updated articles
-- [Writing Large, Responsive .NET Framework Apps](../framework/performance/writing-large-responsive-apps.md) - Fix build suggestions
+- [Security protocols](../framework/wcf/feature-details/security-protocols.md) - Fix broken links
+- [Web Services Protocols Supported by System-Provided Interoperability Bindings](../framework/wcf/feature-details/web-services-protocols-supported-by-system-provided-interoperability-bindings.md) - Fix broken links
## Community contributors
The following people contributed to the .NET docs during this period. Thank you! Learn how to contribute by following the links under "Get involved" in the [what's new landing page](index.yml).
-- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski ![7 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-7-green)
-- [Rageking8](https://github.com/Rageking8) - ![4 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-4-green)
-- [smoothdeveloper](https://github.com/smoothdeveloper) - Gauthier Segay ![4 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-4-green)
-- [gurustron](https://github.com/gurustron) - ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
-- [WeihanLi](https://github.com/WeihanLi) - Weihan Li ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
-- [DickBaker](https://github.com/DickBaker) - Dick Baker ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
-- [bakedpatato](https://github.com/bakedpatato) - Chris ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [BenjaminMichaelis](https://github.com/BenjaminMichaelis) - Benjamin Michaelis ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [Dixin](https://github.com/Dixin) - Dixin ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [dreamjz](https://github.com/dreamjz) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [entvex](https://github.com/entvex) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [ericmutta](https://github.com/ericmutta) - Eric Mutta ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [j-d-b](https://github.com/j-d-b) - Jacob Brady ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [joelhulen](https://github.com/joelhulen) - Joel Hulen ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [loop-evgeny](https://github.com/loop-evgeny) - Evgeny Morozov ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [matbech](https://github.com/matbech) - Mathias Berchtold ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [mvdgun](https://github.com/mvdgun) - Mauro van der Gun ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [niquenen](https://github.com/niquenen) - Cédric Hennequin ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [nnpcYvIVl](https://github.com/nnpcYvIVl) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [peter-csala](https://github.com/peter-csala) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [pkulikov](https://github.com/pkulikov) - Petr Kulikov ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [raymer](https://github.com/raymer) - Jonathan Raymer ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [Scottlis26](https://github.com/Scottlis26) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [serpent5](https://github.com/serpent5) - Kirk Larkin ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [SimonCropp](https://github.com/SimonCropp) - Simon Cropp ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [sivaji55](https://github.com/sivaji55) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [stevedunnman](https://github.com/stevedunnman) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [SusheelThapa](https://github.com/SusheelThapa) - Susheel Thapa ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [timdeschryver](https://github.com/timdeschryver) - Tim Deschryver ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [Void00000000](https://github.com/Void00000000) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [xp44mm](https://github.com/xp44mm) - xp44mm ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
-- [younes-achachi](https://github.com/younes-achachi) - younes ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski ![4 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-4-green)
+- [Rageking8](https://github.com/Rageking8) - ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
+- [timdeschryver](https://github.com/timdeschryver) - Tim Deschryver ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
+- [mpidash](https://github.com/mpidash) - Mario Pistrich ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
+- [benbristow](https://github.com/benbristow) - Ben Bristow ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [CollinAlpert](https://github.com/CollinAlpert) - Collin Alpert ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [hassanyahya400](https://github.com/hassanyahya400) - Hassan Yahya ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [IlyaCk](https://github.com/IlyaCk) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [kengorman](https://github.com/kengorman) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [martincostello](https://github.com/martincostello) - Martin Costello ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [michaelmcneilnet](https://github.com/michaelmcneilnet) - Michael McNeil ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [Mikoleusz](https://github.com/Mikoleusz) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [OQJAV](https://github.com/OQJAV) - Anton Ermolinsky ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [pedrobsaila](https://github.com/pedrobsaila) - Badre BSAILA ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [preardon](https://github.com/preardon) - Paul Reardon ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [Progman2002](https://github.com/Progman2002) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [rcollina](https://github.com/rcollina) - rcollina ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [rextor92](https://github.com/rextor92) - Daniel Tsvetkov ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [Saibamen](https://github.com/Saibamen) - Adam Stachowicz ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [tanvirx64](https://github.com/tanvirx64) - Tanvir Ahmed ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [ti777777](https://github.com/ti777777) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [TortillaZHawaii](https://github.com/TortillaZHawaii) - Dawid Wysocki ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
+- [xtqqczze](https://github.com/xtqqczze) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
diff --git a/docs/whats-new/index.yml b/docs/whats-new/index.yml
index 0e1948edee7b5..e9f42d85a0f74 100644
--- a/docs/whats-new/index.yml
+++ b/docs/whats-new/index.yml
@@ -5,7 +5,7 @@ summary: Welcome to what's new in .NET and .NET docs. Use this page to navigate
metadata:
title: .NET what's new?
description: Learn about new .NET features and new and updated content in .NET docs.
- ms.date: 02/01/2024
+ ms.date: 03/01/2024
ms.topic: landing-page
landingContent:
- title: .NET 9 release updates
@@ -16,8 +16,6 @@ landingContent:
url: ../core/whats-new/dotnet-9/overview.md
- text: ASP.NET Core 9.0
url: /aspnet/core/release-notes/aspnetcore-9.0
- #- text: .NET MAUI 9
- # url: /dotnet/maui/whats-new/dotnet-9
- text: EF Core 9
url: /ef/core/what-is-new/ef-core-9.0/whatsnew
- title: .NET 8 release updates
@@ -40,12 +38,12 @@ landingContent:
linkLists:
- linkListType: whats-new
links:
+ - text: February 2024
+ url: dotnet-docs-mod2.md
- text: January 2024 doc updates
url: dotnet-docs-mod1.md
- text: December 2023 doc updates
url: dotnet-docs-mod0.md
- - text: November 2023 doc updates
- url: dotnet-docs-mod2.md
- title: Language updates
linkLists:
- linkListType: whats-new
diff --git a/docs/whats-new/toc.yml b/docs/whats-new/toc.yml
index 0b2f8d06a6c9d..21ca73c158a3c 100644
--- a/docs/whats-new/toc.yml
+++ b/docs/whats-new/toc.yml
@@ -6,12 +6,12 @@ items:
- name: Latest documentation updates
expanded: true
items:
+ - name: February 2024
+ href: dotnet-docs-mod2.md
- name: January 2024
href: dotnet-docs-mod1.md
- name: December 2023
href: dotnet-docs-mod0.md
- - name: November 2023
- href: dotnet-docs-mod2.md
- name: Product updates
items:
- name: .NET 9