diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index 1ab11e69e3df4..e391014e5aa18 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -4,7 +4,7 @@
| AI Agent Server - Agent Framework | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.AI.AgentServer.AgentFramework/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/AI.AgentServer.AgentFramework-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.AgentFramework_1.0.0-beta.11/sdk/agentserver/Azure.AI.AgentServer.AgentFramework/) |
| AI Agent Server - Contracts | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.AI.AgentServer.Contracts/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Contracts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Contracts_1.0.0-beta.11/sdk/agentserver/Azure.AI.AgentServer.Contracts/) |
| AI Agent Server - Core | NuGet [1.0.0-beta.30](https://www.nuget.org/packages/Azure.AI.AgentServer.Core/1.0.0-beta.30) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Core-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.30](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Core_1.0.0-beta.30/sdk/agentserver/Azure.AI.AgentServer.Core/) |
-| AI Agent Server - Invocations | NuGet [1.0.0-beta.7](https://www.nuget.org/packages/Azure.AI.AgentServer.Invocations/1.0.0-beta.7) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Invocations-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Invocations_1.0.0-beta.7/sdk/agentserver/Azure.AI.AgentServer.Invocations/) |
+| AI Agent Server - Invocations | NuGet [1.0.0-beta.8](https://www.nuget.org/packages/Azure.AI.AgentServer.Invocations/1.0.0-beta.8) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Invocations-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Invocations_1.0.0-beta.8/sdk/agentserver/Azure.AI.AgentServer.Invocations/) |
| AI Agent Server - Responses | NuGet [1.0.0-beta.9](https://www.nuget.org/packages/Azure.AI.AgentServer.Responses/1.0.0-beta.9) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Responses-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.9](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Responses_1.0.0-beta.9/sdk/agentserver/Azure.AI.AgentServer.Responses/) |
| AI Agents Persistent | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Agents.Persistent/1.1.0) NuGet [1.2.0-beta.10](https://www.nuget.org/packages/Azure.AI.Agents.Persistent/1.2.0-beta.10) | [docs](/dotnet/api/overview/azure/AI.Agents.Persistent-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Agents.Persistent_1.1.0/sdk/ai/Azure.AI.Agents.Persistent/) GitHub [1.2.0-beta.10](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Agents.Persistent_1.2.0-beta.10/sdk/ai/Azure.AI.Agents.Persistent/) |
| AI Extensions - OpenAI | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.0.0) NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/3.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.Extensions.OpenAI-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.0.0/sdk/ai/Azure.AI.Extensions.OpenAI/) GitHub [3.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_3.0.0-beta.5/sdk/ai/Azure.AI.Extensions.OpenAI/) |
@@ -66,9 +66,9 @@
| Identity Broker | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Identity.Broker/1.7.0) NuGet [1.8.0-beta.1](https://www.nuget.org/packages/Azure.Identity.Broker/1.8.0-beta.1) | [docs](/dotnet/api/overview/azure/Identity.Broker-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.7.0/sdk/identity/Azure.Identity.Broker/) GitHub [1.8.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.8.0-beta.1/sdk/identity/Azure.Identity.Broker/) |
| Image Analysis | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Vision.ImageAnalysis/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Vision.ImageAnalysis-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Vision.ImageAnalysis_1.0.0/sdk/vision/Azure.AI.Vision.ImageAnalysis/) |
| Key Vault - Administration | NuGet [4.8.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.8.2) NuGet [4.9.0-beta.4](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.9.0-beta.4) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Administration-readme) | GitHub [4.8.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.8.2/sdk/keyvault/Azure.Security.KeyVault.Administration/) GitHub [4.9.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.9.0-beta.4/sdk/keyvault/Azure.Security.KeyVault.Administration/) |
-| Key Vault - Certificates | NuGet [4.9.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.9.2) NuGet [4.10.0-beta.4](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.10.0-beta.4) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme) | GitHub [4.9.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.9.2/sdk/keyvault/Azure.Security.KeyVault.Certificates/) GitHub [4.10.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.10.0-beta.4/sdk/keyvault/Azure.Security.KeyVault.Certificates/) |
+| Key Vault - Certificates | NuGet [4.10.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.10.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme) | GitHub [4.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.10.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/) |
| Key Vault - Keys | NuGet [4.10.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.10.2) NuGet [4.11.0-beta.5](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.11.0-beta.5) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Keys-readme) | GitHub [4.10.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.10.2/sdk/keyvault/Azure.Security.KeyVault.Keys/) GitHub [4.11.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.11.0-beta.5/sdk/keyvault/Azure.Security.KeyVault.Keys/) |
-| Key Vault - Secrets | NuGet [4.11.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.11.2) NuGet [4.12.0-beta.3](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.12.0-beta.3) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme) | GitHub [4.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.11.2/sdk/keyvault/Azure.Security.KeyVault.Secrets/) GitHub [4.12.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.12.0-beta.3/sdk/keyvault/Azure.Security.KeyVault.Secrets/) |
+| Key Vault - Secrets | NuGet [4.12.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.12.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme) | GitHub [4.12.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.12.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/) |
| Language Text | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.Language.Text/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Language.Text-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Text_1.0.0-beta.4/sdk/cognitivelanguage/Azure.AI.Language.Text/) |
| Load Testing | NuGet [1.0.2](https://www.nuget.org/packages/Azure.Developer.LoadTesting/1.0.2) NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Developer.LoadTesting/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Developer.LoadTesting-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.0.2/sdk/loadtestservice/Azure.Developer.LoadTesting/) GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.3.0-beta.1/sdk/loadtestservice/Azure.Developer.LoadTesting/) |
| Maps Common | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Maps.Common/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Maps.Common-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Maps.Common_1.0.0-beta.4/sdk/maps/Azure.Maps.Common/) |
@@ -128,7 +128,7 @@
| TimeZone | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Maps.TimeZones/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Maps.TimeZones-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Maps.TimeZones_1.0.0-beta.1/sdk/maps/Azure.Maps.TimeZones/) |
| unknown | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Data.AI/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Data.AI-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AI_1.0.0-beta.1/sdk/dataai/Azure.Data.AI/) |
| Vision Common | NuGet [0.15.1-beta.1](https://www.nuget.org/packages/Azure.AI.Vision.Common/0.15.1-beta.1) | | GitHub [0.15.1-beta.1](https://msasg.visualstudio.com/Skyman/_git/Carbon) |
-| Voice Live | NuGet [1.2.0](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.2.0) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.2.0/sdk/voicelive/Azure.AI.VoiceLive/) |
+| Voice Live | NuGet [1.2.1](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.2.1) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.2.1/sdk/voicelive/Azure.AI.VoiceLive/) |
| WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.WCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.WCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.WCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.WCF.Azure.StorageQueues/) |
| Web PubSub | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Messaging.WebPubSub/1.7.0) | [docs](/dotnet/api/overview/azure/Messaging.WebPubSub-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.WebPubSub_1.7.0/sdk/webpubsub/Azure.Messaging.WebPubSub/) |
| Web PubSub Chat | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.WebPubSub.Chat/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.WebPubSub.Chat-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.WebPubSub.Chat_1.0.0-beta.1/sdk/webpubsub/Azure.Messaging.WebPubSub.Chat/) |
@@ -143,7 +143,7 @@
| Secrets Configuration Provider for .NET | NuGet [1.5.2](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.2) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.2/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) |
| Storage - Common | NuGet [12.29.0](https://www.nuget.org/packages/Azure.Storage.Common/12.29.0) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.29.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.29.0/sdk/storage/Azure.Storage.Common/) |
| WebJobs Extensions - Event Grid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.5.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventGrid-readme) | GitHub [3.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.5.0/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/) |
-| WebJobs Extensions - Event Hubs | NuGet [6.5.4](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.4) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.4](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.4/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) |
+| WebJobs Extensions - Event Hubs | NuGet [6.5.5](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.5) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.5](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.5/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) |
| WebJobs Extensions - Service Bus | NuGet [5.18.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/5.18.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.ServiceBus-readme) | GitHub [5.18.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.18.0/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/) |
| WebJobs Extensions - SignalR Service | NuGet [2.2.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.SignalRService/2.2.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.SignalRService-readme) | GitHub [2.2.0](https://github.com/Azure/azure-functions-signalrservice-extension/tree/v1.2.0/src/SignalRServiceExtension) |
| WebJobs Extensions - Storage | NuGet [5.3.10](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage/5.3.10) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage-readme) | GitHub [5.3.10](https://github.com/Azure/azure-webjobs-sdk/tree/master/src/Microsoft.Azure.WebJobs.Extensions.Storage) |
@@ -151,7 +151,7 @@
| Functions extension for Blob Storage | NuGet [5.3.10](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/5.3.10) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs-readme) | GitHub [5.3.10](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.3.10/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/) |
| Functions extension for Storage Queues | NuGet [5.3.10](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/5.3.10) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Queues-readme) | GitHub [5.3.10](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.3.10/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/) |
| Functions extension for WebPubSub for SocketIO | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/1.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO_1.0.0/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/) |
-| Provisioning | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Provisioning/1.6.0) NuGet [1.7.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning/1.7.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.6.0/sdk/provisioning/Azure.Provisioning/) GitHub [1.7.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.7.0-beta.1/sdk/provisioning/Azure.Provisioning/) |
+| Provisioning | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Provisioning/1.6.0) NuGet [1.7.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning/1.7.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.6.0/sdk/provisioning/Azure.Provisioning/) GitHub [1.7.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.7.0-beta.2/sdk/provisioning/Azure.Provisioning/) |
| Provisioning - API Management | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ApiManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ApiManagement-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ApiManagement_1.0.0-beta.1/sdk/apimanagement/Azure.Provisioning.ApiManagement/) |
| Provisioning - App Configuration | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.AppConfiguration/1.1.0) NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.AppConfiguration/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.AppConfiguration-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppConfiguration_1.1.0/sdk/appconfiguration/Azure.Provisioning.AppConfiguration/) GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppConfiguration_1.2.0-beta.2/sdk/appconfiguration/Azure.Provisioning.AppConfiguration/) |
| Provisioning - App Service | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Provisioning.AppService/1.3.1) NuGet [1.4.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.AppService/1.4.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.AppService-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppService_1.3.1/sdk/websites/Azure.Provisioning.AppService/) GitHub [1.4.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppService_1.4.0-beta.3/sdk/websites/Azure.Provisioning.AppService/) |
@@ -211,7 +211,7 @@
| Provisioning - SignalR | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.1.0) NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.SignalR-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.1.0/sdk/signalr/Azure.Provisioning.SignalR/) GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.2.0-beta.1/sdk/signalr/Azure.Provisioning.SignalR/) |
| Provisioning - SQL | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.1.0) NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.Sql-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.1.0/sdk/sqlmanagement/Azure.Provisioning.Sql/) GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.2.0-beta.3/sdk/sqlmanagement/Azure.Provisioning.Sql/) |
| Provisioning - Standby Pool | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.StandbyPool/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.StandbyPool-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.StandbyPool_1.0.0-beta.1/sdk/standbypool/Azure.Provisioning.StandbyPool/) |
-| Provisioning - Storage | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.2.0) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.2.0/sdk/provisioning/Azure.Provisioning.Storage/) |
+| Provisioning - Storage | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.2.0) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.2.0/sdk/storage/Azure.Provisioning.Storage/) |
| Provisioning - Subscription | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Subscription/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Subscription-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Subscription_1.0.0-beta.1/sdk/subscription/Azure.Provisioning.Subscription/) |
| Provisioning - Traffic Manager | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.TrafficManager/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.TrafficManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.TrafficManager_1.0.0-beta.1/sdk/trafficmanager/Azure.Provisioning.TrafficManager/) |
| Provisioning - Web PubSub | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.WebPubSub/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.WebPubSub-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.WebPubSub_1.1.0/sdk/provisioning/Azure.Provisioning.WebPubSub/) |
@@ -265,7 +265,7 @@
| Resource Management - Container Orchestrator Runtime | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ContainerOrchestratorRuntime/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerOrchestratorRuntime-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.ContainerOrchestratorRuntime_1.0.0-beta.2/sdk/containerorchestratorruntime/Azure.ResourceManager.ContainerOrchestratorRuntime/) |
| Resource Management - Container Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.4.0) NuGet [1.5.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.5.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.4.0/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) GitHub [1.5.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.5.0-beta.4/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) |
| Resource Management - Container Registry Tasks | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry.Tasks/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry.Tasks-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry.Tasks_1.0.0-beta.1/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry.Tasks/) |
-| Resource Management - Container Service | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.9.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.9.0/sdk/containerservice/Azure.ResourceManager.ContainerService/) |
+| Resource Management - Container Service | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.9.0) NuGet [1.10.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.10.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.9.0/sdk/containerservice/Azure.ResourceManager.ContainerService/) GitHub [1.10.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.10.0-beta.1/sdk/containerservice/Azure.ResourceManager.ContainerService/) |
| Resource Management - Container Service Fleet | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.1.0) NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServiceFleet-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.1.0/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/) GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.3.0-beta.1/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/) |
| Resource Management - Containerserviceaimanager | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceAIManager/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServiceAIManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceAIManager_1.0.0-beta.1/sdk/aimanager/Azure.ResourceManager.ContainerServiceAIManager/) |
| Resource Management - Containerservicepreparedimgspec | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServicePreparedImgSpec/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServicePreparedImgSpec-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServicePreparedImgSpec_1.0.0-beta.1/sdk/containerservicepreparedimgspec/Azure.ResourceManager.ContainerServicePreparedImgSpec/) |
@@ -374,15 +374,15 @@
| Resource Management - Monitor Workspaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Monitor.Workspaces/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor.Workspaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor.Workspaces_1.0.0/sdk/monitor/Azure.ResourceManager.Monitor.Workspaces/) |
| Resource Management - MySQL | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.2.1/sdk/mysql/Azure.ResourceManager.MySql/) |
| Resource Management - Napster Omni Agent API | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NapsterOmniagentApi/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NapsterOmniagentApi-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NapsterOmniagentApi_1.0.0/sdk/napsteromniagentapi/Azure.ResourceManager.NapsterOmniagentApi/) |
-| Resource Management - NetApp Files | NuGet [1.18.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.18.0) NuGet [1.19.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.19.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.18.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.18.0/sdk/netapp/Azure.ResourceManager.NetApp/) GitHub [1.19.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.19.0-beta.2/sdk/netapp/Azure.ResourceManager.NetApp/) |
-| Resource Management - Network | NuGet [1.17.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.17.0) NuGet [1.18.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.18.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.17.0/sdk/network/Azure.ResourceManager.Network/) GitHub [1.18.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.18.0-beta.1/sdk/network/Azure.ResourceManager.Network/) |
+| Resource Management - NetApp Files | NuGet [1.19.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.19.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.19.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.19.0/sdk/netapp/Azure.ResourceManager.NetApp/) |
+| Resource Management - Network | NuGet [1.17.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.17.0) NuGet [1.18.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.18.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.17.0/sdk/network/Azure.ResourceManager.Network/) GitHub [1.18.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.18.0-beta.2/sdk/network/Azure.ResourceManager.Network/) |
| Resource Management - Network Cloud | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.4.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) |
| Resource Management - Network Function | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkFunction/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkFunction-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkFunction_1.0.0/sdk/networkfunction/Azure.ResourceManager.NetworkFunction/) |
| Resource Management - New Relic Observability | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NewRelicObservability-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.2.0/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/) |
| Resource Management - Nginx | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Nginx/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Nginx-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Nginx_1.1.0/sdk/nginx/Azure.ResourceManager.Nginx/) |
| Resource Management - Notification Hubs | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.1.1) NuGet [1.2.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.NotificationHubs-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.1.1/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) GitHub [1.2.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.5/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) |
| Resource Management - Online Experimentation | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-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.OnlineExperimentation_1.0.0-beta.3/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) |
-| Resource Management - Oracle Database | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.2.1/sdk/oracle/Azure.ResourceManager.OracleDatabase/) |
+| Resource Management - Oracle Database | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.3.0/sdk/oracle/Azure.ResourceManager.OracleDatabase/) |
| Resource Management - Orbital | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.3/sdk/orbital/Azure.ResourceManager.Orbital/) |
| Resource Management - Palo Alto Networks - Next Generation Firewall | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.2.1) NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PaloAltoNetworks.Ngfw-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2.1/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.3.0-beta.1/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) |
| Resource Management - Peering | NuGet [1.2.4](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.4/sdk/peering/Azure.ResourceManager.Peering/) |
@@ -405,7 +405,7 @@
| Resource Management - Recovery Services Data Replication | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesDataReplication/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesDataReplication-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesDataReplication_1.0.1/sdk/recoveryservices-datareplication/Azure.ResourceManager.RecoveryServicesDataReplication/) |
| Resource Management - Recovery Services Site Recovery | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesSiteRecovery/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesSiteRecovery-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.3.1/sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/) |
| Resource Management - Red Hat OpenShift | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedHatOpenShift/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedHatOpenShift_1.0.0-beta.1/sdk/redhatopenshift/Azure.ResourceManager.RedHatOpenShift/) |
-| Resource Management - Redhatopenshifthcp | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedHatOpenShiftHcp/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedHatOpenShiftHcp-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedHatOpenShiftHcp_1.0.0-beta.1/sdk/redhatopenshifthcp/Azure.ResourceManager.RedHatOpenShiftHcp/) |
+| Resource Management - Redhatopenshifthcp | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedHatOpenShiftHcp/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedHatOpenShiftHcp-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedHatOpenShift_1.0.0-beta.1/sdk/redhatopenshift/Azure.ResourceManager.RedHatOpenShift) |
| Resource Management - Redis | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.5.1) NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Redis-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.5.1/sdk/redis/Azure.ResourceManager.Redis/) GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.6.0-beta.1/sdk/redis/Azure.ResourceManager.Redis/) |
| Resource Management - Redis Enterprise | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.3.0) NuGet [1.4.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.4.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterprise-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.3.0/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/) GitHub [1.4.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.4.0-beta.2/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/) |
| Resource Management - Redis Enterprise Cache | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterpriseCache/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterpriseCache-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterpriseCache_1.0.0-beta.1/sdk/redisenterprise/Azure.ResourceManager.RedisEnterpriseCache/) |
@@ -442,7 +442,7 @@
| Resource Management - SQL | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Sql/1.4.0) NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Sql/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Sql-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sql_1.4.0/sdk/sqlmanagement/Azure.ResourceManager.Sql/) GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sql_1.5.0-beta.1/sdk/sqlmanagement/Azure.ResourceManager.Sql/) |
| Resource Management - SQL Virtual Machine | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.SqlVirtualMachine/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SqlVirtualMachine-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SqlVirtualMachine_1.1.2/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/) |
| Resource Management - Standby Pool | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.StandbyPool/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StandbyPool-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StandbyPool_1.2.0/sdk/standbypool/Azure.ResourceManager.StandbyPool/) |
-| Resource Management - Storage | NuGet [1.8.0](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.8.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.8.0/sdk/storage/Azure.ResourceManager.Storage/) |
+| Resource Management - Storage | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.9.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.9.0/sdk/storage/Azure.ResourceManager.Storage/) |
| Resource Management - Storage Actions | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageActions/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageActions-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageActions_1.0.1/sdk/storageactions/Azure.ResourceManager.StorageActions/) |
| Resource Management - Storage Cache | NuGet [1.6.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.6.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.6.0/sdk/storagecache/Azure.ResourceManager.StorageCache/) |
| Resource Management - Storage Discovery | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.0.1) NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageDiscovery-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.0.1/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.1.0-beta.1/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) |
@@ -480,13 +480,13 @@
| App Configuration Provider | NuGet [8.6.0](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.6.0) NuGet [8.7.0-preview](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.7.0-preview) | | |
| Azure Functions CLI | NuGet [5.0.0-preview.1](https://www.nuget.org/packages/Azure.Functions.Cli.Abstractions/5.0.0-preview.1) | | |
| Azure Functions SDK | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Functions.Sdk/1.0.1) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp/1.0.0) NuGet [4.0.0-beta.3](https://www.nuget.org/packages/Azure.Mcp/4.0.0-beta.3) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/1.0.0) NuGet [4.0.0-beta.3](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/4.0.0-beta.3) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/1.0.0) NuGet [4.0.0-beta.3](https://www.nuget.org/packages/Azure.Mcp.linux-x64/4.0.0-beta.3) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/1.0.0) NuGet [4.0.0-beta.3](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/4.0.0-beta.3) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/1.0.0) NuGet [4.0.0-beta.3](https://www.nuget.org/packages/Azure.Mcp.osx-x64/4.0.0-beta.3) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/1.0.0) NuGet [4.0.0-beta.3](https://www.nuget.org/packages/Azure.Mcp.win-arm64/4.0.0-beta.3) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/1.0.0) NuGet [4.0.0-beta.3](https://www.nuget.org/packages/Azure.Mcp.win-x64/4.0.0-beta.3) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp/1.0.0) NuGet [4.0.0-beta.4](https://www.nuget.org/packages/Azure.Mcp/4.0.0-beta.4) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/1.0.0) NuGet [4.0.0-beta.4](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/4.0.0-beta.4) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/1.0.0) NuGet [4.0.0-beta.4](https://www.nuget.org/packages/Azure.Mcp.linux-x64/4.0.0-beta.4) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/1.0.0) NuGet [4.0.0-beta.4](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/4.0.0-beta.4) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/1.0.0) NuGet [4.0.0-beta.4](https://www.nuget.org/packages/Azure.Mcp.osx-x64/4.0.0-beta.4) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/1.0.0) NuGet [4.0.0-beta.4](https://www.nuget.org/packages/Azure.Mcp.win-arm64/4.0.0-beta.4) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/1.0.0) NuGet [4.0.0-beta.4](https://www.nuget.org/packages/Azure.Mcp.win-x64/4.0.0-beta.4) | | |
| Azure MCP Types Internal | NuGet [0.2.804](https://www.nuget.org/packages/Microsoft.Azure.Mcp.AzTypes.Internal.Compact/0.2.804) | | |
| Azure.Communication.Administration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.Administration/1.0.0-beta.3) | | |
| Caching - PostgreSQL | NuGet [1.2.2](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Postgres/1.2.2) | | |
@@ -647,7 +647,7 @@
| App Service - API Apps Service | NuGet [0.9.64](https://www.nuget.org/packages/Microsoft.Azure.AppService.ApiApps.Service/0.9.64) | | |
| Code Analyzers for Durable Functions | NuGet [0.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers/0.5.0) | | GitHub [0.5.0](https://github.com/Azure/azure-functions-durable-extension/tree/Analyzer-v0.3.0/src/WebJobs.Extensions.DurableTask.Analyzers) |
| Cosmos DB - BulkExecutor | NuGet [2.5.1-preview](https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.BulkExecutor/2.5.1-preview) | | GitHub [2.5.1-preview](https://github.com/Azure/azure-cosmosdb-bulkexecutor-dotnet-getting-started) |
-| Cosmos DB - Direct | NuGet [3.44.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Direct/3.44.1) | | GitHub [3.44.1](https://github.com/Azure/azure-cosmos-dotnet-v3) |
+| Cosmos DB - Direct | NuGet [3.44.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Direct/3.44.2) | | GitHub [3.44.2](https://github.com/Azure/azure-cosmos-dotnet-v3) |
| Cosmos DB - Encryption | NuGet [2.0.3](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption/2.0.3) NuGet [2.1.0-preview4](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption/2.1.0-preview4) | | GitHub [2.0.3](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/releases/encryption/1.0.0-preview4/Microsoft.Azure.Cosmos.Encryption) |
| Cosmos DB - Encryption | NuGet [1.0.0-preview07](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption.Custom/1.0.0-preview07) | | |
| Extensions - Caching Cosmos | NuGet [1.8.0](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Cosmos/1.8.0) | | GitHub [1.8.0](https://github.com/Azure/Microsoft.Extensions.Caching.Cosmos/tree/v1.0.0-preview4) |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index 52759da15a774..c68f65ef73641 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -4,7 +4,7 @@
| AI Agent Server - Agent Framework | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.AI.AgentServer.AgentFramework/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/AI.AgentServer.AgentFramework-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.AgentFramework_1.0.0-beta.11/sdk/agentserver/Azure.AI.AgentServer.AgentFramework/) |
| AI Agent Server - Contracts | NuGet [1.0.0-beta.11](https://www.nuget.org/packages/Azure.AI.AgentServer.Contracts/1.0.0-beta.11) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Contracts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.11](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Contracts_1.0.0-beta.11/sdk/agentserver/Azure.AI.AgentServer.Contracts/) |
| AI Agent Server - Core | NuGet [1.0.0-beta.30](https://www.nuget.org/packages/Azure.AI.AgentServer.Core/1.0.0-beta.30) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Core-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.30](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Core_1.0.0-beta.30/sdk/agentserver/Azure.AI.AgentServer.Core/) |
-| AI Agent Server - Invocations | NuGet [1.0.0-beta.7](https://www.nuget.org/packages/Azure.AI.AgentServer.Invocations/1.0.0-beta.7) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Invocations-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Invocations_1.0.0-beta.7/sdk/agentserver/Azure.AI.AgentServer.Invocations/) |
+| AI Agent Server - Invocations | NuGet [1.0.0-beta.8](https://www.nuget.org/packages/Azure.AI.AgentServer.Invocations/1.0.0-beta.8) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Invocations-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Invocations_1.0.0-beta.8/sdk/agentserver/Azure.AI.AgentServer.Invocations/) |
| AI Agent Server - Responses | NuGet [1.0.0-beta.9](https://www.nuget.org/packages/Azure.AI.AgentServer.Responses/1.0.0-beta.9) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Responses-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.9](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AgentServer.Responses_1.0.0-beta.9/sdk/agentserver/Azure.AI.AgentServer.Responses/) |
| AI Agents Persistent | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Agents.Persistent/1.1.0) NuGet [1.2.0-beta.10](https://www.nuget.org/packages/Azure.AI.Agents.Persistent/1.2.0-beta.10) | [docs](/dotnet/api/overview/azure/AI.Agents.Persistent-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Agents.Persistent_1.1.0/sdk/ai/Azure.AI.Agents.Persistent/) GitHub [1.2.0-beta.10](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Agents.Persistent_1.2.0-beta.10/sdk/ai/Azure.AI.Agents.Persistent/) |
| AI Extensions - OpenAI | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.0.0) NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/3.0.0-beta.5) | [docs](/dotnet/api/overview/azure/AI.Extensions.OpenAI-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.0.0/sdk/ai/Azure.AI.Extensions.OpenAI/) GitHub [3.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_3.0.0-beta.5/sdk/ai/Azure.AI.Extensions.OpenAI/) |
@@ -71,9 +71,9 @@
| Identity Broker | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Identity.Broker/1.7.0) NuGet [1.8.0-beta.1](https://www.nuget.org/packages/Azure.Identity.Broker/1.8.0-beta.1) | [docs](/dotnet/api/overview/azure/Identity.Broker-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.7.0/sdk/identity/Azure.Identity.Broker/) GitHub [1.8.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.8.0-beta.1/sdk/identity/Azure.Identity.Broker/) |
| Image Analysis | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Vision.ImageAnalysis/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Vision.ImageAnalysis-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Vision.ImageAnalysis_1.0.0/sdk/vision/Azure.AI.Vision.ImageAnalysis/) |
| Key Vault - Administration | NuGet [4.8.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.8.2) NuGet [4.9.0-beta.4](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.9.0-beta.4) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Administration-readme) | GitHub [4.8.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.8.2/sdk/keyvault/Azure.Security.KeyVault.Administration/) GitHub [4.9.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.9.0-beta.4/sdk/keyvault/Azure.Security.KeyVault.Administration/) |
-| Key Vault - Certificates | NuGet [4.9.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.9.2) NuGet [4.10.0-beta.4](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.10.0-beta.4) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme) | GitHub [4.9.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.9.2/sdk/keyvault/Azure.Security.KeyVault.Certificates/) GitHub [4.10.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.10.0-beta.4/sdk/keyvault/Azure.Security.KeyVault.Certificates/) |
+| Key Vault - Certificates | NuGet [4.10.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.10.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme) | GitHub [4.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.10.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/) |
| Key Vault - Keys | NuGet [4.10.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.10.2) NuGet [4.11.0-beta.5](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.11.0-beta.5) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Keys-readme) | GitHub [4.10.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.10.2/sdk/keyvault/Azure.Security.KeyVault.Keys/) GitHub [4.11.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.11.0-beta.5/sdk/keyvault/Azure.Security.KeyVault.Keys/) |
-| Key Vault - Secrets | NuGet [4.11.2](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.11.2) NuGet [4.12.0-beta.3](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.12.0-beta.3) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme) | GitHub [4.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.11.2/sdk/keyvault/Azure.Security.KeyVault.Secrets/) GitHub [4.12.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.12.0-beta.3/sdk/keyvault/Azure.Security.KeyVault.Secrets/) |
+| Key Vault - Secrets | NuGet [4.12.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.12.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme) | GitHub [4.12.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.12.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/) |
| Language Text | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.Language.Text/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Language.Text-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Text_1.0.0-beta.4/sdk/cognitivelanguage/Azure.AI.Language.Text/) |
| Load Testing | NuGet [1.0.2](https://www.nuget.org/packages/Azure.Developer.LoadTesting/1.0.2) NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Developer.LoadTesting/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Developer.LoadTesting-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.0.2/sdk/loadtestservice/Azure.Developer.LoadTesting/) GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.3.0-beta.1/sdk/loadtestservice/Azure.Developer.LoadTesting/) |
| Maps Common | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Maps.Common/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Maps.Common-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Maps.Common_1.0.0-beta.4/sdk/maps/Azure.Maps.Common/) |
@@ -143,7 +143,7 @@
| unknown | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Data.AI/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Data.AI-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AI_1.0.0-beta.1/sdk/dataai/Azure.Data.AI/) |
| Video Analyzer Edge | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.Media.VideoAnalyzer.Edge/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/Media.VideoAnalyzer.Edge-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Media.VideoAnalyzer.Edge_1.0.0-beta.6/sdk/videoanalyzer/Azure.Media.VideoAnalyzer.Edge/) |
| Vision Common | NuGet [0.15.1-beta.1](https://www.nuget.org/packages/Azure.AI.Vision.Common/0.15.1-beta.1) | | GitHub [0.15.1-beta.1](https://msasg.visualstudio.com/Skyman/_git/Carbon) |
-| Voice Live | NuGet [1.2.0](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.2.0) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.2.0/sdk/voicelive/Azure.AI.VoiceLive/) |
+| Voice Live | NuGet [1.2.1](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.2.1) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.2.1/sdk/voicelive/Azure.AI.VoiceLive/) |
| WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.WCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.WCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.WCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.WCF.Azure.StorageQueues/) |
| Web PubSub | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Messaging.WebPubSub/1.7.0) | [docs](/dotnet/api/overview/azure/Messaging.WebPubSub-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.WebPubSub_1.7.0/sdk/webpubsub/Azure.Messaging.WebPubSub/) |
| Web PubSub Chat | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.WebPubSub.Chat/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.WebPubSub.Chat-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.WebPubSub.Chat_1.0.0-beta.1/sdk/webpubsub/Azure.Messaging.WebPubSub.Chat/) |
@@ -158,7 +158,7 @@
| Secrets Configuration Provider for .NET | NuGet [1.5.2](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.2) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.2/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) |
| Storage - Common | NuGet [12.29.0](https://www.nuget.org/packages/Azure.Storage.Common/12.29.0) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.29.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.29.0/sdk/storage/Azure.Storage.Common/) |
| WebJobs Extensions - Event Grid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.5.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventGrid-readme) | GitHub [3.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.5.0/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/) |
-| WebJobs Extensions - Event Hubs | NuGet [6.5.4](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.4) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.4](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.4/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) |
+| WebJobs Extensions - Event Hubs | NuGet [6.5.5](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.5) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.5](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.5/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) |
| WebJobs Extensions - Service Bus | NuGet [5.18.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/5.18.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.ServiceBus-readme) | GitHub [5.18.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.18.0/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/) |
| WebJobs Extensions - SignalR Service | NuGet [2.2.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.SignalRService/2.2.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.SignalRService-readme) | GitHub [2.2.0](https://github.com/Azure/azure-functions-signalrservice-extension/tree/v1.2.0/src/SignalRServiceExtension) |
| WebJobs Extensions - Storage | NuGet [5.3.10](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage/5.3.10) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage-readme) | GitHub [5.3.10](https://github.com/Azure/azure-webjobs-sdk/tree/master/src/Microsoft.Azure.WebJobs.Extensions.Storage) |
@@ -166,7 +166,7 @@
| Functions extension for Blob Storage | NuGet [5.3.10](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/5.3.10) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs-readme) | GitHub [5.3.10](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.3.10/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/) |
| Functions extension for Storage Queues | NuGet [5.3.10](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/5.3.10) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Storage.Queues-readme) | GitHub [5.3.10](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.3.10/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/) |
| Functions extension for WebPubSub for SocketIO | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/1.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO_1.0.0/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/) |
-| Provisioning | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Provisioning/1.6.0) NuGet [1.7.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning/1.7.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.6.0/sdk/provisioning/Azure.Provisioning/) GitHub [1.7.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.7.0-beta.1/sdk/provisioning/Azure.Provisioning/) |
+| Provisioning | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Provisioning/1.6.0) NuGet [1.7.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning/1.7.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.6.0/sdk/provisioning/Azure.Provisioning/) GitHub [1.7.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.7.0-beta.2/sdk/provisioning/Azure.Provisioning/) |
| Provisioning - API Management | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.ApiManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.ApiManagement-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ApiManagement_1.0.0-beta.1/sdk/apimanagement/Azure.Provisioning.ApiManagement/) |
| Provisioning - App Configuration | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.AppConfiguration/1.1.0) NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.AppConfiguration/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.AppConfiguration-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppConfiguration_1.1.0/sdk/appconfiguration/Azure.Provisioning.AppConfiguration/) GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppConfiguration_1.2.0-beta.2/sdk/appconfiguration/Azure.Provisioning.AppConfiguration/) |
| Provisioning - App Service | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Provisioning.AppService/1.3.1) NuGet [1.4.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.AppService/1.4.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.AppService-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppService_1.3.1/sdk/websites/Azure.Provisioning.AppService/) GitHub [1.4.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.AppService_1.4.0-beta.3/sdk/websites/Azure.Provisioning.AppService/) |
@@ -227,7 +227,7 @@
| Provisioning - SignalR | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.1.0) NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.SignalR-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.1.0/sdk/signalr/Azure.Provisioning.SignalR/) GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.2.0-beta.1/sdk/signalr/Azure.Provisioning.SignalR/) |
| Provisioning - SQL | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.1.0) NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.Sql-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.1.0/sdk/sqlmanagement/Azure.Provisioning.Sql/) GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.2.0-beta.3/sdk/sqlmanagement/Azure.Provisioning.Sql/) |
| Provisioning - Standby Pool | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.StandbyPool/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.StandbyPool-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.StandbyPool_1.0.0-beta.1/sdk/standbypool/Azure.Provisioning.StandbyPool/) |
-| Provisioning - Storage | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.2.0) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.2.0/sdk/provisioning/Azure.Provisioning.Storage/) |
+| Provisioning - Storage | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.2.0) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.2.0/sdk/storage/Azure.Provisioning.Storage/) |
| Provisioning - Subscription | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Subscription/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Subscription-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Subscription_1.0.0-beta.1/sdk/subscription/Azure.Provisioning.Subscription/) |
| Provisioning - Traffic Manager | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.TrafficManager/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.TrafficManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.TrafficManager_1.0.0-beta.1/sdk/trafficmanager/Azure.Provisioning.TrafficManager/) |
| Provisioning - Web PubSub | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.WebPubSub/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.WebPubSub-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.WebPubSub_1.1.0/sdk/provisioning/Azure.Provisioning.WebPubSub/) |
@@ -285,7 +285,7 @@
| Resource Management - Container Orchestrator Runtime | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ContainerOrchestratorRuntime/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerOrchestratorRuntime-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.ContainerOrchestratorRuntime_1.0.0-beta.2/sdk/containerorchestratorruntime/Azure.ResourceManager.ContainerOrchestratorRuntime/) |
| Resource Management - Container Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.4.0) NuGet [1.5.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.5.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.4.0/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) GitHub [1.5.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.5.0-beta.4/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) |
| Resource Management - Container Registry Tasks | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry.Tasks/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry.Tasks-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry.Tasks_1.0.0-beta.1/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry.Tasks/) |
-| Resource Management - Container Service | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.9.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.9.0/sdk/containerservice/Azure.ResourceManager.ContainerService/) |
+| Resource Management - Container Service | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.9.0) NuGet [1.10.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.10.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.9.0/sdk/containerservice/Azure.ResourceManager.ContainerService/) GitHub [1.10.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.10.0-beta.1/sdk/containerservice/Azure.ResourceManager.ContainerService/) |
| Resource Management - Container Service Fleet | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.1.0) NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceFleet/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServiceFleet-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.1.0/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/) GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceFleet_1.3.0-beta.1/sdk/fleet/Azure.ResourceManager.ContainerServiceFleet/) |
| Resource Management - Containerserviceaimanager | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServiceAIManager/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServiceAIManager-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServiceAIManager_1.0.0-beta.1/sdk/aimanager/Azure.ResourceManager.ContainerServiceAIManager/) |
| Resource Management - Containerservicepreparedimgspec | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerServicePreparedImgSpec/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerServicePreparedImgSpec-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerServicePreparedImgSpec_1.0.0-beta.1/sdk/containerservicepreparedimgspec/Azure.ResourceManager.ContainerServicePreparedImgSpec/) |
@@ -401,8 +401,8 @@
| Resource Management - MySQL | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.2.1/sdk/mysql/Azure.ResourceManager.MySql/) |
| Resource Management - Napster Omni Agent API | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NapsterOmniagentApi/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NapsterOmniagentApi-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NapsterOmniagentApi_1.0.0/sdk/napsteromniagentapi/Azure.ResourceManager.NapsterOmniagentApi/) |
| Resource Management - Neon Postgres | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NeonPostgres/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NeonPostgres-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NeonPostgres_1.0.0/sdk/neonpostgres/Azure.ResourceManager.NeonPostgres/) |
-| Resource Management - NetApp Files | NuGet [1.18.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.18.0) NuGet [1.19.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.19.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.18.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.18.0/sdk/netapp/Azure.ResourceManager.NetApp/) GitHub [1.19.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.19.0-beta.2/sdk/netapp/Azure.ResourceManager.NetApp/) |
-| Resource Management - Network | NuGet [1.17.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.17.0) NuGet [1.18.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.18.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.17.0/sdk/network/Azure.ResourceManager.Network/) GitHub [1.18.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.18.0-beta.1/sdk/network/Azure.ResourceManager.Network/) |
+| Resource Management - NetApp Files | NuGet [1.19.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.19.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.19.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.19.0/sdk/netapp/Azure.ResourceManager.NetApp/) |
+| Resource Management - Network | NuGet [1.17.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.17.0) NuGet [1.18.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.18.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.17.0/sdk/network/Azure.ResourceManager.Network/) GitHub [1.18.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.18.0-beta.2/sdk/network/Azure.ResourceManager.Network/) |
| Resource Management - Network Analytics | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.NetworkAnalytics/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkAnalytics-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkAnalytics_1.0.1/sdk/networkanalytics/Azure.ResourceManager.NetworkAnalytics/) |
| Resource Management - Network Cloud | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.4.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) |
| Resource Management - Network Function | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkFunction/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkFunction-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkFunction_1.0.0/sdk/networkfunction/Azure.ResourceManager.NetworkFunction/) |
@@ -410,7 +410,7 @@
| Resource Management - Nginx | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Nginx/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Nginx-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Nginx_1.1.0/sdk/nginx/Azure.ResourceManager.Nginx/) |
| Resource Management - Notification Hubs | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.1.1) NuGet [1.2.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.NotificationHubs-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.1.1/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) GitHub [1.2.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.5/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) |
| Resource Management - Online Experimentation | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-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.OnlineExperimentation_1.0.0-beta.3/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) |
-| Resource Management - Oracle Database | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.2.1/sdk/oracle/Azure.ResourceManager.OracleDatabase/) |
+| Resource Management - Oracle Database | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.3.0/sdk/oracle/Azure.ResourceManager.OracleDatabase/) |
| Resource Management - Orbital | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.3/sdk/orbital/Azure.ResourceManager.Orbital/) |
| Resource Management - Palo Alto Networks - Next Generation Firewall | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.2.1) NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PaloAltoNetworks.Ngfw-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2.1/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.3.0-beta.1/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) |
| Resource Management - Peering | NuGet [1.2.4](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.4/sdk/peering/Azure.ResourceManager.Peering/) |
@@ -435,7 +435,7 @@
| Resource Management - Recovery Services Data Replication | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesDataReplication/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesDataReplication-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesDataReplication_1.0.1/sdk/recoveryservices-datareplication/Azure.ResourceManager.RecoveryServicesDataReplication/) |
| Resource Management - Recovery Services Site Recovery | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesSiteRecovery/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesSiteRecovery-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.3.1/sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/) |
| Resource Management - Red Hat OpenShift | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedHatOpenShift/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedHatOpenShift_1.0.0-beta.1/sdk/redhatopenshift/Azure.ResourceManager.RedHatOpenShift/) |
-| Resource Management - Redhatopenshifthcp | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedHatOpenShiftHcp/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedHatOpenShiftHcp-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedHatOpenShiftHcp_1.0.0-beta.1/sdk/redhatopenshifthcp/Azure.ResourceManager.RedHatOpenShiftHcp/) |
+| Resource Management - Redhatopenshifthcp | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedHatOpenShiftHcp/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedHatOpenShiftHcp-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedHatOpenShift_1.0.0-beta.1/sdk/redhatopenshift/Azure.ResourceManager.RedHatOpenShift) |
| Resource Management - Redis | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.5.1) NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Redis-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.5.1/sdk/redis/Azure.ResourceManager.Redis/) GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Redis_1.6.0-beta.1/sdk/redis/Azure.ResourceManager.Redis/) |
| Resource Management - Redis Enterprise | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.3.0) NuGet [1.4.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.4.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterprise-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.3.0/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/) GitHub [1.4.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterprise_1.4.0-beta.2/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/) |
| Resource Management - Redis Enterprise Cache | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterpriseCache/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RedisEnterpriseCache-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RedisEnterpriseCache_1.0.0-beta.1/sdk/redisenterprise/Azure.ResourceManager.RedisEnterpriseCache/) |
@@ -472,7 +472,7 @@
| Resource Management - SQL | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Sql/1.4.0) NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Sql/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Sql-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sql_1.4.0/sdk/sqlmanagement/Azure.ResourceManager.Sql/) GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sql_1.5.0-beta.1/sdk/sqlmanagement/Azure.ResourceManager.Sql/) |
| Resource Management - SQL Virtual Machine | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.SqlVirtualMachine/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SqlVirtualMachine-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SqlVirtualMachine_1.1.2/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/) |
| Resource Management - Standby Pool | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.StandbyPool/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StandbyPool-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StandbyPool_1.2.0/sdk/standbypool/Azure.ResourceManager.StandbyPool/) |
-| Resource Management - Storage | NuGet [1.8.0](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.8.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.8.0/sdk/storage/Azure.ResourceManager.Storage/) |
+| Resource Management - Storage | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.9.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.9.0/sdk/storage/Azure.ResourceManager.Storage/) |
| Resource Management - Storage Actions | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageActions/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageActions-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageActions_1.0.1/sdk/storageactions/Azure.ResourceManager.StorageActions/) |
| Resource Management - Storage Cache | NuGet [1.6.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.6.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.6.0/sdk/storagecache/Azure.ResourceManager.StorageCache/) |
| Resource Management - Storage Discovery | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.0.1) NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageDiscovery-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.0.1/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.1.0-beta.1/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) |
diff --git a/docs/core/compatibility/11.md b/docs/core/compatibility/11.md
index e629052751cc0..7ad1ac1c4f6d0 100644
--- a/docs/core/compatibility/11.md
+++ b/docs/core/compatibility/11.md
@@ -31,6 +31,7 @@ See [Breaking changes in ASP.NET Core 11](/aspnet/core/breaking-changes/11/overv
| [DeflateStream and GZipStream write headers and footers for empty payload](core-libraries/11/deflatestream-gzipstream-empty-payload.md) | Behavioral change |
| [Environment.GetCommandLineArgs()[0] preserves the apphost invocation name](core-libraries/11/environment-getcommandlineargs-apphost-invocation-name.md) | Behavioral change |
| [Environment.TickCount made consistent with Windows timeout behavior](core-libraries/11/environment-tickcount-windows-behavior.md) | Behavioral change |
+| [Generated WMI collection and enumerator wrappers implement IDisposable](core-libraries/11/wmi-wrappers-implement-idisposable.md) | Source/behavioral change |
| [Math.Round and MathF.Round return correctly rounded results](core-libraries/11/math-round-digits.md) | Behavioral change |
| [Named mutexes default to user scope on Unix](core-libraries/11/named-mutexes-unix-default-scope.md) | Behavioral change |
| [NamedPipeServerStream with PipeOptions.CurrentUserOnly tightens Unix socket file permissions](core-libraries/11/namedpipeserverstream-unix-permissions.md) | Behavioral change |
@@ -72,6 +73,7 @@ See [Breaking changes in EF Core 11](/ef/core/what-is-new/ef-core-11.0/breaking-
|-------|-------------------|
| [ChangeToken.OnChange async overloads rebind existing Task-returning callbacks](extensions/11/changetoken-onchange-async-overloads-rebind-callbacks.md) | Behavioral change |
| [Dependency injection scope disposal aggregates exceptions](extensions/11/dependency-injection-disposal-exceptions.md) | Behavioral change |
+| [Empty strings in chained configuration override earlier providers](extensions/11/chained-configuration-empty-string.md) | Behavioral change |
| [FileConfigurationProvider doesn't raise reload token after ignored load failure](extensions/11/fileconfigurationprovider-reload-token-load-failure.md) | Behavioral change |
| [FileConfigurationSource.OnLoadException callback is called for IO errors](extensions/11/fileconfigurationsource-onloadexception-io-errors.md) | Behavioral change |
| [IHost.RunAsync and IHost.StopAsync throw when a BackgroundService fails](extensions/11/ihost-runasync-stopasync-throw-backgroundservice-failure.md) | Behavioral change |
@@ -128,6 +130,7 @@ See [Breaking changes in EF Core 11](/ef/core/what-is-new/ef-core-11.0/breaking-
| Title | Type of change |
|-------------------------------------------------------------------|-------------------|
| [dnx scripts bypass global.json SDK selection](sdk/11/dnx-scripts-bypass-global-json.md) | Behavioral change |
+| [Full build skipped for Native AOT publish](sdk/11/aot-publish-skips-full-build.md) | Behavioral change |
| [mono launch target not set for .NET Framework apps](sdk/11/mono-launch-target-removed.md) | Behavioral change |
| [NativeAOT CLI command handling enabled by default](sdk/11/native-cli-command-handling-enabled.md) | Behavioral change |
| [NU1703 warns for packages that use deprecated MonoAndroid framework assets](sdk/11/nu1703-deprecated-monoandroid-framework.md) | Source incompatible |
diff --git a/docs/core/compatibility/core-libraries/11/wmi-wrappers-implement-idisposable.md b/docs/core/compatibility/core-libraries/11/wmi-wrappers-implement-idisposable.md
new file mode 100644
index 0000000000000..39efdded4597f
--- /dev/null
+++ b/docs/core/compatibility/core-libraries/11/wmi-wrappers-implement-idisposable.md
@@ -0,0 +1,57 @@
+---
+title: "Breaking change: Generated WMI wrappers implement IDisposable"
+description: "Learn about the breaking change in .NET 11 where generated strongly typed WMI collection and enumerator wrappers implement IDisposable."
+ms.date: 10/27/2026
+ai-usage: ai-assisted
+---
+
+# Generated WMI wrappers implement IDisposable
+
+Starting in .NET 11, strongly typed WMI collection wrappers and their enumerators generated by `ManagementClass.GetStronglyTypedClassCode` implement . Calling `Dispose()` releases the wrapped or and its underlying COM-backed WMI resources deterministically.
+
+## Version introduced
+
+.NET 11 RC 2
+
+## Previous behavior
+
+The collection and enumerator types emitted by did not implement . A generated collection could not be used in a `using` statement, and consumers could not deterministically release the WMI resources held by its wrapped or enumerator.
+
+```csharp
+// The generated ServiceCollection type did not implement IDisposable.
+Service.ServiceCollection services = Service.GetInstances();
+```
+
+## New behavior
+
+The generated collection and enumerator types implement . Consumers can dispose them to release the underlying WMI resources deterministically.
+
+```csharp
+using Service.ServiceCollection services = Service.GetInstances();
+
+foreach (Service item in services)
+{
+ // Use item.
+}
+```
+
+Because the generated wrapper classes are non-sealed, adding `IDisposable` can affect code that derives from a generated wrapper and already declares a `Dispose` member or implements its own disposal pattern.
+
+## Type of breaking change
+
+This change can affect [source compatibility](../../categories.md#source-compatibility) and is a [behavioral change](../../categories.md#behavioral-change).
+
+## Reason for change
+
+The generated wrappers hold COM-backed WMI resources. This change exposes disposal behavior already supported by the wrapped types so consumers can release those resources deterministically. The finalizer fallback of the wrapped types remains unchanged. For more information, see [dotnet/runtime#132587](https://github.com/dotnet/runtime/pull/132587).
+
+## Recommended action
+
+Regenerate your strongly typed WMI wrappers with the updated generator. Then dispose generated collection and enumerator wrappers when they are no longer needed, preferably with `using` or `using var`.
+
+If your code derives from a generated collection or enumerator wrapper and already defines a disposal pattern, review the generated type's new `IDisposable` implementation. Update the derived type to avoid conflicting `Dispose` members and to preserve disposal of both its own resources and the base wrapper's resources.
+
+## Affected APIs
+
+- generated collection types
+- generated enumerator types
diff --git a/docs/core/compatibility/extensions/11/chained-configuration-empty-string.md b/docs/core/compatibility/extensions/11/chained-configuration-empty-string.md
new file mode 100644
index 0000000000000..37bbce264f19b
--- /dev/null
+++ b/docs/core/compatibility/extensions/11/chained-configuration-empty-string.md
@@ -0,0 +1,83 @@
+---
+title: "Breaking change: Empty strings in chained configuration override earlier providers"
+description: "Learn about the breaking change in .NET 11 where an empty string in a chained configuration overrides earlier providers."
+ms.date: 10/27/2026
+ai-usage: ai-assisted
+---
+
+# Empty strings in chained configuration override earlier providers
+
+Starting in .NET 11, a configuration added by using `AddConfiguration` treats an empty string as a present value. The empty string therefore overrides values from providers registered earlier in the outer configuration instead of allowing those earlier values to remain effective.
+
+This change continues the distinction between empty and `null` configuration values established in .NET 10 by [Null values preserved in configuration](../10.0/configuration-null-values-preserved.md). The handling of `null` by chained configuration is unchanged.
+
+## Version introduced
+
+.NET 11 RC 1
+
+## Previous behavior
+
+`ChainedConfigurationProvider.TryGet` reported an empty string as not found. Consequently, an empty value in a chained configuration did not override a value supplied by an earlier provider:
+
+```csharp
+using System;
+using System.Collections.Generic;
+using Microsoft.Extensions.Configuration;
+
+IConfiguration inner = new ConfigurationBuilder()
+ .AddInMemoryCollection(new Dictionary
+ {
+ ["Endpoint"] = "",
+ })
+ .Build();
+
+IConfiguration configuration = new ConfigurationBuilder()
+ .AddInMemoryCollection(new Dictionary
+ {
+ ["Endpoint"] = "https://example.com",
+ })
+ .AddConfiguration(inner)
+ .Build();
+
+Console.WriteLine($"Endpoint: '{configuration["Endpoint"]}'");
+```
+
+Before .NET 11, the output was:
+
+```text
+Endpoint: 'https://example.com'
+```
+
+When there was no earlier value, reading the key returned `null`, and a section whose only value was the chained empty string was considered not to exist.
+
+## New behavior
+
+Starting in .NET 11, `ChainedConfigurationProvider.TryGet` reports an empty string as found. With the preceding example, the empty value from `inner` overrides the earlier value, and the output is:
+
+```text
+Endpoint: ''
+```
+
+A section whose value is an empty string is now considered to exist. Binding also observes the empty value instead of an earlier provider's value. For example, binding an empty string over an earlier numeric value to an integer property throws `InvalidOperationException`, consistently with an empty value supplied by a directly added provider.
+
+A `null` value in the wrapped `IConfiguration` continues to be treated as absent, because the `IConfiguration` indexer cannot distinguish a key whose value is `null` from a missing key.
+
+## Type of breaking change
+
+This change is a [behavioral change](../../categories.md#behavioral-change).
+
+## Reason for change
+
+An empty string is a valid configuration value. Treating it as missing made chained configuration inconsistent with directly added configuration providers and prevented applications from intentionally clearing or disabling a setting by overriding it with an empty string. The new behavior preserves the configuration provider's distinction between an empty value and an absent value. For more information, see [dotnet/runtime#131480](https://github.com/dotnet/runtime/pull/131480).
+
+## Recommended action
+
+If an empty string is intended to override an earlier value, no action is required.
+
+If your app relied on an empty string in a chained configuration allowing an earlier provider's value to win, remove that key from the chained configuration or represent it as missing or `null`. Applications that bind chained values to non-string types should also validate or normalize empty values before binding if an empty value is not valid for the target type. There is no compatibility switch to restore the previous behavior.
+
+## Affected APIs
+
+-
+-
+-
diff --git a/docs/core/compatibility/sdk/11/aot-publish-skips-full-build.md b/docs/core/compatibility/sdk/11/aot-publish-skips-full-build.md
new file mode 100644
index 0000000000000..a40600cdaa008
--- /dev/null
+++ b/docs/core/compatibility/sdk/11/aot-publish-skips-full-build.md
@@ -0,0 +1,71 @@
+---
+title: "Breaking change: Full build skipped for Native AOT publish"
+description: "Learn about the breaking change in .NET 11 where the .NET SDK only compiles intermediate assemblies for Native AOT publish and skips the full Build target."
+ms.date: 10/27/2026
+ai-usage: ai-assisted
+---
+
+# Full build skipped for Native AOT publish
+
+Starting in .NET 11, the .NET SDK no longer executes the full `Build` target when publishing with Native AOT (`PublishAot=true`). Instead, the SDK executes only the minimum targets needed to compile the intermediate assembly and produce the AOT-compiled output.
+
+## Version introduced
+
+.NET 11 RC 2
+
+## Previous behavior
+
+When publishing with `PublishAot=true`, the full MSBuild `Build` target executed as part of the publish pipeline, producing a complete self-contained managed deployment (apphost, DLLs, `deps.json`, `runtimeconfig.json`, and runtime pack files) in the output (`bin\`) directory. These artifacts were unused by the AOT pipeline, which reads from `@(IntermediateAssembly)` in `obj\`, not from `bin\`.
+
+## New behavior
+
+The .NET SDK runs only the targets needed to compile the intermediate assembly and produce the Native AOT publish output. It no longer runs the full `Build` target or produces the unused managed deployment in `bin\`.
+
+Consequently, build extensibility points that aren't part of compilation don't run during Native AOT publish. These include `BeforeBuild`, `AfterBuild`, `PreBuildEvent`, `PostBuildEvent`, `BeforeTargets="Build"`, `AfterTargets="Build"`, and targets added to `BuildDependsOn`.
+
+## Type of breaking change
+
+This change is a [behavioral change](../../categories.md#behavioral-change).
+
+## Reason for change
+
+This change reduces customer confusion about which binaries to deploy and improves Native AOT publish performance. Deployable binaries are produced only in the publish directory.
+
+## Recommended action
+
+Update custom MSBuild targets to attach to the specific phase whose outputs they affect:
+
+- For generated source or other compiler inputs, use `BeforeTargets="CoreCompile"`.
+- For logic that consumes the compiled assembly, use `AfterTargets="Compile"` and consume `@(IntermediateAssembly)` rather than `$(TargetPath)`.
+- For additional files that should be copied to the publish directory, declare them as `Content` items with `CopyToPublishDirectory`, or add them to `@(ResolvedFileToPublish)` before `ComputeResolvedFilesToPublishList`.
+- For logic that processes the completed publish output, use `AfterTargets="Publish"`.
+
+For example:
+
+```xml
+
+
+
+
+
+
+
+```
+
+Targets that require the managed deployment previously produced in `bin\` can't use optimized publish. To restore the previous behavior, set `UseOptimizedPublish` to `false` in the project file:
+
+```xml
+
+ false
+
+```
+
+Alternatively, pass it on the command line:
+
+```dotnetcli
+dotnet publish /p:UseOptimizedPublish=false
+```
+
+## Affected APIs
+
+None.
diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml
index 20bf3d01dbb44..863612e948329 100644
--- a/docs/core/compatibility/toc.yml
+++ b/docs/core/compatibility/toc.yml
@@ -28,6 +28,8 @@ items:
href: core-libraries/11/environment-getcommandlineargs-apphost-invocation-name.md
- name: Environment.TickCount made consistent with Windows timeout behavior
href: core-libraries/11/environment-tickcount-windows-behavior.md
+ - name: Generated WMI collection and enumerator wrappers implement IDisposable
+ href: core-libraries/11/wmi-wrappers-implement-idisposable.md
- name: Math.Round and MathF.Round return correctly rounded results
href: core-libraries/11/math-round-digits.md
- name: Named mutexes default to user scope on Unix
@@ -74,6 +76,8 @@ items:
href: extensions/11/changetoken-onchange-async-overloads-rebind-callbacks.md
- name: Dependency injection scope disposal aggregates exceptions
href: extensions/11/dependency-injection-disposal-exceptions.md
+ - name: Empty strings in chained configuration override earlier providers
+ href: extensions/11/chained-configuration-empty-string.md
- name: FileConfigurationProvider doesn't raise reload token after ignored load failure
href: extensions/11/fileconfigurationprovider-reload-token-load-failure.md
- name: FileConfigurationSource.OnLoadException callback is called for IO errors
@@ -138,6 +142,8 @@ items:
items:
- name: dnx scripts bypass global.json SDK selection
href: sdk/11/dnx-scripts-bypass-global-json.md
+ - name: Full build skipped for Native AOT publish
+ href: sdk/11/aot-publish-skips-full-build.md
- name: mono launch target not set for .NET Framework apps
href: sdk/11/mono-launch-target-removed.md
- name: NativeAOT CLI command handling enabled by default
diff --git a/docs/csharp/fundamentals/building-software/index.md b/docs/csharp/fundamentals/building-software/index.md
index 42e4e47e87098..70c4a6b39b3a3 100644
--- a/docs/csharp/fundamentals/building-software/index.md
+++ b/docs/csharp/fundamentals/building-software/index.md
@@ -48,6 +48,7 @@ The articles that follow use comparisons like these to explain when each approac
## Next steps
+- [Tutorial: Combine C# techniques to generate badge labels](../tutorials/functional-techniques.md)
- [Pass behavior with lambda expressions](lambdas.md)
- [Organize helper logic with local functions](local-functions.md)
- [Produce sequences with iterators](iterators.md)
diff --git a/docs/csharp/fundamentals/tutorials/functional-techniques.md b/docs/csharp/fundamentals/tutorials/functional-techniques.md
new file mode 100644
index 0000000000000..6d0535b2a4a85
--- /dev/null
+++ b/docs/csharp/fundamentals/tutorials/functional-techniques.md
@@ -0,0 +1,302 @@
+---
+title: "Tutorial: Combine C# techniques to generate badge labels"
+description: Build a runnable badge-label generator that combines lambdas, LINQ, iterators, pattern matching, and local functions in one C# program.
+ms.date: 10/23/2026
+ms.topic: tutorial
+ai-usage: ai-assisted
+---
+
+# Tutorial: Combine C# techniques to generate badge labels
+
+A meetup needs badge labels in name order. Each attendee requests one or more copies, and each label includes a message for the attendee's role. In this tutorial, you combine small C# techniques to produce the labels without a separate collection of formatted strings.
+
+This tutorial is for developers who know basic C# methods, loops, and collections. You choose where short operations belong, make helper dependencies explicit, and decide when the program produces results. For the reasoning behind these choices, see [Building software](../building-software/index.md).
+
+## Prerequisites
+
+- The [.NET 10 SDK](https://dotnet.microsoft.com/download/dotnet/10.0).
+- A text editor and a terminal.
+
+## Start with one label per attendee
+
+1. Create a folder named `BadgeLabels` and a file named `Program.cs` inside it.
+1. Copy the complete source in the following section into `Program.cs`. Use this same file for every step and experiment:
+
+ :::code language="csharp" source="snippets/functional-techniques/Program.cs" id="Complete":::
+
+1. At the top of the file, comment out the four active `#define` lines. Leave the three experiment lines commented out, too.
+1. From that folder, run the [file-based app](file-based-programs.md):
+
+ ```dotnetcli
+ dotnet run --file Program.cs
+ ```
+
+The program writes:
+
+```output
+Ben | Host
+Ada | Guest
+```
+
+The file contains every stage. From now on, change only the `#define` lines at the top, not method bodies or declarations. A `#if` directive includes code only when its symbol is defined; an `#else` branch supplies the alternative. See [Conditional compilation](../program-structure/preprocessor-directives.md#conditional-compilation).
+
+Uncomment one additional stage line at each step, and keep the previous stage lines enabled:
+
+| Stage | Active stage symbols |
+| --- | --- |
+| One label per attendee | None |
+| Sort attendees | `BADGE_SORT` |
+| Produce copies | `BADGE_SORT`, `BADGE_COPIES` |
+| Format messages | `BADGE_SORT`, `BADGE_COPIES`, `BADGE_FORMAT` |
+| Verify the count | `BADGE_SORT`, `BADGE_COPIES`, `BADGE_FORMAT`, `BADGE_COUNT` |
+
+The downloaded source enables all four stage symbols, so it runs the final program by default. The other three symbols control optional experiments and stay off during the normal progression. These symbols use a `BADGE_` prefix to avoid SDK-defined symbols such as `TRACE`.
+
+The following excerpts highlight code already in your file. Don't copy them over the complete program.
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="Input":::
+
+The `Attendee` declaration defines a *record*, a type that groups related data and supplies value-based equality. Each attendee has a `Name`, a `Role`, and a requested number of `Copies`. A record fits this small data model because the program passes attendee data between operations without changing it. For more about this type, see [Records](../types/records.md).
+
+The fixed input uses an [array and a collection expression](../statements/collections.md). In each `new(...)` call, C# infers `Attendee` from the array element type; see [Target-typed `new`](../../language-reference/operators/new-operator.md#target-typed-new). [Top-level statements](../program-structure/top-level-statements.md) let you run the example without writing a `Main` method.
+
+The [`foreach` loop](../statements/iteration.md#iterate-a-collection-with-foreach) reads each attendee, and an [interpolated string](../strings/interpolation.md) inserts their values into the output. The loop currently ignores `Copies`.
+
+Keep this small input as you develop the program: Ben requests one copy, and Ada requests two. Only `Guest` and `Host` are supported roles, and copy counts must be positive.
+
+## Sort with a lambda
+
+To put attendees in name order, uncomment `#define BADGE_SORT`. Leave the other symbols commented out. The sort branch defines this query:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="Sort":::
+
+With diagnostics off, the `#else` branch supplies the short lambda. The loop prints the sorted attendees:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="PrintLabels":::
+
+Run the same command. The output now puts Ada first:
+
+```output
+Ada | Guest
+Ben | Host
+```
+
+`attendee => attendee.Name` is a *lambda expression*, an unnamed function supplied where code needs behavior. Here, the lambda selects the name to sort by. The lambda stays *inline*, directly in the `OrderBy` call, because it's short and its purpose is clear there. You could extract the selection into a named helper method, but a method name wouldn't explain this one-property selection better. See [Lambda expressions](../building-software/lambdas.md).
+
+`OrderBy` is part of *Language Integrated Query (LINQ)*, a set of C# features and .NET APIs for queries over data. See [LINQ queries](../statements/linq.md).
+
+This example uses *method syntax*, which calls LINQ methods directly. In contrast, *query syntax* uses C# clauses such as `from`, `orderby`, and `select`:
+
+```csharp
+var orderedAttendees =
+ from attendee in attendees
+ orderby attendee.Name
+ select attendee;
+```
+
+The compiler translates query syntax into method calls. Query syntax can make a query with several clauses easier to read; method syntax keeps this single sort short and lets you pass a comparer to `OrderBy`. The query-syntax example uses the default string comparer, so it doesn't guarantee the same order across cultures. Keep the method-syntax version for this program. See [LINQ method and query syntax](../statements/linq.md#linq-method-syntax).
+
+To keep the output independent of the machine's culture, the sample uses for name comparisons. For the short names here, that order is alphabetical. See [Sort data with LINQ](../../linq/standard-query-operators/sorting-data.md).
+
+The [`var` declaration](../../language-reference/statements/declarations.md#implicitly-typed-local-variables) lets the compiler infer the query variable's type. The `orderedAttendees` variable describes a query, not a completed sorted collection. To *enumerate* a sequence means to read its elements one at a time. `OrderBy` reads and sorts all the attendees when `foreach` first requests an element.
+
+## Observe the order of execution
+
+*Deferred execution* means work starts when code enumerates a sequence rather than when code defines the query. See [Run a query](../statements/linq.md#run-a-query). Use diagnostic output to see the difference:
+
+1. Keep only `BADGE_SORT` enabled among the stage symbols.
+1. Uncomment `#define BADGE_DIAGNOSTICS` at the top of the same file. The diagnostic branches surround the query definition with messages and use a lambda that prints each sort key:
+
+ :::code language="csharp" source="snippets/functional-techniques/Program.cs" id="ObserveExecution":::
+
+1. Run `dotnet run --file Program.cs` again. Before you read the output, predict whether `Sort key:` appears before or after `After query definition.`.
+
+The output is:
+
+```output
+Before query definition.
+After query definition.
+Sort key: Ben
+Sort key: Ada
+Ada | Guest
+Ben | Host
+```
+
+No sort keys appear between the two query-definition messages. The lambda runs only when `foreach` requests the first result. Both key messages appear before the first label because `OrderBy` needs every key before it can determine which attendee comes first. The keys follow the input order, Ben then Ada; the results follow the sorted order, Ada then Ben.
+
+The diagnostic lambda needs both a message and a returned key, so it uses a [block statement body](../building-software/lambdas.md#choose-an-expression-or-statement-body) with braces and `return`, instead of the original single-expression body.
+
+With diagnostics on, try the two experiment switches in the same file. No changes to the loops or query are needed:
+
+1. Uncomment `#define BADGE_REPEAT` and run again:
+
+ ```output
+ Before query definition.
+ After query definition.
+ Sort key: Ben
+ Sort key: Ada
+ Ada | Guest
+ Ben | Host
+ Sort key: Ben
+ Sort key: Ada
+ Ada | Guest
+ Ben | Host
+ ```
+
+ The second pass repeats the sort. The query variable doesn't cache results.
+
+1. Keep `BADGE_REPEAT` enabled, uncomment `#define BADGE_SNAPSHOT`, and run again:
+
+ ```output
+ Before query definition.
+ After query definition.
+ Sort key: Ben
+ Sort key: Ada
+ Ada | Guest
+ Ben | Host
+ Ada | Guest
+ Ben | Host
+ ```
+
+ The two key messages now appear only once, during `ToList`, before either pass prints labels. Both passes read the stored attendees.
+
+These switches select the sequence to enumerate and the number of passes:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="Enumeration":::
+
+*Eager execution* means an operation runs immediately instead of waiting for later enumeration. executes the query immediately and stores its results in a list. Both passes now read the stored attendees without running the sort again. In contrast, defining the `OrderBy` query still defers the sort: it reads and buffers all input only when enumeration begins. Buffering doesn't mean the query executes when you define it. Use a snapshot when you need to reuse results without recalculating them; keep the deferred query when you want each enumeration to read the current input. See [Compose queries with cached results](../statements/linq.md#compose-queries).
+
+Before you continue, comment out `BADGE_DIAGNOSTICS`, `BADGE_REPEAT`, and `BADGE_SNAPSHOT` again. Keep `BADGE_SORT` enabled. Run the app to confirm that only the two sorted labels appear.
+
+## Produce the requested copies with an iterator
+
+To expand each attendee into the requested number of labels, uncomment `#define BADGE_COPIES` alongside `BADGE_SORT`. The loop now selects the `BADGE_COPIES` branch shown earlier and calls the iterator already in the file:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="CreateLabels":::
+
+Run the app again:
+
+```output
+Ada | Guest [1/2]
+Ada | Guest [2/2]
+Ben | Host [1/1]
+```
+
+`CreateLabels` is an *iterator*, a function that produces sequence elements one at a time. Its return type, written as `IEnumerable`, represents a sequence of strings. Each `yield return` supplies one label to the inner `foreach` loop, which prints it before requesting the next label. See [Iterators](../building-software/iterators.md).
+
+The [`for` loop](../statements/iteration.md#count-with-for) counts copies from 1 through `attendee.Copies`. One attendee produces as many strings as `Copies` requests. A collection would also work, but the caller only needs each label once. The iterator avoids a separate label collection and keeps the copy-number loop together. The outer and inner `foreach` loops separate attendee order from label production; the caller remains responsible for printing.
+
+Calling `CreateLabels(attendee)` doesn't run its body. Like the LINQ query, the iterator uses deferred execution. The inner `foreach` starts that work, including the positive-copy check. A new enumeration runs the iterator again. Unlike `OrderBy`, which reads and sorts all attendees before its first result, this iterator supplies a label without creating the remaining labels.
+
+To observe the iterator's order of execution, uncomment `#define BADGE_DIAGNOSTICS` again. Keep `BADGE_REPEAT` and `BADGE_SNAPSHOT` off. Diagnostics now show both the sort and the iterator:
+
+```output
+Before query definition.
+After query definition.
+Sort key: Ben
+Sort key: Ada
+Sequence created: Ada
+Iterator started: Ada
+Ada | Guest [1/2]
+Ada | Guest [2/2]
+Sequence created: Ben
+Iterator started: Ben
+Ben | Host [1/1]
+```
+
+For each attendee, the sequence-created message appears before the iterator-started message and the labels. Creating the sequence doesn't enter the iterator body; requesting its first element does. Comment out `BADGE_DIAGNOSTICS` again before you continue.
+
+The same experiment controls remain available in the later stages. `BADGE_REPEAT` enumerates the attendees twice and creates each attendee's label sequence again. `BADGE_SNAPSHOT` caches only the sorted attendees, not label strings, so it prevents another sort but doesn't prevent the iterator from running again on each pass.
+
+The check reports invalid input instead of silently producing no labels. An *exception* reports a failure that interrupts normal execution; see [Create and throw exceptions](../exceptions/creating-and-throwing-exceptions.md). Here, an invalid copy count stops the program instead of silently skipping that attendee.
+
+## Calculate a message and name the formatting step
+
+Each role needs a different message. Uncomment `#define BADGE_FORMAT`, and leave `BADGE_SORT` and `BADGE_COPIES` enabled. The same iterator now includes the message calculation:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="Message":::
+
+It also selects the `yield return FormatLabel(...)` branch and includes this local helper:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="FormatLabel":::
+
+Run the app again:
+
+```output
+Ada | Guest | Welcome! [1/2]
+Ada | Guest | Welcome! [2/2]
+Ben | Host | Ask me for help [1/1]
+```
+
+The [`switch` expression](../statements/selection.md#switch-expression) calculates the message once per attendee, before the copy loop. An expression fits because each role selects one value to assign to `message`. An `if`/`else` chain or a `switch` statement would work, but would repeat the assignment in each branch.
+
+*Pattern matching* tests an expression against a specified pattern. Here, `attendee.Role` is the input expression, and the [constant patterns](../patterns/declaration-constant-var-patterns.md#match-a-specific-value-with-a-constant-pattern) `"Guest"` and `"Host"` test its evaluated value to select the matching message. The [discard pattern `_`](../patterns/discards.md#pattern-matching-with-switch) matches any other role and throws an exception, so unsupported roles don't receive a misleading default message. See [Pattern matching](../patterns/pattern-matching.md).
+
+The [`nameof` operator](../strings/nameof.md) supplies the parameter name `attendee` to the exception. Unlike a hard-coded string, that name stays correct if you rename the parameter with a refactoring tool.
+
+`FormatLabel` is a *local function*, a named function declared inside another function. Because only `CreateLabels` needs the formatting operation, its placement inside `CreateLabels` limits the helper to the operation that uses it. A private member method on a class would make the helper available to other members of that class. Choose that broader scope if several operations need the same formatting operation. See [Local functions](../building-software/local-functions.md).
+
+The name `FormatLabel` lets you follow the copy loop without reading the formatting details. Keeping the interpolated string directly in `yield return` would also work, as it did in the previous step. The name becomes more useful now that a label includes a role-specific message. The helper's [`=>` expression body](../../language-reference/operators/lambda-operator.md#expression-body-definition) returns the one formatted string.
+
+All formatting inputs arrive through parameters. A non-static local function could *capture*, or use, variables from its surrounding scope. The `static` modifier prevents that capture, so its dependencies stay explicit. See [Parameters and captured state](../building-software/local-functions.md#use-parameters-or-capture-local-state).
+
+Because `CreateLabels` is still an iterator, the role check also runs only when enumeration starts. For this controlled input, those checks belong with label production. The program doesn't promise to validate all attendees before it prints any labels.
+
+## Verify the total and run the complete program
+
+To compare actual label production with the requested count, uncomment `#define BADGE_COUNT`. All four stage symbols are now enabled. Leave the three experiment symbols commented out for the normal final output.
+
+The count setup runs before the attendee loop:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="CountSetup":::
+
+`Sum` uses eager execution to add the copy counts from the input array. Unlike `OrderBy`, it returns one number, not a sequence to enumerate later. Its lambda, `attendee => attendee.Copies`, selects the copy count inline. As with the name selection, a separate helper method wouldn't clarify this short expression. A loop with an accumulator would also work; `Sum` states directly that you want a total. See [Common LINQ methods](../statements/linq.md#common-linq-methods).
+
+The [`printed++` increment](../expressions/operators.md#increment-and-decrement) in the label loop increases the counter only when the loop receives a label. After that loop, the [`if` statement](../statements/selection.md#branch-with-if-and-else) compares that count with the requested total and throws an exception if they differ:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="CountCheck":::
+
+You've reached the default configuration of the complete program you copied at the start. No methods or declarations needed to change:
+
+:::code language="csharp" source="snippets/functional-techniques/Program.cs" id="Controls":::
+
+Run it with `dotnet run --file Program.cs`. The output is:
+
+```output
+Ada | Guest | Welcome! [1/2]
+Ada | Guest | Welcome! [2/2]
+Ben | Host | Ask me for help [1/1]
+Printed 3 of 3 requested labels.
+```
+
+The input array is already in memory. `Sum` reads it immediately, `OrderBy` sorts it when the attendee loop begins, and `CreateLabels` produces strings as the inner loop advances. The program never builds a separate collection of labels. For broader query guidance, see [LINQ and collections](../../linq/how-to-query-collections.md).
+
+To revisit the diagnostics with the final program, enable `BADGE_DIAGNOSTICS` alone among the experiment symbols. The output is:
+
+```output
+Before query definition.
+After query definition.
+Sort key: Ben
+Sort key: Ada
+Sequence created: Ada
+Iterator started: Ada
+Ada | Guest | Welcome! [1/2]
+Ada | Guest | Welcome! [2/2]
+Sequence created: Ben
+Iterator started: Ben
+Ben | Host | Ask me for help [1/1]
+Printed 3 of 3 requested labels.
+```
+
+If you also enable `BADGE_REPEAT`, each pass checks and reports its own count. With `BADGE_SNAPSHOT` enabled, the sort keys appear only once, but the iterator messages, labels, and count report still appear on each pass. Comment out the experiment symbols to restore the normal final output.
+
+## Summary
+
+Each technique serves a different part of the same task:
+
+- **Lambdas and LINQ** select names and copy counts inline for the sort and total.
+- **An iterator** expresses custom one-to-many production and leaves label consumption to the caller.
+- **A `switch` expression** calculates a role-specific value and makes unsupported roles explicit.
+- **A local function** names the formatting step, limits its scope, and states its inputs.
+
+Choose these forms when their scope, dependencies, and order of execution fit the operation. A direct loop, a shared method, or a completed collection can fit other callers better.
diff --git a/docs/csharp/fundamentals/tutorials/snippets/functional-techniques/Program.cs b/docs/csharp/fundamentals/tutorials/snippets/functional-techniques/Program.cs
new file mode 100644
index 0000000000000..777b47e5c551a
--- /dev/null
+++ b/docs/csharp/fundamentals/tutorials/snippets/functional-techniques/Program.cs
@@ -0,0 +1,148 @@
+//
+//
+#define BADGE_SORT
+#define BADGE_COPIES
+#define BADGE_FORMAT
+#define BADGE_COUNT
+// #define BADGE_DIAGNOSTICS
+// #define BADGE_REPEAT
+// #define BADGE_SNAPSHOT
+//
+
+//
+Attendee[] attendees =
+[
+ new("Ben", "Host", 1),
+ new("Ada", "Guest", 2)
+];
+//
+
+//
+#if BADGE_SORT
+#if BADGE_DIAGNOSTICS
+Console.WriteLine("Before query definition.");
+#endif
+//
+var orderedAttendees = attendees.OrderBy(
+#if BADGE_DIAGNOSTICS
+ attendee =>
+ {
+ Console.WriteLine($"Sort key: {attendee.Name}");
+ return attendee.Name;
+ }, StringComparer.Ordinal);
+#else
+ attendee => attendee.Name, StringComparer.Ordinal);
+#endif
+//
+#if BADGE_DIAGNOSTICS
+Console.WriteLine("After query definition.");
+#endif
+#else
+var orderedAttendees = attendees;
+#endif
+//
+
+//
+#if BADGE_SNAPSHOT
+var attendeesToPrint = orderedAttendees.ToList();
+#else
+var attendeesToPrint = orderedAttendees;
+#endif
+
+int passes = 1;
+#if BADGE_REPEAT
+passes = 2;
+#endif
+//
+
+for (int pass = 0; pass < passes; pass++)
+{
+//
+#if BADGE_COUNT
+ int expected = attendees.Sum(attendee => attendee.Copies);
+ int printed = 0;
+#endif
+//
+
+//
+ foreach (Attendee attendee in attendeesToPrint)
+ {
+#if BADGE_COPIES
+ var labels = CreateLabels(attendee);
+#if BADGE_DIAGNOSTICS
+ Console.WriteLine($"Sequence created: {attendee.Name}");
+#endif
+ foreach (string label in labels)
+ {
+ Console.WriteLine(label);
+#if BADGE_COUNT
+ printed++;
+#endif
+ }
+#else
+ Console.WriteLine($"{attendee.Name} | {attendee.Role}");
+#endif
+ }
+//
+
+//
+#if BADGE_COUNT
+ if (printed != expected)
+ {
+ throw new InvalidOperationException("Label count doesn't match the request.");
+ }
+
+ Console.WriteLine($"Printed {printed} of {expected} requested labels.");
+#endif
+//
+}
+
+//
+#if BADGE_COPIES
+static IEnumerable CreateLabels(Attendee attendee)
+{
+#if BADGE_DIAGNOSTICS
+ Console.WriteLine($"Iterator started: {attendee.Name}");
+#endif
+ ArgumentOutOfRangeException.ThrowIfNegativeOrZero(attendee.Copies);
+
+//
+#if BADGE_FORMAT
+ string message = attendee.Role switch
+ {
+ "Guest" => "Welcome!",
+ "Host" => "Ask me for help",
+ _ => throw new ArgumentException(
+ $"Unsupported role: {attendee.Role}.", nameof(attendee))
+ };
+#endif
+//
+
+ for (int copy = 1; copy <= attendee.Copies; copy++)
+ {
+#if BADGE_FORMAT
+ yield return FormatLabel(
+ attendee.Name, attendee.Role, message, copy, attendee.Copies);
+#else
+ yield return $"{attendee.Name} | {attendee.Role} [{copy}/{attendee.Copies}]";
+#endif
+ }
+
+//
+#if BADGE_FORMAT
+ static string FormatLabel(
+ string name, string role, string message, int copy, int total) =>
+ $"{name} | {role} | {message} [{copy}/{total}]";
+#endif
+//
+}
+#endif
+//
+
+record Attendee(string Name, string Role, int Copies);
+//
+
+// => Ada | Guest | Welcome! [1/2]
+// => Ada | Guest | Welcome! [2/2]
+// => Ben | Host | Ask me for help [1/1]
+// => Printed 3 of 3 requested labels.
diff --git a/docs/csharp/fundamentals/tutorials/snippets/functional-techniques/functional-techniques.csproj b/docs/csharp/fundamentals/tutorials/snippets/functional-techniques/functional-techniques.csproj
new file mode 100644
index 0000000000000..0ab61b3c571b0
--- /dev/null
+++ b/docs/csharp/fundamentals/tutorials/snippets/functional-techniques/functional-techniques.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Exe
+ net10.0
+ enable
+ enable
+ false
+
+
+
+
+
+
+
diff --git a/docs/csharp/language-reference/compiler-messages/attribute-usage-errors.md b/docs/csharp/language-reference/compiler-messages/attribute-usage-errors.md
index e35d260d90797..e1d4eab09c2b0 100644
--- a/docs/csharp/language-reference/compiler-messages/attribute-usage-errors.md
+++ b/docs/csharp/language-reference/compiler-messages/attribute-usage-errors.md
@@ -38,6 +38,9 @@ f1_keywords:
- "CS7046"
- "CS7047"
- "CS7067"
+ - "CS7080"
+ - "CS7081"
+ - "CS7082"
- "CS8335"
- "CS8336"
- "CS8423"
@@ -88,6 +91,9 @@ helpviewer_keywords:
- "CS7046"
- "CS7047"
- "CS7067"
+ - "CS7080"
+ - "CS7081"
+ - "CS7082"
- "CS8335"
- "CS8336"
- "CS8423"
@@ -101,7 +107,7 @@ helpviewer_keywords:
- "CS8970"
- "CS9331"
- "CS9351"
-ms.date: 09/23/2026
+ms.date: 10/27/2026
ai-usage: ai-assisted
---
# Resolve errors and warnings related to attribute declarations or attribute use in your code
@@ -111,69 +117,72 @@ This article covers the following compiler errors:
-- [**CS0181**](#attribute-arguments-and-parameters): *Attribute constructor parameter has a type, which is not a valid attribute parameter type*
-- [**CS0243**](#conditional-attribute-usage): *The Conditional attribute is not valid on 'method' because it is an override method.*
+- [**CS0181**](#attribute-arguments-and-parameters): *Attribute constructor parameter 'parameter' has type 'type', which is not a valid attribute parameter type*
+- [**CS0243**](#conditional-attribute-usage): *The Conditional attribute is not valid on 'method' because it is an override method*
- [**CS0404**](#attribute-class-requirements): *Attribute is not valid on this declaration type.*
-- [**CS0415**](#predefined-attributes): *This attribute is valid only on an indexer that is not an explicit interface member declaration.*
-- [**CS0416**](#attribute-arguments-and-parameters): *'type parameter': an attribute argument cannot use type parameters.*
+- [**CS0415**](#predefined-attributes): *The 'attribute' attribute is valid only on an indexer that is not an explicit interface member declaration*
+- [**CS0416**](#attribute-arguments-and-parameters): *'type parameter': an attribute argument cannot use type parameters*
- [**CS0447**](#attribute-arguments-and-parameters): *Attribute cannot be used with type arguments.*
-- [**CS0577**](#conditional-attribute-usage): *The Conditional attribute is not valid because it is a constructor, destructor, operator, lambda expression, or explicit interface implementation.*
-- [**CS0578**](#conditional-attribute-usage): *The Conditional attribute is not valid on 'function' because its return type is not void.*
-- [**CS0579**](#attribute-class-requirements): *Duplicate attribute*
-- [**CS0582**](#conditional-attribute-usage): *The Conditional attribute is not valid on interface members.*
-- [**CS0592**](#attribute-location-context): *Attribute is not valid on this declaration type. It is only valid on specific declarations.*
+- [**CS0577**](#conditional-attribute-usage): *The Conditional attribute is not valid on 'method' because it is a constructor, destructor, operator, lambda expression, or explicit interface implementation*
+- [**CS0578**](#conditional-attribute-usage): *The Conditional attribute is not valid on 'function' because its return type is not void*
+- [**CS0579**](#attribute-class-requirements): *Duplicate 'attribute' attribute*
+- [**CS0582**](#conditional-attribute-usage): *The Conditional attribute is not valid on interface members*
+- [**CS0592**](#attribute-location-context): *Attribute 'attribute' is not valid on this declaration type. It is only valid on 'declaration' declarations.*
- [**CS0609**](#predefined-attributes): *Cannot set the attribute on an indexer marked override.*
-- [**CS0616**](#attribute-class-requirements): *Type is not an attribute class*
-- [**CS0625**](#predefined-attributes): *Instance field in types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute.*
-- [**CS0629**](#conditional-attribute-usage): *Conditional member 'member' cannot implement interface member 'base class member' in type 'Type Name'.*
-- [**CS0636**](#predefined-attributes): *The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit).*
-- [**CS0637**](#predefined-attributes): *The FieldOffset attribute is not allowed on static or const fields.*
-- [**CS0641**](#attribute-class-requirements): *This attribute is only valid on classes derived from System.Attribute`.*
-- [**CS0646**](#predefined-attributes): *Cannot specify the DefaultMember attribute on a type containing an indexer.*
+- [**CS0616**](#attribute-class-requirements): *'Type' is not an attribute class*
+- [**CS0625**](#predefined-attributes): *'field': instance field in types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute*
+- [**CS0629**](#conditional-attribute-usage): *Conditional member 'member' cannot implement interface member 'base class member' in type 'Type Name'*
+- [**CS0636**](#predefined-attributes): *The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit)*
+- [**CS0637**](#predefined-attributes): *The FieldOffset attribute is not allowed on static or const fields*
+- [**CS0641**](#attribute-class-requirements): *Attribute 'attribute' is only valid on classes derived from System.Attribute*
+- [**CS0646**](#predefined-attributes): *Cannot specify the DefaultMember attribute on a type containing an indexer*
- [**CS0647**](#attribute-arguments-and-parameters): *Error emitting attribute*
-- [**CS0653**](#attribute-class-requirements): *Cannot apply attribute class 'class' because it is abstract.*
-- [**CS0657**](#attribute-location-context): *Location is not a valid attribute location for this declaration. Valid attribute locations for this declaration are listed. All attributes in this block will be ignored.*
-- [**CS0658**](#attribute-location-context): *Location is not a recognized attribute location. Valid attribute locations for this declaration are listed. All attributes in this block will be ignored.*
+- [**CS0653**](#attribute-class-requirements): *Cannot apply attribute class 'class' because it is abstract*
+- [**CS0657**](#attribute-location-context): *'Location' is not a valid attribute location for this declaration. Valid attribute locations for this declaration are 'valid locations'. All attributes in this block will be ignored.*
+- [**CS0658**](#attribute-location-context): *'Location' is not a recognized attribute location. Valid attribute locations for this declaration are 'valid locations'. All attributes in this block will be ignored.*
- [**CS0668**](#predefined-attributes): *Two indexers have different names; the IndexerName attribute must be used with the same name on every indexer within a type*
-- [**CS0685**](#conditional-attribute-usage): *Conditional member 'member' cannot have an out parameter.*
+- [**CS0685**](#conditional-attribute-usage): *Conditional member 'member' cannot have an out parameter*
- [**CS0735**](#predefined-attributes): *Invalid type specified as an argument for TypeForwardedTo attribute*
-- [**CS0739**](#predefined-attributes): *Duplicate TypeForwardedToAttribute*
+- [**CS0739**](#predefined-attributes): *'type' duplicate TypeForwardedToAttribute*
- [**CS1608**](#predefined-attributes): *The RequiredAttribute attribute is not permitted on C# types*
-- [**CS1614**](#attribute-class-requirements): *Attribute name is ambiguous. Either use '@name' or explicitly include the 'Attribute' suffix.*
-- [**CS1618**](#conditional-attribute-usage): *Cannot create delegate with method because it or a method it overrides has a Conditional attribute*
-- [**CS1667**](#attribute-location-context): *Attribute is not valid on property or event accessors. It is only valid on specific declarations.*
-- [**CS1689**](#conditional-attribute-usage): *Attribute is only valid on methods or attribute classes*
+- [**CS1614**](#attribute-class-requirements): *'name' is ambiguous between 'attribute' and 'other attribute'. Either use '@name' or explicitly include the 'Attribute' suffix.*
+- [**CS1618**](#conditional-attribute-usage): *Cannot create delegate with 'method' because it or a method it overrides has a Conditional attribute*
+- [**CS1667**](#attribute-location-context): *Attribute 'attribute' is not valid on property or event accessors. It is only valid on 'declaration' declarations.*
+- [**CS1689**](#conditional-attribute-usage): *Attribute 'attribute' is only valid on methods or attribute classes*
- [**CS7014**](#attribute-location-context): *Attributes are not valid in this context.*
-- [**CS7046**](#attribute-arguments-and-parameters): *Attribute parameter must be specified.*
+- [**CS7046**](#attribute-arguments-and-parameters): *Attribute parameter 'parameter' must be specified.*
- [**CS7047**](#attribute-arguments-and-parameters): *Attribute parameter 'parameter1' or 'parameter2' must be specified.*
-- [**CS7067**](#attribute-arguments-and-parameters): *Attribute constructor parameter is optional, but no default parameter value was specified.*
+- [**CS7067**](#attribute-arguments-and-parameters): *Attribute constructor parameter 'parameter' is optional, but no default parameter value was specified.*
+- [**CS7080**](#caller-information-attribute-precedence): *The CallerMemberNameAttribute applied to parameter 'parameter name' will have no effect. It is overridden by the CallerFilePathAttribute.*
+- [**CS7081**](#caller-information-attribute-precedence): *The CallerMemberNameAttribute applied to parameter 'parameter name' will have no effect. It is overridden by the CallerLineNumberAttribute.*
+- [**CS7082**](#caller-information-attribute-precedence): *The CallerFilePathAttribute applied to parameter 'parameter name' will have no effect. It is overridden by the CallerLineNumberAttribute.*
- [**CS8335**](#compiler-reserved-attributes-and-types): *Do not use 'attribute name'. This is reserved for compiler usage.*
- [**CS8336**](#compiler-reserved-attributes-and-types): *The type name 'type' is reserved to be used by the compiler.*
- [**CS8423**](#attribute-location-context): *Attribute 'attribute' is not valid on event accessors. It is only valid on 'declaration' declarations.*
- [**CS8783**](#conditional-attribute-usage): *Local function 'method' must be 'static' in order to use the Conditional attribute*
-- [**CS8959**](#callerargumentexpression-attribute-usage): *CallerArgumentExpressionAttribute cannot be applied because there are no standard conversions from type1 to type2*
-- [**CS8960**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerLineNumberAttribute.*
-- [**CS8961**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerFilePathAttribute.*
-- [**CS8962**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerMemberNameAttribute.*
-- [**CS8963**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is applied with an invalid parameter name.*
-- [**CS8968**](#attribute-arguments-and-parameters): *An attribute type argument cannot use type parameters*
-- [**CS8970**](#attribute-arguments-and-parameters): *Type cannot be used in this context because it cannot be represented in metadata.*
-- [**CS9331**](#predefined-attributes): *Attribute cannot be applied manually.*
+- [**CS8959**](#callerargumentexpression-attribute-usage): *CallerArgumentExpressionAttribute cannot be applied because there are no standard conversions from type 'type1' to type 'type2'*
+- [**CS8960**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter 'parameter' will have no effect. It is overridden by the CallerLineNumberAttribute.*
+- [**CS8961**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter 'parameter' will have no effect. It is overridden by the CallerFilePathAttribute.*
+- [**CS8962**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter 'parameter' will have no effect. It is overridden by the CallerMemberNameAttribute.*
+- [**CS8963**](#callerargumentexpression-attribute-usage): *The CallerArgumentExpressionAttribute applied to parameter 'parameter' will have no effect. It is applied with an invalid parameter name.*
+- [**CS8968**](#attribute-arguments-and-parameters): *'type parameter': an attribute type argument cannot use type parameters*
+- [**CS8970**](#attribute-arguments-and-parameters): *Type 'type' cannot be used in this context because it cannot be represented in metadata.*
+- [**CS9331**](#predefined-attributes): *'attribute' cannot be applied manually.*
- [**CS9351**](#predefined-attributes): *Use of 'StructLayoutAttribute' and 'ExtendedLayoutAttribute' on the same type is not allowed.*
## Attribute arguments and parameters
You see the following errors when you use attribute arguments or parameters incorrectly:
-- **CS0181**: *Attribute constructor parameter has a type, which is not a valid attribute parameter type*
-- **CS0416**: *'type parameter': an attribute argument cannot use type parameters.*
+- **CS0181**: *Attribute constructor parameter 'parameter' has type 'type', which is not a valid attribute parameter type*
+- **CS0416**: *'type parameter': an attribute argument cannot use type parameters*
- **CS0447**: *Attribute cannot be used with type arguments.*
- **CS0647**: *Error emitting attribute*
-- **CS7046**: *Attribute parameter must be specified.*
+- **CS7046**: *Attribute parameter 'parameter' must be specified.*
- **CS7047**: *Attribute parameter 'parameter1' or 'parameter2' must be specified.*
-- **CS7067**: *Attribute constructor parameter is optional, but no default parameter value was specified.*
-- **CS8968**: *An attribute type argument cannot use type parameters*
-- **CS8970**: *Type cannot be used in this context because it cannot be represented in metadata.*
+- **CS7067**: *Attribute constructor parameter 'parameter' is optional, but no default parameter value was specified.*
+- **CS8968**: *'type parameter': an attribute type argument cannot use type parameters*
+- **CS8970**: *Type 'type' cannot be used in this context because it cannot be represented in metadata.*
To correct these errors, follow these rules:
@@ -189,18 +198,18 @@ To correct these errors, follow these rules:
For more information, see [Attributes](../../advanced-topics/reflection-and-attributes/index.md), [Generics](../../fundamentals/types/generics.md), and the [C# language specification section on attributes](~/_csharpstandard/standard/attributes.md).
> [!NOTE]
-> **CS0447** and **CS0647** are deprecated. The current compiler doesn't emit these errors.
+> **CS0404**, **CS0447**, **CS0609**, and **CS0647** are historical diagnostics. The current compiler doesn't emit these errors.
## Attribute class requirements
You see the following errors when you define attribute classes that don't meet the required constraints:
- **CS0404**: *Attribute is not valid on this declaration type.*
-- **CS0579**: *Duplicate attribute*
-- **CS0616**: *Type is not an attribute class*
-- **CS0641**: *This attribute is only valid on classes derived from System.Attribute`.*
-- **CS0653**: *Cannot apply attribute class 'class' because it is abstract.*
-- **CS1614**: *Attribute name is ambiguous. Either use '@name' or explicitly include the 'Attribute' suffix.*
+- **CS0579**: *Duplicate 'attribute' attribute*
+- **CS0616**: *'Type' is not an attribute class*
+- **CS0641**: *Attribute 'attribute' is only valid on classes derived from System.Attribute*
+- **CS0653**: *Cannot apply attribute class 'class' because it is abstract*
+- **CS1614**: *'name' is ambiguous between 'attribute' and 'other attribute'. Either use '@name' or explicitly include the 'Attribute' suffix.*
To correct these errors, follow these rules:
@@ -217,10 +226,10 @@ For more information, see [Create custom attributes](../../advanced-topics/refle
The following errors occur when you apply attributes in invalid locations or use incorrect target specifiers:
-- **CS0592**: *Attribute is not valid on this declaration type. It is only valid on specific declarations.*
-- **CS0657**: *Location is not a valid attribute location for this declaration. Valid attribute locations for this declaration are listed. All attributes in this block will be ignored.*
-- **CS0658**: *Location is not a recognized attribute location. Valid attribute locations for this declaration are listed. All attributes in this block will be ignored.*
-- **CS1667**: *Attribute is not valid on property or event accessors. It is only valid on specific declarations.*
+- **CS0592**: *Attribute 'attribute' is not valid on this declaration type. It is only valid on 'declaration' declarations.*
+- **CS0657**: *'Location' is not a valid attribute location for this declaration. Valid attribute locations for this declaration are 'valid locations'. All attributes in this block will be ignored.*
+- **CS0658**: *'Location' is not a recognized attribute location. Valid attribute locations for this declaration are 'valid locations'. All attributes in this block will be ignored.*
+- **CS1667**: *Attribute 'attribute' is not valid on property or event accessors. It is only valid on 'declaration' declarations.*
- **CS7014**: *Attributes are not valid in this context.*
- **CS8423**: *Attribute 'attribute' is not valid on event accessors. It is only valid on 'declaration' declarations.*
@@ -237,17 +246,17 @@ To correct these errors, follow these rules. For more information, see [Attribut
The following errors occur when you use specific predefined .NET attributes incorrectly:
-- **CS0415**: *This attribute is valid only on an indexer that is not an explicit interface member declaration.*
+- **CS0415**: *The 'attribute' attribute is valid only on an indexer that is not an explicit interface member declaration*
- **CS0609**: *Cannot set the attribute on an indexer marked override.*
-- **CS0625**: *Instance field in types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute.*
-- **CS0636**: *The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit).*
-- **CS0637**: *The FieldOffset attribute is not allowed on static or const fields.*
-- **CS0646**: *Cannot specify the DefaultMember attribute on a type containing an indexer.*
+- **CS0625**: *'field': instance field in types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute*
+- **CS0636**: *The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit)*
+- **CS0637**: *The FieldOffset attribute is not allowed on static or const fields*
+- **CS0646**: *Cannot specify the DefaultMember attribute on a type containing an indexer*
- **CS0668**: *Two indexers have different names; the IndexerName attribute must be used with the same name on every indexer within a type*
- **CS0735**: *Invalid type specified as an argument for TypeForwardedTo attribute*
-- **CS0739**: *Duplicate TypeForwardedToAttribute*
+- **CS0739**: *'type' duplicate TypeForwardedToAttribute*
- **CS1608**: *The RequiredAttribute attribute is not permitted on C# types*
-- **CS9331**: *Attribute cannot be applied manually.*
+- **CS9331**: *'attribute' cannot be applied manually.*
- **CS9351**: *Use of 'StructLayoutAttribute' and 'ExtendedLayoutAttribute' on the same type is not allowed.*
To correct these errors, follow these rules. For more information, see [Indexers](../../programming-guide/indexers/index.md), [Structure types](../builtin-types/struct.md), , [Unsafe code and pointers](../unsafe-code.md#the-updated-memory-safety-model-preview), and [Platform Invoke (P/Invoke)](../../../standard/native-interop/pinvoke.md).
@@ -278,14 +287,14 @@ Remove the explicit declaration or attribute application. Use the corresponding
You see the following errors when you apply the in ways that violate its usage restrictions:
-- **CS0243**: *The Conditional attribute is not valid on 'method' because it is an override method.*
-- **CS0577**: *The Conditional attribute is not valid because it is a constructor, destructor, operator, lambda expression, or explicit interface implementation.*
-- **CS0578**: *The Conditional attribute is not valid on 'function' because its return type is not void.*
-- **CS0582**: *The Conditional attribute is not valid on interface members.*
-- **CS0629**: *Conditional member 'member' cannot implement interface member 'base class member' in type 'Type Name'.*
-- **CS0685**: *Conditional member 'member' cannot have an out parameter.*
-- **CS1618**: *Cannot create delegate with method because it or a method it overrides has a Conditional attribute*
-- **CS1689**: *Attribute is only valid on methods or attribute classes*
+- **CS0243**: *The Conditional attribute is not valid on 'method' because it is an override method*
+- **CS0577**: *The Conditional attribute is not valid on 'method' because it is a constructor, destructor, operator, lambda expression, or explicit interface implementation*
+- **CS0578**: *The Conditional attribute is not valid on 'function' because its return type is not void*
+- **CS0582**: *The Conditional attribute is not valid on interface members*
+- **CS0629**: *Conditional member 'member' cannot implement interface member 'base class member' in type 'Type Name'*
+- **CS0685**: *Conditional member 'member' cannot have an out parameter*
+- **CS1618**: *Cannot create delegate with 'method' because it or a method it overrides has a Conditional attribute*
+- **CS1689**: *Attribute 'attribute' is only valid on methods or attribute classes*
- **CS8783**: *Local function 'method' must be 'static' in order to use the Conditional attribute*
To correct these errors, follow these rules. For more information, see , [Conditional methods](~/_csharpstandard/standard/attributes.md#23532-conditional-methods), and [Attributes](../../advanced-topics/reflection-and-attributes/index.md).
@@ -300,15 +309,25 @@ To correct these errors, follow these rules. For more information, see incorrectly or in conflict with other caller info attributes:
-- **CS8959**: *CallerArgumentExpressionAttribute cannot be applied because there are no standard conversions from type1 to type2*
-- **CS8960**: *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerLineNumberAttribute.*
-- **CS8961**: *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerFilePathAttribute.*
-- **CS8962**: *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is overridden by the CallerMemberNameAttribute.*
-- **CS8963**: *The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is applied with an invalid parameter name.*
+- **CS8959**: *CallerArgumentExpressionAttribute cannot be applied because there are no standard conversions from type 'type1' to type 'type2'*
+- **CS8960**: *The CallerArgumentExpressionAttribute applied to parameter 'parameter' will have no effect. It is overridden by the CallerLineNumberAttribute.*
+- **CS8961**: *The CallerArgumentExpressionAttribute applied to parameter 'parameter' will have no effect. It is overridden by the CallerFilePathAttribute.*
+- **CS8962**: *The CallerArgumentExpressionAttribute applied to parameter 'parameter' will have no effect. It is overridden by the CallerMemberNameAttribute.*
+- **CS8963**: *The CallerArgumentExpressionAttribute applied to parameter 'parameter' will have no effect. It is applied with an invalid parameter name.*
To correct these errors, follow these rules. For more information, see [Caller information attributes](../../language-reference/attributes/caller-information.md) and .
diff --git a/docs/csharp/language-reference/compiler-messages/parameter-argument-mismatch.md b/docs/csharp/language-reference/compiler-messages/parameter-argument-mismatch.md
index 6177975f2cfd8..558e901e37827 100644
--- a/docs/csharp/language-reference/compiler-messages/parameter-argument-mismatch.md
+++ b/docs/csharp/language-reference/compiler-messages/parameter-argument-mismatch.md
@@ -17,7 +17,6 @@ f1_keywords:
- "CS1744"
- "CS1746"
- "CS7036"
- - "CS7067"
- "CS8323"
- "CS8324"
- "CS8362"
@@ -49,7 +48,6 @@ helpviewer_keywords:
- "CS1744"
- "CS1746"
- "CS7036"
- - "CS7067"
- "CS8323"
- "CS8324"
- "CS8362"
@@ -75,44 +73,43 @@ The compiler generates the following errors when you don't supply an argument fo
-- [**CS0182**](#arguments-for-attributes): *An attribute argument must be a constant expression, `typeof` expression or array creation expression of an attribute parameter type*
-- [**CS0591**](#arguments-for-attributes): *Invalid value for argument to attribute*
-- [**CS0599**](#arguments-for-attributes): *Invalid value for named attribute argument 'argument'*
-- [**CS0617**](#arguments-for-attributes): *Not a valid named attribute argument. Named attribute arguments must be fields which are not readonly, static, or const, or read-write properties which are public and not static.*
-- [**CS0633**](#arguments-for-attributes): *The argument to the attribute must be a valid identifier*
-- [**CS0643**](#arguments-for-attributes): *Duplicate named attribute argument*
-- [**CS0655**](#arguments-for-attributes): *Not a valid named attribute argument because it is not a valid attribute parameter type*
+- [**CS0182**](#arguments-for-attributes): *An attribute argument must be a constant expression, `typeof` expression or array creation expression of an attribute parameter type.*
+- [**CS0591**](#arguments-for-attributes): *Invalid value for argument to 'attribute' attribute.*
+- [**CS0599**](#arguments-for-attributes): *Invalid value for named attribute argument 'argument'.*
+- [**CS0617**](#arguments-for-attributes): *'argument' is not a valid named attribute argument. Named attribute arguments must be fields which are not readonly, static, or const, or read-write properties which are public and not static.*
+- [**CS0633**](#arguments-for-attributes): *The argument to the 'attribute' attribute must be a valid identifier.*
+- [**CS0643**](#arguments-for-attributes): *'argument' duplicate named attribute argument.*
+- [**CS0655**](#arguments-for-attributes): *'argument' is not a valid named attribute argument because it is not a valid attribute parameter type.*
- [**CS0839**](#missing-argument): *Argument missing.*
-- [**CS1016**](#named-and-optional-parameters-and-arguments): *Named attribute argument expected*
-- [**CS1739**](#named-and-optional-parameters-and-arguments): *The best overload for does not have a parameter named*
-- [**CS1740**](#named-and-optional-parameters-and-arguments): *Named argument cannot be specified multiple times*
-- [**CS1742**](#named-and-optional-parameters-and-arguments): *An array access may not have a named argument specifier*
-- [**CS1744**](#named-and-optional-parameters-and-arguments): *Named argument specifies a parameter for which a positional argument has already been given*
-- [**CS1746**](#named-and-optional-parameters-and-arguments): *The delegate does not have a parameter named 'name'*
-- [**CS7036**](#missing-argument): *There is no argument given that corresponds to the required parameter*
-- [**CS7067**](#named-and-optional-parameters-and-arguments): *Attribute constructor parameter is optional, but no default parameter value was specified.*
-- [**CS8323**](#named-and-optional-parameters-and-arguments): *Named argument 'argument name' is used out-of-position but is followed by an unnamed argument*
+- [**CS1016**](#named-and-optional-parameters-and-arguments): *Named attribute argument expected.*
+- [**CS1739**](#named-and-optional-parameters-and-arguments): *The best overload for 'method' does not have a parameter named 'parameter'.*
+- [**CS1740**](#named-and-optional-parameters-and-arguments): *Named argument 'argument' cannot be specified multiple times.*
+- [**CS1742**](#named-and-optional-parameters-and-arguments): *An array access may not have a named argument specifier.*
+- [**CS1744**](#named-and-optional-parameters-and-arguments): *Named argument 'argument' specifies a parameter for which a positional argument has already been given.*
+- [**CS1746**](#named-and-optional-parameters-and-arguments): *The delegate 'delegate' does not have a parameter named 'name'.*
+- [**CS7036**](#missing-argument): *There is no argument given that corresponds to the required parameter 'parameter' of 'method'.*
+- [**CS8323**](#named-and-optional-parameters-and-arguments): *Named argument 'argument name' is used out-of-position but is followed by an unnamed argument.*
- [**CS8324**](#named-and-optional-parameters-and-arguments): *Named argument specifications must appear after all fixed arguments have been specified in a dynamic invocation.*
-- [**CS8362**](#variable-argument-lists): *`__arglist` cannot have an argument of void type*
-- [**CS8378**](#variable-argument-lists): *`__arglist` cannot have an argument passed by 'in' or 'out'*
+- [**CS8362**](#variable-argument-lists): *`__arglist` cannot have an argument of void type.*
+- [**CS8378**](#variable-argument-lists): *`__arglist` cannot have an argument passed by 'in' or 'out'.*
- [**CS8905**](#named-and-optional-parameters-and-arguments): *A function pointer cannot be called with named arguments.*
- [**CS8943**](#interpolated-string-handler): *null is not a valid parameter name. To get access to the receiver of an instance method, use the empty string as the parameter name.*
-- [**CS8944**](#interpolated-string-handler): *Method is not an instance method, the receiver cannot be an interpolated string handler argument.*
-- [**CS8945**](#interpolated-string-handler): *Not a valid parameter name.*
+- [**CS8944**](#interpolated-string-handler): *'method' is not an instance method, the receiver or extension receiver parameter cannot be an interpolated string handler argument.*
+- [**CS8945**](#interpolated-string-handler): *'parameter name' is not a valid parameter name from 'method'.*
- [**CS8948**](#interpolated-string-handler): *`InterpolatedStringHandlerArgumentAttribute` arguments cannot refer to the parameter the attribute is used on.*
-- [**CS8949**](#interpolated-string-handler): *The `InterpolatedStringHandlerArgumentAttribute` applied to parameter is malformed and cannot be interpreted. Construct an instance of it manually.*
-- [**CS8950**](#interpolated-string-handler): *Parameter is an argument to the interpolated string handler conversion on parameter, but the corresponding argument is specified after the interpolated string expression. Reorder the arguments.*
-- [**CS8951**](#interpolated-string-handler): *Parameter is not explicitly provided, but is used as an argument to the interpolated string handler conversion on parameter.*
-- [**CS8964**](#caller-debugging-information): *The `CallerArgumentExpressionAttribute` may only be applied to parameters with default values*
-- [**CS8965**](#caller-debugging-information): *The `CallerArgumentExpressionAttribute` applied to parameter will have no effect because it's self-referential.*
-- [**CS8966**](#caller-debugging-information): *The `CallerArgumentExpressionAttribute` will have no effect because it applies to a member that is used in contexts that do not allow optional arguments*
+- [**CS8949**](#interpolated-string-handler): *The `InterpolatedStringHandlerArgumentAttribute` applied to parameter 'parameter' is malformed and cannot be interpreted. Construct an instance of 'handler type' manually.*
+- [**CS8950**](#interpolated-string-handler): *Parameter 'argument parameter' is an argument to the interpolated string handler conversion on parameter 'handler parameter', but the corresponding argument is specified after the interpolated string expression. Reorder the arguments to move 'argument parameter' before 'handler parameter'.*
+- [**CS8951**](#interpolated-string-handler): *Parameter 'argument parameter' is not explicitly provided, but is used as an argument to the interpolated string handler conversion on parameter 'handler parameter'. Specify the value of 'argument parameter' before 'handler parameter'.*
+- [**CS8964**](#caller-debugging-information): *The `CallerArgumentExpressionAttribute` may only be applied to parameters with default values.*
+- [**CS8965**](#caller-debugging-information): *The `CallerArgumentExpressionAttribute` applied to parameter 'parameter' will have no effect because it's self-referential.*
+- [**CS8966**](#caller-debugging-information): *The `CallerArgumentExpressionAttribute` applied to parameter 'parameter' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.*
## Missing argument
The compiler returns the following general errors when it can't match arguments to all member parameters:
- **CS0839**: *Argument missing.*
-- **CS7036**: *There is no argument given that corresponds to the required parameter*
+- **CS7036**: *There is no argument given that corresponds to the required parameter 'parameter' of 'method'.*
These errors indicate that the compiler can't match the arguments in a method call to the required parameters of the method. Check the following causes:
@@ -129,13 +126,13 @@ These errors often appear with other diagnostics that can help diagnose the corr
The compiler returns these errors when an argument to an attribute constructor is incorrect:
-- **CS0182**: *An attribute argument must be a constant expression, `typeof` expression or array creation expression of an attribute parameter type*
-- **CS0591**: *Invalid value for argument to attribute*
-- **CS0599**: *Invalid value for named attribute argument 'argument'*
-- **CS0617**: *Not a valid named attribute argument. Named attribute arguments must be fields which are not readonly, static, or const, or read-write properties which are public and not static.*
-- **CS0633**: *The argument to the attribute must be a valid identifier*
-- **CS0643**: *Duplicate named attribute argument*
-- **CS0655**: *not a valid named attribute argument because it is not a valid attribute parameter type*
+- **CS0182**: *An attribute argument must be a constant expression, `typeof` expression, or array creation expression of an attribute parameter type.*
+- **CS0591**: *Invalid value for argument to 'attribute' attribute.*
+- **CS0599**: *Invalid value for named attribute argument 'argument'.*
+- **CS0617**: *'argument' is not a valid named attribute argument. Named attribute arguments must be fields which are not readonly, static, or const, or read-write properties which are public and not static.*
+- **CS0633**: *The argument to the 'attribute' attribute must be a valid identifier.*
+- **CS0643**: *'argument' duplicate named attribute argument.*
+- **CS0655**: *'argument' is not a valid named attribute argument because it is not a valid attribute parameter type.*
If you use the on your attribute definition, ensure the allowed values aren't mutually exclusive. Check that the type and order of arguments to the attribute are correct. Ensure the text of string arguments is valid. For many attributes, the argument must be a valid C# identifier. Arguments to attribute constructors must be compile-time constants. Therefore, you can only use types that support literal constants. In addition, the following types that support literal constants are disallowed as attribute parameters:
@@ -151,14 +148,13 @@ You can't specify repeated named arguments with the same parameter name. You can
The compiler issues the following errors for incorrect use of named and optional arguments:
-- **CS1016**: *Named attribute argument expected*
-- **CS1739**: *The best overload for does not have a parameter named*
-- **CS1740**: *Named argument cannot be specified multiple times*
-- **CS1742**: *An array access may not have a named argument specifier*
-- **CS1744**: *Named argument specifies a parameter for which a positional argument has already been given*
-- **CS1746**: *The delegate does not have a parameter named 'name'*
-- **CS7067**: *Attribute constructor parameter is optional, but no default parameter value was specified.*
-- **CS8323**: *Named argument 'argument name' is used out-of-position but is followed by an unnamed argument*
+- **CS1016**: *Named attribute argument expected.*
+- **CS1739**: *The best overload for 'method' does not have a parameter named 'parameter'.*
+- **CS1740**: *Named argument 'argument' cannot be specified multiple times.*
+- **CS1742**: *An array access may not have a named argument specifier.*
+- **CS1744**: *Named argument 'argument' specifies a parameter for which a positional argument has already been given.*
+- **CS1746**: *The delegate 'delegate' does not have a parameter named 'name'.*
+- **CS8323**: *Named argument 'argument name' is used out-of-position but is followed by an unnamed argument.*
- **CS8324**: *Named argument specifications must appear after all fixed arguments have been specified in a dynamic invocation.*
- **CS8905**: *A function pointer cannot be called with named arguments.*
@@ -174,8 +170,8 @@ Check for the following causes of these errors:
The compiler returns these errors for invalid arguments in an `__arglist` expression:
-- **CS8362**: *`__arglist` cannot have an argument of void type*
-- **CS8378**: *`__arglist` cannot have an argument passed by 'in' or 'out'*
+- **CS8362**: *`__arglist` cannot have an argument of void type.*
+- **CS8378**: *`__arglist` cannot have an argument passed by 'in' or 'out'.*
Pass only expressions that produce a value, either by value or with `ref`. Replace a `void`-returning invocation with an expression that has a value (**CS8362**). Remove `in` or `out`, or change the called API so the argument can be passed by value or by `ref` (**CS8378**).
@@ -184,12 +180,12 @@ Pass only expressions that produce a value, either by value or with `ref`. Repla
The compiler returns the following errors when you specify an [interpolated string handler](../tokens/interpolated.md#compilation-of-interpolated-strings) incorrectly.
- **CS8943**: *null is not a valid parameter name. To get access to the receiver of an instance method, use the empty string as the parameter name.*
-- **CS8944**: *Not an instance method, the receiver cannot be an interpolated string handler argument.*
-- **CS8945**: *Not a valid parameter name.*
+- **CS8944**: *'method' is not an instance method, the receiver or extension receiver parameter cannot be an interpolated string handler argument.*
+- **CS8945**: *'parameter name' is not a valid parameter name from 'method'.*
- **CS8948**: *`InterpolatedStringHandlerArgumentAttribute` arguments cannot refer to the parameter the attribute is used on.*
-- **CS8949**: *The `InterpolatedStringHandlerArgumentAttribute` applied to parameter is malformed and cannot be interpreted. Construct an instance manually.*
-- **CS8950**: *Parameter is an argument to the interpolated string handler conversion on parameter, but the corresponding argument is specified after the interpolated string expression.*
-- **CS8951**: *Parameter is not explicitly provided, but is used as an argument to the interpolated string handler conversion on parameter.*
+- **CS8949**: *The `InterpolatedStringHandlerArgumentAttribute` applied to parameter 'parameter' is malformed and cannot be interpreted. Construct an instance of 'handler type' manually.*
+- **CS8950**: *Parameter 'argument parameter' is an argument to the interpolated string handler conversion on parameter 'handler parameter', but the corresponding argument is specified after the interpolated string expression. Reorder the arguments to move 'argument parameter' before 'handler parameter'.*
+- **CS8951**: *Parameter 'argument parameter' is not explicitly provided, but is used as an argument to the interpolated string handler conversion on parameter 'handler parameter'. Specify the value of 'argument parameter' before 'handler parameter'.*
An interpolated string handler is a pattern-based construct. It's important to get the pattern correct. Consult the C# language specification section on [custom interpolated string expression handlers](~/_csharpstandard/standard/attributes.md#235111-custom-interpolated-string-expression-handlers), or follow the tutorial on [building an interpolated string handler](../../advanced-topics/performance/interpolated-string-handler.md).
@@ -197,11 +193,11 @@ An interpolated string handler is a pattern-based construct. It's important to g
The compiler issues the following error when you use the incorrectly:
-- **CS8964**: *The `CallerArgumentExpressionAttribute` may only be applied to parameters with default values*
+- **CS8964**: *The `CallerArgumentExpressionAttribute` may only be applied to parameters with default values.*
The compiler also issues the following warnings when you use the `CallerArgumentExpressionAttribute` incorrectly:
-- **CS8965**: *The `CallerArgumentExpressionAttribute` applied to parameter will have no effect because it's self-referential.*
-- **CS8966**: *The `CallerArgumentExpressionAttribute` will have no effect because it applies to a member that is used in contexts that do not allow optional arguments*
+- **CS8965**: *The `CallerArgumentExpressionAttribute` applied to parameter 'parameter' will have no effect because it's self-referential.*
+- **CS8966**: *The `CallerArgumentExpressionAttribute` applied to parameter 'parameter' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.*
Any parameter you annotate with the `CallerArgumentExpression` attribute must have a default value.
diff --git a/docs/csharp/language-reference/compiler-messages/string-interpolations.md b/docs/csharp/language-reference/compiler-messages/string-interpolations.md
index 902c5b10cb175..e7e39c419b80c 100644
--- a/docs/csharp/language-reference/compiler-messages/string-interpolations.md
+++ b/docs/csharp/language-reference/compiler-messages/string-interpolations.md
@@ -2,6 +2,12 @@
title: Resolve errors and warnings for string interpolation expressions
description: Learn how to diagnose and correct C# compiler errors and warnings when you use string interpolation expressions, where expressions are substituted for placeholders in a string literal.
f1_keywords:
+ - "CS8076"
+ - "CS8086"
+ - "CS8087"
+ - "CS8088"
+ - "CS8089"
+ - "CS8094"
- "CS8361"
- "CS8941"
- "CS8942"
@@ -12,6 +18,12 @@ f1_keywords:
- "CS9205"
- "CS9325"
helpviewer_keywords:
+ - "CS8076"
+ - "CS8086"
+ - "CS8087"
+ - "CS8088"
+ - "CS8089"
+ - "CS8094"
- "CS8361"
- "CS8941"
- "CS8942"
@@ -21,7 +33,7 @@ helpviewer_keywords:
- "CS8976"
- "CS9205"
- "CS9325"
-ms.date: 02/06/2026
+ms.date: 10/27/2026
ai-usage: ai-assisted
---
# Resolve errors and warnings for string interpolation expressions
@@ -29,50 +41,78 @@ ai-usage: ai-assisted
The C# compiler generates errors and warnings when you declare string interpolation expressions or string interpolation handlers with incorrect syntax or use them in unsupported contexts. These diagnostics help you identify problems with string interpolations or custom string interpolation handlers.
+- [**CS8076**](#interpolation-expression-syntax): *Missing close delimiter '}' for interpolated expression started with '{'.*
+- [**CS8086**](#interpolation-expression-syntax): *A 'character' character must be escaped (by doubling) in an interpolated string.*
+- [**CS8087**](#interpolation-expression-syntax): *A 'character' character may only be escaped by doubling 'charactercharacter' in an interpolated string.*
+- [**CS8088**](#interpolation-format-and-alignment-clauses): *A format specifier may not contain trailing whitespace.*
+- [**CS8089**](#interpolation-format-and-alignment-clauses): *Empty format specifier.*
+- [**CS8094**](#interpolation-format-and-alignment-clauses): *Alignment value alignment has a magnitude greater than limit and may result in a large formatted string.*
- [**CS8361**](#interpolation-expression-syntax): *A conditional expression cannot be used directly in a string interpolation because the ':' ends the interpolation. Parenthesize the conditional expression.*
-- [**CS8941**](#interpolated-string-handler-type-implementation): *Interpolated string handler method is malformed. It does not return 'void' or 'bool'.*
-- [**CS8942**](#interpolated-string-handler-type-implementation): *Interpolated string handler method has inconsistent return type. Expected to return a different type.*
-- [**CS8946**](#interpolated-string-handler-type-implementation): *Type is not an interpolated string handler type.*
-- [**CS8947**](#interpolated-string-handler-usage-restrictions): *Parameter occurs after interpolated string handler parameter in the parameter list, but is used as an argument for interpolated string handler conversions. This will require the caller to reorder parameters with named arguments at the call site. Consider putting the interpolated string handler parameter after all arguments involved.*
-- [**CS8953**](#interpolated-string-handler-usage-restrictions): *An interpolated string handler construction cannot use dynamic. Manually construct an instance instead.*
+- [**CS8941**](#interpolated-string-handler-type-implementation): *Interpolated string handler method 'method' is malformed. It does not return 'void' or 'bool'.*
+- [**CS8942**](#interpolated-string-handler-type-implementation): *Interpolated string handler method 'method' has inconsistent return type. Expected to return 'different type'.*
+- [**CS8946**](#interpolated-string-handler-type-implementation): *'Type' is not an interpolated string handler type.*
+- [**CS8947**](#interpolated-string-handler-usage-restrictions): *Parameter 'parameter' occurs after 'interpolated string handler parameter' in the parameter list, but is used as an argument for interpolated string handler conversions. This will require the caller to reorder parameters with named arguments at the call site. Consider putting the interpolated string handler parameter after all arguments involved.*
+- [**CS8953**](#interpolated-string-handler-usage-restrictions): *An interpolated string handler construction cannot use dynamic. Manually construct an instance of 'type'.*
- [**CS8976**](#interpolated-string-handler-usage-restrictions): *Interpolated string handler conversions that reference the instance being indexed cannot be used in indexer member initializers.*
-- [**CS9205**](#interpolation-expression-syntax): *Expected interpolated string.*
+- [**CS9205**](#interpolation-expression-syntax): *Expected interpolated string*
- [**CS9325**](#interpolated-string-handler-usage-restrictions): *Interpolated string handler arguments are not allowed in this context.*
## Interpolation expression syntax
+- **CS8076**: *Missing close delimiter '}' for interpolated expression started with '{'.*
+- **CS8086**: *A 'character' character must be escaped (by doubling) in an interpolated string.*
+- **CS8087**: *A 'character' character may only be escaped by doubling 'charactercharacter' in an interpolated string.*
- **CS8361** - *A conditional expression cannot be used directly in a string interpolation because the ':' ends the interpolation. Parenthesize the conditional expression.*
-- **CS9205** - *Expected interpolated string.*
+- **CS9205** - *Expected interpolated string*
To correct these errors, apply the following techniques:
+- Close each interpolation expression with `}` (**CS8076**). In an interpolated raw string, use a closing brace sequence with the same number of braces as `$` characters in the opening delimiter.
+- Double literal braces in the text of regular or verbatim interpolated strings (**CS8086**). In a regular interpolated string, replace escape sequences that decode to braces with doubled braces (**CS8087**). Backslashes are literal characters in verbatim and raw string text; they don't introduce escape sequences.
+- For [interpolated raw strings](../tokens/interpolated.md#interpolated-raw-string-literals), don't apply the brace-doubling rule: use the number of `$` characters to distinguish literal braces from interpolation delimiters.
- Wrap conditional expressions (ternary `?:` operator) in parentheses when you use them inside an interpolation hole (**CS8361**). The colon character has special meaning in [interpolated strings](../tokens/interpolated.md) as it introduces a format string, so the compiler interprets the `:` in `condition ? true : false` as a format specifier rather than part of the conditional expression. For example, use `$"{(x > 0 ? "positive" : "negative")}"` instead of `$"{x > 0 ? "positive" : "negative"}"`.
- Ensure you provide an interpolated string literal where one is expected (**CS9205**). This error occurs when the compiler expects an interpolated string (beginning with `$"` or `$@"`) but encounters a different expression type.
+For the language rules, see [Interpolated string expressions](~/_csharpstandard/standard/expressions.md#1283-interpolated-string-expressions).
+
+## Interpolation format and alignment clauses
+
+- **CS8088**: *A format specifier may not contain trailing whitespace.*
+- **CS8089**: *Empty format specifier.*
+- **CS8094**: *Alignment value alignment has a magnitude greater than limit and may result in a large formatted string.*
+
+To correct format and alignment clauses in regular, verbatim, or raw interpolated strings:
+
+- Remove whitespace, including newlines, from the end of the format specifier (**CS8088**).
+- Supply a nonempty format specifier after the colon, or remove the colon if you don't need a format specifier (**CS8089**).
+- Use an alignment value between -32767 and 32767 (**CS8094**). Larger magnitudes produce a warning because the requested padding can create very large formatted strings.
+
+For the syntax of these clauses, see [Structure of an interpolated string](../tokens/interpolated.md#structure-of-an-interpolated-string).
+
## Interpolated string handler type implementation
-- **CS8941** - *Interpolated string handler method is malformed. It does not return 'void' or 'bool'.*
-- **CS8942** - *Interpolated string handler method has inconsistent return type. Expected to return a different type.*
-- **CS8946** - *Type is not an interpolated string handler type.*
+- **CS8941** - *Interpolated string handler method 'method' is malformed. It does not return 'void' or 'bool'.*
+- **CS8942** - *Interpolated string handler method 'method' has inconsistent return type. Expected to return 'different type'.*
+- **CS8946** - *'Type' is not an interpolated string handler type.*
-When you implement a custom [interpolated string handler](../../advanced-topics/performance/interpolated-string-handler.md), apply the following techniques:
+When you implement a custom [interpolated string handler](../../advanced-topics/performance/interpolated-string-handler.md), use the following techniques:
-- Make sure all `AppendLiteral` and `AppendFormatted` methods return either `void` or `bool` (**CS8941**). The handler pattern requires these methods to have one of these return types so the compiler can properly generate the interpolation code. Methods returning `bool` enable short-circuiting when the handler determines that further processing isn't needed.
-- Make sure all append methods in your handler type use the same return type (**CS8942**). If one method returns `void`, all append methods must return `void`. If one returns `bool`, all must return `bool`. Mixing return types prevents the compiler from generating consistent interpolation code.
-- Apply the to your handler type and make sure it has a valid constructor (**CS8946**). An interpolated string handler type must be marked with this attribute and follow the [handler pattern](~/_csharpstandard/standard/attributes.md#235111-custom-interpolated-string-expression-handlers) to be recognized by the compiler.
+- Ensure all `AppendLiteral` and `AppendFormatted` methods return either `void` or `bool` (**CS8941**). The handler pattern requires these methods to have one of these return types so the compiler can properly generate the interpolation code. Methods returning `bool` enable short-circuiting when the handler determines that further processing isn't needed.
+- Ensure all append methods in your handler type use the same return type (**CS8942**). If one method returns `void`, all append methods must return `void`. If one returns `bool`, all must return `bool`. Mixing return types prevents the compiler from generating consistent interpolation code.
+- Apply the to your handler type and ensure it has a valid constructor (**CS8946**). An interpolated string handler type must be marked with this attribute and follow the [handler pattern](~/_csharpstandard/standard/attributes.md#235111-custom-interpolated-string-expression-handlers) to be recognized by the compiler.
## Interpolated string handler usage restrictions
-- **CS8947** - *Parameter occurs after the interpolated string handler parameter in the parameter list, but is used as an argument for interpolated string handler conversions. This will require the caller to reorder parameters with named arguments at the call site. Consider putting the interpolated string handler parameter after all arguments involved.*
-- **CS8953** - *An interpolated string handler construction cannot use dynamic. Manually construct an instance of '{0}'.*
+- **CS8947** - *Parameter 'parameter' occurs after 'interpolated string handler parameter' in the parameter list, but is used as an argument for interpolated string handler conversions. This will require the caller to reorder parameters with named arguments at the call site. Consider putting the interpolated string handler parameter after all arguments involved.*
+- **CS8953** - *An interpolated string handler construction cannot use dynamic. Manually construct an instance of 'type'.*
- **CS8976** - *Interpolated string handler conversions that reference the instance being indexed cannot be used in indexer member initializers.*
- **CS9325** - *Interpolated string handler arguments are not allowed in this context.*
When you use interpolated string handlers, apply the following techniques:
-- Reorder method parameters so that any parameters used by the appear before the interpolated string handler parameter (**CS8947**). This warning indicates that callers would need to use named arguments to properly invoke the method, which reduces usability. Place the handler parameter after all arguments it depends on.
+- Reorder method parameters so that any parameters used by the appear before the interpolated string handler parameter (**CS8947**). This warning indicates that callers need to use named arguments to properly invoke the method, which reduces usability. Place the handler parameter after all arguments it depends on.
- Don't use `dynamic` typed values as arguments to interpolated string handler conversions (**CS8953**). The compiler can't determine the handler's construction requirements at compile time when dynamic values are involved. Instead, manually construct the handler instance and call its methods directly.
- Don't use interpolated strings that reference the instance being initialized in indexer member initializers (**CS8976**). During object initialization, the instance isn't fully constructed, so handler conversions that reference it through `this` aren't allowed. Use a separate statement after initialization to set the indexer value.
- Check the context where you're using interpolated string handler arguments (**CS9325**). Some contexts don't support handler argument attributes. In these cases, use a regular interpolated string or manually construct the handler.
diff --git a/docs/csharp/language-reference/toc.yml b/docs/csharp/language-reference/toc.yml
index bb4a7404f1076..cf177983b334b 100644
--- a/docs/csharp/language-reference/toc.yml
+++ b/docs/csharp/language-reference/toc.yml
@@ -497,8 +497,9 @@ items:
CS0181, CS0243, CS0404, CS0415, CS0416, CS0447, CS0577, CS0578, CS0579, CS0582,
CS0592, CS0609, CS0616, CS0625, CS0629, CS0636, CS0637, CS0641, CS0646, CS0647,
CS0653, CS0657, CS0658, CS0668, CS0685, CS0735, CS0739, CS1608, CS1614, CS1618,
- CS1667, CS1689, CS7014, CS7046, CS7047, CS7067, CS8335, CS8336, CS8423, CS8783,
- CS8959, CS8960, CS8961, CS8962, CS8963, CS8968, CS8970, CS9331, CS9351
+ CS1667, CS1689, CS7014, CS7046, CS7047, CS7067, CS7080, CS7081, CS7082, CS8335,
+ CS8336, CS8423, CS8783, CS8959, CS8960, CS8961, CS8962, CS8963, CS8968, CS8970,
+ CS9331, CS9351
- name: Feature or version missing
href: ./compiler-messages/feature-version-errors.md
displayName: >
@@ -585,7 +586,7 @@ items:
href: ./compiler-messages/parameter-argument-mismatch.md
displayName: >
CS0182, CS0591, CS0599, CS0617, CS0633, CS0643, CS0655, CS0839, CS1016, CS1739,
- CS1740, CS1742, CS1744, CS1746, CS7036, CS7067, CS8323, CS8324, CS8362, CS8378,
+ CS1740, CS1742, CS1744, CS1746, CS7036, CS8323, CS8324, CS8362, CS8378,
CS8905, CS8943, CS8944, CS8945, CS8948, CS8949, CS8950, CS8951, CS8964, CS8965,
CS8966
- name: Deconstruction, discards, and out variables
@@ -720,7 +721,8 @@ items:
- name: String interpolations
href: ./compiler-messages/string-interpolations.md
displayName: >
- CS8361, CS8941, CS8942, CS8946, CS8947, CS8953, CS8976, CS9205, CS9325
+ CS8076, CS8086, CS8087, CS8088, CS8089, CS8094, CS8361, CS8941, CS8942, CS8946,
+ CS8947, CS8953, CS8976, CS9205, CS9325
- name: Array declarations
href: ./compiler-messages/array-declaration-errors.md
displayName: >
diff --git a/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md b/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md
index 3797b91edb745..78b58a94cf74d 100644
--- a/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md
+++ b/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md
@@ -84,9 +84,6 @@ f1_keywords:
- "CS7065"
- "CS7066"
- "CS7070"
- - "CS7080"
- - "CS7081"
- - "CS7082"
- "CS7084"
- "CS7086"
- "CS7087"
@@ -131,19 +128,13 @@ f1_keywords:
- "CS8057"
- "CS8058"
- "CS8070"
- - "CS8076"
- "CS8077"
- "CS8078" # build only diagnostic
- "CS8079"
- "CS8081"
- "CS8082"
- "CS8084"
- - "CS8086"
- - "CS8087"
- - "CS8088"
- - "CS8089"
- "CS8093"
- - "CS8094"
- "CS8095"
- "CS8096"
- "CS8099"
diff --git a/docs/csharp/toc.yml b/docs/csharp/toc.yml
index db8d3486b56c0..e4a0133c7c238 100644
--- a/docs/csharp/toc.yml
+++ b/docs/csharp/toc.yml
@@ -194,6 +194,8 @@ items:
items:
- name: Build file-based apps
href: fundamentals/tutorials/file-based-programs.md
+ - name: "Tutorial: Combine C# techniques to generate badge labels"
+ href: fundamentals/tutorials/functional-techniques.md
- name: "How to display command-line arguments"
href: fundamentals/tutorials/how-to-display-command-line-arguments.md
- name: "Build a command-line app with System.CommandLine"