diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index e828ad4f88599..9735a902b9f7a 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -27,7 +27,7 @@
/includes/ @dotnet/docs
############ What's new ###############
-/docs/whats-new/ @billwagner @dotnet/docs
+/docs/whats-new/ @gewarren @dotnet/docs
############ Guides ################
# .NET Core
@@ -82,16 +82,16 @@
/docs/azure/sdk/authentication/ @JonathanCrd @christothes @dotnet/docs @alexwolfmsft @scottaddie
# Azure SDK miscellaneous topics
-/docs/azure/sdk/azure-sdk-configure-proxy.md @annelo-msft @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft @scottaddie @dotnet/docs
+/docs/azure/sdk/azure-sdk-configure-proxy.md @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft @scottaddie @dotnet/docs
/docs/azure/sdk/azure-sdk-for-net.md @jsquire @alexwolfmsft @scottaddie @dotnet/docs
/docs/azure/sdk/dependency-injection.md @JoshLove-msft @jsquire @alexwolfmsft @scottaddie @dotnet/docs
-/docs/azure/sdk/logging.md @annelo-msft @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft
+/docs/azure/sdk/logging.md @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft
/docs/azure/sdk/packages.md @jsquire @alexwolfmsft @scottaddie @dotnet/docs
-/docs/azure/sdk/pagination.md @annelo-msft @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft @scottaddie @dotnet/docs
-/docs/azure/sdk/protocol-convenience-methods.md @annelo-msft @jsquire @alexwolfmsft @scottaddie @dotnet/docs
+/docs/azure/sdk/pagination.md @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft @scottaddie @dotnet/docs
+/docs/azure/sdk/protocol-convenience-methods.md @jsquire @alexwolfmsft @scottaddie @dotnet/docs
/docs/azure/sdk/resource-management.md @ArthurMa1978 @m-nash @alexwolfmsft @scottaddie @dotnet/docs
-/docs/azure/sdk/thread-safety.md @annelo-msft @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft @scottaddie @dotnet/docs
-/docs/azure/sdk/unit-testing-mocking.md @annelo-msft @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft @scottaddie @dotnet/docs
+/docs/azure/sdk/thread-safety.md @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft @scottaddie @dotnet/docs
+/docs/azure/sdk/unit-testing-mocking.md @christothes @JoshLove-msft @KrzysztofCwalina @jsquire @alexwolfmsft @scottaddie @dotnet/docs
############### Fundamentals ################
diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json
index 52f0ca6592ae6..094205bc58715 100644
--- a/.openpublishing.redirection.csharp.json
+++ b/.openpublishing.redirection.csharp.json
@@ -20,6 +20,18 @@
"source_path_from_root": "/docs/csharp/misc/cs0031.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors"
},
+ {
+ "source_path_from_root": "/docs/csharp/misc/cs0059.md",
+ "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics"
+ },
+ {
+ "source_path_from_root": "/docs/csharp/misc/cs0123.md",
+ "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics"
+ },
+ {
+ "source_path_from_root": "/docs/csharp/misc/cs0148.md",
+ "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics"
+ },
{
"source_path_from_root": "/docs/csharp/misc/cs0220.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors"
@@ -28,6 +40,10 @@
"source_path_from_root": "/docs/csharp/misc/cs0221.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors"
},
+ {
+ "source_path_from_root": "/docs/csharp/misc/cs0410.md",
+ "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics"
+ },
{
"source_path_from_root": "/docs/csharp/misc/cs0463.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors"
@@ -40,6 +56,10 @@
"source_path_from_root": "/docs/csharp/misc/cs0594.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors"
},
+ {
+ "source_path_from_root": "/docs/csharp/misc/cs0644.md",
+ "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics"
+ },
{
"source_path_from_root": "/docs/csharp/misc/cs0652.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/overloaded-operator-errors"
@@ -204,6 +224,14 @@
"source_path_from_root": "/docs/csharp/misc/cs1559.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/entry-point-errors"
},
+ {
+ "source_path_from_root": "/docs/csharp/misc/cs1599.md",
+ "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics"
+ },
+ {
+ "source_path_from_root": "/docs/csharp/misc/cs1958.md",
+ "redirect_url": "/dotnet/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics"
+ },
{
"source_path_from_root": "/docs/csharp/misc/cs2017.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/entry-point-errors"
@@ -5304,6 +5332,10 @@
"source_path_from_root": "/docs/csharp/tutorials/pattern-matching.md",
"redirect_url": "/dotnet/csharp/fundamentals/tutorials/pattern-matching"
},
+ {
+ "source_path_from_root": "/docs/csharp/tutorials/records.md",
+ "redirect_url": "/dotnet/csharp/fundamentals/tutorials/records"
+ },
{
"source_path_from_root": "/docs/csharp/tutorials/upgrade-to-nullable-references.md",
"redirect_url": "/dotnet/csharp/nullable-migration-strategies"
diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json
index 4b01ea625c33c..a5a41cce2e6d1 100644
--- a/.openpublishing.redirection.json
+++ b/.openpublishing.redirection.json
@@ -305,20 +305,12 @@
"redirect_url": "/dotnet/samples-and-tutorials/"
},
{
- "source_path_from_root": "/docs/whats-new/dotnet-docs-mod0",
- "redirect_url": "/dotnet/whats-new"
- },
- {
- "source_path_from_root": "/docs/whats-new/dotnet-docs-mod1",
- "redirect_url": "/dotnet/whats-new"
- },
- {
- "source_path_from_root": "/docs/whats-new/dotnet-docs-mod2",
- "redirect_url": "/dotnet/whats-new"
+ "source_path_from_root": "/docs/whats-new/dotnet-9-release.md",
+ "redirect_url": "/dotnet/core/whats-new/dotnet-9/overview"
},
{
- "source_path_from_root": "/docs/whats-new/dotnet-9-release.md",
- "redirect_url": "/dotnet/whats-new"
+ "source_path_from_root": "/docs/whats-new/index.yml",
+ "redirect_url": "/dotnet/core/whats-new/dotnet-11/overview"
}
]
}
diff --git a/docfx.json b/docfx.json
index 2a3064e0c385d..adf12b4119168 100644
--- a/docfx.json
+++ b/docfx.json
@@ -349,7 +349,7 @@
"docs/core/tools/**/**.{md,yml}": "meaghanlewis",
"docs/core/tutorials/**/**.{md,yml}": "meaghanlewis",
"docs/core/versions/**/**.{md,yml}": "billwagner",
- "docs/core/whats-new/**/**.{md,yml}": "billwagner",
+ "docs/core/whats-new/**/**.{md,yml}": "gewarren",
"docs/csharp/**/*.{md,yml}": "billwagner",
"docs/framework/**/**.{md,yml}": "gewarren",
"docs/framework/additional-apis/pos-for-net/**/**.{md,yml}": "TerryWarwick",
@@ -414,7 +414,7 @@
"docs/standard/threading/**/**.{md,yml}": "billwagner",
"docs/standard/whats-new/**/**.{md,yml}": "gewarren",
"docs/visual-basic/**/**.{md,yml}": "billwagner",
- "docs/whats-new/**/**.{md,yml}": "billwagner",
+ "docs/whats-new/**/**.{md,yml}": "gewarren",
"includes/**/**.md": "docs"
},
"ms.author": {
@@ -444,7 +444,7 @@
"docs/core/tools/**/**.{md,yml}": "mosagie",
"docs/core/tutorials/**/**.{md,yml}": "mosagie",
"docs/core/versions/**/**.{md,yml}": "wiwagn",
- "docs/core/whats-new/**/**.{md,yml}": "wiwagn",
+ "docs/core/whats-new/**/**.{md,yml}": "gewarren",
"docs/csharp/**/*.{md,yml}": "wiwagn",
"docs/framework/**/**.{md,yml}": "dotnetcontent",
"docs/framework/app-domains/**/**.{md,yml}": "gewarren",
diff --git a/docs/AGENTS.md b/docs/AGENTS.md
index 0f143ea20b2e4..b94d8be6416db 100644
--- a/docs/AGENTS.md
+++ b/docs/AGENTS.md
@@ -5,9 +5,15 @@ Updated December 18th 2025
This is a list of important software releases that an AI model might not be aware of.
+- .NET 11 previews have been released monthly since February 2026
+ - Reference: [What's new in .NET 11 Overview](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-11/overview)
+ - Reference: [What's new in .NET 11 Runtime](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-11/runtime)
+ - Reference: [What's new in .NET 11 Libraries](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-11/libraries)
+ - Reference: [What's new in .NET 11 SDK](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-11/sdk)
- .NET 10 was released in November 2025
- Reference: [What's new in .NET 10 Overview](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview)
- Reference: [What's new in .NET 10 Runtime](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/runtime)
+ - Reference: [What's new in .NET 10 Libraries](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/libraries)
- Reference: [What's new in .NET 10 SDK](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/sdk)
- Visual Studio 2026 was released in September 2025
- Reference: [Visual Studio 2026 Release Notes](https://learn.microsoft.com/en-us/visualstudio/releases/2026/release-notes)
diff --git a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/cqrs-microservice-reads.md b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/cqrs-microservice-reads.md
index e84c0a59a8b0f..bb1a809cfe8ea 100644
--- a/docs/architecture/microservices/microservice-ddd-cqrs-patterns/cqrs-microservice-reads.md
+++ b/docs/architecture/microservices/microservice-ddd-cqrs-patterns/cqrs-microservice-reads.md
@@ -192,7 +192,7 @@ The image shows some example values based on the ViewModel types and the possibl
- **ASP.NET Core Web API Help Pages using Swagger**
[https://learn.microsoft.com/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs=visual-studio](/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs=visual-studio)
-- **Create record types** [https://learn.microsoft.com/dotnet/csharp/whats-new/tutorials/records](../../../csharp/tutorials/records.md)
+- **Create record types** [https://learn.microsoft.com/dotnet/csharp/fundamentals/tutorials/records](../../../csharp/fundamentals/tutorials/records.md)
>[!div class="step-by-step"]
>[Previous](eshoponcontainers-cqrs-ddd-microservice.md)
diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index 958c33bbea90a..3349c0e7788e7 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -84,7 +84,7 @@
| OpenAI Assistants | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.OpenAI.Assistants/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.OpenAI.Assistants-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.OpenAI.Assistants_1.0.0-beta.4/sdk/openai/Azure.AI.OpenAI.Assistants/) |
| OpenAI Inference | NuGet [2.1.0](https://www.nuget.org/packages/Azure.AI.OpenAI/2.1.0)
NuGet [2.9.0-beta.1](https://www.nuget.org/packages/Azure.AI.OpenAI/2.9.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.OpenAI-readme) | GitHub [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.1.0/sdk/openai/Azure.AI.OpenAI/)
GitHub [2.9.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.9.0-beta.1/sdk/openai/Azure.AI.OpenAI/) |
| OpenTelemetry AspNetCore | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.4.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.4.0/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) |
-| OpenTelemetry Exporter | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.7.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.7.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) |
+| OpenTelemetry Exporter | NuGet [1.8.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.8.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.8.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) |
| Personalizer | NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Personalizer/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Personalizer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Personalizer_2.0.0-beta.2/sdk/personalizer/Azure.AI.Personalizer/) |
| Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright/) |
| Playwright NUnit | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright.NUnit/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright.NUnit-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright.NUnit_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright.NUnit/) |
@@ -126,6 +126,7 @@
| unknown | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.AgentServer.Responses/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Responses-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.AgentServer.Responses_1.0.0-beta.4/sdk/agentserver/Azure.AI.AgentServer.Responses/) |
| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.0.0)
NuGet [2.1.0-beta.1](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.1.0-beta.1) | [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 [2.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.1.0-beta.1/sdk/ai/Azure.AI.Extensions.OpenAI/) |
| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.0.0)
NuGet [2.1.0-beta.1](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.1.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Projects.Agents-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.0.0/sdk/ai/Azure.AI.Projects.Agents/)
GitHub [2.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.1.0-beta.1/sdk/ai/Azure.AI.Projects.Agents/) |
+| unknown | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.PostgreSQL.Auth/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.PostgreSQL.Auth_1.0.0-beta.1/sdk/postgresql/Microsoft.Azure.PostgreSQL.Auth/) |
| 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.0.0](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.0.0/sdk/voicelive/Azure.AI.VoiceLive/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.1.0-beta.3/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/) |
@@ -138,7 +139,7 @@
| Core - Client - Spatial Newtonsoft Json | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Core.Spatial.NewtonsoftJson/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.Core.Spatial.NewtonsoftJson/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Core.Spatial.NewtonsoftJson-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.Spatial.NewtonsoftJson_1.0.0/sdk/core/Microsoft.Azure.Core.Spatial.NewtonsoftJson/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.Spatial.NewtonsoftJson_1.1.0-beta.1/sdk/core/Microsoft.Azure.Core.Spatial.NewtonsoftJson/) |
| Functions extension for Azure Tables | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Tables-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.4.0/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/) |
| Key Encryptor for .NET Data Protection | NuGet [1.6.2](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.6.2) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme) | GitHub [1.6.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.6.2/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) |
-| Secrets Configuration Provider for .NET | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.0) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.0/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) |
+| Secrets Configuration Provider for .NET | NuGet [1.5.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.1/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) |
| Storage - Common | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Common/12.26.0)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.26.0/sdk/storage/Azure.Storage.Common/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0-beta.1/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.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.3) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.3/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) |
@@ -324,116 +325,116 @@
| Resource Management - Managed Network | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ManagedNetwork/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedNetwork_1.0.0-beta.6/sdk/managednetwork/Azure.ResourceManager.ManagedNetwork/) |
| Resource Management - Managed Network Fabric | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.ManagedNetworkFabric/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedNetworkFabric-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedNetworkFabric_1.1.3/sdk/managednetworkfabric/Azure.ResourceManager.ManagedNetworkFabric/) |
| Resource Management - Managed Service Identity | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServiceIdentities/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedServiceIdentities-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServiceIdentities_1.4.1/sdk/managedserviceidentity/Azure.ResourceManager.ManagedServiceIdentities/) |
-| Resource Management - Managed Services | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServices/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedServices-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServices_1.1.1/sdk/managedservices/Azure.ResourceManager.ManagedServices/) |
+| Resource Management - Managed Services | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServices/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedServices-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServices_1.1.2/sdk/managedservices/Azure.ResourceManager.ManagedServices/) |
| Resource Management - Managedops | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedOps/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedOps-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.ManagedOps_1.0.0-beta.1/sdk/managedops/Azure.ResourceManager.ManagedOps/) |
| Resource Management - Management Partner | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ManagementPartner/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagementPartner-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagementPartner_1.0.0-beta.6/sdk/managementpartner/Azure.ResourceManager.ManagementPartner/) |
-| Resource Management - Maps | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Maps/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Maps-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maps_1.1.0/sdk/maps/Azure.ResourceManager.Maps/) |
-| Resource Management - Marketplace | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Marketplace/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Marketplace-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Marketplace_1.1.2/sdk/marketplace/Azure.ResourceManager.Marketplace/) |
-| Resource Management - Marketplace Ordering | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.MarketplaceOrdering/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MarketplaceOrdering-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MarketplaceOrdering_1.1.1/sdk/marketplaceordering/Azure.ResourceManager.MarketplaceOrdering/) |
-| Resource Management - Migration Assessment | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Migration.Assessment/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Migration.Assessment-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.Migration.Assessment_1.0.0-beta.1/sdk/migrationassessment/Azure.ResourceManager.Migration.Assessment/) |
-| Resource Management - Migration Discovery SAP | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.MigrationDiscoverySap/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.MigrationDiscoverySap-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.MigrationDiscoverySap_1.0.0-beta.2/sdk/migrationdiscoverysap/Azure.ResourceManager.MigrationDiscoverySap/) |
+| Resource Management - Maps | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Maps/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Maps/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Maps-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maps_1.1.0/sdk/maps/Azure.ResourceManager.Maps/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maps_1.2.0-beta.1/sdk/maps/Azure.ResourceManager.Maps/) |
+| Resource Management - Marketplace | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Marketplace/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Marketplace-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Marketplace_1.1.3/sdk/marketplace/Azure.ResourceManager.Marketplace/) |
+| Resource Management - Marketplace Ordering | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.MarketplaceOrdering/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.MarketplaceOrdering-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MarketplaceOrdering_1.1.2/sdk/marketplaceordering/Azure.ResourceManager.MarketplaceOrdering/) |
+| Resource Management - Migration Assessment | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Migration.Assessment/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Migration.Assessment-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.Migration.Assessment_1.0.0-beta.2/sdk/migrationassessment/Azure.ResourceManager.Migration.Assessment/) |
+| Resource Management - Migration Discovery SAP | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.MigrationDiscoverySap/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.MigrationDiscoverySap-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.MigrationDiscoverySap_1.0.0-beta.3/sdk/migrationdiscoverysap/Azure.ResourceManager.MigrationDiscoverySap/) |
| Resource Management - Mongo Cluster | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.MongoCluster/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoCluster-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoCluster_1.0.0/sdk/mongocluster/Azure.ResourceManager.MongoCluster/) |
-| Resource Management - Mongodbatlas | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoDBAtlas-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.0.0/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/) |
+| Resource Management - Mongodbatlas | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoDBAtlas-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.0.1/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/) |
| Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1)
NuGet [1.4.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/)
GitHub [1.4.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.4/sdk/monitor/Azure.ResourceManager.Monitor/) |
| Resource Management - MySQL | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.2.0/sdk/mysql/Azure.ResourceManager.MySql/) |
| Resource Management - NetApp Files | NuGet [1.15.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.15.0)
NuGet [1.16.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.16.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.15.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.15.0/sdk/netapp/Azure.ResourceManager.NetApp/)
GitHub [1.16.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.16.0-beta.2/sdk/netapp/Azure.ResourceManager.NetApp/) |
| Resource Management - Network | NuGet [1.15.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.15.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.15.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.15.0/sdk/network/Azure.ResourceManager.Network/) |
| Resource Management - Network Cloud | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.3.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) |
-| Resource Management - Network Function | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.NetworkFunction/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkFunction-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkFunction_1.0.0-beta.5/sdk/networkfunction/Azure.ResourceManager.NetworkFunction/) |
+| 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.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NewRelicObservability-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.1.1/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.2.0-beta.1/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.2](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.2) | [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.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.2/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) |
-| Resource Management - Onlineexperimentation | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-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.OnlineExperimentation_1.0.0-beta.1/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) |
+| Resource Management - Notification Hubs | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.3) | [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.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.3/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) |
+| Resource Management - Onlineexperimentation | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-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.OnlineExperimentation_1.0.0-beta.2/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) |
| Resource Management - Oracle Database | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.2.0/sdk/oracle/Azure.ResourceManager.OracleDatabase/) |
-| Resource Management - Orbital | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.1/sdk/orbital/Azure.ResourceManager.Orbital/) |
+| Resource Management - Orbital | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.2/sdk/orbital/Azure.ResourceManager.Orbital/) |
| Resource Management - Palo Alto Networks - Next Generation Firewall | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PaloAltoNetworks.Ngfw-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2.0/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) |
-| Resource Management - Peering | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.2/sdk/peering/Azure.ResourceManager.Peering/) |
-| Resource Management - Pineconevectordb | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PineconeVectorDB/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PineconeVectorDB-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.PineconeVectorDB_1.0.0-beta.1/sdk/pineconevectordb/Azure.ResourceManager.PineconeVectorDB/) |
-| Resource Management - Planetarycomputer | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PlanetaryComputer/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PlanetaryComputer-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.PlanetaryComputer_1.0.0-beta.1/sdk/planetarycomputer/Azure.ResourceManager.PlanetaryComputer/) |
+| Resource Management - Peering | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.3/sdk/peering/Azure.ResourceManager.Peering/) |
+| Resource Management - Pineconevectordb | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PineconeVectorDB/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PineconeVectorDB-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.PineconeVectorDB_1.0.0-beta.2/sdk/pineconevectordb/Azure.ResourceManager.PineconeVectorDB/) |
+| Resource Management - Planetarycomputer | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PlanetaryComputer/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PlanetaryComputer-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PlanetaryComputer_1.0.0/sdk/planetarycomputer/Azure.ResourceManager.PlanetaryComputer/) |
| Resource Management - Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.0.0/sdk/playwright/Azure.ResourceManager.Playwright/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.1.0-beta.1/sdk/playwright/Azure.ResourceManager.Playwright/) |
| Resource Management - Policy Insights | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.PolicyInsights/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PolicyInsights-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PolicyInsights_1.3.0/sdk/policyinsights/Azure.ResourceManager.PolicyInsights/) |
-| Resource Management - Portalservicescopilot | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PortalServicesCopilot/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PortalServicesCopilot-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.PortalServicesCopilot_1.0.0-beta.1/sdk/portalservices/Azure.ResourceManager.PortalServicesCopilot/) |
-| Resource Management - PostgreSQL | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PostgreSql-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.4.1/sdk/postgresql/Azure.ResourceManager.PostgreSql/) |
-| Resource Management - Power BI Dedicated | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.PowerBIDedicated/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.PowerBIDedicated-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PowerBIDedicated_1.0.0-beta.5/sdk/powerbidedicated/Azure.ResourceManager.PowerBIDedicated/) |
-| Resource Management - Private DNS | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.1/sdk/privatedns/Azure.ResourceManager.PrivateDns/) |
+| Resource Management - Portalservicescopilot | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PortalServicesCopilot/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PortalServicesCopilot-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.PortalServicesCopilot_1.0.0-beta.2/sdk/portalservices/Azure.ResourceManager.PortalServicesCopilot/) |
+| Resource Management - PostgreSQL | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PostgreSql-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.4.2/sdk/postgresql/Azure.ResourceManager.PostgreSql/) |
+| Resource Management - Power BI Dedicated | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PowerBIDedicated/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PowerBIDedicated-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PowerBIDedicated_1.0.0/sdk/powerbidedicated/Azure.ResourceManager.PowerBIDedicated/) |
+| Resource Management - Private DNS | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.2/sdk/privatedns/Azure.ResourceManager.PrivateDns/) |
| Resource Management - Provider Hub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ProviderHub/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ProviderHub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProviderHub_1.2.0/sdk/providerhub/Azure.ResourceManager.ProviderHub/) |
-| Resource Management - Purestorageblock | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PureStorageBlock/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PureStorageBlock-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PureStorageBlock_1.0.0/sdk/purestorageblock/Azure.ResourceManager.PureStorageBlock/) |
-| Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.2/sdk/purview/Azure.ResourceManager.Purview/) |
-| Resource Management - Quantum | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Quantum/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Quantum-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quantum_1.0.0-beta.6/sdk/quantum/Azure.ResourceManager.Quantum/) |
+| Resource Management - Purestorageblock | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.PureStorageBlock/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PureStorageBlock-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PureStorageBlock_1.0.1/sdk/purestorageblock/Azure.ResourceManager.PureStorageBlock/) |
+| Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.3/sdk/purview/Azure.ResourceManager.Purview/) |
+| Resource Management - Quantum | NuGet [1.0.0-beta.7](https://www.nuget.org/packages/Azure.ResourceManager.Quantum/1.0.0-beta.7) | [docs](/dotnet/api/overview/azure/ResourceManager.Quantum-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quantum_1.0.0-beta.7/sdk/quantum/Azure.ResourceManager.Quantum/) |
| Resource Management - Qumulo | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Qumulo/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Qumulo-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Qumulo_1.2.0/sdk/qumulo/Azure.ResourceManager.Qumulo/) |
| Resource Management - Quota | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Quota/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Quota-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quota_1.2.0/sdk/quota/Azure.ResourceManager.Quota/) |
| Resource Management - Recovery Services | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServices/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServices-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServices_1.2.0/sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/) |
| Resource Management - Recovery Services Backup | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesBackup/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesBackup-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesBackup_1.3.1/sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/) |
-| Resource Management - Recovery Services Data Replication | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesDataReplication/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesDataReplication-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesDataReplication_1.0.0/sdk/recoveryservices-datareplication/Azure.ResourceManager.RecoveryServicesDataReplication/) |
-| Resource Management - Recovery Services Site Recovery | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesSiteRecovery/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesSiteRecovery-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.3.0/sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/) |
+| 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 - Redis | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.5.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/) |
| Resource Management - Redis Enterprise | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.3.0) | [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/) |
| 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/) |
| Resource Management - Relationships | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Relationships/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Relationships-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.Relationships_1.0.0-beta.1/sdk/relationships/Azure.ResourceManager.Relationships/) |
-| Resource Management - Relay | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Relay/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Relay-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Relay_1.2.1/sdk/relay/Azure.ResourceManager.Relay/) |
-| Resource Management - Reservations | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.Reservations/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Reservations-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Reservations_1.4.1/sdk/reservations/Azure.ResourceManager.Reservations/) |
+| Resource Management - Relay | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Relay/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Relay-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Relay_1.2.2/sdk/relay/Azure.ResourceManager.Relay/) |
+| Resource Management - Reservations | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.Reservations/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Reservations-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Reservations_1.4.2/sdk/reservations/Azure.ResourceManager.Reservations/) |
| Resource Management - Resource Connector | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ResourceConnector/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceConnector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceConnector_1.0.0-beta.4/sdk/resourceconnector/Azure.ResourceManager.ResourceConnector/) |
| Resource Management - Resource Graph | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceGraph-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.1.0/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/) |
| Resource Management - Resource Health | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.0.0)
NuGet [1.1.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.1.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceHealth-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.0.0/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/)
GitHub [1.1.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.1.0-beta.5/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/) |
| Resource Management - Resource Manager | NuGet [1.14.0](https://www.nuget.org/packages/Azure.ResourceManager/1.14.0) | [docs](/dotnet/api/overview/azure/ResourceManager-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.14.0/sdk/resourcemanager/Azure.ResourceManager/) |
-| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.2/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) |
+| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.3/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) |
| Resource Management - Resources | NuGet [1.11.2](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.11.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.11.2/sdk/resources/Azure.ResourceManager.Resources/) |
| Resource Management - Resources.Deploymentstacks | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Resources.DeploymentStacks/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.DeploymentStacks-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.DeploymentStacks_1.0.0/sdk/resources/Azure.ResourceManager.Resources.DeploymentStacks/) |
| Resource Management - Resources.Policy | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.Policy/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.Policy-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.Resources.Policy_1.0.0-beta.1/sdk/resources/Azure.ResourceManager.Resources.Policy/) |
-| Resource Management - ScVmm | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ScVmm/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ScVmm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ScVmm_1.0.0-beta.6/sdk/arc-scvmm/Azure.ResourceManager.ScVmm/) |
-| Resource Management - Secretsstoreextension | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.SecretsStoreExtension/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SecretsStoreExtension-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.SecretsStoreExtension_1.0.0-beta.1/sdk/secretsstoreextension/Azure.ResourceManager.SecretsStoreExtension/) |
-| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.6/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) |
-| Resource Management - Security DevOps | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.SecurityDevOps/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityDevOps-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityDevOps_1.0.0-beta.5/sdk/securitydevops/Azure.ResourceManager.SecurityDevOps/) |
-| Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.2/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) |
-| Resource Management - Self Help | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.0.0)
NuGet [1.1.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.1.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.SelfHelp-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.0.0/sdk/selfhelp/Azure.ResourceManager.SelfHelp/)
GitHub [1.1.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.1.0-beta.5/sdk/selfhelp/Azure.ResourceManager.SelfHelp/) |
+| Resource Management - ScVmm | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ScVmm/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ScVmm-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ScVmm_1.0.0/sdk/arc-scvmm/Azure.ResourceManager.ScVmm/) |
+| Resource Management - Secretsstoreextension | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SecretsStoreExtension/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SecretsStoreExtension-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.SecretsStoreExtension_1.0.0-beta.2/sdk/secretsstoreextension/Azure.ResourceManager.SecretsStoreExtension/) |
+| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.7](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.7) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.7/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) |
+| Resource Management - Security DevOps | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SecurityDevOps/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityDevOps-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityDevOps_1.0.0-beta.6/sdk/securitydevops/Azure.ResourceManager.SecurityDevOps/) |
+| Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.3/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) |
+| Resource Management - Self Help | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.0.0)
NuGet [1.1.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.1.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SelfHelp-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.0.0/sdk/selfhelp/Azure.ResourceManager.SelfHelp/)
GitHub [1.1.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.1.0-beta.6/sdk/selfhelp/Azure.ResourceManager.SelfHelp/) |
| Resource Management - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.1.0/sdk/servicebus/Azure.ResourceManager.ServiceBus/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.2.0-beta.1/sdk/servicebus/Azure.ResourceManager.ServiceBus/) |
-| Resource Management - Service Fabric | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabric-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.1.0/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.2.0-beta.2/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/) |
+| Resource Management - Service Fabric | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabric-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.1.0/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.2.0-beta.3/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/) |
| Resource Management - Service Fabric Managed Clusters | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabricManagedClusters/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabricManagedClusters-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabricManagedClusters_1.3.0/sdk/servicefabricmanagedclusters/Azure.ResourceManager.ServiceFabricManagedClusters/) |
-| Resource Management - Service Linker | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceLinker/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceLinker-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceLinker_1.1.1/sdk/servicelinker/Azure.ResourceManager.ServiceLinker/) |
-| Resource Management - Service Networking | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceNetworking-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.1.0/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/) |
+| Resource Management - Service Linker | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceLinker/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceLinker-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceLinker_1.1.2/sdk/servicelinker/Azure.ResourceManager.ServiceLinker/) |
+| Resource Management - Service Networking | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceNetworking-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.1.0/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.2.0-beta.1/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/) |
| Resource Management - Servicegroups | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceGroups/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceGroups-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.ServiceGroups_1.0.0-beta.2/sdk/servicegroups/Azure.ResourceManager.ServiceGroups/) |
| Resource Management - SignalR | NuGet [1.1.4](https://www.nuget.org/packages/Azure.ResourceManager.SignalR/1.1.4) | [docs](/dotnet/api/overview/azure/ResourceManager.SignalR-readme) | GitHub [1.1.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SignalR_1.1.4/sdk/signalr/Azure.ResourceManager.SignalR/) |
| Resource Management - Sitemanager | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SiteManager/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.SiteManager-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SiteManager_1.0.0/sdk/sitemanager/Azure.ResourceManager.SiteManager/) |
-| Resource Management - Sphere | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Sphere/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Sphere-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sphere_1.0.1/sdk/sphere/Azure.ResourceManager.Sphere/) |
-| Resource Management - Spring App Discovery | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SpringAppDiscovery/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SpringAppDiscovery-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.SpringAppDiscovery_1.0.0-beta.2/sdk/springappdiscovery/Azure.ResourceManager.SpringAppDiscovery/) |
+| Resource Management - Sphere | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.Sphere/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Sphere-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sphere_1.0.2/sdk/sphere/Azure.ResourceManager.Sphere/) |
+| Resource Management - Spring App Discovery | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.SpringAppDiscovery/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.SpringAppDiscovery-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.SpringAppDiscovery_1.0.0-beta.3/sdk/springappdiscovery/Azure.ResourceManager.SpringAppDiscovery/) |
| Resource Management - SQL | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Sql/1.4.0) | [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/) |
-| Resource Management - SQL Virtual Machine | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.SqlVirtualMachine/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SqlVirtualMachine-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SqlVirtualMachine_1.1.1/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/) |
+| 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.6.2](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.6.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.6.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.6.2/sdk/storage/Azure.ResourceManager.Storage/) |
-| Resource Management - Storage Actions | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageActions/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageActions-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageActions_1.0.0/sdk/storageactions/Azure.ResourceManager.StorageActions/) |
+| 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.4.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.4.0)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.4.0/sdk/storagecache/Azure.ResourceManager.StorageCache/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.5.0-beta.1/sdk/storagecache/Azure.ResourceManager.StorageCache/) |
| Resource Management - Storage Mover | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageMover-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageMover_1.4.0/sdk/storagemover/Azure.ResourceManager.StorageMover/) |
-| Resource Management - Storage Pool | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.StoragePool/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StoragePool-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StoragePool_1.1.1/sdk/storagepool/Azure.ResourceManager.StoragePool/) |
+| Resource Management - Storage Pool | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.StoragePool/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StoragePool-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StoragePool_1.1.2/sdk/storagepool/Azure.ResourceManager.StoragePool/) |
| Resource Management - Storage Sync | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageSync/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageSync-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageSync_1.3.1/sdk/storagesync/Azure.ResourceManager.StorageSync/) |
| Resource Management - Storagediscovery | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageDiscovery-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.0.0/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) |
-| Resource Management - Stream Analytics | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StreamAnalytics-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.2.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/) |
-| Resource Management - Subscriptions | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Subscription/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Subscription-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Subscription_1.1.1/sdk/subscription/Azure.ResourceManager.Subscription/) |
-| Resource Management - Support | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Support-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.1.1/sdk/support/Azure.ResourceManager.Support/) |
-| Resource Management - Synapse | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Synapse/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Synapse-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Synapse_1.2.1/sdk/synapse/Azure.ResourceManager.Synapse/) |
-| Resource Management - Terraform | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Terraform/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Terraform-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.Terraform_1.0.0-beta.2/sdk/terraform/Azure.ResourceManager.Terraform/) |
+| Resource Management - Stream Analytics | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StreamAnalytics-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.2.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.3.0-beta.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/) |
+| Resource Management - Subscriptions | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Subscription/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Subscription-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Subscription_1.1.2/sdk/subscription/Azure.ResourceManager.Subscription/) |
+| Resource Management - Support | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Support-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.1.1/sdk/support/Azure.ResourceManager.Support/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.2.0-beta.1/sdk/support/Azure.ResourceManager.Support/) |
+| Resource Management - Synapse | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Synapse/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Synapse-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Synapse_1.2.2/sdk/synapse/Azure.ResourceManager.Synapse/) |
+| Resource Management - Terraform | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Terraform/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Terraform-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.Terraform_1.0.0-beta.3/sdk/terraform/Azure.ResourceManager.Terraform/) |
| Resource Management - Traffic Manager | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.1.3)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.TrafficManager-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.1.3/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.2.0-beta.1/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/) |
-| Resource Management - Trusted Signing | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.TrustedSigning/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.TrustedSigning-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.TrustedSigning_1.0.0-beta.2/sdk/trustedsigning/Azure.ResourceManager.TrustedSigning/) |
+| Resource Management - Trusted Signing | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.TrustedSigning/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.TrustedSigning-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrustedSigning_1.0.0/sdk/trustedsigning/Azure.ResourceManager.TrustedSigning/) |
| Resource Management - Virtualenclaves | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.VirtualEnclaves/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.VirtualEnclaves-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.VirtualEnclaves_1.0.0-beta.1/sdk/virtualenclaves/Azure.ResourceManager.VirtualEnclaves/) |
-| Resource Management - Voice Services | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.VoiceServices/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.VoiceServices-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VoiceServices_1.0.2/sdk/voiceservices/Azure.ResourceManager.VoiceServices/) |
-| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) |
-| Resource Management - Weightsandbiases | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WeightsAndBiases-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.WeightsAndBiases_1.0.0-beta.1/sdk/weightsandbiases/Azure.ResourceManager.WeightsAndBiases/) |
-| Resource Management - Workload Monitor | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadMonitor/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadMonitor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadMonitor_1.0.0-beta.5/sdk/workloadmonitor/Azure.ResourceManager.WorkloadMonitor/) |
+| Resource Management - Voice Services | NuGet [1.0.3](https://www.nuget.org/packages/Azure.ResourceManager.VoiceServices/1.0.3) | [docs](/dotnet/api/overview/azure/ResourceManager.VoiceServices-readme) | GitHub [1.0.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VoiceServices_1.0.3/sdk/voiceservices/Azure.ResourceManager.VoiceServices/) |
+| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.3.0-beta.1/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) |
+| Resource Management - Weightsandbiases | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WeightsAndBiases-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WeightsAndBiases_1.0.0/sdk/weightsandbiases/Azure.ResourceManager.WeightsAndBiases/) |
+| Resource Management - Workload Monitor | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadMonitor/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadMonitor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadMonitor_1.0.0-beta.6/sdk/workloadmonitor/Azure.ResourceManager.WorkloadMonitor/) |
| Resource Management - Workloadorchestration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadOrchestration/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadOrchestration-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadOrchestration_1.0.0/sdk/workloadorchestration/Azure.ResourceManager.WorkloadOrchestration/) |
-| Resource Management - Workloads | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Workloads-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.1.1/sdk/workloads/Azure.ResourceManager.Workloads/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.2.0-beta.1/sdk/workloads/Azure.ResourceManager.Workloads/) |
-| Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-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.WorkloadsSapVirtualInstance_1.0.0-beta.1/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) |
+| Resource Management - Workloads | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.1.2)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Workloads-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.1.2/sdk/workloads/Azure.ResourceManager.Workloads/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.2.0-beta.1/sdk/workloads/Azure.ResourceManager.Workloads/) |
+| Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadsSapVirtualInstance_1.0.0/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) |
| App Configuration Extension | NuGet [8.5.0](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/8.5.0)
NuGet [8.6.0-preview](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/8.6.0-preview) | | |
| App Configuration Provider | NuGet [8.5.0](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.5.0)
NuGet [8.6.0-preview](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.6.0-preview) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp/1.0.0)
NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.Mcp/3.0.0-beta.5) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/1.0.0)
NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/3.0.0-beta.5) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/1.0.0)
NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.Mcp.linux-x64/3.0.0-beta.5) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/1.0.0)
NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/3.0.0-beta.5) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/1.0.0)
NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.Mcp.osx-x64/3.0.0-beta.5) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/1.0.0)
NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.Mcp.win-arm64/3.0.0-beta.5) | | |
-| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/1.0.0)
NuGet [3.0.0-beta.5](https://www.nuget.org/packages/Azure.Mcp.win-x64/3.0.0-beta.5) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp/1.0.0)
NuGet [3.0.0-beta.6](https://www.nuget.org/packages/Azure.Mcp/3.0.0-beta.6) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/1.0.0)
NuGet [3.0.0-beta.6](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/3.0.0-beta.6) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/1.0.0)
NuGet [3.0.0-beta.6](https://www.nuget.org/packages/Azure.Mcp.linux-x64/3.0.0-beta.6) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/1.0.0)
NuGet [3.0.0-beta.6](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/3.0.0-beta.6) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/1.0.0)
NuGet [3.0.0-beta.6](https://www.nuget.org/packages/Azure.Mcp.osx-x64/3.0.0-beta.6) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/1.0.0)
NuGet [3.0.0-beta.6](https://www.nuget.org/packages/Azure.Mcp.win-arm64/3.0.0-beta.6) | | |
+| Azure MCP | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/1.0.0)
NuGet [3.0.0-beta.6](https://www.nuget.org/packages/Azure.Mcp.win-x64/3.0.0-beta.6) | | |
| 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) | | |
-| Communication Calling Windows Client | NuGet [1.14.0](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.14.0)
NuGet [1.15.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.15.0-beta.1) | | |
+| Communication Calling Windows Client | NuGet [1.15.0](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.15.0) | | |
| Content Safety Extension Embedded Image | NuGet [1.0.1-beta.4](https://www.nuget.org/packages/Azure.AI.ContentSafety.Extension.Embedded.Image/1.0.1-beta.4) | | |
| Content Safety Extension Embedded Text | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.ContentSafety.Extension.Embedded.Text/1.0.0)
NuGet [1.0.1-beta.4](https://www.nuget.org/packages/Azure.AI.ContentSafety.Extension.Embedded.Text/1.0.1-beta.4) | | |
| Cosmos DB AOT | NuGet [0.1.4-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Aot/0.1.4-preview.2) | | |
@@ -481,9 +482,10 @@
| Speech Extension ONNX Runtime | NuGet [1.49.1](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime/1.49.1) | | |
| Speech Extension Telemetry | NuGet [1.49.1](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Telemetry/1.49.1) | | |
| System Net Client Model | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/System.Net.ClientModel/1.0.0-beta.1) | | |
+| Unknown Display Name | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Iot.Operations.ProtocolCompiler/1.0.0) | | |
| Unknown Display Name | NuGet [0.6.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Connectors.Sdk/0.6.0-preview.1) | | |
| Unknown Display Name | NuGet [0.1.0-ci.26217.6](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions.Connector/0.1.0-ci.26217.6) | | |
-| WebJobs Extension Cosmos DB Mongo | NuGet [1.2.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.2.2) | | |
+| WebJobs Extension Cosmos DB Mongo | NuGet [1.2.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.2.2)
NuGet [1.2.3-preview](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.2.3-preview) | | |
| WebJobs Extension MySQL | NuGet [1.0.129](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.MySql/1.0.129) | | |
| App Service | NuGet [0.2.2-alpha](https://www.nuget.org/packages/Microsoft.Azure.AppService/0.2.2-alpha) | | |
| Application Insights | NuGet [0.9.0-preview](https://www.nuget.org/packages/Microsoft.Azure.ApplicationInsights/0.9.0-preview) | | |
@@ -567,8 +569,8 @@
| Functions extension for Azure SQL and SQL Server | NuGet [3.1.527](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Sql/3.1.527) | | |
| Functions extension for Cosmos DB | NuGet [4.15.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.CosmosDB/4.15.0) | | GitHub [4.15.0](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/cosmos-v3.0.7/src/WebJobs.Extensions.CosmosDB) |
| Functions extension for DocumentDB | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DocumentDB/1.3.0) | | GitHub [1.3.0](https://github.com/Azure/azure-webjobs-sdk-extensions) |
-| Functions extension for Durable Task Framework | NuGet [3.12.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/3.12.3) | [docs](/dotnet/api/overview/azure/functions) | GitHub [3.12.3](https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask) |
-| Functions extension for Durable Task Framework - isolated worker | NuGet [1.16.3](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask/1.16.3) | | |
+| Functions extension for Durable Task Framework | NuGet [3.12.4](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/3.12.4) | [docs](/dotnet/api/overview/azure/functions) | GitHub [3.12.4](https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask) |
+| Functions extension for Durable Task Framework - isolated worker | NuGet [1.16.4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask/1.16.4) | | |
| Functions extension for HTTP | NuGet [3.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Http/3.3.0) | | GitHub [3.3.0](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/v3.0.2/src/WebJobs.Extensions.Http) |
| Functions extension for IoT Edge | NuGet [1.0.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EdgeHub/1.0.7) | | GitHub [1.0.7](https://github.com/Azure/iotedge/tree/1.0.7/edge-hub) |
| Functions extension for Kafka | NuGet [4.3.1](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Kafka/4.3.1) | | GitHub [4.3.1](https://github.com/Azure/azure-functions-kafka-extension/tree/3.0.0/src/Microsoft.Azure.WebJobs.Extensions.Kafka) |
@@ -603,7 +605,7 @@
| Microsoft.Azure.Functions.Worker.Core | NuGet [2.52.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Core/2.52.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Abstractions | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Abstractions/1.3.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.ApplicationInsights | NuGet [1.0.0-preview4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.ApplicationInsights/1.0.0-preview4) | | |
-| Microsoft.Azure.Functions.Worker.Extensions.CosmosDB | NuGet [4.14.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.CosmosDB/4.14.0) | | |
+| Microsoft.Azure.Functions.Worker.Extensions.CosmosDB | NuGet [4.15.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.CosmosDB/4.15.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.EventGrid | NuGet [3.6.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.EventGrid/3.6.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.EventHubs | NuGet [6.5.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.EventHubs/6.5.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Http | NuGet [3.3.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http/3.3.0) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index 231d4bd20f36c..56b4aa773fe23 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -92,7 +92,7 @@
| OpenAI Assistants | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.OpenAI.Assistants/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.OpenAI.Assistants-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.OpenAI.Assistants_1.0.0-beta.4/sdk/openai/Azure.AI.OpenAI.Assistants/) |
| OpenAI Inference | NuGet [2.1.0](https://www.nuget.org/packages/Azure.AI.OpenAI/2.1.0)
NuGet [2.9.0-beta.1](https://www.nuget.org/packages/Azure.AI.OpenAI/2.9.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.OpenAI-readme) | GitHub [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.1.0/sdk/openai/Azure.AI.OpenAI/)
GitHub [2.9.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.9.0-beta.1/sdk/openai/Azure.AI.OpenAI/) |
| OpenTelemetry AspNetCore | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.4.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.4.0/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) |
-| OpenTelemetry Exporter | NuGet [1.7.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.7.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.7.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.7.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) |
+| OpenTelemetry Exporter | NuGet [1.8.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.8.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.8.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.8.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) |
| OpenTelemetry LiveMetrics | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.LiveMetrics/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.LiveMetrics-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.LiveMetrics_1.0.0-beta.3/sdk/monitor/Azure.Monitor.OpenTelemetry.LiveMetrics/) |
| Personalizer | NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Personalizer/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Personalizer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Personalizer_2.0.0-beta.2/sdk/personalizer/Azure.AI.Personalizer/) |
| Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright/) |
@@ -138,6 +138,7 @@
| unknown | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.AgentServer.Responses/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.AgentServer.Responses-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.AgentServer.Responses_1.0.0-beta.4/sdk/agentserver/Azure.AI.AgentServer.Responses/) |
| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.0.0)
NuGet [2.1.0-beta.1](https://www.nuget.org/packages/Azure.AI.Extensions.OpenAI/2.1.0-beta.1) | [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 [2.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Extensions.OpenAI_2.1.0-beta.1/sdk/ai/Azure.AI.Extensions.OpenAI/) |
| unknown | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.0.0)
NuGet [2.1.0-beta.1](https://www.nuget.org/packages/Azure.AI.Projects.Agents/2.1.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Projects.Agents-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.0.0/sdk/ai/Azure.AI.Projects.Agents/)
GitHub [2.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects.Agents_2.1.0-beta.1/sdk/ai/Azure.AI.Projects.Agents/) |
+| unknown | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.PostgreSQL.Auth/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.PostgreSQL.Auth_1.0.0-beta.1/sdk/postgresql/Microsoft.Azure.PostgreSQL.Auth/) |
| 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.0.0](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.AI.VoiceLive/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.VoiceLive-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.0.0/sdk/voicelive/Azure.AI.VoiceLive/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.VoiceLive_1.1.0-beta.3/sdk/voicelive/Azure.AI.VoiceLive/) |
@@ -151,7 +152,7 @@
| Core - Client - Spatial Newtonsoft Json | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Core.Spatial.NewtonsoftJson/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.Core.Spatial.NewtonsoftJson/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Core.Spatial.NewtonsoftJson-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.Spatial.NewtonsoftJson_1.0.0/sdk/core/Microsoft.Azure.Core.Spatial.NewtonsoftJson/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.Spatial.NewtonsoftJson_1.1.0-beta.1/sdk/core/Microsoft.Azure.Core.Spatial.NewtonsoftJson/) |
| Functions extension for Azure Tables | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Tables-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.4.0/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/) |
| Key Encryptor for .NET Data Protection | NuGet [1.6.2](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.6.2) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme) | GitHub [1.6.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.6.2/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) |
-| Secrets Configuration Provider for .NET | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.0) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.0/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) |
+| Secrets Configuration Provider for .NET | NuGet [1.5.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.5.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.1/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) |
| Storage - Common | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Common/12.26.0)
NuGet [12.28.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Common/12.28.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.26.0/sdk/storage/Azure.Storage.Common/)
GitHub [12.28.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.28.0-beta.1/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.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.3) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.3/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) |
@@ -341,19 +342,19 @@
| Resource Management - Managed Network | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ManagedNetwork/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedNetwork-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedNetwork_1.0.0-beta.6/sdk/managednetwork/Azure.ResourceManager.ManagedNetwork/) |
| Resource Management - Managed Network Fabric | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.ManagedNetworkFabric/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedNetworkFabric-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedNetworkFabric_1.1.3/sdk/managednetworkfabric/Azure.ResourceManager.ManagedNetworkFabric/) |
| Resource Management - Managed Service Identity | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServiceIdentities/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedServiceIdentities-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServiceIdentities_1.4.1/sdk/managedserviceidentity/Azure.ResourceManager.ManagedServiceIdentities/) |
-| Resource Management - Managed Services | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServices/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedServices-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServices_1.1.1/sdk/managedservices/Azure.ResourceManager.ManagedServices/) |
+| Resource Management - Managed Services | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ManagedServices/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedServices-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagedServices_1.1.2/sdk/managedservices/Azure.ResourceManager.ManagedServices/) |
| Resource Management - Managedops | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ManagedOps/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagedOps-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.ManagedOps_1.0.0-beta.1/sdk/managedops/Azure.ResourceManager.ManagedOps/) |
| Resource Management - Management Partner | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ManagementPartner/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ManagementPartner-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ManagementPartner_1.0.0-beta.6/sdk/managementpartner/Azure.ResourceManager.ManagementPartner/) |
-| Resource Management - Maps | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Maps/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Maps-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maps_1.1.0/sdk/maps/Azure.ResourceManager.Maps/) |
-| Resource Management - Marketplace | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Marketplace/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Marketplace-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Marketplace_1.1.2/sdk/marketplace/Azure.ResourceManager.Marketplace/) |
-| Resource Management - Marketplace Ordering | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.MarketplaceOrdering/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MarketplaceOrdering-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MarketplaceOrdering_1.1.1/sdk/marketplaceordering/Azure.ResourceManager.MarketplaceOrdering/) |
+| Resource Management - Maps | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Maps/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Maps/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Maps-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maps_1.1.0/sdk/maps/Azure.ResourceManager.Maps/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Maps_1.2.0-beta.1/sdk/maps/Azure.ResourceManager.Maps/) |
+| Resource Management - Marketplace | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Marketplace/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Marketplace-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Marketplace_1.1.3/sdk/marketplace/Azure.ResourceManager.Marketplace/) |
+| Resource Management - Marketplace Ordering | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.MarketplaceOrdering/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.MarketplaceOrdering-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MarketplaceOrdering_1.1.2/sdk/marketplaceordering/Azure.ResourceManager.MarketplaceOrdering/) |
| Resource Management - Media | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Media/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Media-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Media_1.3.1/sdk/mediaservices/Azure.ResourceManager.Media/) |
-| Resource Management - Migration Assessment | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Migration.Assessment/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Migration.Assessment-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.Migration.Assessment_1.0.0-beta.1/sdk/migrationassessment/Azure.ResourceManager.Migration.Assessment/) |
-| Resource Management - Migration Discovery SAP | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.MigrationDiscoverySap/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.MigrationDiscoverySap-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.MigrationDiscoverySap_1.0.0-beta.2/sdk/migrationdiscoverysap/Azure.ResourceManager.MigrationDiscoverySap/) |
+| Resource Management - Migration Assessment | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Migration.Assessment/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Migration.Assessment-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.Migration.Assessment_1.0.0-beta.2/sdk/migrationassessment/Azure.ResourceManager.Migration.Assessment/) |
+| Resource Management - Migration Discovery SAP | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.MigrationDiscoverySap/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.MigrationDiscoverySap-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.MigrationDiscoverySap_1.0.0-beta.3/sdk/migrationdiscoverysap/Azure.ResourceManager.MigrationDiscoverySap/) |
| Resource Management - Mixed Reality | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.MixedReality/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MixedReality-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MixedReality_1.1.1/sdk/mixedreality/Azure.ResourceManager.MixedReality/) |
| Resource Management - Mobile Network | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.MobileNetwork/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MobileNetwork-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MobileNetwork_1.2.0/sdk/mobilenetwork/Azure.ResourceManager.MobileNetwork/) |
| Resource Management - Mongo Cluster | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.MongoCluster/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoCluster-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoCluster_1.0.0/sdk/mongocluster/Azure.ResourceManager.MongoCluster/) |
-| Resource Management - Mongodbatlas | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoDBAtlas-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.0.0/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/) |
+| Resource Management - Mongodbatlas | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoDBAtlas/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoDBAtlas-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MongoDBAtlas_1.0.1/sdk/mongodbatlas/Azure.ResourceManager.MongoDBAtlas/) |
| Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1)
NuGet [1.4.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/)
GitHub [1.4.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.4/sdk/monitor/Azure.ResourceManager.Monitor/) |
| Resource Management - MySQL | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.2.0/sdk/mysql/Azure.ResourceManager.MySql/) |
| 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/) |
@@ -361,86 +362,86 @@
| Resource Management - Network | NuGet [1.15.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.15.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.15.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.15.0/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.3.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.3.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) |
-| Resource Management - Network Function | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.NetworkFunction/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkFunction-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkFunction_1.0.0-beta.5/sdk/networkfunction/Azure.ResourceManager.NetworkFunction/) |
+| 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.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NewRelicObservability/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NewRelicObservability-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.1.1/sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NewRelicObservability_1.2.0-beta.1/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.2](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.2) | [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.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.2/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) |
-| Resource Management - Onlineexperimentation | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-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.OnlineExperimentation_1.0.0-beta.1/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) |
+| Resource Management - Notification Hubs | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.NotificationHubs/1.2.0-beta.3) | [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.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NotificationHubs_1.2.0-beta.3/sdk/notificationhubs/Azure.ResourceManager.NotificationHubs/) |
+| Resource Management - Onlineexperimentation | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.OnlineExperimentation/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.OnlineExperimentation-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.OnlineExperimentation_1.0.0-beta.2/sdk/onlineexperimentation/Azure.ResourceManager.OnlineExperimentation/) |
| Resource Management - Oracle Database | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.OracleDatabase/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.OracleDatabase-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.OracleDatabase_1.2.0/sdk/oracle/Azure.ResourceManager.OracleDatabase/) |
-| Resource Management - Orbital | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.1/sdk/orbital/Azure.ResourceManager.Orbital/) |
+| Resource Management - Orbital | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Orbital/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Orbital-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Orbital_1.1.2/sdk/orbital/Azure.ResourceManager.Orbital/) |
| Resource Management - Palo Alto Networks - Next Generation Firewall | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.PaloAltoNetworks.Ngfw/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PaloAltoNetworks.Ngfw-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2.0/sdk/paloaltonetworks.ngfw/Azure.ResourceManager.PaloAltoNetworks.Ngfw/) |
-| Resource Management - Peering | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.2/sdk/peering/Azure.ResourceManager.Peering/) |
-| Resource Management - Pineconevectordb | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PineconeVectorDB/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PineconeVectorDB-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.PineconeVectorDB_1.0.0-beta.1/sdk/pineconevectordb/Azure.ResourceManager.PineconeVectorDB/) |
-| Resource Management - Planetarycomputer | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PlanetaryComputer/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PlanetaryComputer-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.PlanetaryComputer_1.0.0-beta.1/sdk/planetarycomputer/Azure.ResourceManager.PlanetaryComputer/) |
+| Resource Management - Peering | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Peering/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Peering-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Peering_1.2.3/sdk/peering/Azure.ResourceManager.Peering/) |
+| Resource Management - Pineconevectordb | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PineconeVectorDB/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PineconeVectorDB-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.PineconeVectorDB_1.0.0-beta.2/sdk/pineconevectordb/Azure.ResourceManager.PineconeVectorDB/) |
+| Resource Management - Planetarycomputer | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PlanetaryComputer/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PlanetaryComputer-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PlanetaryComputer_1.0.0/sdk/planetarycomputer/Azure.ResourceManager.PlanetaryComputer/) |
| Resource Management - Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.0.0)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Playwright/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.0.0/sdk/playwright/Azure.ResourceManager.Playwright/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Playwright_1.1.0-beta.1/sdk/playwright/Azure.ResourceManager.Playwright/) |
| Resource Management - Playwright Testing | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PlaywrightTesting/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PlaywrightTesting-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PlaywrightTesting_1.0.0/sdk/playwrighttesting/Azure.ResourceManager.PlaywrightTesting/) |
| Resource Management - Policy Insights | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.PolicyInsights/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PolicyInsights-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PolicyInsights_1.3.0/sdk/policyinsights/Azure.ResourceManager.PolicyInsights/) |
-| Resource Management - Portalservicescopilot | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PortalServicesCopilot/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PortalServicesCopilot-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.PortalServicesCopilot_1.0.0-beta.1/sdk/portalservices/Azure.ResourceManager.PortalServicesCopilot/) |
-| Resource Management - PostgreSQL | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PostgreSql-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.4.1/sdk/postgresql/Azure.ResourceManager.PostgreSql/) |
-| Resource Management - Power BI Dedicated | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.PowerBIDedicated/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.PowerBIDedicated-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PowerBIDedicated_1.0.0-beta.5/sdk/powerbidedicated/Azure.ResourceManager.PowerBIDedicated/) |
-| Resource Management - Private DNS | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.1/sdk/privatedns/Azure.ResourceManager.PrivateDns/) |
+| Resource Management - Portalservicescopilot | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.PortalServicesCopilot/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PortalServicesCopilot-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.PortalServicesCopilot_1.0.0-beta.2/sdk/portalservices/Azure.ResourceManager.PortalServicesCopilot/) |
+| Resource Management - PostgreSQL | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.PostgreSql/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PostgreSql-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PostgreSql_1.4.2/sdk/postgresql/Azure.ResourceManager.PostgreSql/) |
+| Resource Management - Power BI Dedicated | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PowerBIDedicated/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PowerBIDedicated-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PowerBIDedicated_1.0.0/sdk/powerbidedicated/Azure.ResourceManager.PowerBIDedicated/) |
+| Resource Management - Private DNS | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.2/sdk/privatedns/Azure.ResourceManager.PrivateDns/) |
| Resource Management - Provider Hub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ProviderHub/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ProviderHub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProviderHub_1.2.0/sdk/providerhub/Azure.ResourceManager.ProviderHub/) |
-| Resource Management - Purestorageblock | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.PureStorageBlock/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.PureStorageBlock-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PureStorageBlock_1.0.0/sdk/purestorageblock/Azure.ResourceManager.PureStorageBlock/) |
-| Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.2/sdk/purview/Azure.ResourceManager.Purview/) |
-| Resource Management - Quantum | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Quantum/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Quantum-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quantum_1.0.0-beta.6/sdk/quantum/Azure.ResourceManager.Quantum/) |
+| Resource Management - Purestorageblock | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.PureStorageBlock/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PureStorageBlock-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PureStorageBlock_1.0.1/sdk/purestorageblock/Azure.ResourceManager.PureStorageBlock/) |
+| Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.3/sdk/purview/Azure.ResourceManager.Purview/) |
+| Resource Management - Quantum | NuGet [1.0.0-beta.7](https://www.nuget.org/packages/Azure.ResourceManager.Quantum/1.0.0-beta.7) | [docs](/dotnet/api/overview/azure/ResourceManager.Quantum-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quantum_1.0.0-beta.7/sdk/quantum/Azure.ResourceManager.Quantum/) |
| Resource Management - Qumulo | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Qumulo/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Qumulo-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Qumulo_1.2.0/sdk/qumulo/Azure.ResourceManager.Qumulo/) |
| Resource Management - Quota | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Quota/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Quota-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quota_1.2.0/sdk/quota/Azure.ResourceManager.Quota/) |
| Resource Management - Recovery Services | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServices/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServices-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServices_1.2.0/sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/) |
| Resource Management - Recovery Services Backup | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesBackup/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesBackup-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesBackup_1.3.1/sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/) |
-| Resource Management - Recovery Services Data Replication | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesDataReplication/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesDataReplication-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesDataReplication_1.0.0/sdk/recoveryservices-datareplication/Azure.ResourceManager.RecoveryServicesDataReplication/) |
-| Resource Management - Recovery Services Site Recovery | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RecoveryServicesSiteRecovery/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.RecoveryServicesSiteRecovery-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.3.0/sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/) |
+| 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 - Redis | NuGet [1.5.1](https://www.nuget.org/packages/Azure.ResourceManager.Redis/1.5.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/) |
| Resource Management - Redis Enterprise | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise/1.3.0) | [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/) |
| 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/) |
| Resource Management - Relationships | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Relationships/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Relationships-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.Relationships_1.0.0-beta.1/sdk/relationships/Azure.ResourceManager.Relationships/) |
-| Resource Management - Relay | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Relay/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Relay-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Relay_1.2.1/sdk/relay/Azure.ResourceManager.Relay/) |
-| Resource Management - Reservations | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.Reservations/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Reservations-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Reservations_1.4.1/sdk/reservations/Azure.ResourceManager.Reservations/) |
+| Resource Management - Relay | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Relay/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Relay-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Relay_1.2.2/sdk/relay/Azure.ResourceManager.Relay/) |
+| Resource Management - Reservations | NuGet [1.4.2](https://www.nuget.org/packages/Azure.ResourceManager.Reservations/1.4.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Reservations-readme) | GitHub [1.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Reservations_1.4.2/sdk/reservations/Azure.ResourceManager.Reservations/) |
| Resource Management - Resource Connector | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ResourceConnector/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceConnector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceConnector_1.0.0-beta.4/sdk/resourceconnector/Azure.ResourceManager.ResourceConnector/) |
| Resource Management - Resource Graph | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceGraph/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceGraph-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceGraph_1.1.0/sdk/resourcegraph/Azure.ResourceManager.ResourceGraph/) |
| Resource Management - Resource Health | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.0.0)
NuGet [1.1.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.ResourceHealth/1.1.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceHealth-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.0.0/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/)
GitHub [1.1.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceHealth_1.1.0-beta.5/sdk/resourcehealth/Azure.ResourceManager.ResourceHealth/) |
| Resource Management - Resource Manager | NuGet [1.14.0](https://www.nuget.org/packages/Azure.ResourceManager/1.14.0) | [docs](/dotnet/api/overview/azure/ResourceManager-readme) | GitHub [1.14.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager_1.14.0/sdk/resourcemanager/Azure.ResourceManager/) |
-| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.2/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) |
+| Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.3/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) |
| Resource Management - Resources | NuGet [1.11.2](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.11.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.11.2/sdk/resources/Azure.ResourceManager.Resources/) |
| Resource Management - Resources.Deploymentstacks | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Resources.DeploymentStacks/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.DeploymentStacks-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources.DeploymentStacks_1.0.0/sdk/resources/Azure.ResourceManager.Resources.DeploymentStacks/) |
| Resource Management - Resources.Policy | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources.Policy/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources.Policy-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.Resources.Policy_1.0.0-beta.1/sdk/resources/Azure.ResourceManager.Resources.Policy/) |
-| Resource Management - ScVmm | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ScVmm/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ScVmm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ScVmm_1.0.0-beta.6/sdk/arc-scvmm/Azure.ResourceManager.ScVmm/) |
-| Resource Management - Secretsstoreextension | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.SecretsStoreExtension/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SecretsStoreExtension-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.SecretsStoreExtension_1.0.0-beta.1/sdk/secretsstoreextension/Azure.ResourceManager.SecretsStoreExtension/) |
-| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.6/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) |
-| Resource Management - Security DevOps | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.SecurityDevOps/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityDevOps-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityDevOps_1.0.0-beta.5/sdk/securitydevops/Azure.ResourceManager.SecurityDevOps/) |
-| Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.2/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) |
-| Resource Management - Self Help | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.0.0)
NuGet [1.1.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.1.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.SelfHelp-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.0.0/sdk/selfhelp/Azure.ResourceManager.SelfHelp/)
GitHub [1.1.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.1.0-beta.5/sdk/selfhelp/Azure.ResourceManager.SelfHelp/) |
+| Resource Management - ScVmm | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ScVmm/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ScVmm-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ScVmm_1.0.0/sdk/arc-scvmm/Azure.ResourceManager.ScVmm/) |
+| Resource Management - Secretsstoreextension | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SecretsStoreExtension/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SecretsStoreExtension-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.SecretsStoreExtension_1.0.0-beta.2/sdk/secretsstoreextension/Azure.ResourceManager.SecretsStoreExtension/) |
+| Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.7](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.7) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.7/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) |
+| Resource Management - Security DevOps | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SecurityDevOps/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityDevOps-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityDevOps_1.0.0-beta.6/sdk/securitydevops/Azure.ResourceManager.SecurityDevOps/) |
+| Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.3/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) |
+| Resource Management - Self Help | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.0.0)
NuGet [1.1.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SelfHelp/1.1.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SelfHelp-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.0.0/sdk/selfhelp/Azure.ResourceManager.SelfHelp/)
GitHub [1.1.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SelfHelp_1.1.0-beta.6/sdk/selfhelp/Azure.ResourceManager.SelfHelp/) |
| Resource Management - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.1.0/sdk/servicebus/Azure.ResourceManager.ServiceBus/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceBus_1.2.0-beta.1/sdk/servicebus/Azure.ResourceManager.ServiceBus/) |
-| Resource Management - Service Fabric | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabric-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.1.0/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.2.0-beta.2/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/) |
+| Resource Management - Service Fabric | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.1.0)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabric/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabric-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.1.0/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabric_1.2.0-beta.3/sdk/servicefabric/Azure.ResourceManager.ServiceFabric/) |
| Resource Management - Service Fabric Managed Clusters | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceFabricManagedClusters/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceFabricManagedClusters-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceFabricManagedClusters_1.3.0/sdk/servicefabricmanagedclusters/Azure.ResourceManager.ServiceFabricManagedClusters/) |
-| Resource Management - Service Linker | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceLinker/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceLinker-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceLinker_1.1.1/sdk/servicelinker/Azure.ResourceManager.ServiceLinker/) |
-| Resource Management - Service Networking | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceNetworking-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.1.0/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/) |
+| Resource Management - Service Linker | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceLinker/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceLinker-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceLinker_1.1.2/sdk/servicelinker/Azure.ResourceManager.ServiceLinker/) |
+| Resource Management - Service Networking | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ServiceNetworking/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceNetworking-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.1.0/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ServiceNetworking_1.2.0-beta.1/sdk/servicenetworking/Azure.ResourceManager.ServiceNetworking/) |
| Resource Management - Servicegroups | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ServiceGroups/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ServiceGroups-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.ServiceGroups_1.0.0-beta.2/sdk/servicegroups/Azure.ResourceManager.ServiceGroups/) |
| Resource Management - SignalR | NuGet [1.1.4](https://www.nuget.org/packages/Azure.ResourceManager.SignalR/1.1.4) | [docs](/dotnet/api/overview/azure/ResourceManager.SignalR-readme) | GitHub [1.1.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SignalR_1.1.4/sdk/signalr/Azure.ResourceManager.SignalR/) |
| Resource Management - Sitemanager | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.SiteManager/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.SiteManager-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SiteManager_1.0.0/sdk/sitemanager/Azure.ResourceManager.SiteManager/) |
-| Resource Management - Sphere | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Sphere/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Sphere-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sphere_1.0.1/sdk/sphere/Azure.ResourceManager.Sphere/) |
-| Resource Management - Spring App Discovery | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SpringAppDiscovery/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SpringAppDiscovery-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.SpringAppDiscovery_1.0.0-beta.2/sdk/springappdiscovery/Azure.ResourceManager.SpringAppDiscovery/) |
+| Resource Management - Sphere | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.Sphere/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Sphere-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Sphere_1.0.2/sdk/sphere/Azure.ResourceManager.Sphere/) |
+| Resource Management - Spring App Discovery | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.SpringAppDiscovery/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.SpringAppDiscovery-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.SpringAppDiscovery_1.0.0-beta.3/sdk/springappdiscovery/Azure.ResourceManager.SpringAppDiscovery/) |
| Resource Management - SQL | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Sql/1.4.0) | [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/) |
-| Resource Management - SQL Virtual Machine | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.SqlVirtualMachine/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SqlVirtualMachine-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SqlVirtualMachine_1.1.1/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/) |
+| 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.6.2](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.6.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.6.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.6.2/sdk/storage/Azure.ResourceManager.Storage/) |
-| Resource Management - Storage Actions | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageActions/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageActions-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageActions_1.0.0/sdk/storageactions/Azure.ResourceManager.StorageActions/) |
+| 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.4.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.4.0)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.4.0/sdk/storagecache/Azure.ResourceManager.StorageCache/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.5.0-beta.1/sdk/storagecache/Azure.ResourceManager.StorageCache/) |
| Resource Management - Storage Mover | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageMover-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageMover_1.4.0/sdk/storagemover/Azure.ResourceManager.StorageMover/) |
-| Resource Management - Storage Pool | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.StoragePool/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StoragePool-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StoragePool_1.1.1/sdk/storagepool/Azure.ResourceManager.StoragePool/) |
+| Resource Management - Storage Pool | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.StoragePool/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StoragePool-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StoragePool_1.1.2/sdk/storagepool/Azure.ResourceManager.StoragePool/) |
| Resource Management - Storage Sync | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageSync/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageSync-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageSync_1.3.1/sdk/storagesync/Azure.ResourceManager.StorageSync/) |
| Resource Management - Storagediscovery | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageDiscovery/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageDiscovery-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageDiscovery_1.0.0/sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/) |
-| Resource Management - Stream Analytics | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StreamAnalytics-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.2.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/) |
-| Resource Management - Subscriptions | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Subscription/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Subscription-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Subscription_1.1.1/sdk/subscription/Azure.ResourceManager.Subscription/) |
-| Resource Management - Support | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Support-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.1.1/sdk/support/Azure.ResourceManager.Support/) |
-| Resource Management - Synapse | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Synapse/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Synapse-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Synapse_1.2.1/sdk/synapse/Azure.ResourceManager.Synapse/) |
-| Resource Management - Terraform | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Terraform/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Terraform-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.Terraform_1.0.0-beta.2/sdk/terraform/Azure.ResourceManager.Terraform/) |
+| Resource Management - Stream Analytics | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.StreamAnalytics/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StreamAnalytics-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.2.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StreamAnalytics_1.3.0-beta.1/sdk/streamanalytics/Azure.ResourceManager.StreamAnalytics/) |
+| Resource Management - Subscriptions | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Subscription/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Subscription-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Subscription_1.1.2/sdk/subscription/Azure.ResourceManager.Subscription/) |
+| Resource Management - Support | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Support/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Support-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.1.1/sdk/support/Azure.ResourceManager.Support/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Support_1.2.0-beta.1/sdk/support/Azure.ResourceManager.Support/) |
+| Resource Management - Synapse | NuGet [1.2.2](https://www.nuget.org/packages/Azure.ResourceManager.Synapse/1.2.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Synapse-readme) | GitHub [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Synapse_1.2.2/sdk/synapse/Azure.ResourceManager.Synapse/) |
+| Resource Management - Terraform | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Terraform/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Terraform-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.Terraform_1.0.0-beta.3/sdk/terraform/Azure.ResourceManager.Terraform/) |
| Resource Management - Traffic Manager | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.1.3)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.TrafficManager/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.TrafficManager-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.1.3/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrafficManager_1.2.0-beta.1/sdk/trafficmanager/Azure.ResourceManager.TrafficManager/) |
-| Resource Management - Trusted Signing | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.TrustedSigning/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.TrustedSigning-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.TrustedSigning_1.0.0-beta.2/sdk/trustedsigning/Azure.ResourceManager.TrustedSigning/) |
+| Resource Management - Trusted Signing | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.TrustedSigning/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.TrustedSigning-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.TrustedSigning_1.0.0/sdk/trustedsigning/Azure.ResourceManager.TrustedSigning/) |
| Resource Management - Virtualenclaves | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.VirtualEnclaves/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.VirtualEnclaves-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.VirtualEnclaves_1.0.0-beta.1/sdk/virtualenclaves/Azure.ResourceManager.VirtualEnclaves/) |
-| Resource Management - Voice Services | NuGet [1.0.2](https://www.nuget.org/packages/Azure.ResourceManager.VoiceServices/1.0.2) | [docs](/dotnet/api/overview/azure/ResourceManager.VoiceServices-readme) | GitHub [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VoiceServices_1.0.2/sdk/voiceservices/Azure.ResourceManager.VoiceServices/) |
-| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) |
-| Resource Management - Weightsandbiases | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WeightsAndBiases-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.WeightsAndBiases_1.0.0-beta.1/sdk/weightsandbiases/Azure.ResourceManager.WeightsAndBiases/) |
-| Resource Management - Workload Monitor | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadMonitor/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadMonitor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadMonitor_1.0.0-beta.5/sdk/workloadmonitor/Azure.ResourceManager.WorkloadMonitor/) |
+| Resource Management - Voice Services | NuGet [1.0.3](https://www.nuget.org/packages/Azure.ResourceManager.VoiceServices/1.0.3) | [docs](/dotnet/api/overview/azure/ResourceManager.VoiceServices-readme) | GitHub [1.0.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.VoiceServices_1.0.3/sdk/voiceservices/Azure.ResourceManager.VoiceServices/) |
+| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.3.0-beta.1/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) |
+| Resource Management - Weightsandbiases | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WeightsAndBiases-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WeightsAndBiases_1.0.0/sdk/weightsandbiases/Azure.ResourceManager.WeightsAndBiases/) |
+| Resource Management - Workload Monitor | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadMonitor/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadMonitor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadMonitor_1.0.0-beta.6/sdk/workloadmonitor/Azure.ResourceManager.WorkloadMonitor/) |
| Resource Management - Workloadorchestration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadOrchestration/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadOrchestration-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadOrchestration_1.0.0/sdk/workloadorchestration/Azure.ResourceManager.WorkloadOrchestration/) |
-| Resource Management - Workloads | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Workloads-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.1.1/sdk/workloads/Azure.ResourceManager.Workloads/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.2.0-beta.1/sdk/workloads/Azure.ResourceManager.Workloads/) |
-| Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-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.WorkloadsSapVirtualInstance_1.0.0-beta.1/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) |
+| Resource Management - Workloads | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.1.2)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Workloads-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.1.2/sdk/workloads/Azure.ResourceManager.Workloads/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.2.0-beta.1/sdk/workloads/Azure.ResourceManager.Workloads/) |
+| Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadsSapVirtualInstance_1.0.0/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) |
diff --git a/docs/core/compatibility/11.md b/docs/core/compatibility/11.md
index 73616904a09ee..089c8e7daf3f4 100644
--- a/docs/core/compatibility/11.md
+++ b/docs/core/compatibility/11.md
@@ -29,6 +29,7 @@ See [Breaking changes in ASP.NET Core 10](/aspnet/core/breaking-changes/10/overv
| [DeflateStream and GZipStream write headers and footers for empty payload](core-libraries/11/deflatestream-gzipstream-empty-payload.md) | Behavioral change |
| [Environment.TickCount made consistent with Windows timeout behavior](core-libraries/11/environment-tickcount-windows-behavior.md) | Behavioral change |
| [MemoryStream maximum capacity updated and exception behavior changed](core-libraries/11/memorystream-max-capacity.md) | Behavioral change |
+| [Nullable.GetUnderlyingType throws for custom Type subclasses](core-libraries/11/nullable-getunderlyingtype-throws.md) | Behavioral change |
| [API obsoletions with non-default diagnostic IDs (.NET 11)](core-libraries/11/obsolete-apis.md) | Source incompatible |
| [TAR-reading APIs verify header checksums when reading](core-libraries/11/tar-checksum-validation.md) | Behavioral change |
| [TarWriter uses HardLink entries for hard-linked files](core-libraries/11/tarwriter-hardlink-entries.md) | Behavioral change |
diff --git a/docs/core/compatibility/core-libraries/11/nullable-getunderlyingtype-throws.md b/docs/core/compatibility/core-libraries/11/nullable-getunderlyingtype-throws.md
new file mode 100644
index 0000000000000..1827202a2a24a
--- /dev/null
+++ b/docs/core/compatibility/core-libraries/11/nullable-getunderlyingtype-throws.md
@@ -0,0 +1,88 @@
+---
+title: "Breaking change: Nullable.GetUnderlyingType throws for custom Type subclasses"
+description: "Learn about the breaking change in .NET 11 where Nullable.GetUnderlyingType throws NotSupportedException for custom Type subclasses that don't override Type.GetNullableUnderlyingType."
+ms.date: 04/29/2026
+ai-usage: ai-assisted
+---
+
+# Nullable.GetUnderlyingType throws for custom Type subclasses
+
+ now forwards to the new virtual method `System.Type.GetNullableUnderlyingType()`. Custom subclasses that don't override this new virtual throw instead of returning `null`.
+
+## Version introduced
+
+.NET 11 Preview 4
+
+## Previous behavior
+
+Previously, `Nullable.GetUnderlyingType` only recognized the `Nullable` provided by the currently executing runtime. For types from other reflection universes, including custom `Type` subclasses, it typically returned `null` even if they represented `Nullable`.
+
+```csharp
+class MyType : Type { /* ... */ }
+
+Type t = new MyType();
+Type? u = Nullable.GetUnderlyingType(t); // returned null
+```
+
+## New behavior
+
+Starting in .NET 11, `Nullable.GetUnderlyingType` calls the new virtual `Type.GetNullableUnderlyingType`. The base implementation on `System.Type` throws , so custom `Type` subclasses that don't override the virtual throw:
+
+```csharp
+class MyType : Type { /* does not override GetNullableUnderlyingType */ }
+
+Type t = new MyType();
+Type? u = Nullable.GetUnderlyingType(t);
+// throws System.NotSupportedException:
+// "Derived classes must provide an implementation."
+```
+
+The `Type` subclasses shipped with .NET (runtime `Type` implementation, `TypeDelegator`, `TypeBuilder`, `EnumBuilder`, `GenericTypeParameterBuilder`, `TypeBuilderInstantiation`, `SymbolType`, `ModifiedType`, the `SignatureType` family, and the `MetadataLoadContext` types) all override the new virtual and are unaffected.
+
+## Type of breaking change
+
+This change is a [behavioral change](../../categories.md#behavioral-change).
+
+## Reason for change
+
+`Nullable.GetUnderlyingType` previously hard-coded a comparison against the runtime's `typeof(Nullable<>)`. That comparison produced incorrect results for `Type` subclasses that represent types from a different reflection universe. Most notably, in `MetadataLoadContext`, `Nullable` was always reported as a non-nullable type (see [dotnet/runtime#124216](https://github.com/dotnet/runtime/issues/124216)). The new virtual gives each `Type` implementation a hook to identify nullable types correctly within its own reflection model. This mirrors the long-standing `Type.GetEnumUnderlyingType` pattern.
+
+The base implementation throws rather than returning `null` by design so that custom `Type` subclass authors are notified that they need to provide a correct answer for their domain.
+
+## Recommended action
+
+If you author a custom `Type` subclass, add an override of `GetNullableUnderlyingType`. Choose the appropriate implementation:
+
+- If your subclass never represents a `Nullable`, return `null`:
+
+ ```csharp
+ public override Type? GetNullableUnderlyingType() => null;
+ ```
+
+- If your subclass represents constructed generic types and might instantiate `Nullable`, return the corresponding type argument:
+
+ ```csharp
+ public override Type? GetNullableUnderlyingType()
+ {
+ if (IsGenericType
+ && !IsGenericTypeDefinition
+ && GetGenericTypeDefinition() == typeof(Nullable<>))
+ {
+ return GetGenericArguments()[0];
+ }
+ return null;
+ }
+ ```
+
+- If your subclass is a delegating wrapper around another `Type`, forward the call:
+
+ ```csharp
+ public override Type? GetNullableUnderlyingType() => _innerType.GetNullableUnderlyingType();
+ ```
+
+Compiling against .NET 11 surfaces the new virtual on `Type`, making the override discoverable in your IDE. No app or configuration switch reverts to the old behavior.
+
+## Affected APIs
+
+-
+- `System.Type.GetNullableUnderlyingType()` (new virtual; default throws )
diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml
index 1e6f7cc3b6ee8..ed732eb84f966 100644
--- a/docs/core/compatibility/toc.yml
+++ b/docs/core/compatibility/toc.yml
@@ -20,6 +20,8 @@ items:
href: core-libraries/11/environment-tickcount-windows-behavior.md
- name: MemoryStream maximum capacity updated and exception behavior changed
href: core-libraries/11/memorystream-max-capacity.md
+ - name: Nullable.GetUnderlyingType throws for custom Type subclasses
+ href: core-libraries/11/nullable-getunderlyingtype-throws.md
- name: API obsoletions with non-default diagnostic IDs
href: core-libraries/11/obsolete-apis.md
- name: TAR-reading APIs verify header checksums when reading
diff --git a/docs/core/diagnostics/snippets/resource-monitoring/Program.cs b/docs/core/diagnostics/snippets/resource-monitoring/Program.cs
index 3afec76cbcacb..254e47b47dde3 100644
--- a/docs/core/diagnostics/snippets/resource-monitoring/Program.cs
+++ b/docs/core/diagnostics/snippets/resource-monitoring/Program.cs
@@ -31,7 +31,6 @@
async Task StartMonitoringAsync(IResourceMonitor monitor, CancellationToken cancellationToken)
{
var table = new Table()
- .Centered()
.Title("Resource Monitoring", new Style(foreground: Color.Purple, decoration: Decoration.Bold))
.Caption("Updates every three seconds. *GTD: Guaranteed ", new Style(decoration: Decoration.Dim))
.RoundedBorder()
diff --git a/docs/core/diagnostics/snippets/resource-monitoring/resource-monitoring.csproj b/docs/core/diagnostics/snippets/resource-monitoring/resource-monitoring.csproj
index 55ad52e78aa4c..20a9af6c46e29 100644
--- a/docs/core/diagnostics/snippets/resource-monitoring/resource-monitoring.csproj
+++ b/docs/core/diagnostics/snippets/resource-monitoring/resource-monitoring.csproj
@@ -8,11 +8,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/docs/core/extensions/configuration-providers.md b/docs/core/extensions/configuration-providers.md
index 031192eb11a73..0ab239b6fbd4e 100644
--- a/docs/core/extensions/configuration-providers.md
+++ b/docs/core/extensions/configuration-providers.md
@@ -1,7 +1,8 @@
---
title: Configuration providers
description: Discover how to configure .NET apps using the configuration provider API and the available configuration providers.
-ms.date: 12/16/2024
+ms.date: 04/28/2026
+ai-usage: ai-assisted
---
# Configuration providers in .NET
@@ -208,7 +209,9 @@ For more information on host and app configuration, see [.NET Generic Host](gene
### Connection string prefixes
-The Configuration API has special processing rules for four connection string environment variables. These connection strings are involved in configuring Azure connection strings for the app environment. Environment variables with the prefixes shown in the table are loaded into the app with the default configuration or when no prefix is supplied to `AddEnvironmentVariables`.
+The Configuration API has special processing rules for connection string environment variables. These connection strings are involved in configuring Azure connection strings for the app environment. Environment variables with the prefixes shown in the following tables are loaded into the app with the default configuration or when no prefix is supplied to `AddEnvironmentVariables`.
+
+In .NET 9 and earlier versions, four connection string prefixes are recognized:
| Connection string prefix | Provider |
|--------------------------|-------------------------------------------------------------------------|
@@ -217,17 +220,42 @@ The Configuration API has special processing rules for four connection string en
| `SQLAZURECONNSTR_` | [Azure SQL Database](https://azure.microsoft.com/services/sql-database) |
| `SQLCONNSTR_` | [SQL Server](https://www.microsoft.com/sql-server) |
-When an environment variable is discovered and loaded into configuration with any of the four prefixes shown in the table:
+Starting in .NET 10, seven additional prefixes are recognized for a total of 11:
+
+| Connection string prefix | Provider |
+|---------------------------|-----------------------------------------------------------------------------------------|
+| `APIHUBCONNSTR_` | Azure API hubs |
+| `CUSTOMCONNSTR_` | Custom provider |
+| `DOCDBCONNSTR_` | [Azure Cosmos DB](https://azure.microsoft.com/services/cosmos-db) |
+| `EVENTHUBCONNSTR_` | [Azure Event Hubs](https://azure.microsoft.com/services/event-hubs) |
+| `MYSQLCONNSTR_` | [MySQL](https://www.mysql.com) |
+| `NOTIFICATIONHUBCONNSTR_` | [Azure Notification Hubs](https://azure.microsoft.com/services/notification-hubs) |
+| `POSTGRESQLCONNSTR_` | [PostgreSQL](https://www.postgresql.org) |
+| `REDISCACHECONNSTR_` | [Azure Cache for Redis](https://azure.microsoft.com/services/cache) |
+| `SERVICEBUSCONNSTR_` | [Azure Service Bus](https://azure.microsoft.com/services/service-bus) |
+| `SQLAZURECONNSTR_` | [Azure SQL Database](https://azure.microsoft.com/services/sql-database) |
+| `SQLCONNSTR_` | [SQL Server](https://www.microsoft.com/sql-server) |
+
+When an environment variable is discovered and loaded into configuration with any of the recognized prefixes:
- The configuration key is created by removing the environment variable prefix and adding a configuration key section (`ConnectionStrings`).
-- A new configuration key-value pair is created that represents the database connection provider (except for `CUSTOMCONNSTR_`, which has no stated provider).
-
-| Environment variable key | Converted configuration key | Provider configuration entry |
-|--------------------------|-----------------------------|---------------------------------------------------------------------------------|
-| `CUSTOMCONNSTR_{KEY}` | `ConnectionStrings:{KEY}` | Configuration entry not created. |
-| `MYSQLCONNSTR_{KEY}` | `ConnectionStrings:{KEY}` | Key: `ConnectionStrings:{KEY}_ProviderName`:
Value: `MySql.Data.MySqlClient` |
-| `SQLAZURECONNSTR_{KEY}` | `ConnectionStrings:{KEY}` | Key: `ConnectionStrings:{KEY}_ProviderName`:
Value: `System.Data.SqlClient` |
-| `SQLCONNSTR_{KEY}` | `ConnectionStrings:{KEY}` | Key: `ConnectionStrings:{KEY}_ProviderName`:
Value: `System.Data.SqlClient` |
+- A new configuration key-value pair is created that represents the database connection provider when a provider name is associated with the prefix.
+
+The following table shows the configuration entries produced for each prefix. Prefixes marked _.NET 10+_ are only processed when running on .NET 10 or later.
+
+| Environment variable key | Converted configuration key | Provider configuration entry |
+|---------------------------------------------|-----------------------------|---------------------------------------------------------------------------------|
+| `APIHUBCONNSTR_{KEY}` _(.NET 10+)_ | `ConnectionStrings:{KEY}` | Configuration entry not created. |
+| `CUSTOMCONNSTR_{KEY}` | `ConnectionStrings:{KEY}` | Configuration entry not created. |
+| `DOCDBCONNSTR_{KEY}` _(.NET 10+)_ | `ConnectionStrings:{KEY}` | Configuration entry not created. |
+| `EVENTHUBCONNSTR_{KEY}` _(.NET 10+)_ | `ConnectionStrings:{KEY}` | Configuration entry not created. |
+| `MYSQLCONNSTR_{KEY}` | `ConnectionStrings:{KEY}` | Key: `ConnectionStrings:{KEY}_ProviderName`:
Value: `MySql.Data.MySqlClient` |
+| `NOTIFICATIONHUBCONNSTR_{KEY}` _(.NET 10+)_ | `ConnectionStrings:{KEY}` | Configuration entry not created. |
+| `POSTGRESQLCONNSTR_{KEY}` _(.NET 10+)_ | `ConnectionStrings:{KEY}` | Key: `ConnectionStrings:{KEY}_ProviderName`:
Value: `Npgsql` |
+| `REDISCACHECONNSTR_{KEY}` _(.NET 10+)_ | `ConnectionStrings:{KEY}` | Configuration entry not created. |
+| `SERVICEBUSCONNSTR_{KEY}` _(.NET 10+)_ | `ConnectionStrings:{KEY}` | Configuration entry not created. |
+| `SQLAZURECONNSTR_{KEY}` | `ConnectionStrings:{KEY}` | Key: `ConnectionStrings:{KEY}_ProviderName`:
Value: `System.Data.SqlClient` |
+| `SQLCONNSTR_{KEY}` | `ConnectionStrings:{KEY}` | Key: `ConnectionStrings:{KEY}_ProviderName`:
Value: `System.Data.SqlClient` |
[!INCLUDE [managed-identities](../../includes/managed-identities.md)]
diff --git a/docs/core/tools/global-json.md b/docs/core/tools/global-json.md
index 2e90077a34130..8af30bf863fea 100644
--- a/docs/core/tools/global-json.md
+++ b/docs/core/tools/global-json.md
@@ -90,7 +90,9 @@ The following table shows the possible values for the `rollForward` key:
| `latestFeature` | Uses the highest installed feature band and patch level that matches the requested major and minor with a feature band and patch level that's greater than or equal to the specified value.
If not found, fails. |
| `latestMinor` | Uses the highest installed minor, feature band, and patch level that matches the requested major with a minor, feature band, and patch level that's greater than or equal to the specified value.
If not found, fails. |
| `latestMajor` | Uses the highest installed .NET SDK with a version that's greater than or equal to the specified value.
If not found, fail. |
-| `disable` | Doesn't roll forward. An exact match is required. |
+| `disable` | Doesn't roll forward; an exact match is required.† |
+
+ † When you use [package lock files](../install/upgrade.md#package-lock-files), set `rollForward` to `disable` so the SDK version and dependency graph stay in lockstep. For related issues, see and .
#### `paths`
diff --git a/docs/core/tools/sdk-errors/netsdk1138.md b/docs/core/tools/sdk-errors/netsdk1138.md
index 764f9c640efcd..cf1ba6ae389a6 100644
--- a/docs/core/tools/sdk-errors/netsdk1138.md
+++ b/docs/core/tools/sdk-errors/netsdk1138.md
@@ -16,6 +16,9 @@ Out-of-support versions include 1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 5, 6, and 7.
To resolve this error, change your project to target a supported version of .NET.
+> [!TIP]
+> You can use [GitHub Copilot modernization](../../porting/github-copilot-app-modernization/overview.md) to assess, plan, and upgrade your project to a supported version of .NET.
+
If you want to suppress the message without targeting a later framework, set the MSBuild property `CheckEolTargetFramework` to `false`. You can set it in the project file or by passing `/p:CheckEolTargetFramework=false` to a .NET CLI command, such as `dotnet build`. Here's an example project file:
```xml
diff --git a/docs/csharp/fundamentals/tutorials/records.md b/docs/csharp/fundamentals/tutorials/records.md
new file mode 100644
index 0000000000000..a9661dc33f5db
--- /dev/null
+++ b/docs/csharp/fundamentals/tutorials/records.md
@@ -0,0 +1,92 @@
+---
+title: Use record types tutorial
+description: Build a small app that models temperature data with records, compares record behavior, and uses with expressions for nondestructive mutation.
+ms.date: 04/14/2026
+ms.topic: tutorial
+ai-usage: ai-assisted
+---
+
+# Use record types
+
+> [!TIP]
+> **New to developing software?** Start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. You get comfortable with classes, methods, and loops there.
+>
+> **Experienced in another language?** This tutorial focuses on C# record features you use every day: value equality, positional syntax, and `with` expressions.
+
+In this tutorial, you build a console app that models daily temperatures by using records and record structs.
+
+In this tutorial, you learn how to:
+
+- Declare positional records and record structs.
+- Build a small record hierarchy.
+- Use compiler-generated equality and formatting.
+- Use `with` expressions for nondestructive mutation.
+
+## Prerequisites
+
+[!INCLUDE [Prerequisites](../../../../includes/prerequisites-basic-winget.md)]
+
+## Create the app and your first record
+
+Create a folder for your app, run `dotnet new console`, and open the generated project.
+
+Add a file named `DailyTemperature.cs`, and add a positional `readonly record struct` for temperature values:
+
+:::code language="csharp" source="./snippets/records/DailyTemperature.cs" ID="TemperatureRecord":::
+
+Add a file named `Program.cs`, and create sample temperature data:
+
+:::code language="csharp" source="./snippets/records/Program.cs" ID="DeclareData":::
+
+This syntax gives you concise data modeling with immutable value semantics.
+
+## Add behavior to the record struct
+
+In `DailyTemperature.cs`, the record struct already has a computed `Mean` property:
+
+```csharp
+public double Mean => (HighTemp + LowTemp) / 2.0;
+```
+
+A record struct works well here because each value is small and self-contained.
+
+## Build record types for degree-day calculations
+
+> [!NOTE]
+> **Heating degree-days** and **cooling degree-days** measure how much the daily average temperature deviates from a base temperature (typically 65°F/18°C). Heating degree-days accumulate on cold days when the average is below the base, while cooling degree-days accumulate on warm days when the average is above the base. These calculations help estimate energy consumption for heating or cooling buildings, making them useful for utility companies, building managers, and climate analysis.
+
+Create a file named `DegreeDays.cs` with a hierarchy for heating and cooling degree-day calculations:
+
+:::code language="csharp" source="./snippets/records/InterimSteps.cs" ID="DegreeDaysRecords":::
+
+Now calculate totals from your `Main` method in `Program.cs`:
+
+:::code language="csharp" source="./snippets/records/Program.cs" ID="HeatingAndCooling":::
+
+The generated `ToString` output is useful for quick diagnostics while you iterate.
+
+## Override `PrintMembers` to customize output
+
+When the default output includes too much noise, override `PrintMembers` in the base record:
+
+:::code language="csharp" source="./snippets/records/DegreeDays.cs" ID="AddPrintMembers":::
+
+The override keeps the output focused on the information you need.
+
+## Use with expressions for nondestructive mutation
+
+Use `with` to create modified copies without mutating the original record:
+
+:::code language="csharp" source="./snippets/records/Program.cs" ID="GrowingDegreeDays":::
+
+Extend that idea to compute rolling totals from slices of your input data:
+
+:::code language="csharp" source="./snippets/records/Program.cs" ID="RunningFiveDayTotal":::
+
+This approach is useful when you need transformations while you preserve original values.
+
+## Next steps
+
+- Review [C# record types](../types/records.md) for deeper guidance.
+- Continue with [Object-oriented C#](oop.md) for broader design patterns.
+- Explore [Converting types](safely-cast-using-pattern-matching-is-and-as-operators.md) to combine records with safe conversion patterns.
diff --git a/docs/csharp/tutorials/snippets/record-types/DailyTemperature.cs b/docs/csharp/fundamentals/tutorials/snippets/records/DailyTemperature.cs
similarity index 100%
rename from docs/csharp/tutorials/snippets/record-types/DailyTemperature.cs
rename to docs/csharp/fundamentals/tutorials/snippets/records/DailyTemperature.cs
diff --git a/docs/csharp/tutorials/snippets/record-types/DegreeDays.cs b/docs/csharp/fundamentals/tutorials/snippets/records/DegreeDays.cs
similarity index 100%
rename from docs/csharp/tutorials/snippets/record-types/DegreeDays.cs
rename to docs/csharp/fundamentals/tutorials/snippets/records/DegreeDays.cs
diff --git a/docs/csharp/tutorials/snippets/record-types/InterimSteps.cs b/docs/csharp/fundamentals/tutorials/snippets/records/InterimSteps.cs
similarity index 100%
rename from docs/csharp/tutorials/snippets/record-types/InterimSteps.cs
rename to docs/csharp/fundamentals/tutorials/snippets/records/InterimSteps.cs
diff --git a/docs/csharp/tutorials/snippets/record-types/Program.cs b/docs/csharp/fundamentals/tutorials/snippets/records/Program.cs
similarity index 100%
rename from docs/csharp/tutorials/snippets/record-types/Program.cs
rename to docs/csharp/fundamentals/tutorials/snippets/records/Program.cs
diff --git a/docs/csharp/tutorials/snippets/record-types/record-types.csproj b/docs/csharp/fundamentals/tutorials/snippets/records/record-types.csproj
similarity index 80%
rename from docs/csharp/tutorials/snippets/record-types/record-types.csproj
rename to docs/csharp/fundamentals/tutorials/snippets/records/record-types.csproj
index bc48d542cde1f..5ecab70f97adf 100644
--- a/docs/csharp/tutorials/snippets/record-types/record-types.csproj
+++ b/docs/csharp/fundamentals/tutorials/snippets/records/record-types.csproj
@@ -3,7 +3,7 @@
Exe
- net8.0
+ net10.0
enable
enable
diff --git a/docs/csharp/fundamentals/types/conversions.md b/docs/csharp/fundamentals/types/conversions.md
new file mode 100644
index 0000000000000..503b85eeb607b
--- /dev/null
+++ b/docs/csharp/fundamentals/types/conversions.md
@@ -0,0 +1,95 @@
+---
+title: "Type conversions, casting, and boxing"
+description: Learn how to convert between C# types by using implicit and explicit conversions, safe casting patterns, boxing and unboxing, and Parse and TryParse APIs.
+ms.date: 04/14/2026
+ms.topic: concept-article
+ai-usage: ai-assisted
+---
+
+# Type conversions, casting, and boxing
+
+> [!TIP]
+> **New to developing software?** Start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. You practice basic types there before you make conversion choices.
+>
+> **Experienced in another language?** C# conversions work like most statically typed languages: widening conversions are implicit, narrowing conversions need explicit casts, and parsing text should favor `TryParse` in user-facing code.
+
+When you write C# code, you often convert values from one type to another. For example, you might convert from `int` to `long`, read text and convert it to a number, or cast a base type to a derived type.
+
+Understanding key terms:
+
+- A *conversion* is the process of changing a value from one type to another.
+- A *cast* is the explicit syntax for conversion, written with parentheses like `(int)value`.
+- An *implicit conversion* is a conversion that happens automatically when the compiler can guarantee it's safe.
+- An *explicit cast* is a conversion you write in code, indicating the conversion might lose information or fail.
+
+Match the conversion style to the situation:
+
+- Implicit conversions happen automatically when the compiler can guarantee safety—no syntax required.
+- Explicit casts are required when data might be lost or the conversion might fail.
+- Pattern matching or `as` applies when you need a safe reference-type conversion that might not succeed.
+- Parsing APIs apply when your source value is text.
+
+## Implicit and explicit numeric conversions
+
+An *implicit conversion* always succeeds. An *explicit conversion* might fail or lose information.
+
+:::code language="csharp" source="snippets/conversions/Program.cs" ID="ImplicitAndExplicitNumeric":::
+
+An explicit cast tells readers that the conversion might lose information. In the sample, the `double` value is truncated when converted to `int`.
+
+For full conversion tables, see [Built-in numeric conversions](../../language-reference/builtin-types/numeric-conversions.md).
+
+## Convert references
+
+[Classes](classes.md) are reference types. Casts on them don't copy data. They change how you view the same object.
+
+Some reference conversions are implicit. The compiler guarantees they're safe. Three situations always produce an implicit reference conversion: assigning a derived class instance to a base class variable (the derived type is a subtype of the base type), assigning a reference type instance to a variable of an interface the type implements, and assigning any reference type to an `object` variable.
+
+:::code language="csharp" source="snippets/conversions/Program.cs" ID="ImplicitReferenceConversions":::
+
+Going the other direction, from a base type back to a derived type, requires an explicit check, because the object might not actually be the derived type you expect. Prefer pattern matching so the test and assignment happen together.
+
+:::code language="csharp" source="snippets/conversions/Program.cs" ID="ExplicitReferenceConversions":::
+
+Pattern matching keeps the successful cast variable in the smallest practical scope, which improves readability.
+
+If you need a nullable result instead of a conditional branch, use `as`:
+
+:::code language="csharp" source="snippets/conversions/Program.cs" ID="AsOperator":::
+
+Use `as` only with reference types and nullable value types. It returns `null` when conversion fails.
+
+## Understand boxing and unboxing
+
+Boxing converts a [struct](structs.md) or other value type to `object` or to an implemented interface type. Unboxing extracts the value type from that object reference.
+
+:::code language="csharp" source="snippets/conversions/Program.cs" ID="BoxingAndUnboxing":::
+
+Boxing allocates memory on the managed heap, and unboxing requires a type check. In hot paths, avoid unnecessary boxing because it adds allocations and extra work.
+
+## Parse text by using Parse and TryParse
+
+When you convert user input or file content, start with `TryParse`. It avoids exceptions for expected invalid input and makes failure handling explicit. All parsing APIs create a new object or value type instance from the source string; they don't modify the source.
+
+:::code language="csharp" source="snippets/conversions/Program.cs" ID="ParseAndTryParse":::
+
+Use `Parse` when input is guaranteed to be valid, such as controlled test data. Use `TryParse` for user input, network payloads, and file data.
+
+## Core conversion APIs
+
+Use these APIs most often in everyday code:
+
+-
+-
+-
+-
+-
+
+For advanced conversion behavior and all overloads, review the API reference for the specific target type.
+
+## See also
+
+- [Type system overview](index.md)
+- [Built-in types and literals](built-in-types.md)
+- [Pattern matching](../functional/pattern-matching.md)
+- [How to safely cast by using pattern matching and the is and as operators](../tutorials/safely-cast-using-pattern-matching-is-and-as-operators.md)
diff --git a/docs/csharp/fundamentals/types/delegates-lambdas.md b/docs/csharp/fundamentals/types/delegates-lambdas.md
new file mode 100644
index 0000000000000..df6ad896997f8
--- /dev/null
+++ b/docs/csharp/fundamentals/types/delegates-lambdas.md
@@ -0,0 +1,108 @@
+---
+title: "Lambda expressions, delegates, and events"
+description: Learn what lambda expressions are in C#, how delegates work as the type system support for lambda expressions, how to use the built-in Func and Action types, and how events use delegates for notifications.
+ms.date: 04/27/2026
+ms.topic: concept-article
+ai-usage: ai-assisted
+---
+
+# Lambda expressions, delegates, and events
+
+> [!TIP]
+> **New to developing software?** Start with the [Get started](../../tour-of-csharp/tutorials/index.md) tutorials first. Build core type and method skills there before you use lambda expressions.
+
+Sometimes you want to pass a small piece of behavior, a function, directly to another method. For example, you might want to filter a list, but the filtering condition changes depending on the situation. Rather than writing a separate named method for every possible condition, you pass the condition itself as an argument.
+
+*Lambda expressions* are the C# feature that makes this possible. A lambda expression is a compact, inline function that you write without giving it a name. You use the arrow operator `=>` to separate the parameter list from the body:
+
+```csharp
+x => x * 2
+```
+
+Reading left to right: `x` is the input parameter, `=>` means "goes to," and `x * 2` is the body. It computes the value returned. When there are no parameters or more than one, wrap them in parentheses: `() => 42` or `(left, right) => left + right`.
+
+## Delegates support lambda expressions
+
+To use a lambda expression, the C# compiler needs to know two things: the types of the parameters and the return type. That description, the parameter types plus return type, is called a *delegate type*.
+
+A delegate type is a type that represents a method signature. A variable of a delegate type can hold any matching method such as a lambda expression or a named method, as long as its parameter types and return type match.
+
+You declare a delegate type with the `delegate` keyword:
+
+```csharp
+delegate int Transform(int value);
+```
+
+This declaration says: "`Transform` is a delegate type for methods that accept one `int` and return an `int`." You can then assign a lambda expression or a named method to a variable of that type:
+
+:::code language="csharp" source="snippets/delegates-lambdas/Program.cs" ID="DelegateBasics":::
+
+Both `doubler` and `squarer` hold a value of type `Transform`. You call them exactly like regular methods. The compiler verifies that whatever you assign matches the declared signature.
+
+## Built-in delegate types: `Func` and `Action`
+
+Declaring a custom delegate type for every situation can be repetitive. .NET provides two families of generic delegate types, `Func` and `Action`, that cover most scenarios, so you rarely need to use the `delegate` keyword yourself.
+
+Both families come in versions with zero to sixteen input type parameters, so they scale to any number of inputs. The key difference between the two families is:
+
+- (and `Func`, and so on) represents a method that **returns a value**. The last type parameter is always the return type; all earlier ones are input types.
+- (and `Action`, and so on) represents a method that **returns nothing** (`void`). All type parameters are input types. with no type parameters represents a method with no inputs and no return value.
+
+For example, `Func` describes a method with two `int` inputs and one `int` result. `Action` describes a method with one `string` input and no return value.
+
+:::code language="csharp" source="snippets/delegates-lambdas/Program.cs" ID="FuncAndAction":::
+
+Use descriptive parameter names in lambdas so readers can understand intent without scanning the full method body.
+
+## Pass a lambda expression to a method
+
+When a method declares a `Func` or `Action` parameter, callers pass a lambda expression that matches that delegate type. The compiler checks that the lambda's parameter types and return type match the declared delegate type. If they don't match, the code doesn't compile.
+
+:::code language="csharp" source="snippets/delegates-lambdas/Program.cs" ID="LambdaAsArgument":::
+
+The `Filter` method declares a `Func` parameter named `predicate`. The `Func` type tells callers the expected shape: one `int` input, one `bool` result. The caller passes `value => value % 2 == 0` as that argument. This pattern appears throughout LINQ and many .NET APIs.
+
+## Keep lambda expressions self-contained
+
+A lambda expression can reference variables from the surrounding code. *Capturing* means the lambda holds a reference to a variable declared outside its own body. The combination of the lambda and the variables it captures is called a *closure*.
+
+When you don't need to capture anything, add the `static` modifier to the lambda. A static lambda can only use its own parameters and values declared inside its body. It can't capture local variables or instance state from the enclosing scope.
+
+:::code language="csharp" source="snippets/delegates-lambdas/Program.cs" ID="StaticLambda":::
+
+Static lambdas make intent clear and prevent accidental captures.
+
+## Use discard parameters when inputs are irrelevant
+
+Sometimes a delegate signature includes parameters you don't need. Use the discard `_` to signal that choice explicitly.
+
+Common examples include event handlers where you don't use `sender` or `EventArgs`, callbacks where you only need some of several inputs, and LINQ overloads that provide an index you don't use.
+
+:::code language="csharp" source="snippets/delegates-lambdas/Program.cs" ID="DiscardParameters":::
+
+Discards improve readability because they show which parameters matter.
+
+## Events provide optional notifications
+
+An *event* is a mechanism that one object (the *publisher*) uses to notify other objects (the *subscribers*) when something happens. The publisher doesn't need to know who is listening or how many subscribers there are. Subscribers choose to opt in.
+
+Events are built on delegates. An event is a delegate field with extra restrictions enforced by the `event` keyword: outside code can only subscribe (`+=`) or unsubscribe (`-=`) from the event; only the class that declares the event can invoke (raise) it.
+
+The .NET convention for event delegate types is , where `T` is the type of data included with the notification. Its signature always has two parameters: the `sender` (the object that raised the event) and the event data of type `T`.
+
+:::code language="csharp" source="snippets/delegates-lambdas/Program.cs" ID="MinimalEventIntro":::
+
+Walking through the code:
+
+- `MessagePublisher` declares `event EventHandler? MessagePublished`. The `event` keyword means callers can only subscribe or unsubscribe—they can't invoke it directly.
+- `publisher.MessagePublished += (_, message) => ...` subscribes with a lambda expression. The `_` discards the `sender` parameter because this handler doesn't need it.
+- `publisher.Publish("Records updated")` raises the event and runs every subscribed handler.
+
+Subscribing is optional. The `?.Invoke(...)` in the `Publish` method means the event raises only when at least one subscriber is attached. The publisher raises the event without knowing or caring whether anyone is listening.
+
+## See also
+
+- [Type system overview](index.md)
+- [Methods](../../methods.md)
+- [Pattern matching](../functional/pattern-matching.md)
+- [Events (C# programming guide)](../../programming-guide/events/index.md)
diff --git a/docs/csharp/fundamentals/types/snippets/conversions/Program.cs b/docs/csharp/fundamentals/types/snippets/conversions/Program.cs
new file mode 100644
index 0000000000000..66b970997963d
--- /dev/null
+++ b/docs/csharp/fundamentals/types/snippets/conversions/Program.cs
@@ -0,0 +1,115 @@
+namespace ConversionsSample;
+
+public interface INamed
+{
+ string Name { get; }
+}
+
+public class Animal;
+public class Mammal : Animal, INamed
+{
+ public string Name { get; init; } = "Mammal";
+}
+
+public class Reptile : Animal;
+
+public interface ILabelled
+{
+ string Label { get; }
+}
+
+public readonly struct Packet(int id) : ILabelled
+{
+ public int Id { get; } = id;
+ public string Label => $"P-{Id}";
+}
+
+public static class Program
+{
+ public static void Main()
+ {
+ ShowNumericConversions();
+ ShowReferenceConversions();
+ ShowAsOperator();
+ ShowBoxingAndUnboxing();
+ ShowParseAndTryParse();
+ }
+
+ private static void ShowNumericConversions()
+ {
+ //
+ int itemCount = 42;
+ long widened = itemCount; // Implicit conversion.
+
+ double average = 19.75;
+ int truncated = (int)average; // Explicit cast.
+
+ Console.WriteLine($"widened: {widened}, truncated: {truncated}");
+ //
+ }
+
+ private static void ShowReferenceConversions()
+ {
+ //
+ Mammal otter = new() { Name = "River otter" };
+ Animal animal = otter; // Derived to base class: always safe.
+ INamed named = otter; // Reference type to implemented interface: always safe.
+ object obj = otter; // Any reference type to object: always safe.
+
+ Console.WriteLine(named.Name);
+ //
+
+ //
+ Animal knownAnimal = new Mammal { Name = "River otter" };
+
+ if (knownAnimal is Mammal mammal)
+ {
+ Console.WriteLine($"Pattern match succeeded: {mammal.Name}");
+ }
+
+ Animal unknownAnimal = new Reptile();
+ Console.WriteLine($"Can treat as mammal: {unknownAnimal is Mammal}");
+ //
+ }
+
+ private static void ShowAsOperator()
+ {
+ //
+ object boxedMammal = new Mammal { Name = "Sea lion" };
+ Mammal? maybeMammal = boxedMammal as Mammal;
+ Console.WriteLine(maybeMammal is null ? "Not a mammal" : maybeMammal.Name);
+
+ object boxedReptile = new Reptile();
+ Mammal? noMammal = boxedReptile as Mammal;
+ Console.WriteLine(noMammal is null ? "Safe null result" : noMammal.Name);
+ //
+ }
+
+ private static void ShowBoxingAndUnboxing()
+ {
+ //
+ int temperature = 72;
+ object boxedTemperature = temperature; // Boxing.
+ int unboxedTemperature = (int)boxedTemperature; // Unboxing.
+
+ Packet packet = new(7);
+ ILabelled labelledPacket = packet; // Boxing through an interface reference.
+
+ Console.WriteLine($"Unboxed: {unboxedTemperature}, Label: {labelledPacket.Label}");
+ //
+ }
+
+ private static void ShowParseAndTryParse()
+ {
+ //
+ string textValue = "512";
+ int parsed = int.Parse(textValue);
+
+ string userInput = "12x";
+ bool parsedSuccessfully = int.TryParse(userInput, out int safeValue);
+
+ Console.WriteLine($"parsed: {parsed}");
+ Console.WriteLine(parsedSuccessfully ? $"safe value: {safeValue}" : "Input is not a valid number.");
+ //
+ }
+}
diff --git a/docs/csharp/fundamentals/types/snippets/conversions/conversions.csproj b/docs/csharp/fundamentals/types/snippets/conversions/conversions.csproj
new file mode 100644
index 0000000000000..bad583f080c8c
--- /dev/null
+++ b/docs/csharp/fundamentals/types/snippets/conversions/conversions.csproj
@@ -0,0 +1,8 @@
+
+
+ Exe
+ net10.0
+ enable
+ enable
+
+
diff --git a/docs/csharp/fundamentals/types/snippets/delegates-lambdas/Program.cs b/docs/csharp/fundamentals/types/snippets/delegates-lambdas/Program.cs
new file mode 100644
index 0000000000000..258e221950cc3
--- /dev/null
+++ b/docs/csharp/fundamentals/types/snippets/delegates-lambdas/Program.cs
@@ -0,0 +1,96 @@
+namespace DelegatesLambdasSample;
+
+delegate int Transform(int value);
+
+public sealed class MessagePublisher
+{
+ public event EventHandler? MessagePublished;
+
+ public void Publish(string message) => MessagePublished?.Invoke(this, message);
+}
+
+public static class Program
+{
+ public static void Main()
+ {
+ ShowDelegateBasics();
+ ShowFuncAndAction();
+ ShowLambdaAsArgument();
+ ShowStaticLambda();
+ ShowDiscardParameters();
+ ShowMinimalEventIntro();
+ }
+
+ private static void ShowDelegateBasics()
+ {
+ //
+ Transform doubler = x => x * 2; // assign a lambda expression
+ Transform squarer = Square; // assign a named method
+
+ Console.WriteLine(doubler(5)); // 10
+ Console.WriteLine(squarer(5)); // 25
+
+ static int Square(int value) => value * value;
+ //
+ }
+
+ private static void ShowFuncAndAction()
+ {
+ //
+ Func add = (left, right) => left + right;
+ Action report = message => Console.WriteLine($"Report: {message}");
+
+ int total = add(5, 9);
+ report($"5 + 9 = {total}");
+ //
+ }
+
+ private static void ShowLambdaAsArgument()
+ {
+ //
+ int[] numbers = [1, 2, 3, 4, 5, 6];
+ int[] evenNumbers = Filter(numbers, value => value % 2 == 0).ToArray();
+
+ Console.WriteLine(string.Join(", ", evenNumbers));
+ //
+ }
+
+ private static IEnumerable Filter(IEnumerable source, Func predicate)
+ {
+ foreach (int value in source)
+ {
+ if (predicate(value))
+ {
+ yield return value;
+ }
+ }
+ }
+
+ private static void ShowStaticLambda()
+ {
+ //
+ Func isEven = static value => value % 2 == 0;
+
+ Console.WriteLine(isEven(14));
+ Console.WriteLine(isEven(15));
+ //
+ }
+
+ private static void ShowDiscardParameters()
+ {
+ //
+ Action statusUpdate = (_, _, message) => Console.WriteLine(message);
+ statusUpdate(200, 42, "Operation completed");
+ //
+ }
+
+ private static void ShowMinimalEventIntro()
+ {
+ //
+ MessagePublisher publisher = new();
+ publisher.MessagePublished += (_, message) => Console.WriteLine($"Received: {message}");
+
+ publisher.Publish("Records updated");
+ //
+ }
+}
diff --git a/docs/csharp/fundamentals/types/snippets/delegates-lambdas/delegates-lambdas.csproj b/docs/csharp/fundamentals/types/snippets/delegates-lambdas/delegates-lambdas.csproj
new file mode 100644
index 0000000000000..bad583f080c8c
--- /dev/null
+++ b/docs/csharp/fundamentals/types/snippets/delegates-lambdas/delegates-lambdas.csproj
@@ -0,0 +1,8 @@
+
+
+ Exe
+ net10.0
+ enable
+ enable
+
+
diff --git a/docs/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics.md b/docs/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics.md
new file mode 100644
index 0000000000000..7d89c76571f91
--- /dev/null
+++ b/docs/csharp/language-reference/compiler-messages/delegate-function-pointer-diagnostics.md
@@ -0,0 +1,168 @@
+---
+title: "Resolve errors using delegates and function pointers"
+description: "This article helps you diagnose and correct compiler errors and warnings related to delegate and function pointer declarations and uses"
+f1_keywords:
+ - "CS0059"
+ - "CS0123"
+ - "CS0148"
+ - "CS0410"
+ - "CS0644"
+ - "CS1599"
+ - "CS1958"
+ - "CS8755"
+ - "CS8756"
+ - "CS8757"
+ - "CS8758"
+ - "CS8759"
+ - "CS8786"
+ - "CS8787"
+ - "CS8788"
+ - "CS8789"
+ - "CS8806"
+ - "CS8807"
+ - "CS8808"
+ - "CS8809"
+ - "CS8811"
+ - "CS8909"
+ - "CS8911"
+helpviewer_keywords:
+ - "CS0059"
+ - "CS0123"
+ - "CS0148"
+ - "CS0410"
+ - "CS0644"
+ - "CS1599"
+ - "CS1958"
+ - "CS8755"
+ - "CS8756"
+ - "CS8757"
+ - "CS8758"
+ - "CS8759"
+ - "CS8786"
+ - "CS8787"
+ - "CS8788"
+ - "CS8789"
+ - "CS8806"
+ - "CS8807"
+ - "CS8808"
+ - "CS8809"
+ - "CS8811"
+ - "CS8909"
+ - "CS8911"
+ms.date: 04/27/2026
+ai-usage: ai-assisted
+---
+
+# Resolve errors and warnings for delegate and function pointers
+
+This article covers the following compiler errors and warnings:
+
+
+
+- [**CS0059**](#delegate-signature-mismatches): *Inconsistent accessibility: parameter type 'type' is less accessible than delegate 'delegate'.*
+- [**CS0123**](#delegate-signature-mismatches): *No overload for 'method' matches delegate 'delegate'.*
+- [**CS0148**](#delegate-signature-mismatches): *The delegate 'delegate' does not have a valid constructor.*
+- [**CS0410**](#delegate-signature-mismatches): *No overload for 'method' has the correct parameter and return types.*
+- [**CS0644**](#delegate-type-restrictions): *'class' cannot derive from special class 'class'.*
+- [**CS1599**](#delegate-type-restrictions): *The return type of a method, delegate, or function pointer cannot be 'type'.*
+- [**CS1958**](#delegate-type-restrictions): *Object and collection initializer expressions may not be applied to a delegate creation expression.*
+- [**CS8755**](#function-pointer-signature-mismatches): *'modifier' cannot be used as a modifier on a function pointer parameter.*
+- [**CS8756**](#function-pointer-signature-mismatches): *Function pointer 'type' does not take 'count' arguments.*
+- [**CS8757**](#function-pointer-signature-mismatches): *No overload for 'method' matches function pointer 'type'.*
+- [**CS8758**](#function-pointer-signature-mismatches): *Ref mismatch between 'method' and function pointer 'type'.*
+- [**CS8759**](#function-pointer-signature-mismatches): *Cannot create a function pointer for 'method' because it is not a static method.*
+- [**CS8786**](#function-pointer-calling-conventions-and-return-types): *Calling convention of 'convention' is not compatible with 'convention'.*
+- [**CS8787**](#function-pointer-signature-mismatches): *Cannot convert method group to function pointer. (Are you missing a '&'?)*
+- [**CS8788**](#function-pointer-signature-mismatches): *Cannot use an extension method with a receiver as the target of a '&' operator.*
+- [**CS8789**](#function-pointer-usage-restrictions): *The type of a local declared in a fixed statement cannot be a function pointer type.*
+- [**CS8806**](#function-pointer-calling-conventions-and-return-types): *The calling convention of 'convention' is not supported by the language.*
+- [**CS8807**](#function-pointer-calling-conventions-and-return-types): *'specifier' is not a valid calling convention specifier for a function pointer.*
+- [**CS8808**](#function-pointer-calling-conventions-and-return-types): *'modifier' is not a valid function pointer return type modifier. Valid modifiers are 'ref' and 'ref readonly'.*
+- [**CS8809**](#function-pointer-calling-conventions-and-return-types): *A return type can only have one 'modifier' modifier.*
+- [**CS8811**](#function-pointer-signature-mismatches): *Cannot convert &method group 'method' to delegate type 'type'.*
+- [**CS8909**](#function-pointer-usage-restrictions): *Comparison of function pointers might yield an unexpected result, since pointers to the same function may be distinct.*
+- [**CS8911**](#function-pointer-usage-restrictions): *Using a function pointer type in this context is not supported.*
+
+## Delegate signature mismatches
+
+- **CS0059**: *Inconsistent accessibility: parameter type 'type' is less accessible than delegate 'delegate'.*
+- **CS0123**: *No overload for 'method' matches delegate 'delegate'.*
+- **CS0148**: *The delegate 'delegate' does not have a valid constructor.*
+- **CS0410**: *No overload for 'method' has the correct parameter and return types.*
+
+When you create or assign a delegate, the compiler verifies that the target method's signature matches the delegate type's declaration. The signature includes the parameter types, return type, and accessibility. For the full rules, see [Delegates](../../programming-guide/delegates/index.md) and [Accessibility constraints](~/_csharpstandard/standard/basic-concepts.md#755-accessibility-constraints) in the C# specification.
+
+- Change all parameter types in the delegate declaration to types that are at least as accessible as the delegate itself (**CS0059**). A `public` delegate can't reference a less-accessible type in its parameter list because callers outside the assembly wouldn't be able to provide the argument. For more information, see [Access Modifiers](../../programming-guide/classes-and-structs/access-modifiers.md).
+- Adjust either the method signature or the delegate signature so the parameter types and return type match exactly (**CS0123**). The compiler requires an exact signature match when you assign a method to a delegate.
+- Verify that the delegate was compiled by a conformant compiler (**CS0148**). This error occurs when you import a managed assembly built by a compiler that produced an ill-formed delegate constructor. Recompile the assembly with a standards-compliant compiler to resolve the error.
+
+> [!NOTE]
+> **CS0410** is no longer produced by the current C# compiler. The same condition now produces CS0123 instead. Older assemblies compiled with earlier compilers might still reference this error code.
+
+**CS0148** is a build-only diagnostic:
+
+[!INCLUDE[csharp-build-only-diagnostic-note](~/includes/csharp-build-only-diagnostic-note.md)]
+
+## Delegate type restrictions
+
+- **CS0644**: *'class' cannot derive from special class 'class'.*
+- **CS1599**: *The return type of a method, delegate, or function pointer cannot be 'type'.*
+- **CS1958**: *Object and collection initializer expressions may not be applied to a delegate creation expression.*
+
+The C# language restricts how you can use certain special types, including `System.Delegate`. For the full rules on delegate declarations, see [Delegates](../../programming-guide/delegates/index.md) and [Delegates](~/_csharpstandard/standard/delegates.md) in the C# specification.
+
+- Remove the explicit base class and use a `delegate` declaration instead (**CS0644**). Classes can't explicitly inherit from `System.Delegate`, `System.Enum`, `System.ValueType`, or `System.Array`. The compiler uses these types as implicit base classes. For example, every `delegate` declaration implicitly derives from `System.Delegate`.
+- Change the return type to a type that's permitted as a return value (**CS1599**). Certain types in the .NET class library, such as , , and , can't be used as return types for methods, delegates, or function pointers because they can potentially enable unsafe stack operations.
+- Remove the braces after the delegate creation expression (**CS1958**). Delegates don't have members that you can set through object or collection initializer syntax. If you have `{ }` after a `new DelegateType(method)` expression, remove the braces.
+
+## Function pointer signature mismatches
+
+- **CS8755**: *'modifier' cannot be used as a modifier on a function pointer parameter.*
+- **CS8756**: *Function pointer 'type' does not take 'count' arguments.*
+- **CS8757**: *No overload for 'method' matches function pointer 'type'.*
+- **CS8758**: *Ref mismatch between 'method' and function pointer 'type'.*
+- **CS8759**: *Cannot create a function pointer for 'method' because it is not a static method.*
+- **CS8787**: *Cannot convert method group to function pointer. (Are you missing a '&'?)*
+- **CS8788**: *Cannot use an extension method with a receiver as the target of a '&' operator.*
+- **CS8811**: *Cannot convert &method group 'method' to delegate type 'type'.*
+
+When you assign a method to a function pointer by using the address-of (`&`) operator, the compiler checks that the method's signature matches the function pointer type. For the full rules on function pointer declarations and usage, see [Function pointers](../unsafe-code.md#function-pointers) and [Unsafe code](../unsafe-code.md).
+
+- Remove the unsupported modifier from the function pointer parameter (**CS8755**). Function pointer parameters support only `ref`, `out`, and `in` modifiers. Other parameter modifiers, such as `params`, aren't valid in function pointer type declarations.
+- Change the number of arguments at the call site to match the function pointer's parameter count (**CS8756**). The function pointer type defines a fixed number of parameters, and you must pass exactly that many arguments.
+- Adjust the method's signature so its parameter types, return type, and parameter count match the function pointer type (**CS8757**). Unlike delegates, function pointers don't support implicit conversions between compatible method signatures. The match must be exact.
+- Align the `ref`, `out`, or `in` modifiers between the method's parameters and the function pointer type's parameters (**CS8758**). Each parameter's ref kind must match exactly. A `ref` parameter can't satisfy an `in` or `out` position in the function pointer type.
+- Change the target method to `static` (**CS8759**). Function pointers can only point to static methods because they represent raw function addresses without an associated object instance.
+- Add the `&` operator before the method group when assigning to a function pointer (**CS8787**). Unlike delegates, function pointers require the explicit address-of operator: `delegate* ptr = &MyMethod;`.
+- Use a static method instead of an extension method with a receiver (**CS8788**). The `&` operator requires a direct method reference. Extension methods called on an instance have an implicit receiver that can't be captured in a function pointer.
+- Remove the `&` operator and use delegate syntax instead, or change the target type from a delegate to a function pointer (**CS8811**). The `&` operator produces a function pointer, not a delegate. To assign a method group to a delegate type, omit the `&` and use standard delegate creation syntax.
+
+## Function pointer calling conventions and return types
+
+- **CS8786**: *Calling convention of 'convention' is not compatible with 'convention'.*
+- **CS8806**: *The calling convention of 'convention' is not supported by the language.*
+- **CS8807**: *'specifier' is not a valid calling convention specifier for a function pointer.*
+- **CS8808**: *'modifier' is not a valid function pointer return type modifier. Valid modifiers are 'ref' and 'ref readonly'.*
+- **CS8809**: *A return type can only have one 'modifier' modifier.*
+
+Function pointer declarations include a calling convention and optional return type modifiers. The compiler validates these options. For the full rules, see [Function pointers](../unsafe-code.md#function-pointers).
+
+- Change either the method's calling convention or the function pointer type's calling convention so they match (**CS8786**). When you assign a method to a function pointer, the calling conventions must be compatible. For example, a method using `Cdecl` can't be assigned to a function pointer declared with `Stdcall`.
+- Use a supported calling convention in the function pointer declaration (**CS8806**). The language supports `managed` and `unmanaged`. For a specific unmanaged convention, use the `unmanaged` keyword with the convention in square brackets, such as `unmanaged[Cdecl]`, `unmanaged[Stdcall]`, `unmanaged[Thiscall]`, or `unmanaged[Fastcall]`.
+- Replace the invalid specifier with a supported calling convention (**CS8807**). Use `managed`, `unmanaged`, or `unmanaged` with a calling convention type in square brackets (for example, `unmanaged[Cdecl]`).
+- Use only `ref` or `ref readonly` as the return type modifier (**CS8808**). Other modifiers, such as `out` or `in`, aren't valid for function pointer return types.
+- Remove the duplicate return type modifier so only one `ref` or `ref readonly` appears (**CS8809**). The compiler allows at most one return type modifier on a function pointer declaration.
+
+## Function pointer usage restrictions
+
+- **CS8789**: *The type of a local declared in a fixed statement cannot be a function pointer type.*
+- **CS8909**: *Comparison of function pointers might yield an unexpected result, since pointers to the same function may be distinct.*
+- **CS8911**: *Using a function pointer type in this context is not supported.*
+
+The compiler restricts how function pointer types can be used in certain contexts. For the full rules, see [Function pointers](../unsafe-code.md#function-pointers).
+
+- Change the local variable type in the `fixed` statement to a data pointer type instead of a function pointer type (**CS8789**). The `fixed` statement pins managed objects in memory for data access. Function pointers represent code addresses, not data, and can't be pinned.
+- Avoid comparing function pointers for equality (**CS8909**). This warning indicates that comparing function pointers with `==` or `!=` might produce unexpected results. The runtime might return different pointers for the same function due to implementation details such as thunking or JIT compilation. To suppress the warning when you confirm the comparison is intentional, use `#pragma warning disable CS8909`.
+- Move the function pointer usage to a supported context (**CS8911**). Function pointer types can't be used in certain positions, such as attribute arguments or `typeof` expressions. Restructure the code to avoid using function pointer types in unsupported contexts.
diff --git a/docs/csharp/language-reference/toc.yml b/docs/csharp/language-reference/toc.yml
index 91525b32de914..3085422541a1d 100644
--- a/docs/csharp/language-reference/toc.yml
+++ b/docs/csharp/language-reference/toc.yml
@@ -663,6 +663,12 @@ items:
CS1706, CS1731, CS1732, CS1764, CS1911, CS1989, CS3006, CS8030, CS8175, CS8820,
CS8821, CS8916, CS8917, CS8934, CS8971, CS8972, CS8974, CS8975, CS9098, CS9099,
CS9100, CS9236
+ - name: Delegate and function pointer declarations
+ href: ./compiler-messages/delegate-function-pointer-diagnostics.md
+ displayName: >
+ CS0059, CS0123, CS0148, CS0410, CS0644, CS1599, CS1958, CS8755, CS8756, CS8757,
+ CS8758, CS8759, CS8786, CS8787, CS8788, CS8789, CS8806, CS8807, CS8808, CS8809,
+ CS8811, CS8909, CS8911
- name: Overload resolution
href: ./compiler-messages/overload-resolution.md
displayName: >
@@ -806,8 +812,6 @@ items:
href: ../misc/cs0055.md
- name: CS0058
href: ../misc/cs0058.md
- - name: CS0059
- href: ../misc/cs0059.md
- name: CS0060
href: ../misc/cs0060.md
- name: CS0061
@@ -866,8 +870,6 @@ items:
href: ./compiler-messages/cs0120.md
- name: CS0122
href: ./compiler-messages/cs0122.md
- - name: CS0123
- href: ../misc/cs0123.md
- name: CS0126
href: ../misc/cs0126.md
- name: CS0127
@@ -896,8 +898,6 @@ items:
href: ../misc/cs0145.md
- name: CS0146
href: ../misc/cs0146.md
- - name: CS0148
- href: ../misc/cs0148.md
- name: CS0149
href: ../misc/cs0149.md
- name: CS0150
@@ -1016,8 +1016,6 @@ items:
href: ../misc/cs0406.md
- name: CS0409
href: ../misc/cs0409.md
- - name: CS0410
- href: ../misc/cs0410.md
- name: CS0411
href: ../misc/cs0411.md
- name: CS0418
@@ -1158,8 +1156,6 @@ items:
href: ../misc/cs0622.md
- name: CS0635
href: ../misc/cs0635.md
- - name: CS0644
- href: ../misc/cs0644.md
- name: CS0645
href: ../misc/cs0645.md
- name: CS0648
@@ -1428,8 +1424,6 @@ items:
href: ../misc/cs1594.md
- name: CS1597
href: ../misc/cs1597.md
- - name: CS1599
- href: ../misc/cs1599.md
- name: CS1600
href: ../misc/cs1600.md
- name: CS1601
@@ -1576,8 +1570,6 @@ items:
href: ../misc/cs1949.md
- name: CS1955
href: ../misc/cs1955.md
- - name: CS1958
- href: ../misc/cs1958.md
- name: CS1959
href: ../misc/cs1959.md
- name: CS2001
diff --git a/docs/csharp/misc/cs0059.md b/docs/csharp/misc/cs0059.md
deleted file mode 100644
index 1a46f3ff3dff0..0000000000000
--- a/docs/csharp/misc/cs0059.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-description: "Compiler Error CS0059"
-title: "Compiler Error CS0059"
-ms.date: 07/20/2015
-f1_keywords:
- - "CS0059"
-helpviewer_keywords:
- - "CS0059"
-ms.assetid: 25a8624b-7f7b-4487-ba80-413d57f9132b
----
-# Compiler Error CS0059
-
-Inconsistent accessibility: parameter type 'type' is less accessible than delegate 'delegate'
-
- The return type and each of the types referenced in the formal parameter list of a method must be at least as accessible as the method itself. For more information, see [Access Modifiers](../programming-guide/classes-and-structs/access-modifiers.md).
-
-## Example
-
- The following sample generates CS0059:
-
-```csharp
-// CS0059.cs
-class MyClass //defaults to private accessibility
-// try the following line instead
-// public class MyClass
-{
-}
-
-public delegate void MyClassDel( MyClass myClass); // CS0059
-
-public class Program
-{
- public static void Main()
- {
- }
-}
-```
diff --git a/docs/csharp/misc/cs0123.md b/docs/csharp/misc/cs0123.md
deleted file mode 100644
index ab4b32d68fe83..0000000000000
--- a/docs/csharp/misc/cs0123.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-description: "Compiler Error CS0123"
-title: "Compiler Error CS0123"
-ms.date: 07/20/2015
-f1_keywords:
- - "CS0123"
-helpviewer_keywords:
- - "CS0123"
-ms.assetid: 57be2c58-6d87-40af-9376-cd7f91023044
----
-# Compiler Error CS0123
-
-No overload for 'method' matches delegate 'delegate'
-
- An attempt to create a delegate failed because the correct signature was not used. Instances of a delegate must be declared with the same signature as the delegate declaration.
-
- You can resolve this error by adjusting either the method or delegate signature. For more information, see [Delegates](../programming-guide/delegates/index.md).
-
- The following sample generates CS0123.
-
-```csharp
-// CS0123.cs
-delegate void D();
-delegate void D2(int i);
-
-public class C
-{
- public static void f(int i) {}
-
- public static void Main()
- {
- D d = new D(f); // CS0123
- D2 d2 = new D2(f); // OK
- }
-}
-```
diff --git a/docs/csharp/misc/cs0148.md b/docs/csharp/misc/cs0148.md
deleted file mode 100644
index 3b9f2aaf355c6..0000000000000
--- a/docs/csharp/misc/cs0148.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-description: "Compiler Error CS0148"
-title: "Compiler Error CS0148"
-ms.date: 07/20/2015
-f1_keywords:
- - "CS0148"
-helpviewer_keywords:
- - "CS0148"
-ms.assetid: d199afbf-02e1-4a1c-9e36-07bf86f1a2fb
----
-# Compiler Error CS0148
-
-The delegate 'delegate' does not have a valid constructor
-
-You imported and used a managed program (one that uses the .NET runtime) that was created with another compiler. That compiler allowed an ill-formed [delegate](../language-reference/builtin-types/reference-types.md) constructor. For more information, see [Delegates](../programming-guide/delegates/index.md).
-
-[!INCLUDE[csharp-build-only-diagnostic-note](~/includes/csharp-build-only-diagnostic-note.md)]
diff --git a/docs/csharp/misc/cs0410.md b/docs/csharp/misc/cs0410.md
deleted file mode 100644
index 1cf584f9050fb..0000000000000
--- a/docs/csharp/misc/cs0410.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-description: "Compiler Error CS0410"
-title: "Compiler Error CS0410"
-ms.date: 07/20/2015
-f1_keywords:
- - "CS0410"
-helpviewer_keywords:
- - "CS0410"
-ms.assetid: a8b11042-9119-465e-abf6-235cbc7b8db5
----
-# Compiler Error CS0410
-
-No overload for 'method' has the correct parameter and return types
-
- This error occurs if you try to instantiate a delegate with a function that has the wrong parameter types. The parameter types of the delegate must match the function that you are assigning to the delegate.
-
-## Example
-
- The following example generates CS0410:
-
-```csharp
-// CS0410.cs
-// compile with: /langversion:ISO-1
-
-class Test
-{
- delegate void D(double d );
- static void F(int i) { }
-
- static void Main()
- {
- D d = new D(F); // CS0410
- }
-}
-```
-
-> [!NOTE]
-> This compiler error is no longer used in Roslyn. The previous example generates CS0123 when compiled with Roslyn.
diff --git a/docs/csharp/misc/cs0644.md b/docs/csharp/misc/cs0644.md
deleted file mode 100644
index 86a42c7b19d8b..0000000000000
--- a/docs/csharp/misc/cs0644.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-description: "Compiler Error CS0644"
-title: "Compiler Error CS0644"
-ms.date: 07/20/2015
-f1_keywords:
- - "CS0644"
-helpviewer_keywords:
- - "CS0644"
-ms.assetid: 835f3ee2-f897-4ba2-ad13-af629a9ab7fe
----
-# Compiler Error CS0644
-
-'class1' cannot derive from special class 'class2'
-
- Classes cannot explicitly inherit from any of the following base classes:
-
-- **System.Enum**
-
-- **System.ValueType**
-
-- **System.Delegate**
-
-- **System.Array**
-
- These are used as implicit base classes by the compiler. For example, **System.ValueType** is the implicit base class of structs.
-
- The following sample generates CS0644:
-
-```csharp
-// CS0644.cs
-class MyClass : System.ValueType // CS0644
-{
-}
-```
diff --git a/docs/csharp/misc/cs1599.md b/docs/csharp/misc/cs1599.md
deleted file mode 100644
index 0c467f3868c8c..0000000000000
--- a/docs/csharp/misc/cs1599.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-description: "Compiler Error CS1599"
-title: "Compiler Error CS1599"
-ms.date: 07/20/2015
-f1_keywords:
- - "CS1599"
-helpviewer_keywords:
- - "CS1599"
-ms.assetid: 4cdb282d-0f5d-459b-afc1-8980fbb22067
----
-# Compiler Error CS1599
-
-Method or delegate cannot return type 'type'
-
- Some types in the .NET class library, for example, , and cannot be used as return types because they can potentially be used to perform unsafe operations.
-
- The following sample generates CS1599:
-
-```csharp
-// CS1599.cs
-using System;
-
-class MyClass
-{
- public static void Main()
- {
- }
-
- public TypedReference Test1() // CS1599
- {
- return null;
- }
-
- public ArgIterator Test2() // CS1599
- {
- return null;
- }
-}
-```
diff --git a/docs/csharp/misc/cs1958.md b/docs/csharp/misc/cs1958.md
deleted file mode 100644
index 0425a8076bb68..0000000000000
--- a/docs/csharp/misc/cs1958.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-description: "Learn more about: Compiler Error CS1958"
-title: "Compiler Error CS1958"
-ms.date: 07/20/2015
-f1_keywords:
- - "CS1958"
-helpviewer_keywords:
- - "CS1958"
-ms.assetid: bb6f3bb2-ea93-4d2e-984c-da9c99f5653f
----
-# Compiler Error CS1958
-
-Object and collection initializer expressions may not be applied to a delegate creation expression.
-
- A delegate has no members like a class or struct has, and so there is nothing for an object initializer to initialize. If you encounter this error, it is probably because there are braces after the delegate creation expression. Just remove the braces and this error will disappear.
-
-## To correct this error
-
-1. Remove the braces.
-
-## Example
-
- The following code produces CS1958:
-
-```csharp
-// cs1958.cs
-public class MemberInitializerTest
-{
- delegate void D();
- public static void GenericMethod() { }
- public static void Run()
- {
- D genD = new D(GenericMethod) { }; // CS1958
- // Try the following line instead
- // D genD = new D(GenericMethod);
- }
-}
-```
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 73f06dd87addc..92555a1979bec 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
@@ -290,11 +290,6 @@ f1_keywords:
- "CS8752" # target type new
- "CS8753"
- "CS8754"
- - "CS8755" # function pointer
- - "CS8756"
- - "CS8757"
- - "CS8758"
- - "CS8759"
- "CS8760" # misc
- "CS8761"
- "CS8771"
@@ -302,15 +297,6 @@ f1_keywords:
- "CS8783" # local function
- "CS8784" # source generator
- "CS8785"
- - "CS8786" # function pointers
- - "CS8787"
- - "CS8788"
- - "CS8789"
- - "CS8806"
- - "CS8807"
- - "CS8808"
- - "CS8809"
- - "CS8811"
- "CS8813" # module initializers
- "CS8814"
- "CS8815"
@@ -340,8 +326,6 @@ f1_keywords:
- "CS8902"
- "CS8903" # init only property
- "CS8906" # record
- - "CS8909" # function pointer
- - "CS8911" # function pointer
# Coming in C# 15
- "CS9343" # misc
- "CS9346"
diff --git a/docs/csharp/toc.yml b/docs/csharp/toc.yml
index db8dec26d82c5..47c2609a1bf59 100644
--- a/docs/csharp/toc.yml
+++ b/docs/csharp/toc.yml
@@ -67,6 +67,10 @@ items:
href: fundamentals/types/generics.md
- name: Tuples and deconstruction
href: fundamentals/types/tuples.md
+ - name: Type conversions, casting, and boxing
+ href: fundamentals/types/conversions.md
+ - name: Lambda expressions, delegates, and events
+ href: fundamentals/types/delegates-lambdas.md
- name: Anonymous types
href: programming-guide/classes-and-structs/anonymous-types.md
# TODO: Delegates, lambdas and events
@@ -145,6 +149,8 @@ items:
href: fundamentals/tutorials/safely-cast-using-pattern-matching-is-and-as-operators.md
- name: Build data-driven algorithms with pattern matching
href: fundamentals/tutorials/pattern-matching.md
+ - name: Use record types
+ href: fundamentals/tutorials/records.md
# separating data and algorithms
# Data transformations
## TODO: Replace with a tutorial (include async exceptions)
@@ -192,8 +198,6 @@ items:
href: whats-new/tutorials/primary-constructors.md
- name: Tutorials
items:
- - name: Explore record types
- href: tutorials/records.md
- name: Explore top-level statements
href: tutorials/top-level-statements.md
- name: Explore indexes and ranges
diff --git a/docs/csharp/tutorials/records.md b/docs/csharp/tutorials/records.md
deleted file mode 100644
index 54986311543e4..0000000000000
--- a/docs/csharp/tutorials/records.md
+++ /dev/null
@@ -1,158 +0,0 @@
----
-title: Use record types tutorial
-description: Learn about how to use record types, build hierarchies of records, and when to choose records over classes.
-ms.date: 11/22/2024
----
-# Create record types
-
-[*Records*](../language-reference/builtin-types/record.md) are types that use *value-based equality*. You can define records as reference types or value types. Two variables of a record type are equal if the record type definitions are identical, and if for every field, the values in both records are equal. Two variables of a class type are equal if the objects referred to are the same class type and the variables refer to the same object. Value-based equality implies other capabilities you probably want in record types. The compiler generates many of those members when you declare a `record` instead of a `class`. The compiler generates those same methods for `record struct` types.
-
-In this tutorial, you learn how to:
-
-> [!div class="checklist"]
->
-> - Decide if you add the `record` modifier to a `class` type.
-> - Declare record types and positional record types.
-> - Substitute your methods for compiler generated methods in records.
-
-## Prerequisites
-
-[!INCLUDE [Prerequisites](../../../includes/prerequisites-basic.md)]
-
-## Characteristics of records
-
-You define a *record* by declaring a type with the `record` keyword, modifying a `class` or `struct` declaration. Optionally, you can omit the `class` keyword to create a `record class`. A record follows value-based equality semantics. To enforce value semantics, the compiler generates several methods for your record type (both for `record class` types and `record struct` types):
-
-- An override of .
-- A virtual `Equals` method whose parameter is the record type.
-- An override of .
-- Methods for `operator ==` and `operator !=`.
-- Record types implement .
-
-Records also provide an override of . The compiler synthesizes methods for displaying records using . You explore those members as you write the code for this tutorial. Records support `with` expressions to enable nondestructive mutation of records.
-
-You can also declare *positional records* using a more concise syntax. The compiler synthesizes more methods for you when you declare positional records:
-
-- A primary constructor whose parameters match the positional parameters on the record declaration.
-- Public properties for each parameter of a primary constructor. These properties are *init-only* for `record class` types and `readonly record struct` types. For `record struct` types, they're *read-write*.
-- A `Deconstruct` method to extract properties from the record.
-
-## Build temperature data
-
-Data and statistics are among the scenarios where you want to use records. For this tutorial, you build an application that computes *degree days* for different uses. *Degree days* are a measure of heat (or lack of heat) over a period of days, weeks, or months. Degree days track and predict energy usage. More hotter days mean more air conditioning, and more colder days mean more furnace usage. Degree days help manage plant populations and correlate to plant growth as the seasons change. Degree days help track animal migrations for species that travel to match climate.
-
-The formula is based on the mean temperature on a given day and a baseline temperature. To compute degree days over time, you'll need the high and low temperature each day for a period of time. Let's start by creating a new application. Make a new console application. Create a new record type in a new file named "DailyTemperature.cs":
-
-:::code language="csharp" source="snippets/record-types/InterimSteps.cs" ID="DailyRecord":::
-
-The preceding code defines a *positional record*. The `DailyTemperature` record is a `readonly record struct`, because you don't intend to inherit from it, and it should be immutable. The `HighTemp` and `LowTemp` properties are *init only properties*, meaning they can be set in the constructor or using a property initializer. If you wanted the positional parameters to be read-write, you declare a `record struct` instead of a `readonly record struct`. The `DailyTemperature` type also has a *primary constructor* that has two parameters that match the two properties. You use the primary constructor to initialize a `DailyTemperature` record. The following code creates and initializes several `DailyTemperature` records. The first uses named parameters to clarify the `HighTemp` and `LowTemp`. The remaining initializers use positional parameters to initialize the `HighTemp` and `LowTemp`:
-
-:::code language="csharp" source="snippets/record-types/Program.cs" ID="DeclareData":::
-
-You can add your own properties or methods to records, including positional records. You need to compute the mean temperature for each day. You can add that property to the `DailyTemperature` record:
-
-:::code language="csharp" source="snippets/record-types/DailyTemperature.cs" ID="TemperatureRecord":::
-
-Let's make sure you can use this data. Add the following code to your `Main` method:
-
-```csharp
-foreach (var item in data)
- Console.WriteLine(item);
-```
-
-Run your application, and you see output that looks similar to the following display (several rows removed for space):
-
-```dotnetcli
-DailyTemperature { HighTemp = 57, LowTemp = 30, Mean = 43.5 }
-DailyTemperature { HighTemp = 60, LowTemp = 35, Mean = 47.5 }
-
-
-DailyTemperature { HighTemp = 80, LowTemp = 60, Mean = 70 }
-DailyTemperature { HighTemp = 85, LowTemp = 66, Mean = 75.5 }
-```
-
-The preceding code shows the output from the override of `ToString` synthesized by the compiler. If you prefer different text, you can write your own version of `ToString` that prevents the compiler from synthesizing a version for you.
-
-## Compute degree days
-
-To compute degree days, you take the difference from a baseline temperature and the mean temperature on a given day. To measure heat over time, you discard any days where the mean temperature is below the baseline. To measure cold over time, you discard any days where the mean temperature is above the baseline. For example, the U.S. uses 65 F as the base for both heating and cooling degree days. That's the temperature where no heating or cooling is needed. If a day has a mean temperature of 70 F, that day is five cooling degree days and zero heating degree days. Conversely, if the mean temperature is 55 F, that day is 10 heating degree days and 0 cooling degree days.
-
-You can express these formulas as a small hierarchy of record types: an abstract degree day type and two concrete types for heating degree days and cooling degree days. These types can also be positional records. They take a baseline temperature and a sequence of daily temperature records as arguments to the primary constructor:
-
-:::code language="csharp" source="snippets/record-types/InterimSteps.cs" ID="DegreeDaysRecords":::
-
-The abstract `DegreeDays` record is the shared base class for both the `HeatingDegreeDays` and `CoolingDegreeDays` records. The primary constructor declarations on the derived records show how to manage base record initialization. Your derived record declares parameters for all the parameters in the base record primary constructor. The base record declares and initializes those properties. The derived record doesn't hide them, but only creates and initializes properties for parameters that aren't declared in its base record. In this example, the derived records don't add new primary constructor parameters. Test your code by adding the following code to your `Main` method:
-
-:::code language="csharp" source="snippets/record-types/Program.cs" ID="HeatingAndCooling":::
-
-You get output like the following display:
-
-```dotnetcli
-HeatingDegreeDays { BaseTemperature = 65, TempRecords = record_types.DailyTemperature[], DegreeDays = 85 }
-CoolingDegreeDays { BaseTemperature = 65, TempRecords = record_types.DailyTemperature[], DegreeDays = 71.5 }
-```
-
-## Define compiler-synthesized methods
-
-Your code calculates the correct number of heating and cooling degree days over that period of time. But this example shows why you might want to replace some of the synthesized methods for records. You can declare your own version of any of the compiler-synthesized methods in a record type except the clone method. The clone method has a compiler-generated name and you can't provide a different implementation. These synthesized methods include a copy constructor, the members of the interface, equality and inequality tests, and . For this purpose, you synthesize `PrintMembers`. You could also declare your own `ToString`, but `PrintMembers` provides a better option for inheritance scenarios. To provide your own version of a synthesized method, the signature must match the synthesized method.
-
-The `TempRecords` element in the console output isn't useful. It displays the type, but nothing else. You can change this behavior by providing your own implementation of the synthesized `PrintMembers` method. The signature depends on modifiers applied to the `record` declaration:
-
-- If a record type is `sealed`, or a `record struct`, the signature is `private bool PrintMembers(StringBuilder builder);`
-- If a record type isn't `sealed` and derives from `object` (that is, it doesn't declare a base record), the signature is `protected virtual bool PrintMembers(StringBuilder builder);`
-- If a record type isn't `sealed` and derives from another record, the signature is `protected override bool PrintMembers(StringBuilder builder);`
-
-These rules are easiest to comprehend through understanding the purpose of `PrintMembers`. `PrintMembers` adds information about each property in a record type to a string. The contract requires base records to add their members to the display and assumes derived members add their members. Each record type synthesizes a `ToString` override that looks similar to the following example for `HeatingDegreeDays`:
-
-```csharp
-public override string ToString()
-{
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.Append("HeatingDegreeDays");
- stringBuilder.Append(" { ");
- if (PrintMembers(stringBuilder))
- {
- stringBuilder.Append(" ");
- }
- stringBuilder.Append("}");
- return stringBuilder.ToString();
-}
-```
-
-You declare a `PrintMembers` method in the `DegreeDays` record that doesn't print the type of the collection:
-
-:::code language="csharp" source="snippets/record-types/DegreeDays.cs" ID="AddPrintMembers":::
-
-The signature declares a `virtual protected` method to match the compiler's version. Don't worry if you get the accessors wrong; the language enforces the correct signature. If you forget the correct modifiers for any synthesized method, the compiler issues warnings or errors that help you get the right signature.
-
-You can declare the `ToString` method as `sealed` in a record type. That prevents derived records from providing a new implementation. Derived records will still contain the `PrintMembers` override. You would seal `ToString` if you didn't want it to display the runtime type of the record. In the preceding example, you'd lose the information on where the record was measuring heating or cooling degree days.
-
-## Nondestructive mutation
-
-The synthesized members in a positional record class don't modify the state of the record. The goal is that you can more easily create immutable records. Remember that you declare a `readonly record struct` to create an immutable record struct. Look again at the preceding declarations for `HeatingDegreeDays` and `CoolingDegreeDays`. The members added perform computations on the values for the record, but don't mutate state. Positional records make it easier for you to create immutable reference types.
-
-Creating immutable reference types means you want to use nondestructive mutation. You create new record instances that are similar to existing record instances using [`with` expressions](../language-reference/operators/with-expression.md). These expressions are a copy construction with extra assignments that modify the copy. The result is a new record instance where each property was copied from the existing record and optionally modified. The original record is unchanged.
-
-Let's add a couple features to your program that demonstrate `with` expressions. First, let's create a new record to compute growing degree days using the same data. *Growing degree days* typically uses 41 F as the baseline and measures temperatures above the baseline. To use the same data, you can create a new record that is similar to the `coolingDegreeDays`, but with a different base temperature:
-
-:::code language="csharp" source="snippets/record-types/Program.cs" ID="GrowingDegreeDays":::
-
-You can compare the number of degrees computed to the numbers generated with a higher baseline temperature. Remember that records are *reference types* and these copies are shallow copies. The array for the data isn't copied, but both records refer to the same data. That fact is an advantage in one other scenario. For growing degree days, it's useful to keep track of the total for the previous five days. You can create new records with different source data using `with` expressions. The following code builds a collection of these accumulations, then displays the values:
-
-:::code language="csharp" source="snippets/record-types/Program.cs" ID="RunningFiveDayTotal":::
-
-You can also use `with` expressions to create copies of records. Don't specify any properties between the braces for the `with` expression. That means create a copy, and don't change any properties:
-
-```csharp
-var growingDegreeDaysCopy = growingDegreeDays with { };
-```
-
-Run the finished application to see the results.
-
-## Summary
-
-This tutorial showed several aspects of records. Records provide concise syntax for types where the fundamental use is storing data. For object-oriented classes, the fundamental use is defining responsibilities. This tutorial focused on *positional records*, where you can use a concise syntax to declare the properties for a record. The compiler synthesizes several members of the record for copying and comparing records. You can add any other members you need for your record types. You can create immutable record types knowing that none of the compiler-generated members would mutate state. And `with` expressions make it easy to support nondestructive mutation.
-
-Records add another way to define types. You use `class` definitions to create object-oriented hierarchies that focus on the responsibilities and behavior of objects. You create `struct` types for data structures that store data and are small enough to copy efficiently. You create `record` types when you want value-based equality and comparison, don't want to copy values, and want to use reference variables. You create `record struct` types when you want the features of records for a type that is small enough to copy efficiently.
-
-You can learn more about records in the [C# language reference article for the record type](../language-reference/builtin-types/record.md) and the [record type specification](~/_csharpstandard/standard/classes.md#1516-synthesized-record-class-members) and [record struct specification](~/_csharplang/proposals/csharp-10.0/record-structs.md).
diff --git a/docs/fundamentals/networking/telemetry/snippets/tracing/ConnectionTracingDemo.ServiceDefaults/ConnectionTracingDemo.ServiceDefaults.csproj b/docs/fundamentals/networking/telemetry/snippets/tracing/ConnectionTracingDemo.ServiceDefaults/ConnectionTracingDemo.ServiceDefaults.csproj
index 46055d61555b6..ee0770f7cc216 100644
--- a/docs/fundamentals/networking/telemetry/snippets/tracing/ConnectionTracingDemo.ServiceDefaults/ConnectionTracingDemo.ServiceDefaults.csproj
+++ b/docs/fundamentals/networking/telemetry/snippets/tracing/ConnectionTracingDemo.ServiceDefaults/ConnectionTracingDemo.ServiceDefaults.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/docs/index.yml b/docs/index.yml
index 31719fe4fd8d9..48d23ff62d6de 100644
--- a/docs/index.yml
+++ b/docs/index.yml
@@ -13,6 +13,7 @@ metadata:
author: BillWagner
ms.author: wiwagn
ms.date: 11/07/2025
+ ms.custom: updateeachrelease
# highlightedContent section (optional)
# Maximum of 8 items
@@ -26,20 +27,12 @@ highlightedContent:
# Card
- title: "What's new in .NET"
itemType: whats-new
- url: whats-new/index.yml
+ url: core/whats-new/dotnet-11/overview.md
# Card
- title: "Build AI apps in .NET"
itemType: overview
url: ai/index.yml
# Card
- - title: Aspire
- itemType: overview
- url: https://aspire.dev/
- # Card
- - title: "Build .NET apps with C#"
- itemType: learn
- url: /training/paths/build-dotnet-applications-csharp
- # Card
- title: "Interactive introduction to C#"
itemType: get-started
url: csharp/tour-of-csharp/tutorials/hello-world.md
@@ -67,9 +60,9 @@ conceptualContent:
- url: core/tutorials/index.md
itemType: tutorial
text: .NET tutorials
- - url: core/whats-new/dotnet-10/overview.md
+ - url: core/whats-new/dotnet-11/overview.md
itemType: whats-new
- text: What's new in .NET 10
+ text: What's new in .NET 11
- url: https://dotnetfoundation.org
itemType: overview
text: .NET Foundation
diff --git a/docs/navigate/advanced-programming/toc.yml b/docs/navigate/advanced-programming/toc.yml
index be4c032d3a225..93439663390e4 100644
--- a/docs/navigate/advanced-programming/toc.yml
+++ b/docs/navigate/advanced-programming/toc.yml
@@ -38,6 +38,8 @@ items:
href: ../../standard/asynchronous-programming-patterns/task-exception-handling.md
- name: Complete your tasks
href: ../../standard/asynchronous-programming-patterns/complete-your-tasks.md
+ - name: Keep async methods alive
+ href: ../../standard/asynchronous-programming-patterns/keep-async-methods-alive.md
- name: Event-based asynchronous pattern (EAP)
items:
- name: Documentation overview
diff --git a/docs/standard/asynchronous-programming-patterns/common-async-bugs.md b/docs/standard/asynchronous-programming-patterns/common-async-bugs.md
index 49044f9766b49..dcf8737240e8e 100644
--- a/docs/standard/asynchronous-programming-patterns/common-async-bugs.md
+++ b/docs/standard/asynchronous-programming-patterns/common-async-bugs.md
@@ -117,5 +117,6 @@ Storing the result in a variable suppresses the warning but doesn't fix the unde
- [Task-based asynchronous pattern (TAP)](task-based-asynchronous-pattern-tap.md)
- [Async lambda pitfalls](async-lambda-pitfalls.md)
+- [Keeping async methods alive](keep-async-methods-alive.md)
- [Asynchronous wrappers for synchronous methods](async-wrappers-for-synchronous-methods.md)
- [Synchronous wrappers for asynchronous methods](synchronous-wrappers-for-asynchronous-methods.md)
diff --git a/docs/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern.md
index 1499b3f21d020..de24bc77a3798 100644
--- a/docs/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern.md
+++ b/docs/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern.md
@@ -1,30 +1,29 @@
---
title: "Consuming the Task-based Asynchronous Pattern"
description: Learn to consume the Task-based Asynchronous Pattern (TAP) when working with asynchronous operations.
-ms.date: "03/30/2017"
+ms.date: "04/17/2026"
helpviewer_keywords:
- ".NET and TAP"
- "asynchronous design patterns, .NET"
- "TAP, .NET support for"
- "Task-based Asynchronous Pattern, .NET support for"
- ".NET, asynchronous design patterns"
-ms.assetid: 033cf871-ae24-433d-8939-7a3793e547bf
---
# Consuming the Task-based Asynchronous Pattern
-When you use the Task-based Asynchronous Pattern (TAP) to work with asynchronous operations, you can use callbacks to achieve waiting without blocking. For tasks, this is achieved through methods such as . Language-based asynchronous support hides callbacks by allowing asynchronous operations to be awaited within normal control flow, and compiler-generated code provides this same API-level support.
+When you use the Task-based Asynchronous Pattern (TAP) to work with asynchronous operations, you can use callbacks to achieve waiting without blocking. For tasks, this pattern uses methods such as . Language-based asynchronous support hides callbacks by allowing asynchronous operations to be awaited within normal control flow, and compiler-generated code provides this same API-level support.
## Suspending Execution with Await
-You can use the [await](../../csharp/language-reference/operators/await.md) keyword in C# and the [Await Operator](../../visual-basic/language-reference/operators/await-operator.md) in Visual Basic to asynchronously await and objects. When you're awaiting a , the `await` expression is of type `void`. When you're awaiting a , the `await` expression is of type `TResult`. An `await` expression must occur inside the body of an asynchronous method. (These language features were introduced in .NET Framework 4.5.)
+You can use the [await](../../csharp/language-reference/operators/await.md) keyword in C# and the [Await Operator](../../visual-basic/language-reference/operators/await-operator.md) in Visual Basic to asynchronously await and objects. When you await a , the `await` expression is of type `void`. When you await a , the `await` expression is of type `TResult`. An `await` expression must occur inside the body of an asynchronous method. (These language features were introduced in .NET Framework 4.5.)
- Under the covers, the await functionality installs a callback on the task by using a continuation. This callback resumes the asynchronous method at the point of suspension. When the asynchronous method is resumed, if the awaited operation completed successfully and was a , its `TResult` is returned. If the or that was awaited ended in the state, an exception is thrown. If the or that was awaited ended in the state, the exception that caused it to fault is thrown. A `Task` can fault as a result of multiple exceptions, but only one of these exceptions is propagated. However, the property returns an exception that contains all the errors.
+ Under the covers, the await functionality installs a callback on the task by using a continuation. This callback resumes the asynchronous method at the point of suspension. When the asynchronous method is resumed, if the awaited operation completed successfully and was a , its `TResult` is returned. If the or that was awaited ended in the state, an exception is thrown. If the or that was awaited ended in the state, the exception that caused it to fault is thrown. A `Task` can fault as a result of multiple exceptions, but only one of these exceptions is propagated. However, the property returns an exception that contains all the errors.
If a synchronization context ( object) is associated with the thread that was executing the asynchronous method at the time of suspension (for example, if the property is not `null`), the asynchronous method resumes on that same synchronization context by using the context's method. Otherwise, it relies on the task scheduler ( object) that was current at the time of suspension. Typically, this is the default task scheduler (), which targets the thread pool. This task scheduler determines whether the awaited asynchronous operation should resume where it completed or whether the resumption should be scheduled. The default scheduler typically allows the continuation to run on the thread that the awaited operation completed.
- When an asynchronous method is called, it synchronously executes the body of the function up until the first await expression on an awaitable instance that has not yet completed, at which point the invocation returns to the caller. If the asynchronous method does not return `void`, a or object is returned to represent the ongoing computation. In a non-void asynchronous method, if a return statement is encountered or the end of the method body is reached, the task is completed in the final state. If an unhandled exception causes control to leave the body of the asynchronous method, the task ends in the state. If that exception is an , the task instead ends in the state. In this manner, the result or exception is eventually published.
+ When you call an asynchronous method, it synchronously executes the body of the function up until the first await expression on an awaitable instance that isn't yet complete, at which point the invocation returns to the caller. If the asynchronous method doesn't return `void`, it returns a or object to represent the ongoing computation. In a non-void asynchronous method, if a return statement is encountered or the end of the method body is reached, the task is completed in the final state. If an unhandled exception causes control to leave the body of the asynchronous method, the task ends in the state. If that exception is an , the task instead ends in the state. In this manner, the result or exception is eventually published.
- There are several important variations of this behavior. For performance reasons, if a task has already completed by the time the task is awaited, control is not yielded, and the function continues to execute. Additionally, returning to the original context isn't always the desired behavior and can be changed; this is described in more detail in the next section.
+ Several important variations of this behavior exist. For performance reasons, if a task is already complete by the time the task is awaited, control isn't yielded, and the function continues to execute. Additionally, returning to the original context isn't always the desired behavior and can be changed; this behavior is described in more detail in the next section.
### Configuring Suspension and Resumption with Yield and ConfigureAwait
@@ -38,30 +37,30 @@ public class Task : …
}
```
- This is equivalent to asynchronously posting or scheduling back to the current context.
+ This method is equivalent to asynchronously posting or scheduling back to the current context.
-```csharp
-Task.Run(async delegate
-{
- for(int i=0; i<1000000; i++)
- {
- await Task.Yield(); // fork the continuation into a separate work item
- ...
- }
-});
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="YieldLoop":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="YieldLoop":::
- You can also use the method for better control over suspension and resumption in an asynchronous method. As mentioned previously, by default, the current context is captured at the time an asynchronous method is suspended, and that captured context is used to invoke the asynchronous method's continuation upon resumption. In many cases, this is the exact behavior you want. In other cases, you may not care about the continuation context, and you can achieve better performance by avoiding such posts back to the original context. To enable this, use the method to inform the await operation not to capture and resume on the context, but to continue execution wherever the asynchronous operation that was being awaited completed:
+ You can also use the method for better control over suspension and resumption in an asynchronous method. As mentioned previously, by default, the current context is captured at the time an asynchronous method is suspended, and that captured context is used to invoke the asynchronous method's continuation upon resumption. In many cases, this is the exact behavior you want. In other cases, you might not care about the continuation context, and you can achieve better performance by avoiding such posts back to the original context. To enable this behavior, use the method to inform the await operation not to capture and resume on the context, but to continue execution wherever the asynchronous operation that was being awaited completed:
```csharp
await someTask.ConfigureAwait(continueOnCapturedContext:false);
```
-## Canceling an Asynchronous Operation
+### Awaitables, ConfigureAwait, and SynchronizationContext
+
+`await` works with any type that satisfies the [awaitable expression pattern](~/_csharpstandard/standard/expressions.md#12992-awaitable-expressions), not just . A type is awaitable if it provides a compatible `GetAwaiter` method that returns a type with `IsCompleted`, `OnCompleted`, and `GetResult` members. In most public APIs, return , , , or . Use custom awaitables only for specialized scenarios.
+
+Use when the continuation doesn't need the caller's context. In app code that updates a UI, context capture is often required. In reusable library code, `ConfigureAwait(false)` is usually preferred because it avoids unnecessary context hops and reduces deadlock risk for callers that block.
+
+`ConfigureAwait(false)` changes continuation scheduling, not flow. For a deeper explanation of context behavior, see [ExecutionContext and SynchronizationContext](executioncontext-synchronizationcontext.md).
+
+## Canceling an asynchronous operation
Starting with .NET Framework 4, TAP methods that support cancellation provide at least one overload that accepts a cancellation token ( object).
- A cancellation token is created through a cancellation token source ( object). The source's property returns the cancellation token that will be signaled when the source's method is called. For example, if you want to download a single webpage and you want to be able to cancel the operation, you create a object, pass its token to the TAP method, and then call the source's method when you're ready to cancel the operation:
+ You create a cancellation token through a cancellation token source ( object). The source's property returns the cancellation token that signals when the source's method is called.
```csharp
var cts = new CancellationTokenSource();
@@ -70,7 +69,7 @@ string result = await DownloadStringTaskAsync(url, cts.Token);
cts.Cancel();
```
- To cancel multiple asynchronous invocations, you can pass the same token to all invocations:
+ For example, if you want to download a single webpage and you want to be able to cancel the operation, create a object, pass its token to the TAP method, and then call the source's method when you're ready to cancel the operation:
```csharp
var cts = new CancellationTokenSource();
@@ -91,23 +90,23 @@ var cts = new CancellationTokenSource();
```
> [!IMPORTANT]
-> Cancellation requests may be initiated from any thread.
+> Any thread can initiate cancellation requests.
- You can pass the value to any method that accepts a cancellation token to indicate that cancellation will never be requested. This causes the property to return `false`, and the called method can optimize accordingly. For testing purposes, you can also pass in a pre-canceled cancellation token that is instantiated by using the constructor that accepts a Boolean value to indicate whether the token should start in an already-canceled or not-cancelable state.
+ You can pass the value to any method that accepts a cancellation token to indicate that cancellation is never requested. This value causes the property to return `false`, and the called method can optimize accordingly. For testing purposes, you can also pass in a pre-canceled cancellation token that is instantiated by using the constructor that accepts a Boolean value to indicate whether the token should start in an already-canceled or not-cancelable state.
This approach to cancellation has several advantages:
- You can pass the same cancellation token to any number of asynchronous and synchronous operations.
-- The same cancellation request may be proliferated to any number of listeners.
+- The same cancellation request can go to any number of listeners.
-- The developer of the asynchronous API is in complete control of whether cancellation may be requested and when it may take effect.
+- The developer of the asynchronous API has complete control over whether cancellation can be requested and when it takes effect.
-- The code that consumes the API may selectively determine the asynchronous invocations that cancellation requests will be propagated to.
+- The code that consumes the API can selectively determine the asynchronous invocations that cancellation requests go to.
-## Monitoring Progress
+## Monitoring progress
- Some asynchronous methods expose progress through a progress interface passed into the asynchronous method. For example, consider a function that asynchronously downloads a string of text, and along the way raises progress updates that include the percentage of the download that has completed thus far. Such a method could be consumed in a Windows Presentation Foundation (WPF) application as follows:
+ Some asynchronous methods expose progress through a progress interface that you pass into the asynchronous method. For example, consider a function that asynchronously downloads a string of text, and along the way raises progress updates that include the percentage of the download that has completed thus far. You can consume such a method in a Windows Presentation Foundation (WPF) application as follows:
```csharp
private async void btnDownload_Click(object sender, RoutedEventArgs e)
@@ -124,177 +123,94 @@ private async void btnDownload_Click(object sender, RoutedEventArgs e)
-## Using the Built-in Task-based Combinators
+## Using the built-in task-based combinators
The namespace includes several methods for composing and working with tasks.
+> [!NOTE]
+> Several code samples in this section use , which requires the `System.Drawing.Common` package and is supported only on Windows. The async patterns they demonstrate apply on all platforms; substitute a cross-platform imaging library for non-Windows targets.
+
### Task.Run
- The class includes several methods that let you easily offload work as a or to the thread pool, for example:
+ The class includes several methods that let you easily offload work as a or to the thread pool. For example:
-```csharp
-public async void button1_Click(object sender, EventArgs e)
-{
- textBox1.Text = await Task.Run(() =>
- {
- // … do compute-bound work here
- return answer;
- });
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="TaskRunBasic":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="TaskRunBasic":::
- Some of these methods, such as the overload, exist as shorthand for the method. This overload enable you to use await within the offloaded work, for example:
+ Some of these methods, such as the overload, exist as shorthand for the method. This overload enables you to use `await` within the offloaded work. For example:
-```csharp
-public async void button1_Click(object sender, EventArgs e)
-{
- pictureBox1.Image = await Task.Run(async() =>
- {
- using(Bitmap bmp1 = await DownloadFirstImageAsync())
- using(Bitmap bmp2 = await DownloadSecondImageAsync())
- return Mashup(bmp1, bmp2);
- });
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="TaskRunAsync":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="TaskRunAsync":::
Such overloads are logically equivalent to using the method in conjunction with the extension method in the Task Parallel Library.
### Task.FromResult
- Use the method in scenarios where data may already be available and just needs to be returned from a task-returning method lifted into a :
-
-```csharp
-public Task GetValueAsync(string key)
-{
- int cachedValue;
- return TryGetCachedValue(out cachedValue) ?
- Task.FromResult(cachedValue) :
- GetValueAsyncInternal();
-}
+ Use the method in scenarios where data might already be available and you just need to return it from a task-returning method lifted into a :
-private async Task GetValueAsyncInternal(string key)
-{
- …
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="TaskFromResult":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="TaskFromResult":::
### Task.WhenAll
- Use the method to asynchronously wait on multiple asynchronous operations that are represented as tasks. The method has multiple overloads that support a set of non-generic tasks or a non-uniform set of generic tasks (for example, asynchronously waiting for multiple void-returning operations, or asynchronously waiting for multiple value-returning methods where each value may have a different type) and to support a uniform set of generic tasks (such as asynchronously waiting for multiple `TResult`-returning methods).
+ Use the method to asynchronously wait on multiple asynchronous operations that are represented as tasks. The method has multiple overloads that support a set of non-generic tasks or a non-uniform set of generic tasks (for example, asynchronously waiting for multiple void-returning operations, or asynchronously waiting for multiple value-returning methods where each value might have a different type) and to support a uniform set of generic tasks (such as asynchronously waiting for multiple `TResult`-returning methods).
- Let's say you want to send email messages to several customers. You can overlap sending the messages so you're not waiting for one message to complete before sending the next. You can also find out when the send operations have completed and whether any errors have occurred:
+ Suppose you want to send email messages to several customers. You can overlap sending the messages so you're not waiting for one message to complete before sending the next. You can also find out when the send operations complete and whether any errors occur:
```csharp
IEnumerable asyncOps = from addr in addrs select SendMailAsync(addr);
await Task.WhenAll(asyncOps);
```
- This code doesn't explicitly handle exceptions that may occur, but lets exceptions propagate out of the `await` on the resulting task from . To handle the exceptions, you can use code such as the following:
+ This code doesn't explicitly handle exceptions that might occur, but it lets exceptions propagate out of the `await` on the resulting task from . To handle the exceptions, use code such as the following:
-```csharp
-IEnumerable asyncOps = from addr in addrs select SendMailAsync(addr);
-try
-{
- await Task.WhenAll(asyncOps);
-}
-catch(Exception exc)
-{
- ...
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAllWithCatch":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAllWithCatch":::
- In this case, if any asynchronous operation fails, all the exceptions will be consolidated in an exception, which is stored in the that is returned from the method. However, only one of those exceptions is propagated by the `await` keyword. If you want to examine all the exceptions, you can rewrite the previous code as follows:
+ In this case, if any asynchronous operation fails, all the exceptions are consolidated in an exception, which is stored in the that is returned from the method. However, only one of those exceptions is propagated by the `await` keyword. If you want to examine all the exceptions, you can rewrite the previous code as follows:
-```csharp
-Task [] asyncOps = (from addr in addrs select SendMailAsync(addr)).ToArray();
-try
-{
- await Task.WhenAll(asyncOps);
-}
-catch(Exception exc)
-{
- foreach(Task faulted in asyncOps.Where(t => t.IsFaulted))
- {
- … // work with faulted and faulted.Exception
- }
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAllExamineExceptions":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAllExamineExceptions":::
- Let's consider an example of downloading multiple files from the web asynchronously. In this case, all the asynchronous operations have homogeneous result types, and it's easy to access the results:
+ Consider an example of downloading multiple files from the web asynchronously. In this case, all the asynchronous operations have homogeneous result types, and it's easy to access the results:
```csharp
string [] pages = await Task.WhenAll(
from url in urls select DownloadStringTaskAsync(url));
```
- You can use the same exception-handling techniques we discussed in the previous void-returning scenario:
+ You can use the same exception-handling techniques discussed in the previous void-returning scenario:
-```csharp
-Task [] asyncOps =
- (from url in urls select DownloadStringTaskAsync(url)).ToArray();
-try
-{
- string [] pages = await Task.WhenAll(asyncOps);
- ...
-}
-catch(Exception exc)
-{
- foreach(Task faulted in asyncOps.Where(t => t.IsFaulted))
- {
- … // work with faulted and faulted.Exception
- }
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAllDownloadPagesExceptions":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAllDownloadPagesExceptions":::
### Task.WhenAny
- You can use the method to asynchronously wait for just one of multiple asynchronous operations represented as tasks to complete. This method serves four primary use cases:
+ Use the method to asynchronously wait for just one of multiple asynchronous operations represented as tasks to complete. This method serves four primary use cases:
-- Redundancy: Performing an operation multiple times and selecting the one that completes first (for example, contacting multiple stock quote web services that will produce a single result and selecting the one that completes the fastest).
+- Redundancy: Performing an operation multiple times and selecting the one that completes first (for example, contacting multiple stock quote web services that return a single result and selecting the one that completes the fastest).
- Interleaving: Launching multiple operations and waiting for all of them to complete, but processing them as they complete.
-- Throttling: Allowing additional operations to begin as others complete. This is an extension of the interleaving scenario.
+- Throttling: Allowing additional operations to begin as others complete. This scenario is an extension of the interleaving scenario.
- Early bailout: For example, an operation represented by task t1 can be grouped in a task with another task t2, and you can wait on the task. Task t2 could represent a time-out, or cancellation, or some other signal that causes the task to complete before t1 completes.
#### Redundancy
- Consider a case where you want to make a decision about whether to buy a stock. There are several stock recommendation web services that you trust, but depending on daily load, each service can end up being slow at different times. You can use the method to receive a notification when any operation completes:
+ Consider a case where you want to make a decision about whether to buy a stock. Several stock recommendation web services exist that you trust, but depending on daily load, each service can end up being slow at different times. Use the method to receive a notification when any operation completes:
-```csharp
-var recommendations = new List>()
-{
- GetBuyRecommendation1Async(symbol),
- GetBuyRecommendation2Async(symbol),
- GetBuyRecommendation3Async(symbol)
-};
-Task recommendation = await Task.WhenAny(recommendations);
-if (await recommendation) BuyStock(symbol);
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAnyRedundancy":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAnyRedundancy":::
- Unlike , which returns the unwrapped results of all tasks that completed successfully, returns the task that completed. If a task fails, it's important to know that it failed, and if a task succeeds, it's important to know which task the return value is associated with. Therefore, you need to access the result of the returned task, or further await it, as this example shows.
+ Unlike , which returns the unwrapped results of all tasks that completed successfully, returns the task that completed. If a task fails, it's important to know that it failed, and if a task succeeds, it's important to know which task the return value is associated with. Therefore, you need to access the result of the returned task, or further await it, as this example shows.
- As with , you have to be able to accommodate exceptions. Because you receive the completed task back, you can await the returned task to have errors propagated, and `try/catch` them appropriately; for example:
+ As with , you have to be able to accommodate exceptions. Because you receive the completed task back, you can await the returned task to have errors propagated, and `try/catch` them appropriately; for example:
-```csharp
-Task [] recommendations = …;
-while(recommendations.Count > 0)
-{
- Task recommendation = await Task.WhenAny(recommendations);
- try
- {
- if (await recommendation) BuyStock(symbol);
- break;
- }
- catch(WebException exc)
- {
- recommendations.Remove(recommendation);
- }
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAnyRetryOnException":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAnyRetryOnException":::
- Additionally, even if a first task completes successfully, subsequent tasks may fail. At this point, you have several options for dealing with exceptions: You can wait until all the launched tasks have completed, in which case you can use the method, or you can decide that all exceptions are important and must be logged. For this, you can use continuations to receive a notification when tasks have completed asynchronously:
+ Additionally, even if a first task completes successfully, subsequent tasks might fail. At this point, you have several options for dealing with exceptions: You can wait until all the launched tasks complete, in which case you can use the method, or you can decide that all exceptions are important and must be logged. For this scenario, you can use continuations to receive a notification when tasks complete asynchronously:
```csharp
foreach(Task recommendation in recommendations)
@@ -316,232 +232,62 @@ foreach(Task recommendation in recommendations)
or even:
-```csharp
-private static async void LogCompletionIfFailed(IEnumerable tasks)
-{
- foreach(var task in tasks)
- {
- try { await task; }
- catch(Exception exc) { Log(exc); }
- }
-}
-…
-LogCompletionIfFailed(recommendations);
-```
-
- Finally, you may want to cancel all the remaining operations:
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="LogCompletionIfFailed":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="LogCompletionIfFailed":::
-```csharp
-var cts = new CancellationTokenSource();
-var recommendations = new List>()
-{
- GetBuyRecommendation1Async(symbol, cts.Token),
- GetBuyRecommendation2Async(symbol, cts.Token),
- GetBuyRecommendation3Async(symbol, cts.Token)
-};
+ Finally, you might want to cancel all the remaining operations:
-Task recommendation = await Task.WhenAny(recommendations);
-cts.Cancel();
-if (await recommendation) BuyStock(symbol);
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAnyCancelRemainder":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAnyCancelRemainder":::
#### Interleaving
Consider a case where you're downloading images from the web and processing each image (for example, adding the image to a UI control). You process the images sequentially on the UI thread, but want to download the images as concurrently as possible. Also, you don't want to hold up adding the images to the UI until they're all downloaded. Instead, you want to add them as they complete.
-```csharp
-List> imageTasks =
- (from imageUrl in urls select GetBitmapAsync(imageUrl)).ToList();
-while(imageTasks.Count > 0)
-{
- try
- {
- Task imageTask = await Task.WhenAny(imageTasks);
- imageTasks.Remove(imageTask);
-
- Bitmap image = await imageTask;
- panel.AddImage(image);
- }
- catch{}
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAnyInterleaving":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAnyInterleaving":::
You can also apply interleaving to a scenario that involves computationally intensive processing on the of the downloaded images; for example:
-```csharp
-List> imageTasks =
- (from imageUrl in urls select GetBitmapAsync(imageUrl)
- .ContinueWith(t => ConvertImage(t.Result)).ToList();
-while(imageTasks.Count > 0)
-{
- try
- {
- Task imageTask = await Task.WhenAny(imageTasks);
- imageTasks.Remove(imageTask);
-
- Bitmap image = await imageTask;
- panel.AddImage(image);
- }
- catch{}
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAnyInterleavingWithProcessing":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAnyInterleavingWithProcessing":::
#### Throttling
- Consider the interleaving example, except that the user is downloading so many images that the downloads have to be throttled; for example, you want only a specific number of downloads to happen concurrently. To achieve this, you can start a subset of the asynchronous operations. As operations complete, you can start additional operations to take their place:
-
-```csharp
-const int CONCURRENCY_LEVEL = 15;
-Uri [] urls = …;
-int nextIndex = 0;
-var imageTasks = new List>();
-while(nextIndex < CONCURRENCY_LEVEL && nextIndex < urls.Length)
-{
- imageTasks.Add(GetBitmapAsync(urls[nextIndex]));
- nextIndex++;
-}
-
-while(imageTasks.Count > 0)
-{
- try
- {
- Task imageTask = await Task.WhenAny(imageTasks);
- imageTasks.Remove(imageTask);
-
- Bitmap image = await imageTask;
- panel.AddImage(image);
- }
- catch(Exception exc) { Log(exc); }
+ Consider the interleaving example, except that the user is downloading so many images that the downloads have to be throttled. For example, you want only a specific number of downloads to happen concurrently. To achieve this goal, start a subset of the asynchronous operations. As operations complete, you can start additional operations to take their place:
- if (nextIndex < urls.Length)
- {
- imageTasks.Add(GetBitmapAsync(urls[nextIndex]));
- nextIndex++;
- }
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAnyThrottling":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAnyThrottling":::
#### Early Bailout
Consider that you're waiting asynchronously for an operation to complete while simultaneously responding to a user's cancellation request (for example, the user clicked a cancel button). The following code illustrates this scenario:
-```csharp
-private CancellationTokenSource m_cts;
-
-public void btnCancel_Click(object sender, EventArgs e)
-{
- if (m_cts != null) m_cts.Cancel();
-}
-
-public async void btnRun_Click(object sender, EventArgs e)
-{
- m_cts = new CancellationTokenSource();
- btnRun.Enabled = false;
- try
- {
- Task imageDownload = GetBitmapAsync(txtUrl.Text);
- await UntilCompletionOrCancellation(imageDownload, m_cts.Token);
- if (imageDownload.IsCompleted)
- {
- Bitmap image = await imageDownload;
- panel.AddImage(image);
- }
- else imageDownload.ContinueWith(t => Log(t));
- }
- finally { btnRun.Enabled = true; }
-}
-
-private static async Task UntilCompletionOrCancellation(
- Task asyncOp, CancellationToken ct)
-{
- var tcs = new TaskCompletionSource();
- using(ct.Register(() => tcs.TrySetResult(true)))
- await Task.WhenAny(asyncOp, tcs.Task);
- return asyncOp;
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="EarlyBailoutUI":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="EarlyBailoutUI":::
This implementation re-enables the user interface as soon as you decide to bail out, but doesn't cancel the underlying asynchronous operations. Another alternative would be to cancel the pending operations when you decide to bail out, but not reestablish the user interface until the operations complete, potentially due to ending early due to the cancellation request:
-```csharp
-private CancellationTokenSource m_cts;
-
-public async void btnRun_Click(object sender, EventArgs e)
-{
- m_cts = new CancellationTokenSource();
-
- btnRun.Enabled = false;
- try
- {
- Task imageDownload = GetBitmapAsync(txtUrl.Text, m_cts.Token);
- await UntilCompletionOrCancellation(imageDownload, m_cts.Token);
- Bitmap image = await imageDownload;
- panel.AddImage(image);
- }
- catch(OperationCanceledException) {}
- finally { btnRun.Enabled = true; }
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="EarlyBailoutWithTokenUI":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="EarlyBailoutWithTokenUI":::
Another example of early bailout involves using the method in conjunction with the method, as discussed in the next section.
### Task.Delay
- You can use the method to introduce pauses into an asynchronous method's execution. This is useful for many kinds of functionality, including building polling loops and delaying the handling of user input for a predetermined period of time. The method can also be useful in combination with for implementing time-outs on awaits.
+ Use the method to add pauses into an asynchronous method's execution. This pause is useful for many kinds of functionality, including building polling loops and delaying the handling of user input for a predetermined period of time. You can also use the method with to implement time-outs on awaits.
- If a task that's part of a larger asynchronous operation (for example, an ASP.NET web service) takes too long to complete, the overall operation could suffer, especially if it fails to ever complete. For this reason, it's important to be able to time out when waiting on an asynchronous operation. The synchronous , , and methods accept time-out values, but the corresponding / and the previously mentioned / methods do not. Instead, you can use and in combination to implement a time-out.
+ If a task that's part of a larger asynchronous operation (for example, an ASP.NET web service) takes too long to complete, the overall operation could suffer, especially if it fails to ever complete. For this reason, it's important to be able to time out when waiting on an asynchronous operation. The synchronous , , and methods accept time-out values, but the corresponding / and the previously mentioned / methods don't. Instead, use and together to implement a time-out.
- For example, in your UI application, let's say that you want to download an image and disable the UI while the image is downloading. However, if the download takes too long, you want to re-enable the UI and discard the download:
+ For example, in your UI application, suppose that you want to download an image and disable the UI while the image is downloading. However, if the download takes too long, you want to re-enable the UI and discard the download:
-```csharp
-public async void btnDownload_Click(object sender, EventArgs e)
-{
- btnDownload.Enabled = false;
- try
- {
- Task download = GetBitmapAsync(url);
- if (download == await Task.WhenAny(download, Task.Delay(3000)))
- {
- Bitmap bmp = await download;
- pictureBox.Image = bmp;
- status.Text = "Downloaded";
- }
- else
- {
- pictureBox.Image = null;
- status.Text = "Timed out";
- var ignored = download.ContinueWith(
- t => Trace("Task finally completed"));
- }
- }
- finally { btnDownload.Enabled = true; }
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="DelayTimeout":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="DelayTimeout":::
- The same applies to multiple downloads, because returns a task:
+ The same principle applies to multiple downloads, because returns a task:
-```csharp
-public async void btnDownload_Click(object sender, RoutedEventArgs e)
-{
- btnDownload.Enabled = false;
- try
- {
- Task downloads =
- Task.WhenAll(from url in urls select GetBitmapAsync(url));
- if (downloads == await Task.WhenAny(downloads, Task.Delay(3000)))
- {
- foreach(var bmp in downloads.Result) panel.AddImage(bmp);
- status.Text = "Downloaded";
- }
- else
- {
- status.Text = "Timed out";
- downloads.ContinueWith(t => Log(t));
- }
- }
- finally { btnDownload.Enabled = true; }
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="DelayTimeoutMultiple":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="DelayTimeoutMultiple":::
## Building Task-based Combinators
@@ -549,37 +295,17 @@ public async void btnDownload_Click(object sender, RoutedEventArgs e)
### RetryOnFault
- In many situations, you may want to retry an operation if a previous attempt fails. For synchronous code, you might build a helper method such as `RetryOnFault` in the following example to accomplish this:
+ In many situations, you want to retry an operation if a previous attempt fails. For synchronous code, you might build a helper method such as `RetryOnFault` in the following example to accomplish this task:
-```csharp
-public static T RetryOnFault(
- Func function, int maxTries)
-{
- for(int i=0; i RetryOnFault(
- Func> function, int maxTries)
-{
- for(int i=0; i DownloadStringTaskAsync(url), 3);
```
- You could extend the `RetryOnFault` function further. For example, the function could accept another `Func` that will be invoked between retries to determine when to try the operation again; for example:
+ You can extend the `RetryOnFault` function further. For example, the function could accept another `Func` that the function invokes between retries to determine when to try the operation again. For example:
-```csharp
-public static async Task RetryOnFault(
- Func> function, int maxTries, Func retryWhen)
-{
- for(int i=0; i NeedOnlyOne(
- params Func> [] functions)
-{
- var cts = new CancellationTokenSource();
- var tasks = (from function in functions
- select function(cts.Token)).ToArray();
- var completed = await Task.WhenAny(tasks).ConfigureAwait(false);
- cts.Cancel();
- foreach(var task in tasks)
- {
- var ignored = task.ContinueWith(
- t => Log(t), TaskContinuationOptions.OnlyOnFaulted);
- }
- return completed;
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="NeedOnlyOne":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="NeedOnlyOne":::
You can then use this function as follows:
@@ -643,38 +343,14 @@ double currentPrice = await NeedOnlyOne(
ct => GetCurrentPriceFromServer3Async("msft", ct));
```
-### Interleaved Operations
+### Interleaved operations
- There is a potential performance problem with using the method to support an interleaving scenario when you're working with large sets of tasks. Every call to results in a continuation being registered with each task. For N number of tasks, this results in O(N2) continuations created over the lifetime of the interleaving operation. If you're working with a large set of tasks, you can use a combinator (`Interleaved` in the following example) to address the performance issue:
+ Using the method to support an interleaving scenario can cause a performance problem when you work with large sets of tasks. Each call to registers a continuation with each task. For N number of tasks, this process creates O(N2) continuations over the lifetime of the interleaving operation. If you're working with a large set of tasks, use a combinator (`Interleaved` in the following example) to address the performance problem:
-```csharp
-static IEnumerable> Interleaved(IEnumerable> tasks)
-{
- var inputTasks = tasks.ToList();
- var sources = (from _ in Enumerable.Range(0, inputTasks.Count)
- select new TaskCompletionSource()).ToList();
- int nextTaskIndex = -1;
- foreach (var inputTask in inputTasks)
- {
- inputTask.ContinueWith(completed =>
- {
- var source = sources[Interlocked.Increment(ref nextTaskIndex)];
- if (completed.IsFaulted)
- source.TrySetException(completed.Exception.InnerExceptions);
- else if (completed.IsCanceled)
- source.TrySetCanceled();
- else
- source.TrySetResult(completed.Result);
- }, CancellationToken.None,
- TaskContinuationOptions.ExecuteSynchronously,
- TaskScheduler.Default);
- }
- return from source in sources
- select source.Task;
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="Interleaved":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="Interleaved":::
- You can then use the combinator to process the results of tasks as they complete; for example:
+ Use the combinator to process the results of tasks as they complete. For example:
```csharp
IEnumerable> tasks = ...;
@@ -687,62 +363,23 @@ foreach(var task in Interleaved(tasks))
### WhenAllOrFirstException
- In certain scatter/gather scenarios, you might want to wait for all tasks in a set, unless one of them faults, in which case you want to stop waiting as soon as the exception occurs. You can accomplish that with a combinator method such as `WhenAllOrFirstException` in the following example:
-
-```csharp
-public static Task WhenAllOrFirstException(IEnumerable> tasks)
-{
- var inputs = tasks.ToList();
- var ce = new CountdownEvent(inputs.Count);
- var tcs = new TaskCompletionSource();
+ In certain scatter/gather scenarios, you might want to wait for all tasks in a set, unless one of them faults. In that case, you want to stop waiting as soon as the exception occurs. You can accomplish that behavior by using a combinator method such as `WhenAllOrFirstException` in the following example:
- Action onCompleted = (Task completed) =>
- {
- if (completed.IsFaulted)
- tcs.TrySetException(completed.Exception.InnerExceptions);
- if (ce.Signal() && !tcs.Task.IsCompleted)
- tcs.TrySetResult(inputs.Select(t => t.Result).ToArray());
- };
-
- foreach (var t in inputs) t.ContinueWith(onCompleted);
- return tcs.Task;
-}
-```
+:::code language="csharp" source="./snippets/consuming-the-task-based-asynchronous-pattern/csharp/Program.cs" id="WhenAllOrFirstException":::
+:::code language="vb" source="./snippets/consuming-the-task-based-asynchronous-pattern/vb/Program.vb" id="WhenAllOrFirstException":::
-## Building Task-based Data Structures
+## Building task-based data structures
In addition to the ability to build custom task-based combinators, having a data structure in