diff --git a/docfx.json b/docfx.json
index 03d7c34d95d1b..950167f6b4ac7 100644
--- a/docfx.json
+++ b/docfx.json
@@ -309,6 +309,10 @@
"docs/visual-basic/**/**.md": "vb"
},
"author": {
+ "_csharplang/**/*.md": "billwagner",
+ "_csharpstandard/**/*.md": "billwagner",
+ "_roslyn/docs/compilers/CSharp/*.md": "billwagner",
+ "_vblang/spec/*.md": "billwagner",
"docs/azure/**/*.*": "alexwolfmsft",
"docs/orleans/**/*.*": "IEvangelist",
"docs/architecture/**/**.md": "jamesmontemagno",
diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index 8a405075915b0..9f6287c5686cf 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -75,7 +75,7 @@
| Monitor Ingestion | NuGet [1.1.2](https://www.nuget.org/packages/Azure.Monitor.Ingestion/1.1.2) | [docs](/dotnet/api/overview/azure/Monitor.Ingestion-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.Ingestion_1.1.2/sdk/monitor/Azure.Monitor.Ingestion/) |
| Monitor Query | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Monitor.Query/1.5.0) | [docs](/dotnet/api/overview/azure/Monitor.Query-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.Query_1.5.0/sdk/monitor/Azure.Monitor.Query/) |
| 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.0.0-beta.6](https://www.nuget.org/packages/Azure.AI.OpenAI/2.0.0-beta.6) | [docs](/dotnet/api/overview/azure/AI.OpenAI-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.0.0-beta.6/sdk/openai/Azure.AI.OpenAI/) |
+| OpenAI Inference | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.OpenAI/2.0.0) | [docs](/dotnet/api/overview/azure/AI.OpenAI-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.0.0/sdk/openai/Azure.AI.OpenAI/) |
| OpenTelemetry AspNetCore | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.2.0/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.3.0-beta.1/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) |
| OpenTelemetry Exporter | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.3.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.4.0-beta.1/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/) |
@@ -178,7 +178,7 @@
| Resource Management - Communication | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.0/sdk/communication/Azure.ResourceManager.Communication/) |
| Resource Management - Compute | NuGet [1.6.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.6.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.6.0/sdk/compute/Azure.ResourceManager.Compute/) |
| Resource Management - Computefleet | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-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.ComputeFleet_1.0.0-beta.1/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) |
-| Resource Management - Computeschedule | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.0.0-beta.1/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/) |
+| Resource Management - Computeschedule | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeSchedule-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.ComputeSchedule_1.0.0-beta.1/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/) |
| Resource Management - Confidential Ledger | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.0.1)
NuGet [1.1.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.1.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ConfidentialLedger-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.0.1/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/)
GitHub [1.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.1.0-beta.4/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/) |
| Resource Management - Confluent | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.2.0/sdk/confluent/Azure.ResourceManager.Confluent/) |
| Resource Management - Connected VMware vSphere | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.0/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) |
@@ -344,7 +344,7 @@
| App Configuration Extension | NuGet [8.0.0-preview.3](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/8.0.0-preview.3) | | |
| App Configuration Provider | NuGet [8.0.0-preview.3](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/8.0.0-preview.3) | | |
| Azure.Communication.Administration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.Administration/1.0.0-beta.3) | | |
-| Communication Calling Windows Client | NuGet [1.9.0](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.9.0) | | |
+| Communication Calling Windows Client | NuGet [1.9.0](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.9.0)
NuGet [1.10.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.10.0-beta.1) | | |
| DotNetty | NuGet [0.7.6](https://www.nuget.org/packages/DotNetty.Common/0.7.6) | | |
| HTTP ASPNETCore Analyzers | NuGet [1.0.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore.Analyzers/1.0.2) | | |
| Item Templates NetCore | NuGet [4.0.5022](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetCore/4.0.5022) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index 527280733c889..ecd0a367233a2 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -76,7 +76,7 @@
| Monitor Ingestion | NuGet [1.1.2](https://www.nuget.org/packages/Azure.Monitor.Ingestion/1.1.2) | [docs](/dotnet/api/overview/azure/Monitor.Ingestion-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.Ingestion_1.1.2/sdk/monitor/Azure.Monitor.Ingestion/) |
| Monitor Query | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Monitor.Query/1.5.0) | [docs](/dotnet/api/overview/azure/Monitor.Query-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.Query_1.5.0/sdk/monitor/Azure.Monitor.Query/) |
| 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.0.0-beta.6](https://www.nuget.org/packages/Azure.AI.OpenAI/2.0.0-beta.6) | [docs](/dotnet/api/overview/azure/AI.OpenAI-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.0.0-beta.6/sdk/openai/Azure.AI.OpenAI/) |
+| OpenAI Inference | NuGet [2.0.0](https://www.nuget.org/packages/Azure.AI.OpenAI/2.0.0) | [docs](/dotnet/api/overview/azure/AI.OpenAI-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.0.0/sdk/openai/Azure.AI.OpenAI/) |
| OpenTelemetry AspNetCore | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.2.0/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.3.0-beta.1/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) |
| OpenTelemetry Exporter | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.3.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.4.0-beta.1/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/) |
@@ -183,7 +183,7 @@
| Resource Management - Communication | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.0/sdk/communication/Azure.ResourceManager.Communication/) |
| Resource Management - Compute | NuGet [1.6.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.6.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.6.0/sdk/compute/Azure.ResourceManager.Compute/) |
| Resource Management - Computefleet | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-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.ComputeFleet_1.0.0-beta.1/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) |
-| Resource Management - Computeschedule | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.0.0-beta.1/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/) |
+| Resource Management - Computeschedule | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeSchedule-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.ComputeSchedule_1.0.0-beta.1/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/) |
| Resource Management - Confidential Ledger | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.0.1)
NuGet [1.1.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.1.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.ConfidentialLedger-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.0.1/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/)
GitHub [1.1.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.1.0-beta.4/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/) |
| Resource Management - Confluent | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.2.0/sdk/confluent/Azure.ResourceManager.Confluent/) |
| Resource Management - Connected VMware vSphere | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.0/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) |
diff --git a/docs/core/diagnostics/debug-stackoverflow.md b/docs/core/diagnostics/debug-stackoverflow.md
index 759d30a958b79..d672eb694cba4 100644
--- a/docs/core/diagnostics/debug-stackoverflow.md
+++ b/docs/core/diagnostics/debug-stackoverflow.md
@@ -112,11 +112,11 @@ This example creates a core dump when the StackOverflowException occurs, then lo
Running the application under the debugger in [Visual Studio](/visualstudio/debugger/what-is-debugging) will show a StackOverflowException in the exception helper dialog and highlight the line of code responsible for making the final call that overflows the stack.
-[Visual Studio StackOverflowException dialog](media/visual_studio_stackoverflow_exception.png)
+:::image type="content" source="media/visual-studio-stackoverflow-exception.png" alt-text="Visual Studio StackOverflowException dialog.":::
The callstack debugger window also shows the stack.
-[Visual Studio StackOverflow callstack](media/visual_studio_stackoverflow_callstack.png)
+:::image type="content" source="media/visual-studio-stackoverflow-callstack.png" alt-text="Visual Studio StackOverflow callstack.":::
You can use all the normal Visual Studio debugger features to investigate each frame on the callstack, its source code, and the value of local variables.
diff --git a/docs/core/diagnostics/media/visual_studio_stackoverflow_callstack.png b/docs/core/diagnostics/media/visual-studio-stackoverflow-callstack.png
similarity index 100%
rename from docs/core/diagnostics/media/visual_studio_stackoverflow_callstack.png
rename to docs/core/diagnostics/media/visual-studio-stackoverflow-callstack.png
diff --git a/docs/core/diagnostics/media/visual_studio_stackoverflow_exception.png b/docs/core/diagnostics/media/visual-studio-stackoverflow-exception.png
similarity index 100%
rename from docs/core/diagnostics/media/visual_studio_stackoverflow_exception.png
rename to docs/core/diagnostics/media/visual-studio-stackoverflow-exception.png
diff --git a/docs/core/diagnostics/metrics-collection.md b/docs/core/diagnostics/metrics-collection.md
index aa0fc75730d88..f041c4a03c223 100644
--- a/docs/core/diagnostics/metrics-collection.md
+++ b/docs/core/diagnostics/metrics-collection.md
@@ -7,7 +7,7 @@ ms.date: 10/27/2021
# Collect metrics
-**This article applies to: ✔️** .NET Core 3.1 and later **✔️** .NET Framework 4.6.1 and later
+**This article applies to: ✔️** .NET 6.0 and later **✔️** .NET Framework 4.6.1 and later
Instrumented code can record numeric measurements, but the measurements usually need to be aggregated, transmitted, and stored to create useful metrics for monitoring. The process of aggregating, transmitting, and storing data is called collection. This tutorial shows several examples of collecting metrics:
@@ -19,7 +19,7 @@ For more information on custom metric instrumentation and options, see [Compare
## Prerequisites
-- [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download/dotnet) or a later
+- [.NET 6.0 SDK](https://dotnet.microsoft.com/download/dotnet) or a later
## Create an example app
diff --git a/docs/core/diagnostics/microsoft-diagnostics-netcore-client.md b/docs/core/diagnostics/microsoft-diagnostics-netcore-client.md
index f8c3f962bbd71..77a85aada47b4 100644
--- a/docs/core/diagnostics/microsoft-diagnostics-netcore-client.md
+++ b/docs/core/diagnostics/microsoft-diagnostics-netcore-client.md
@@ -343,7 +343,7 @@ Represents the type of dump that can be requested.
* `Normal`: Include just the information necessary to capture stack traces for all existing traces for all existing threads in a process. Limited GC heap memory and information.
* `WithHeap`: Includes the GC heaps and information necessary to capture stack traces for all existing threads in a process.
-* `Triage`: Include just the information necessary to capture stack traces for all existing traces for all existing threads in a process. Limited GC heap memory and information.
+* `Triage`: Include just the information necessary to capture stack traces for all existing traces for all existing threads in a process. Limited GC heap memory and information. Some content that is known to contain potentially sensitive information such as full module paths will be redacted. While this is intended to mitigate some cases of sensitive data exposure, there is no guarantee this redaction feature on its own is sufficient to comply with any particular law or standard regarding data privacy.
* `Full`: Include all accessible memory in the process. The raw memory data is included at the end, so that the initial structures can be mapped directly without the raw memory information. This option can result in a very large dump file.
## Exceptions
diff --git a/docs/core/tools/dotnet-new-sdk-templates.md b/docs/core/tools/dotnet-new-sdk-templates.md
index 87960767461a8..5e25b67bb3a90 100644
--- a/docs/core/tools/dotnet-new-sdk-templates.md
+++ b/docs/core/tools/dotnet-new-sdk-templates.md
@@ -13,7 +13,7 @@ When you install the [.NET SDK](https://dotnet.microsoft.com/download), you rece
dotnet new list
```
-[!INCLUDE [](../../../includes/templates.md)]
+[!INCLUDE [templates](../../../includes/templates.md)]
## Template options
diff --git a/docs/core/tools/dotnet-new.md b/docs/core/tools/dotnet-new.md
index 24346db9fa63d..205dd8a4ab574 100644
--- a/docs/core/tools/dotnet-new.md
+++ b/docs/core/tools/dotnet-new.md
@@ -56,7 +56,7 @@ To activate tab completion for the .NET SDK, see [Enable tab completion](enable-
Starting with .NET SDK 5.0.300, the [`search` command](dotnet-new-search.md) should be used to search for templates in NuGet.org.
-[!INCLUDE [](../../../includes/templates.md)]
+[!INCLUDE [templates](../../../includes/templates.md)]
## Options
diff --git a/docs/core/whats-new/dotnet-9/libraries.md b/docs/core/whats-new/dotnet-9/libraries.md
index 74b430954da20..e98fb8215b5b4 100644
--- a/docs/core/whats-new/dotnet-9/libraries.md
+++ b/docs/core/whats-new/dotnet-9/libraries.md
@@ -474,7 +474,8 @@ The following example demonstrates `Regex.EnumerateSplits`, taking a `ReadOnlySp
- [Respect nullable annotations](#respect-nullable-annotations)
- [Require non-optional constructor parameters](#require-non-optional-constructor-parameters)
- [Order JsonObject properties](#order-jsonobject-properties)
-- [Additional contract metadata APIs](#additional-contract-metadata-apis)
+- [Customize enum member names](#customize-enum-member-names)
+- [Stream multiple JSON documents](#stream-multiple-json-documents)
### Indentation options
@@ -515,7 +516,8 @@ The generated schema is:
"PublishYear": {
"type": "integer"
}
- }
+ },
+ "required": ["Title"]
}
```
@@ -527,11 +529,14 @@ The following code shows how to set the option (the `Book` type definition is sh
:::code language="csharp" source="../snippets/dotnet-9/csharp/Serialization.cs" id="RespectNullable":::
-You can also enable this setting globally using the `System.Text.Json.JsonSerializerOptions.RespectNullableAnnotations` feature switch in your project file (for example, _.csproj_ file):
+> [!NOTE]
+> Due to how nullability annotations are represented in IL, the feature is restricted to annotations of non-generic properties.
+
+You can also enable this setting globally using the `System.Text.Json.Serialization.RespectNullableAnnotationsDefault` feature switch in your project file (for example, _.csproj_ file):
```xml
-
+
```
@@ -549,11 +554,11 @@ The `MyPoco` type is defined as follows:
:::code language="csharp" source="../snippets/dotnet-9/csharp/Serialization.cs" id="Poco":::
-You can also enable this setting globally using the `System.Text.Json.JsonSerializerOptions.RespectRequiredConstructorParameters` feature switch in your project file (for example, _.csproj_ file):
+You can also enable this setting globally using the `System.Text.Json.Serialization.RespectRequiredConstructorParametersDefault` feature switch in your project file (for example, _.csproj_ file):
```xml
-
+
```
@@ -565,40 +570,66 @@ The type now exposes ordered dictionary–like
:::code language="csharp" source="../snippets/dotnet-9/csharp/Serialization.cs" id="PropertyOrder":::
-### Additional contract metadata APIs
+### Customize enum member names
-The JSON contract API now exposes additional metadata including constructor metadata information and improved attribute provider support for the case of the source generator.
-
-The new APIs have the following shape:
+The new attribute can be used to customize the names of individual enum members for types that are serialized as strings:
```csharp
-namespace System.Text.Json.Serialization.Metadata;
+JsonSerializer.Serialize(MyEnum.Value1 | MyEnum.Value2); // "Value1, Custom enum value"
-public partial class JsonTypeInfo
+[Flags, JsonConverter(typeof(JsonStringEnumConverter))]
+enum MyEnum
{
- // Typically the ConstructorInfo of the active deserialization constructor.
- public ICustomAttributeProvider? ConstructorAttributeProvider { get; }
+ Value1 = 1,
+ [JsonStringEnumMemberName("Custom enum value")]
+ Value2 = 2,
}
+```
-public partial class JsonPropertyInfo
-{
- public Type DeclaringType { get; }
- // Typically the FieldInfo or PropertyInfo of the property.
- public ICustomAttributeProvider? AttributeProvider { get; set; }
- // The constructor parameter that has been associated with the current property.
- public JsonParameterInfo? AssociatedParameter { get; }
-}
+### Stream multiple JSON documents
+
+ now supports reading multiple, whitespace-separated JSON documents from a single buffer or stream. By default, the reader throws an exception if it detects any non-whitespace characters that are trailing the first top-level document. You can change this behavior using the flag:
+
+```csharp
+JsonReaderOptions options = new() { AllowMultipleValues = true };
+Utf8JsonReader reader = new("null {} 1 \r\n [1,2,3]"u8, options);
+
+reader.Read();
+Console.WriteLine(reader.TokenType); // Null
+
+reader.Read();
+Console.WriteLine(reader.TokenType); // StartObject
+reader.Skip();
+
+reader.Read();
+Console.WriteLine(reader.TokenType); // Number
+
+reader.Read();
+Console.WriteLine(reader.TokenType); // StartArray
+reader.Skip();
+
+Console.WriteLine(reader.Read()); // False
+```
+
+This flag also makes it possible to read JSON from payloads that might contain trailing data that's invalid JSON:
+
+```csharp
+Utf8JsonReader reader = new("[1,2,3] "u8, new() { AllowMultipleValues = true });
+
+reader.Read();
+reader.Skip(); // Success
+reader.Read(); // throws JsonReaderException
+```
+
+When it comes to streaming deserialization, a new overload makes streaming multiple top-level values possible. By default, the method attempts to stream elements that are contained in a top-level JSON array. You can toggle this behavior using the new `topLevelValues` flag:
+
+```csharp
+ReadOnlySpan utf8Json = """[0] [0,1] [0,1,1] [0,1,1,2] [0,1,1,2,3]"""u8;
+using var stream = new MemoryStream(utf8Json.ToArray());
-public sealed class JsonParameterInfo
+await foreach (int[] item in JsonSerializer.DeserializeAsyncEnumerable(stream, topLevelValues: true))
{
- public Type DeclaringType { get; }
- public int Position { get; }
- public Type ParameterType { get; }
- public bool HasDefaultValue { get; }
- public object? DefaultValue { get; }
- public bool IsNullable { get; }
- // Typically the ParameterInfo of the parameter.
- public ICustomAttributeProvider? AttributeProvider { get; }
+ Console.WriteLine(item.Length);
}
```
diff --git a/docs/core/whats-new/dotnet-9/overview.md b/docs/core/whats-new/dotnet-9/overview.md
index ec722083d484a..a739dc276e1b7 100644
--- a/docs/core/whats-new/dotnet-9/overview.md
+++ b/docs/core/whats-new/dotnet-9/overview.md
@@ -26,7 +26,7 @@ For more information, see [What's new in the .NET 9 runtime](runtime.md).
## .NET libraries
- has new options that let you customize the indentation character and size of written JSON. It also includes a new singleton that makes it easier to serialize using web defaults.
+ adds support for nullable reference type annotations and exporting JSON schemas from types. It adds new options that let you customize the indentation of written JSON and read multiple root-level JSON values from a single stream.
In LINQ, the new methods and make it possible to aggregate state by key without needing to allocate intermediate groupings via .
diff --git a/docs/csharp/whats-new/csharp-13.md b/docs/csharp/whats-new/csharp-13.md
index 252a3c3b6ae48..b642a61f09857 100644
--- a/docs/csharp/whats-new/csharp-13.md
+++ b/docs/csharp/whats-new/csharp-13.md
@@ -1,7 +1,7 @@
---
title: What's new in C# 13
description: Get an overview of the new features in C# 13. Follow the release of new preview features as .NET 9 and C# 13 previews are released.
-ms.date: 08/20/2024
+ms.date: 09/30/2024
ms.topic: whats-new
---
# What's new in C# 13
@@ -35,12 +35,28 @@ The `params` modifier isn't limited to array types. You can now use `params` wit
When an interface type is used, the compiler synthesizes the storage for the arguments supplied. You can learn more in the feature specification for [`params` collections](~/_csharplang/proposals/csharp-13.0/params-collections.md).
+For example, method declarations can declare spans as `params` parameters:
+
+```csharp
+public void Concat(params ReadOnlySpan items)
+{
+ for (int i = 0; i < items.Length; i++)
+ {
+ Console.Write(items[i]);
+ Console.Write(" ");
+ }
+ Console.WriteLine();
+}
+```
+
## New lock object
The .NET 9 runtime includes a new type for thread synchronization, the type. This type provides better thread synchronization through its API. The method enters an exclusive scope. The `ref struct` returned from that supports the `Dispose()` pattern to exit the exclusive scope.
The C# [`lock`](../language-reference/statements/lock.md) statement recognizes if the target of the lock is a `Lock` object. If so, it uses the updated API, rather than the traditional API using . The compiler also recognizes if you convert a `Lock` object to another type and the `Monitor` based code would be generated. You can read more in the feature specification for the [new lock object](~/_csharplang/proposals/csharp-13.0/lock-object.md).
+This feature allows you to get the benefits of the new library type by changing the type of object you `lock`. No other code needs to change.
+
## New escape sequence
You can use `\e` as a [character literal](~/_csharpstandard/standard/lexical-structure.md#6455-character-literals) escape sequence for the `ESCAPE` character, Unicode `U+001B`. Previously, you used `\u001b` or `\x1b`. Using `\x1b` wasn't recommended because if the next characters following `1b` were valid hexadecimal digits, those characters became part of the escape sequence.
@@ -80,6 +96,8 @@ The preceding example creates an array that counts down from 9 to 0. In versions
## `ref` and `unsafe` in iterators and `async` methods
+This feature and the following two features enable `ref struct` types to use new constructs. You won't use these unless you write your own `ref struct` types. More likely, you'll see an indirect benefit as and gain more functionality.
+
Before C# 13, iterator methods (methods that use `yield return`) and `async` methods couldn't declare local `ref` variables, nor could they have an `unsafe` context.
In C# 13, `async` methods can declare `ref` local variables, or local variables of a `ref struct` type. However, those variables can't be accessed across an `await` boundary. Neither can they be accessed across a `yield return` boundary.
@@ -88,19 +106,55 @@ This relaxed restriction enables the compiler to allow verifiably safe use of `r
In the same fashion, C# 13 allows `unsafe` contexts in iterator methods. However, all `yield return` and `yield break` statements must be in safe contexts.
-## `ref struct` interfaces
-
-Before C# 13, `ref struct` types weren't allowed to implement interfaces. Beginning with C# 13, they can. To ensure ref safety rules, a `ref struct` type can't be converted to an interface type. That is a boxing conversion, and could violate ref safety. Learn more in the updates on [`ref struct` types](../language-reference/builtin-types/ref-struct.md#restrictions-for-ref-struct-types-that-implement-an-interface).
-
## `allows ref struct`
Before C# 13, `ref struct` types couldn't be declared as the type argument for a generic type or method. Now, generic type declarations can add an anti-constraint, `allows ref struct`. This anti-constraint declares that the type argument supplied for that type parameter can be a `ref struct` type. The compiler enforces ref safety rules on all instances of that type parameter.
+For example, you may declare an interface like the following code:
+
+```csharp
+public class C where T : allows ref struct
+{
+ // Use T as a ref struct:
+ public void M(scoped T p)
+ {
+ // The parameter p must follow ref safety rules
+ }
+}
+```
+
This enables types such as and to be used with generic algorithms, where applicable. You can learn more in the updates for [`where`](../language-reference/keywords/where-generic-type-constraint.md) and the programming guide article on [generic constraints](../programming-guide/generics/constraints-on-type-parameters.md).
+## `ref struct` interfaces
+
+Before C# 13, `ref struct` types weren't allowed to implement interfaces. Beginning with C# 13, they can. You can declare that a `ref struct` type implements interfaces. However, to ensure ref safety rules, a `ref struct` type can't be converted to an interface type. That is a boxing conversion, and could violate ref safety. From that rule, `ref struct` types can't declare methods that explicitly implement an interface method. Also, `ref struct` types must implement all methods declared in an interface, including those with a default implementation.
+
+Learn more in the updates on [`ref struct` types](../language-reference/builtin-types/ref-struct.md#restrictions-for-ref-struct-types-that-implement-an-interface).
+
## More partial members
-You can declare `partial` properties and `partial` indexers in C# 13. Partial properties and indexers generally follow the same rules as `partial` methods: you create one *declaring declaration* and one *implementing declaration*. The signatures of the two declarations must match. One restriction is that you can't use an auto-property declaration for a partial property. Properties that don't declare a body are considered the *declaring declaration*. You can learn more in the article on [partial members](../language-reference/keywords/partial-member.md).
+You can declare `partial` properties and `partial` indexers in C# 13. Partial properties and indexers generally follow the same rules as `partial` methods: you create one *declaring declaration* and one *implementing declaration*. The signatures of the two declarations must match. One restriction is that you can't use an auto-property declaration for a partial property. Properties that don't declare a body are considered the *declaring declaration*.
+
+```csharp
+public partial class C
+{
+ // Declaring declaration
+ public partial string Name { get; set; }
+}
+
+public partial class C
+{
+ // implementation declaration:
+ private string _name;
+ public partial string Name
+ {
+ get => _name;
+ set => _name = value;
+ }
+}
+```
+
+You can learn more in the article on [partial members](../language-reference/keywords/partial-member.md).
## Overload resolution priority
diff --git a/docs/whats-new/dotnet-docs-mod0.md b/docs/whats-new/dotnet-docs-mod0.md
index 298ed87681a3f..aeec552ae1cc6 100644
--- a/docs/whats-new/dotnet-docs-mod0.md
+++ b/docs/whats-new/dotnet-docs-mod0.md
@@ -1,76 +1,88 @@
---
-title: ".NET docs: What's new for June 2024"
-description: "What's new in the .NET docs for June 2024."
-ms.custom: June-2024
-ms.date: 07/01/2024
+title: ".NET docs: What's new for September 2024"
+description: "What's new in the .NET docs for September 2024."
+ms.custom: September-2024
+ms.date: 10/01/2024
---
-# .NET docs: What's new for June 2024
+# .NET docs: What's new for September 2024
-Welcome to what's new in the .NET docs for June 2024. This article lists some of the major changes to docs during this period.
+Welcome to what's new in the .NET docs for September 2024. This article lists some of the major changes to docs during this period.
## .NET breaking changes
### New articles
-- [Adding a ZipArchiveEntry with CompressionLevel sets ZIP central directory header general-purpose bit flags](../core/compatibility/core-libraries/9.0/compressionlevel-bits.md)
-- [DateTimePicker.Text is empty string](../core/compatibility/windows-forms/8.0/datetimepicker-text.md)
+- [Floating point-to-integer conversions are saturating](../core/compatibility/jit/9.0/fp-to-integer.md)
+- [FromKeyedServicesAttribute no longer injects non-keyed parameter](../core/compatibility/core-libraries/9.0/non-keyed-params.md)
+- [HttpClientFactory logging redacts header values by default](../core/compatibility/networking/9.0/redact-headers.md)
+- [IMsoComponent support is opt-in](../core/compatibility/windows-forms/9.0/imsocomponent-support.md)
+- [IncrementingPollingCounter initial callback is asynchronous](../core/compatibility/core-libraries/9.0/async-callback.md)
+- [ZipArchiveEntry names and comments respect UTF8 flag](../core/compatibility/core-libraries/9.0/ziparchiveentry-encoding.md)
## .NET fundamentals
### New articles
-- [dotnet nuget config get](../core/tools/dotnet-nuget-config-get.md)
-- [dotnet nuget config paths](../core/tools/dotnet-nuget-config-paths.md)
-- [dotnet nuget config set](../core/tools/dotnet-nuget-config-set.md)
-- [dotnet nuget config unset](../core/tools/dotnet-nuget-config-unset.md)
-- [dotnet nuget why](../core/tools/dotnet-nuget-why.md)
-- [Fakes extension](../core/testing/unit-testing-platform-extensions-fakes.md)
-- [MSTEST0029: Public method should be test method](../core/testing/mstest-analyzers/mstest0029.md)
+- [Common `IHttpClientFactory` usage issues](../core/extensions/httpclient-factory-troubleshooting.md)
+- [HttpWebRequest to HttpClient Migration Guide](../fundamentals/networking/http/httpclient-migrate-from-httpwebrequest.md)
+- [Intrinsic APIs marked RequiresDynamicCode](../core/deploying/native-aot/intrinsic-requiresdynamiccode-apis.md)
+- [Security features](../core/deploying/native-aot/security.md)
### Updated articles
-- [Code quality rule configuration options](../fundamentals/code-analysis/code-quality-rule-options.md) - Add missed documentation for CA's options.
-- [Install .NET on Windows](../core/install/windows.md) - Initial rewrite of windows install
-- [The regular expression object model](../standard/base-types/the-regular-expression-object-model.md) - Update regex docs with more info about source gen
-- [What's new in .NET libraries for .NET 9](../core/whats-new/dotnet-9/libraries.md) - Update what's new for .NET 9 Preview 5
+- [How to customize property names and values with System.Text.Json](../standard/serialization/system-text-json/customize-properties.md) - Add Copilot use case
+- [How to write .NET objects as JSON (serialize)](../standard/serialization/system-text-json/how-to.md) - Add GitHub Copilot use case to serialize JSON
+- [MSBuild reference for .NET SDK projects](../core/project-sdk/msbuild-props.md) - Add MSBuild test-related properties
+- [What's new in .NET libraries for .NET 9](../core/whats-new/dotnet-9/libraries.md) - What's new for .NET 9 RC 1
-## Architecture guides
+## C# language
-### Updated articles
+### New articles
-- [Authentication and authorization](../architecture/maui/authentication-and-authorization.md) - Updated IdentityServer references and authentication flow
+- [Resolve errors and warnings that affect overload resolution.](../csharp/language-reference/compiler-messages/overload-resolution.md)
-## AI in .NET
+## Azure SDK for .NET
### New articles
-- [Chat with a local AI model using .NET and Semantic Kernel](../ai/quickstarts/quickstart-local-ai.md)
-- [Semantic Kernel overview for .NET](../ai/semantic-kernel-dotnet-overview.md)
+- [Frequently asked questions](../azure/migration/appcat/faq.md)
+
+## .NET Framework
+
+### Updated articles
+
+- [Migrating WSE 3.0 Web Services to WCF](../framework/wcf/feature-details/migrating-wse-3-0-web-services-to-wcf.md) - SFI: ROPC - another chunk
## Community contributors
The following people contributed to the .NET docs during this period. Thank you! Learn how to contribute by following the links under "Get involved" in the [what's new landing page](index.yml).
-- [sammychinedu2ky](https://github.com/sammychinedu2ky) - Samson Amaugo 
-- [Kissaki](https://github.com/Kissaki) - Jan Klass 
- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski 
-- [Alexanderbtw](https://github.com/Alexanderbtw) - Alexander 
-- [ali50m](https://github.com/ali50m) - 
-- [azarboon](https://github.com/azarboon) - Mahdi Azarboon 
-- [bigboybamo](https://github.com/bigboybamo) - Olabamiji Oyetubo 
-- [FrediKats](https://github.com/FrediKats) - Fredi Kats 
-- [joprice](https://github.com/joprice) - Joseph Price 
-- [kimsey0](https://github.com/kimsey0) - Jacob Bundgaard 
-- [longbuibao](https://github.com/longbuibao) - bui bao long 
-- [m3nax](https://github.com/m3nax) - Manuel Menegazzo 
-- [matt-gribben](https://github.com/matt-gribben) - Matthew Gribben 
-- [michaelstonis](https://github.com/michaelstonis) - Michael Stonis 
-- [mrpowe07](https://github.com/mrpowe07) - Matt Powers 
-- [paramamue](https://github.com/paramamue) - Martin Müller 
-- [RadicalErin](https://github.com/RadicalErin) - Erin Scanlon 
-- [rbleattler](https://github.com/rbleattler) - Robert Bleattler 
-- [TBence98](https://github.com/TBence98) - Tullner Bence 
-- [ThorstenReichert](https://github.com/ThorstenReichert) - Thorsten Reichert 
-- [valchetski](https://github.com/valchetski) - Aliaksandr Valchetski 
-- [vernou](https://github.com/vernou) - VERNOU Cédric 
+- [hakenr](https://github.com/hakenr) - Robert Haken 
+- [mpostol](https://github.com/mpostol) - Mariusz Postol 
+- [Roshni-Gandhi](https://github.com/Roshni-Gandhi) - 
+- [AptiviCEO](https://github.com/AptiviCEO) - Aptivi CEO 
+- [bb-froggy](https://github.com/bb-froggy) - Christoph Hannebauer 
+- [bravequickcleverfibreyarn](https://github.com/bravequickcleverfibreyarn) - boldswiftsmartfiberhank 
+- [ChinoUkaegbu](https://github.com/ChinoUkaegbu) - 
+- [colejohnson66](https://github.com/colejohnson66) - Cole Tobin 
+- [da1910](https://github.com/da1910) - Doug Addy 
+- [geniuszxy](https://github.com/geniuszxy) - Shingo 
+- [Haidar0096](https://github.com/Haidar0096) - Haidar Mehsen 
+- [HEJOK254](https://github.com/HEJOK254) - Jakub Dębski 
+- [jairbubbles](https://github.com/jairbubbles) - Julien Richard 
+- [koenigst](https://github.com/koenigst) - 
+- [Legend4it](https://github.com/Legend4it) - Ali Abdulhussein 
+- [luizfls](https://github.com/luizfls) - Luiz Felipe Silva 
+- [melbasiouny](https://github.com/melbasiouny) - Mostafa 
+- [normandev92](https://github.com/normandev92) - 
+- [ousiax](https://github.com/ousiax) - Jon X 
+- [sammychinedu2ky](https://github.com/sammychinedu2ky) - Samson Amaugo 
+- [samwherever](https://github.com/samwherever) - Sam Allen 
+- [Smaug123](https://github.com/Smaug123) - Patrick Stevens 
+- [stashut](https://github.com/stashut) - Stanislav Hut 
+- [timdeschryver](https://github.com/timdeschryver) - Tim Deschryver 
+- [udidahan](https://github.com/udidahan) - Udi Dahan 
+- [xlxdxy](https://github.com/xlxdxy) - 
+- [xparadoxical](https://github.com/xparadoxical) - 
diff --git a/docs/whats-new/index.yml b/docs/whats-new/index.yml
index 870fb232134b0..949e2e8a2fab3 100644
--- a/docs/whats-new/index.yml
+++ b/docs/whats-new/index.yml
@@ -5,7 +5,7 @@ summary: Welcome to what's new in .NET and .NET docs. Use this page to navigate
metadata:
title: .NET what's new?
description: Learn about new .NET features and new and updated content in .NET docs.
- ms.date: 09/01/2024
+ ms.date: 10/01/2024
ms.topic: landing-page
landingContent:
- title: .NET 9 release updates
@@ -40,12 +40,12 @@ landingContent:
linkLists:
- linkListType: whats-new
links:
+ - text: September 2024
+ url: dotnet-docs-mod0.md
- text: August 2024
url: dotnet-docs-mod2.md
- text: July 2024
url: dotnet-docs-mod1.md
- - text: June 2024
- url: dotnet-docs-mod0.md
- title: Language updates
linkLists:
- linkListType: whats-new
diff --git a/docs/whats-new/toc.yml b/docs/whats-new/toc.yml
index 9d9dbf5bff8b7..905d3f67c81be 100644
--- a/docs/whats-new/toc.yml
+++ b/docs/whats-new/toc.yml
@@ -6,12 +6,12 @@ items:
- name: Latest documentation updates
expanded: true
items:
+ - name: September 2024
+ href: dotnet-docs-mod0.md
- name: August 2024
href: dotnet-docs-mod2.md
- name: July 2024
href: dotnet-docs-mod1.md
- - name: June 2024
- href: dotnet-docs-mod0.md
- name: Product updates
items:
- name: .NET 9
diff --git a/includes/core-changes/windowsforms/3.1/remove-controls-3.1.md b/includes/core-changes/windowsforms/3.1/remove-controls-3.1.md
index 205e11308710e..31cfc85322dc8 100644
--- a/includes/core-changes/windowsforms/3.1/remove-controls-3.1.md
+++ b/includes/core-changes/windowsforms/3.1/remove-controls-3.1.md
@@ -15,6 +15,7 @@ The following types are no longer available:
-
-
-
+-
-
-
-
diff --git a/quest-config.json b/quest-config.json
index e493fc31108eb..25dd9b97f3181 100644
--- a/quest-config.json
+++ b/quest-config.json
@@ -32,9 +32,14 @@
"Label": "doc-bug",
"ParentNodeId": 286039
},
+ {
+ "Semester": "Dilithium",
+ "Label": "dotnet-csharp/svc",
+ "ParentNodeId": 308201
+ },
{
"Semester": "Selenium",
- "ParentNodeId": 286016
+ "ParentNodeId": 308199
},
{
"Semester": "Dilithium",
@@ -86,7 +91,7 @@
"ParentNodeId": 227485
}
],
- "DefaultParentNode": 286016,
+ "DefaultParentNode": 308199,
"WorkItemTags": [
{
"Label": ":checkered_flag: Release: .NET 9",