diff --git a/.openpublishing.redirection.core.json b/.openpublishing.redirection.core.json
index 0d7c6c2bb6c3a..7297db8b7c105 100644
--- a/.openpublishing.redirection.core.json
+++ b/.openpublishing.redirection.core.json
@@ -179,6 +179,10 @@
"source_path_from_root": "/docs/core/compatibility/networking.md",
"redirect_url": "/dotnet/core/compatibility/3.0"
},
+ {
+ "source_path_from_root": "/docs/core/compatibility/networking/10.0/ssl-certificate-revocation-check-default.md",
+ "redirect_url": "/dotnet/core/compatibility/10.0"
+ },
{
"source_path_from_root": "/docs/core/compatibility/networking/7.0/connectasync-argumentexception.md",
"redirect_url": "/dotnet/core/compatibility/7.0"
diff --git a/docfx.json b/docfx.json
index e727064b3baaf..c38e0b0b8ba43 100644
--- a/docfx.json
+++ b/docfx.json
@@ -78,6 +78,7 @@
"csharp-8.0/null-coalescing-assignment.md",
"csharp-8.0/async-streams.md",
"csharp-8.0/ranges.md",
+ "csharp-8.0/using.md",
"csharp-9.0/nullable-reference-types-specification.md",
"csharp-9.0/nullable-constructor-analysis.md",
"csharp-9.0/nullable-parameter-default-value-analysis.md",
@@ -520,7 +521,7 @@
"includes/**/**.md": "dapine"
},
"ms.date": {
- "_csharpstandard/standard/*.md": "02/07/2024",
+ "_csharpstandard/standard/*.md": "09/12/2025",
"_csharplang/proposals/csharp-8.0/*.md": "09/10/2019",
"_csharplang/proposals/csharp-9.0/*.md": "07/29/2020",
"_csharplang/proposals/csharp-10.0/*.md": "08/07/2021",
@@ -637,7 +638,6 @@
"_csharpstandard/standard/Bibliography.md": "Bibliography",
"_csharplang/proposals/csharp-8.0/patterns.md": "Recursive pattern matching",
"_csharplang/proposals/csharp-8.0/default-interface-methods.md": "Default interface methods",
- "_csharplang/proposals/csharp-8.0/using.md": "Pattern based using and using declarations",
"_csharplang/proposals/csharp-9.0/covariant-returns.md": "Covariant return types",
"_csharplang/proposals/csharp-9.0/extending-partial-methods.md": "Extending partial methods",
"_csharplang/proposals/csharp-9.0/extension-getenumerator.md": "Extension GetEnumerator support in foreach",
@@ -765,7 +765,6 @@
"_csharpstandard/standard/Bibliography.md": "This appendix lists external standards referenced in this specification.",
"_csharplang/proposals/csharp-8.0/patterns.md": "This feature specification describes recursive pattern matching, where patterns can nest inside other patterns.",
"_csharplang/proposals/csharp-8.0/default-interface-methods.md": "This feature specification describe the syntax updates necessary to support default interface methods. This includes declaring bodies in interface declarations, and supporting modifiers on declarations.",
- "_csharplang/proposals/csharp-8.0/using.md": "This feature specification supports pattern based using and using declarations to simplify resource cleanup.",
"_csharplang/proposals/csharp-9.0/covariant-returns.md": "This feature specification describes covariant return types, where overriding member declarations can return a type derived from the overridden member declaration.",
"_csharplang/proposals/csharp-9.0/extending-partial-methods.md": "This feature specification describes extensions to partial methods. These extensions enable source generators to create or call partial methods.",
"_csharplang/proposals/csharp-9.0/extension-getenumerator.md": "This feature specification describes the necessary pattern for an extension method to provide the GetEnumerator support in a foreach loop.",
diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index 155dcdbea9cbb..9a0d25188ffe6 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -104,7 +104,7 @@
| Storage - Files Share | NuGet [12.23.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.23.0)
NuGet [12.24.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.24.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.23.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.23.0/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.24.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.24.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) |
| Storage - Queues | NuGet [12.23.0](https://www.nuget.org/packages/Azure.Storage.Queues/12.23.0)
NuGet [12.24.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.24.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.23.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.23.0/sdk/storage/Azure.Storage.Queues/)
GitHub [12.24.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.24.0-beta.1/sdk/storage/Azure.Storage.Queues/) |
| Synapse - AccessControl | NuGet [1.0.0-preview.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.AccessControl/1.0.0-preview.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.AccessControl-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.AccessControl_1.0.0-preview.5/sdk/synapse/Azure.Analytics.Synapse.AccessControl/) |
-| Synapse - Artifacts | NuGet [1.0.0-preview.21](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.21) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.21](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.21/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) |
+| Synapse - Artifacts | NuGet [1.0.0-preview.22](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.22) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.22](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.22/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) |
| Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) |
| Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) |
| Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) |
@@ -159,7 +159,7 @@
| Provisioning - Kubernetes | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kubernetes_1.0.0-beta.3/sdk/provisioning/Azure.Provisioning.Kubernetes/) |
| Provisioning - Kubernetes Configuration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.KubernetesConfiguration/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.KubernetesConfiguration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KubernetesConfiguration_1.0.0-beta.3/sdk/provisioning/Azure.Provisioning.KubernetesConfiguration/) |
| Provisioning - Kusto | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Kusto/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Kusto-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kusto_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.Kusto/) |
-| Provisioning - Network | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Network/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Network_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.Network/) |
+| Provisioning - Network | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Network/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Network-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Network_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.Network/) |
| Provisioning - Operational Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.OperationalInsights/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.OperationalInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.OperationalInsights_1.1.0/sdk/provisioning/Azure.Provisioning.OperationalInsights/) |
| Provisioning - PostgreSQL | NuGet [1.1.1](https://www.nuget.org/packages/Azure.Provisioning.PostgreSql/1.1.1) | [docs](/dotnet/api/overview/azure/Provisioning.PostgreSql-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.PostgreSql_1.1.1/sdk/provisioning/Azure.Provisioning.PostgreSql/) |
| Provisioning - Redis | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Redis/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.Redis-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Redis_1.1.0/sdk/provisioning/Azure.Provisioning.Redis/) |
@@ -203,7 +203,7 @@
| Resource Management - Communication | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.1/sdk/communication/Azure.ResourceManager.Communication/) |
| Resource Management - Compute | NuGet [1.11.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.11.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.11.0/sdk/compute/Azure.ResourceManager.Compute/) |
| Resource Management - Compute Fleet | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.0.0/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) |
-| Resource Management - Compute Schedule | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeSchedule-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.1.0/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/) |
+| Resource Management - Compute Schedule | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeSchedule-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.1.0/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.2.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.6](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.1.0-beta.6) | [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.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.1.0-beta.6/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/) |
| Resource Management - Confluent | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.2.1/sdk/confluent/Azure.ResourceManager.Confluent/) |
| Resource Management - Connected VMware vSphere | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.1/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) |
@@ -413,17 +413,29 @@
| Speech Extension Telemetry | NuGet [1.46.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Telemetry/1.46.0) | | |
| 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 [0.12.0](https://www.nuget.org/packages/Azure.Iot.Operations.Connector/0.12.0) | | |
+| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp/0.6.0) | | |
+| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/0.6.0) | | |
+| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/0.6.0) | | |
+| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/0.6.0) | | |
+| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/0.6.0) | | |
+| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/0.6.0) | | |
+| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/0.6.0) | | |
| Unknown Display Name | NuGet [0.1.2-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Aot/0.1.2-preview.2) | | |
| Unknown Display Name | NuGet [1.1.2-preview](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.1.2-preview) | | |
| Unknown Display Name | NuGet [1.46.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.MAS/1.46.0) | | |
| Unknown Display Name | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Postgres/1.0.0) | | |
-| Unknown Display Name | NuGet [0.0.9](https://www.nuget.org/packages/Microsoft.Template.Mcp.Server/0.0.9) | | |
+| Unknown Display Name | NuGet [0.0.11](https://www.nuget.org/packages/Microsoft.Template.Mcp.linux-arm64/0.0.11) | | |
+| Unknown Display Name | NuGet [0.0.11](https://www.nuget.org/packages/Microsoft.Template.Mcp.linux-x64/0.0.11) | | |
+| Unknown Display Name | NuGet [0.0.11](https://www.nuget.org/packages/Microsoft.Template.Mcp.osx-arm64/0.0.11) | | |
+| Unknown Display Name | NuGet [0.0.11](https://www.nuget.org/packages/Microsoft.Template.Mcp.osx-x64/0.0.11) | | |
| Unknown Display Name | NuGet [0.0.9](https://www.nuget.org/packages/Microsoft.Template.Mcp.Server.linux-arm64/0.0.9) | | |
| Unknown Display Name | NuGet [0.0.9](https://www.nuget.org/packages/Microsoft.Template.Mcp.Server.linux-x64/0.0.9) | | |
| Unknown Display Name | NuGet [0.0.9](https://www.nuget.org/packages/Microsoft.Template.Mcp.Server.osx-arm64/0.0.9) | | |
| Unknown Display Name | NuGet [0.0.9](https://www.nuget.org/packages/Microsoft.Template.Mcp.Server.osx-x64/0.0.9) | | |
| Unknown Display Name | NuGet [0.0.9](https://www.nuget.org/packages/Microsoft.Template.Mcp.Server.win-arm64/0.0.9) | | |
| Unknown Display Name | NuGet [0.0.9](https://www.nuget.org/packages/Microsoft.Template.Mcp.Server.win-x64/0.0.9) | | |
+| Unknown Display Name | NuGet [0.0.11](https://www.nuget.org/packages/Microsoft.Template.Mcp.win-arm64/0.0.11) | | |
+| Unknown Display Name | NuGet [0.0.11](https://www.nuget.org/packages/Microsoft.Template.Mcp.win-x64/0.0.11) | | |
| WebJobs Extension MySQL | NuGet [1.0.129](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.MySql/1.0.129) | | |
| Anomaly Detector | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.AnomalyDetector/1.0.0) | | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.AnomalyDetector_1.0.0-preview.1/sdk/cognitiveservices/AnomalyDetector) |
| App Service | NuGet [0.2.2-alpha](https://www.nuget.org/packages/Microsoft.Azure.AppService/0.2.2-alpha) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index fa0288fd7214a..d156a3ab9958f 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -71,7 +71,7 @@
| Maps Search | NuGet [2.0.0-beta.5](https://www.nuget.org/packages/Azure.Maps.Search/2.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Maps.Search-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Maps.Search_2.0.0-beta.5/sdk/maps/Azure.Maps.Search/) |
| Media Analytics Edge | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Media.Analytics.Edge/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Media.Analytics.Edge-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Media.Analytics.Edge_1.0.0-beta.1/sdk/mediaservices/Azure.Media.Analytics.Edge) |
| Metrics Advisor | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.MetricsAdvisor/1.1.0) | [docs](/dotnet/api/overview/azure/AI.MetricsAdvisor-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.MetricsAdvisor_1.1.0/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/) |
-| Microsoft Playwright Testing | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Developer.MicrosoftPlaywrightTesting.TestLogger/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Developer.MicrosoftPlaywrightTesting.TestLogger-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.MicrosoftPlaywrightTesting.TestLogger_1.0.0-beta.4/sdk/playwrighttesting/Azure.Developer.MicrosoftPlaywrightTesting.TestLogger/) |
+| Microsoft Playwright Testing | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Developer.MicrosoftPlaywrightTesting.TestLogger/1.0.0-beta.4) | | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.MicrosoftPlaywrightTesting.TestLogger_1.0.0-beta.4/sdk/playwrighttesting/Azure.Developer.MicrosoftPlaywrightTesting.TestLogger/) |
| Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents/1.1.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents_1.1.0/sdk/entra/Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents/) |
| Microsoft.Azure.WebPubSub.AspNetCore | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebPubSub.AspNetCore/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebPubSub.AspNetCore-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebPubSub.AspNetCore_1.4.0/sdk/webpubsub/Microsoft.Azure.WebPubSub.AspNetCore/) |
| Microsoft.Azure.WebPubSub.Common | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebPubSub.Common/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebPubSub.Common-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebPubSub.Common_1.4.0/sdk/webpubsub/Microsoft.Azure.WebPubSub.Common/) |
@@ -79,7 +79,7 @@
| Models Repository | NuGet [1.0.0-preview.6](https://www.nuget.org/packages/Azure.IoT.ModelsRepository/1.0.0-preview.6) | [docs](/dotnet/api/overview/azure/IoT.ModelsRepository-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.ModelsRepository_1.0.0-preview.6/sdk/modelsrepository/Azure.IoT.ModelsRepository/) |
| Monitor Ingestion | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Monitor.Ingestion/1.2.0) | [docs](/dotnet/api/overview/azure/Monitor.Ingestion-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.Ingestion_1.2.0/sdk/monitor/Azure.Monitor.Ingestion/) |
| Monitor Query | NuGet [1.7.1](https://www.nuget.org/packages/Azure.Monitor.Query/1.7.1) | [docs](/dotnet/api/overview/azure/Monitor.Query-readme) | GitHub [1.7.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.Query_1.7.1/sdk/monitor/Azure.Monitor.Query/) |
-| NUnit ? Microsoft Playwright Testing | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Developer.MicrosoftPlaywrightTesting.NUnit/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Developer.MicrosoftPlaywrightTesting.NUnit-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.MicrosoftPlaywrightTesting.NUnit_1.0.0-beta.4/sdk/playwrighttesting/Azure.Developer.MicrosoftPlaywrightTesting.NUnit/) |
+| NUnit ? Microsoft Playwright Testing | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Developer.MicrosoftPlaywrightTesting.NUnit/1.0.0-beta.4) | | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.MicrosoftPlaywrightTesting.NUnit_1.0.0-beta.4/sdk/playwrighttesting/Azure.Developer.MicrosoftPlaywrightTesting.NUnit/) |
| 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.3.0-beta.2](https://www.nuget.org/packages/Azure.AI.OpenAI/2.3.0-beta.2) | [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.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_2.3.0-beta.2/sdk/openai/Azure.AI.OpenAI/) |
| OpenTelemetry AspNetCore | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.3.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.3.0/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) |
@@ -111,7 +111,7 @@
| Storage - Files Share | NuGet [12.23.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.23.0)
NuGet [12.24.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.24.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.23.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.23.0/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.24.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.24.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) |
| Storage - Queues | NuGet [12.23.0](https://www.nuget.org/packages/Azure.Storage.Queues/12.23.0)
NuGet [12.24.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.24.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.23.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.23.0/sdk/storage/Azure.Storage.Queues/)
GitHub [12.24.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.24.0-beta.1/sdk/storage/Azure.Storage.Queues/) |
| Synapse - AccessControl | NuGet [1.0.0-preview.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.AccessControl/1.0.0-preview.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.AccessControl-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.AccessControl_1.0.0-preview.5/sdk/synapse/Azure.Analytics.Synapse.AccessControl/) |
-| Synapse - Artifacts | NuGet [1.0.0-preview.21](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.21) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.21](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.21/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) |
+| Synapse - Artifacts | NuGet [1.0.0-preview.22](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.22) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.22](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.22/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) |
| Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) |
| Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) |
| Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) |
@@ -167,7 +167,7 @@
| Provisioning - Kubernetes | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kubernetes_1.0.0-beta.3/sdk/provisioning/Azure.Provisioning.Kubernetes/) |
| Provisioning - Kubernetes Configuration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.KubernetesConfiguration/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.KubernetesConfiguration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KubernetesConfiguration_1.0.0-beta.3/sdk/provisioning/Azure.Provisioning.KubernetesConfiguration/) |
| Provisioning - Kusto | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Kusto/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Kusto-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kusto_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.Kusto/) |
-| Provisioning - Network | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Network/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Network_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.Network/) |
+| Provisioning - Network | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Network/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Network-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Network_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.Network/) |
| Provisioning - Operational Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.OperationalInsights/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.OperationalInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.OperationalInsights_1.1.0/sdk/provisioning/Azure.Provisioning.OperationalInsights/) |
| Provisioning - PostgreSQL | NuGet [1.1.1](https://www.nuget.org/packages/Azure.Provisioning.PostgreSql/1.1.1) | [docs](/dotnet/api/overview/azure/Provisioning.PostgreSql-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.PostgreSql_1.1.1/sdk/provisioning/Azure.Provisioning.PostgreSql/) |
| Provisioning - Redis | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Redis/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.Redis-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Redis_1.1.0/sdk/provisioning/Azure.Provisioning.Redis/) |
@@ -213,7 +213,7 @@
| Resource Management - Communication | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.1/sdk/communication/Azure.ResourceManager.Communication/) |
| Resource Management - Compute | NuGet [1.11.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.11.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.11.0/sdk/compute/Azure.ResourceManager.Compute/) |
| Resource Management - Compute Fleet | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.0.0/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) |
-| Resource Management - Compute Schedule | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeSchedule-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.1.0/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/) |
+| Resource Management - Compute Schedule | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ComputeSchedule/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeSchedule-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.1.0/sdk/computeschedule/Azure.ResourceManager.ComputeSchedule/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeSchedule_1.2.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.6](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger/1.1.0-beta.6) | [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.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConfidentialLedger_1.1.0-beta.6/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger/) |
| Resource Management - Confluent | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.2.1/sdk/confluent/Azure.ResourceManager.Confluent/) |
| Resource Management - Connected VMware vSphere | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.1/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) |
diff --git a/docs/core/compatibility/10.0.md b/docs/core/compatibility/10.0.md
index 8cb077face469..7d0c66625293f 100644
--- a/docs/core/compatibility/10.0.md
+++ b/docs/core/compatibility/10.0.md
@@ -97,7 +97,6 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
| Title | Type of change | Introduced version |
|-------|-------------------|--------------------|
| [HTTP/3 support disabled by default with PublishTrimmed](networking/10.0/http3-disabled-with-publishtrimmed.md) | Source incompatible | Preview 6 |
-| [HttpClient/SslStream default certificate revocation check mode changed to Online](networking/10.0/ssl-certificate-revocation-check-default.md) | Behavioral change | Preview 6 |
| [Streaming HTTP responses enabled by default in browser HTTP clients](networking/10.0/default-http-streaming.md) | Behavioral change | Preview 3 |
| [`Uri` length limits removed](networking/10.0/uri-length-limits-removed.md) | Behavioral change | Preview 7 |
diff --git a/docs/core/compatibility/cryptography/10.0/mldsa-slhdsa-secretkey-to-privatekey.md b/docs/core/compatibility/cryptography/10.0/mldsa-slhdsa-secretkey-to-privatekey.md
index 308900af099c6..b784cf7a9f4cc 100644
--- a/docs/core/compatibility/cryptography/10.0/mldsa-slhdsa-secretkey-to-privatekey.md
+++ b/docs/core/compatibility/cryptography/10.0/mldsa-slhdsa-secretkey-to-privatekey.md
@@ -44,9 +44,9 @@ byte[] output = new byte[targetSize];
## Affected APIs
--
--
--
--
--
--
+- `System.Security.Cryptography.MLDsa.ImportMLDsaSecretKey()`
+- `System.Security.Cryptography.MLDsa.ExportMLDsaSecretKey()`
+- `System.Security.Cryptography.MLDsaAlgorithm.SecretKeySizeInBytes`
+- `System.Security.Cryptography.SlhDsa.ImportSlhDsaSecretKey()`
+- `System.Security.Cryptography.SlhDsa.ExportSlhDsaSecretKey()`
+- `System.Security.Cryptography.SlhDsaAlgorithm.SecretKeySizeInBytes`
diff --git a/docs/core/compatibility/networking/10.0/ssl-certificate-revocation-check-default.md b/docs/core/compatibility/networking/10.0/ssl-certificate-revocation-check-default.md
deleted file mode 100644
index fc2e5857e0a3e..0000000000000
--- a/docs/core/compatibility/networking/10.0/ssl-certificate-revocation-check-default.md
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: "Breaking change - HttpClient/SslStream default certificate revocation check mode changed to Online"
-description: "Learn about the breaking change in .NET 10 where the default certificate revocation check mode changed from 'NoCheck' to 'Online'."
-ms.date: 06/23/2025
-ai-usage: ai-assisted
-ms.custom: https://github.com/dotnet/docs/issues/46824
----
-
-# HttpClient/SslStream default certificate revocation check mode changed to `Online`
-
-The default values of and have changed from `NoCheck` to `Online`.
-
-The default values of and have changed from `false` to `true`.
-
-This change enhances security and makes the behavior consistent with .
-
-## Version introduced
-
-.NET 10 Preview 6
-
-## Previous behavior
-
-Previously, the default values of and were , and the default values of and were `false`, meaning revocation status of peer certificates wasn't checked by default.
-
-## New behavior
-
-Starting in .NET 10, the default values of and are , and the default values of and are `true`, meaning revocation status of peer certificates are checked online by default.
-
-## Type of breaking change
-
-This change is a [behavioral change](../../categories.md#behavioral-change).
-
-## Reason for change
-
-This change enhances security and ensures consistency between APIs related to X.509 certificate revocation checking.
-
-## Recommended action
-
-If certificate revocation checking is not desired and you are using directly, specify explicitly:
-
-```csharp
-var clientOptions = new SslClientAuthenticationOptions
-{
- TargetHost = "example.com",
- CertificateRevocationCheckMode = X509RevocationMode.NoCheck
-};
-
-var serverOptions = new SslServerAuthenticationOptions
-{
- ServerCertificate = serverCertificate,
- CertificateRevocationCheckMode = X509RevocationMode.NoCheck
-};
-```
-
-When using you need to configure the underlying handler during creation:
-
-```csharp
-var withHttpClientHandler = new HttpClient(new HttpClientHandler
-{
- CheckCertificateRevocationList = false
-});
-
-var withWinHttpHandler = new HttpClient(new WinHttpHandler
-{
- CheckCertificateRevocationList = false
-});
-
-var withSocketsHttpHandler = new HttpClient(new SocketsHttpHandler
-{
- SslOptions =
- {
- CertificateRevocationCheckMode = X509RevocationMode.NoCheck
- }
-});
-```
-
-> [!NOTE]
-> Due to a bug on the OSX platform, you might encounter certificate validation failures with in scenarios where the certificate doesn't support revocation checking via OCSP. This is a bug in the underlying platform crypto implementation. To avoid failing the certificate validation if revocation status can't be retrieved, either disable certificate revocation checking as per the previous instructions, or set to with set to `X509VerificationFlags.IgnoreEndRevocationUnknown | X509VerificationFlags.IgnoreCertificateAuthorityRevocationUnknown`.
-
-In situations where you can't modify the code, you can restore the previous behavior with one of the following settings:
-
-- Set `System.Net.Security.NoRevocationCheckByDefault` AppContext switch to `true`.
-- Set `DOTNET_SYSTEM_NET_SECURITY_NOREVOCATIONCHECKBYDEFAULT` environment variable to `true`.
-
-## Affected APIs
-
--
--
--
--
-- (when using either or )
-- (when using either or )
diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml
index 2484881f84725..33939a4065721 100644
--- a/docs/core/compatibility/toc.yml
+++ b/docs/core/compatibility/toc.yml
@@ -106,8 +106,6 @@ items:
items:
- name: HTTP/3 support disabled by default with PublishTrimmed
href: networking/10.0/http3-disabled-with-publishtrimmed.md
- - name: HttpClient/SslStream default certificate revocation check mode changed to Online
- href: networking/10.0/ssl-certificate-revocation-check-default.md
- name: Streaming HTTP responses enabled by default in browser HTTP clients
href: networking/10.0/default-http-streaming.md
- name: "'Uri' length limits removed"
diff --git a/docs/core/diagnostics/dotnet-counters.md b/docs/core/diagnostics/dotnet-counters.md
index 2f7b7e9c00f76..5442414fb5a7a 100644
--- a/docs/core/diagnostics/dotnet-counters.md
+++ b/docs/core/diagnostics/dotnet-counters.md
@@ -48,7 +48,7 @@ dotnet-counters [-h|--help] [--version]
- **`--version`**
- Displays the version of the dotnet-counters utility.
+ Displays the version of the `dotnet-counters` utility.
- **`-h|--help`**
@@ -90,15 +90,15 @@ dotnet-counters collect [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
- **`--diagnostic-port `**
- Sets the [diagnostic port](diagnostic-port.md) used to communicate with the process to be monitored. dotnet-counters and the .NET runtime inside the target process must agree on the port-address, with one listening and the other connecting. dotnet-counters automatically determines the correct port when attaching using the `--process-id` or `--name` options, or when launching a process using the `-- ` option. It's usually only necessary to specify the port explicitly when waiting for a process that will start in the future or communicating to a process that is running inside a container that isn't part of the current process namespace.
+ Sets the [diagnostic port](diagnostic-port.md) used to communicate with the process to be monitored. `dotnet-counters` and the .NET runtime inside the target process must agree on the port-address, with one listening and the other connecting. `dotnet-counters` automatically determines the correct port when attaching using the `--process-id` or `--name` options, or when launching a process using the `-- ` option. It's usually only necessary to specify the port explicitly when waiting for a process that will start in the future or communicating to a process that's running inside a container that isn't part of the current process namespace.
The `port-address` differs by OS:
- Linux and macOS - a path to a Unix domain socket such as `/foo/tool1.socket`.
- Windows - a path to a named pipe such as `\\.\pipe\my_diag_port1`.
- Android, iOS, and tvOS - an IP:port such as `127.0.0.1:9000`.
-
- By default, dotnet-counters listens at the specified address. You can request dotnet-counters to connect instead by appending `,connect` after the address. For example, `--diagnostic-port /foo/tool1.socket,connect` will connect to a .NET runtime process that's listening to the `/foo/tool1.socket` Unix domain socket.
+
+ By default, `dotnet-counters` listens at the specified address. You can request `dotnet-counters` to connect instead by appending `,connect` after the address. For example, `--diagnostic-port /foo/tool1.socket,connect` will connect to a .NET runtime process that's listening to the `/foo/tool1.socket` Unix domain socket.
For information about how to use this option to start monitoring counters from app startup, see [using diagnostic port](#using-diagnostic-port).
@@ -108,7 +108,7 @@ dotnet-counters collect [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
- **`--counters `**
- A comma-separated list of counters. Counters can be specified `provider_name[:counter_name]`. If the `provider_name` is used without a qualifying list of counters, then all counters from the provider are shown. To discover provider and counter names, consult [built-in metrics docs](https://learn.microsoft.com/dotnet/core/diagnostics/built-in-metrics). For [EventCounters](event-counters.md), `provider_name` is the name of the EventSource and for [Meters](metrics.md), `provider_name` is the name of the Meter.
+ A comma-separated list of counters. Counters can be specified `provider_name[:counter_name]`. If the `provider_name` is used without a qualifying list of counters, then all counters from the provider are shown. To discover provider and counter names, see [built-in metrics](built-in-metrics.md). For [EventCounters](event-counters.md), `provider_name` is the name of the EventSource and for [Meters](metrics.md), `provider_name` is the name of the Meter.
- **`--format `**
@@ -120,13 +120,13 @@ dotnet-counters collect [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
- **`-- `**
- After the collection configuration parameters, the user can append `--` followed by a command to start a .NET application. `dotnet-counters` will launch a process with the provided command and collect the requested metrics. This is often useful to collect metrics for the application's startup path and can be used to diagnose or monitor issues that happen early before or shortly after the main entrypoint.
+ After the collection configuration parameters, the user can append `--` followed by a command to start a .NET application. `dotnet-counters` launches a process with the provided command and collect the requested metrics. This is often useful to collect metrics for the application's startup path and can be used to diagnose or monitor issues that happen early before or shortly after the main entry point.
> [!NOTE]
- > Using this option monitors the first .NET process that communicates back to the tool, which means if your command launches multiple .NET applications, it will only collect the first app. Therefore, it is recommended you use this option on self-contained applications, or using the `dotnet exec ` option.
+ > Using this option monitors the first .NET process that communicates back to the tool, which means if your command launches multiple .NET applications, it will only collect the first app. Therefore, it's recommended you use this option on self-contained applications, or using the `dotnet exec ` option.
> [!NOTE]
- > Launching a .NET executable via dotnet-counters will redirect its input/output and you won't be able to interact with its stdin/stdout. Exiting the tool via CTRL+C or SIGTERM will safely end both the tool and the child process. If the child process exits before the tool, the tool will exit as well. If you need to use stdin/stdout, you can use the `--diagnostic-port` option. See [Using diagnostic port](#using-diagnostic-port) for more information.
+ > If you launch a .NET executable via `dotnet-counters`, its input/output will be redirected and you won't be able to interact with its stdin/stdout. You can exit the tool via Ctrl+C or SIGTERM to safely end both the tool and the child process. If the child process exits before the tool, the tool will exit as well. If you need to use stdin/stdout, you can use the `--diagnostic-port` option. For more information, see [Using diagnostic port](#using-diagnostic-port).
> [!NOTE]
> To collect metrics using `dotnet-counters`, it needs to be run as the same user as the user running target process or as root. Otherwise, the tool will fail to establish a connection with the target process.
@@ -180,17 +180,17 @@ dotnet-counters monitor [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
- **`--counters `**
- A comma-separated list of counters. Counters can be specified `provider_name[:counter_name]`. If the `provider_name` is used without a qualifying list of counters, then all counters from the provider are shown. To discover provider and counter names, consult [built-in metrics docs](https://learn.microsoft.com/dotnet/core/diagnostics/built-in-metrics). For [EventCounters](event-counters.md), `provider_name` is the name of the EventSource and for [Meters](metrics.md), `provider_name` is the name of the Meter.
+ A comma-separated list of counters. Counters can be specified `provider_name[:counter_name]`. If the `provider_name` is used without a qualifying list of counters, then all counters from the provider are shown. To discover provider and counter names, see [built-in metrics](built-in-metrics.md). For [EventCounters](event-counters.md), `provider_name` is the name of the EventSource and for [Meters](metrics.md), `provider_name` is the name of the Meter.
**`-- `**
- After the collection configuration parameters, the user can append `--` followed by a command to start a .NET application. `dotnet-counters` will launch a process with the provided command and monitor the requested metrics. This is often useful to collect metrics for the application's startup path and can be used to diagnose or monitor issues that happen early before or shortly after the main entrypoint.
+ After the collection configuration parameters, you can append `--` followed by a command to start a .NET application. `dotnet-counters` will launch a process with the provided command and monitor the requested metrics. This is often useful to collect metrics for the application's startup path and can be used to diagnose or monitor issues that happen early before or shortly after the main entry point.
> [!NOTE]
- > Using this option monitors the first .NET process that communicates back to the tool, which means if your command launches multiple .NET applications, it will only collect the first app. Therefore, it is recommended you use this option on self-contained applications, or using the `dotnet exec ` option.
+ > Using this option monitors the first .NET process that communicates back to the tool, which means if your command launches multiple .NET applications, it will only collect the first app. Therefore, it's recommended you use this option on self-contained applications, or using the `dotnet exec ` option.
> [!NOTE]
- > Launching a .NET executable via dotnet-counters will redirect its input/output and you won't be able to interact with its stdin/stdout. Exiting the tool via CTRL+C or SIGTERM will safely end both the tool and the child process. If the child process exits before the tool, the tool will exit as well. If you need to use stdin/stdout, you can use the `--diagnostic-port` option. See [Using diagnostic port](#using-diagnostic-port) for more information.
+ > Launching a .NET executable via `dotnet-counters` will redirect its input/output and you won't be able to interact with its stdin/stdout. You can exit the tool via Ctrl+C or SIGTERM to safely end both the tool and the child process. If the child process exits before the tool, the tool will exit as well. If you need to use stdin/stdout, you can use the `--diagnostic-port` option. For more information, see [Using diagnostic port](#using-diagnostic-port).
> [!NOTE]
> On Linux and macOS, this command expects the target application and `dotnet-counters` to share the same `TMPDIR` environment variable.
@@ -199,7 +199,7 @@ dotnet-counters monitor [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
> To monitor metrics using `dotnet-counters`, it needs to be run as the same user as the user running target process or as root.
> [!NOTE]
-> If you see an error message similar to the following one: `[ERROR] System.ComponentModel.Win32Exception (299): A 32 bit processes cannot access modules of a 64 bit process.`, you are trying to use `dotnet-counters` that has mismatched bitness against the target process. Make sure to download the correct bitness of the tool in the [install](#install) link.
+> If you see an error message similar to the following one: `[ERROR] System.ComponentModel.Win32Exception (299): A 32 bit processes cannot access modules of a 64 bit process.`, you're trying to use `dotnet-counters` that has mismatched bitness against the target process. Make sure to download the correct bitness of the tool in the [install](#install) link.
### Examples
@@ -255,9 +255,9 @@ dotnet-counters monitor [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
```
> [!NOTE]
- > If the app uses .NET version 8 or lower the [System.Runtime Meter](https://learn.microsoft.com/dotnet/core/diagnostics/built-in-metrics-runtime#systemruntime) didn't exist yet and dotnet-counters will fall back to display the older [System.Runtime EventCounters](https://learn.microsoft.com/dotnet/core/diagnostics/available-counters#systemruntime-counters) instead. The UI will look slightly different as shown below.
+ > If the app uses .NET version 8 or lower, the [System.Runtime Meter](built-in-metrics-runtime.md#systemruntime) doesn't exist in those versions and `dotnet-counters` will fall back to display the older [System.Runtime EventCounters](available-counters.md#systemruntime-counters) instead. The UI looks slightly different, as shown here.
- ```
+ ```output
[System.Runtime]
% Time in GC since last GC (%) 0
Allocation Rate (B / 1 sec) 5,376
@@ -284,10 +284,10 @@ dotnet-counters monitor [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
Working Set (MB) 19
```
-- Monitor just GC collections and GC heap allocation from `System.Runtime`:
+- Monitor just garbage collections and garbage collection heap allocation from `System.Runtime`:
```dotnetcli
- > dotnet-counters monitor --process-id 1902 --counters System.Runtime[dotnet.gc.collections,dotnet.gc.heap.total_allocated]
+ > dotnet-counters monitor --process-id 1902 --counters System.Runtime[dotnet.gc.collections,dotnet.gc.heap.total_allocated]
Press p to pause, r to resume, q to quit.
Status: Running
@@ -324,7 +324,7 @@ dotnet-counters monitor [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
[System.Runtime]
dotnet.assembly.count ({assembly}) 11
```
-
+
- Launch `my-aspnet-server.exe` with `arg1` and `arg2` as command-line arguments and monitor its working set and GC heap size from its startup:
```dotnetcli
@@ -348,8 +348,8 @@ dotnet-counters monitor [-h|--help] [-p|--process-id] [-n|--name] [--diagnostic-
## dotnet-counters ps
- Lists the dotnet processes that can be monitored by `dotnet-counters`.
- `dotnet-counters` version 6.0.320703 and later, also display the command-line arguments that each process was started with, if available.
+Lists the dotnet processes that can be monitored by `dotnet-counters`.
+`dotnet-counters` version 6.0.320703 and later also displays the command-line arguments that each process was started with, if available.
### Synopsis
@@ -359,24 +359,24 @@ dotnet-counters ps [-h|--help]
### Example
-Suppose you start a long-running app using the command ```dotnet run --configuration Release```. In another window, you run the ```dotnet-counters ps``` command. The output you'll see is as follows. The command-line arguments, if any, are shown in `dotnet-counters` version 6.0.320703 and later.
+Suppose you start a long-running app using the command ```dotnet run --configuration Release```. In another window, you run the ```dotnet-counters ps``` command. The output you see is as follows. The command-line arguments, if any, are shown in `dotnet-counters` version 6.0.320703 and later.
```dotnetcli
> dotnet-counters ps
-
+
21932 dotnet C:\Program Files\dotnet\dotnet.exe run --configuration Release
36656 dotnet C:\Program Files\dotnet\dotnet.exe
```
## Using diagnostic port
-[Diagnostic port](./diagnostic-port.md) is a runtime feature that allows you to start monitoring or collecting counters from app startup. To do this using `dotnet-counters`, you can either use `dotnet-counters -- ` as described in the examples above, or use the `--diagnostic-port` option.
+[Diagnostic port](./diagnostic-port.md) is a runtime feature that allows you to start monitoring or collecting counters from app startup. To do this using `dotnet-counters`, you can either use `dotnet-counters -- ` as described in the previous examples, or use the `--diagnostic-port` option.
Using `dotnet-counters -- ` to launch the application as a child process is the simplest way to quickly monitor it from its startup.
However, when you want to gain a finer control over the lifetime of the app being monitored (for example, monitor the app for the first 10 minutes only and continue executing) or if you need to interact with the app using the CLI, using `--diagnostic-port` option allows you to control both the target app being monitored and `dotnet-counters`.
-1. The command below makes dotnet-counters create a diagnostics socket named `myport.sock` and wait for a connection.
+1. The following command makes `dotnet-counters` create a diagnostics socket named `myport.sock` and wait for a connection.
> ```dotnetcli
> dotnet-counters collect --diagnostic-port myport.sock
@@ -396,7 +396,7 @@ However, when you want to gain a finer control over the lifetime of the app bein
> ./my-dotnet-app arg1 arg2
> ```
- This should then enable `dotnet-counters` to start collecting counters on `my-dotnet-app`:
+ This enables `dotnet-counters` to start collecting counters on `my-dotnet-app`:
> ```output
> Waiting for connection on myport.sock
@@ -405,4 +405,4 @@ However, when you want to gain a finer control over the lifetime of the app bein
> ```
> [!IMPORTANT]
- > Launching your app with `dotnet run` can be problematic because the dotnet CLI may spawn many child processes that are not your app and they can connect to `dotnet-counters` before your app, leaving your app to be suspended at run time. It is recommended you directly use a self-contained version of the app or use `dotnet exec` to launch the application.
+ > Launching your app with `dotnet run` can be problematic because the dotnet CLI might spawn many child processes that aren't your app and they can connect to `dotnet-counters` before your app, leaving your app to be suspended at run time. It's recommended you directly use a self-contained version of the app or use `dotnet exec` to launch the application.
diff --git a/docs/core/install/linux-ubuntu-install.md b/docs/core/install/linux-ubuntu-install.md
index db6aa74a5847a..5278f4e413d93 100644
--- a/docs/core/install/linux-ubuntu-install.md
+++ b/docs/core/install/linux-ubuntu-install.md
@@ -55,7 +55,7 @@ When you install with a package manager, these libraries are installed for you.
- ca-certificates
- libc6
- libgcc-s1
-- libicu74
+- libicu76
- liblttng-ust1
- libssl3
- libstdc++6
diff --git a/docs/csharp/specification/toc.yml b/docs/csharp/specification/toc.yml
index a033831d1fa95..3de2c6bf0a33f 100644
--- a/docs/csharp/specification/toc.yml
+++ b/docs/csharp/specification/toc.yml
@@ -187,8 +187,6 @@ items:
href: ../../../_csharplang/proposals/csharp-12.0/using-alias-types.md
- name: Attributes on local functions
href: ../../../_csharplang/proposals/csharp-9.0/local-function-attributes.md
- - name: Pattern based using and using declarations
- href: ../../../_csharplang/proposals/csharp-8.0/using.md
- name: Lock object semantics
href: ../../../_csharplang/proposals/csharp-13.0/lock-object.md
- name: Allow `ref` and `unsafe`
diff --git a/docs/visual-basic/misc/bc2001.md b/docs/visual-basic/misc/bc2001.md
index 3e6948957fa16..12525ab1f346a 100644
--- a/docs/visual-basic/misc/bc2001.md
+++ b/docs/visual-basic/misc/bc2001.md
@@ -1,7 +1,7 @@
---
description: "Learn more about: File could not be found"
title: "File could not be found"
-ms.date: 07/20/2015
+ms.date: 09/12/2025
f1_keywords:
- "bc2001"
- "vbc2001"
@@ -11,14 +11,32 @@ ms.assetid: 1aa8fb26-9a48-4c27-9ff4-67cf1d423b57
---
# File \ could not be found
-The specified file could not be located. This may be a result of supplying an incorrect file path.
-
- **Error ID:** BC2001
-
+The specified file could not be located. This may be a result of supplying an incorrect file path.
+
+**Error ID:** BC2001
+
+## Common causes
+
+This error can occur when a file is referenced in any of the following ways but cannot be found:
+
+- **Command-line compilation**: The file is specified as a source file or reference on the command line.
+- **Response files**: The file is listed in a response file (`.rsp`) used by the compiler.
+- **Project references**: The file is referenced as an assembly or module in your project.
+- **Compiler options**: The file is specified with options like `-reference`, `-addmodule`, or `-keyfile`.
+
+The error appears with "vbc" in the File column because the Visual Basic compiler itself is reporting that it cannot locate the referenced file.
+
## To correct this error
-
-- Check that the file name and path are correct.
-
+
+- **Check the file path**: Verify that the file name and path are correct, including proper spelling and case sensitivity.
+- **Check response files**: If using response files (like `vbc.rsp`), verify that all files listed in the response file exist at the specified paths.
+- **Check project references**: In Visual Studio, examine your project references to identify any broken references to assemblies or other projects.
+- **Check compiler options**: If compiling from the command line, verify that files specified with `-reference`, `-addmodule`, or other file-related options exist.
+- **Check excluded files**: If you intentionally excluded a file from your project but it's still being referenced elsewhere, either restore the file or remove the reference.
+
## See also
- [How to: Parse File Paths](../developing-apps/programming/drives-directories-files/how-to-parse-file-paths.md)
+- [-reference (Visual Basic)](../reference/command-line-compiler/reference.md)
+- [@ (Specify Response File) (Visual Basic)](../reference/command-line-compiler/specify-response-file.md)
+- [Managing references in a project](/visualstudio/ide/managing-references-in-a-project)
diff --git a/docs/visual-basic/misc/bc42328.md b/docs/visual-basic/misc/bc42328.md
index 89ba3c35ddf91..d5d3e0072b052 100644
--- a/docs/visual-basic/misc/bc42328.md
+++ b/docs/visual-basic/misc/bc42328.md
@@ -24,28 +24,15 @@ Visual Basic allows you to assign methods to delegates even when their signature
## When this warning occurs
-This warning appears when Visual Basic can handle the assignment through relaxed conversion, making the explicit `AddressOf` unnecessary. For example:
+This warning appears when Visual Basic can handle the assignment through relaxed conversion, making the explicit `AddressOf` unnecessary.
-```vb
-' Event delegate expects (sender As Object, e As EventArgs)
-Public Event SomeEvent As EventHandler
+### Complete example showing the warning
-' Method with exact signature - no warning
-Sub Handler1(sender As Object, e As EventArgs)
- ' Implementation
-End Sub
+The following example shows one scenario that produces BC42328:
-' Method with omitted parameters - causes BC42328
-Sub Handler2()
- ' Implementation
-End Sub
+:::code language="vb" source="snippets/bc42328/AddressOfExample.vb" id="DocumentProcessor":::
-' Using AddHandler with exact match - no warning
-AddHandler SomeEvent, AddressOf Handler1
-
-' Using AddHandler with relaxed conversion - causes BC42328
-AddHandler SomeEvent, AddressOf Handler2
-```
+When you compile this code, Visual Basic shows the BC42328 warning for the `AddHandler` statements that use relaxed delegate conversion.
## Why AddressOf appears to have "no effect"
@@ -57,36 +44,72 @@ However, `AddressOf` is still syntactically required in `AddHandler` and `Remove
## To correct this error
-You have several options depending on your needs:
+You have several options depending on your needs. Using the `DocumentProcessor` example from previously, here are the different ways to resolve the BC42328 warning:
-- **Assign to a variable first (preserves exact semantics):**
+### Option 1: Assign to a variable first (preserves exact semantics)
- ```vb
- Dim handler As EventHandler = AddressOf Handler2
- AddHandler SomeEvent, handler
- ```
+```vb
+Public Sub DemonstrateHandler()
+ ' Create delegate variable first - this eliminates the warning
+ Dim handler As EventHandler = AddressOf OnDocumentProcessed_Simple
+ AddHandler DocumentProcessed, handler
+End Sub
+```
-- **Match the delegate signature exactly:**
+### Option 2: Match the delegate signature exactly
- ```vb
- Sub Handler2(sender As Object, e As EventArgs)
- ' Implementation - use parameters or ignore them
- End Sub
- ```
+```vb
+' Change the method signature to match EventHandler exactly
+Private Sub OnDocumentProcessed_Simple(sender As Object, e As EventArgs)
+ ' You can ignore the parameters if you don't need them
+ Console.WriteLine("Document processed (simple)")
+End Sub
-- **Use a lambda expression:**
+Public Sub DemonstrateHandler()
+ ' Now this works without warning
+ AddHandler DocumentProcessed, AddressOf OnDocumentProcessed_Simple
+End Sub
+```
- ```vb
- AddHandler SomeEvent, Sub() Handler2()
- ```
+### Option 3: Use a lambda expression
-- **Use the `Handles` clause if appropriate:**
+```vb
+Public Sub DemonstrateHandler()
+ ' Wrap the method call in a lambda that matches the signature
+ AddHandler DocumentProcessed, Sub(sender, e) OnDocumentProcessed_Simple()
+
+ ' Or create a more complex lambda inline
+ AddHandler DocumentProcessed,
+ Sub(sender, e)
+ Console.WriteLine($"Event from {sender}")
+ OnDocumentProcessed_Simple()
+ End Sub
+End Sub
+```
+
+### Option 4: Use the `Handles` clause (if appropriate)
- ```vb
- Sub Handler2() Handles someObject.SomeEvent
- ' Implementation
- End Sub
- ```
+```vb
+Public Class DocumentHandler
+ ' Declare the event source with WithEvents
+ Private WithEvents processor As DocumentProcessor
+
+ ' Use Handles clause - no AddHandler needed
+ Private Sub OnDocumentComplete() Handles processor.DocumentProcessed
+ Console.WriteLine("Document processing is done!")
+ End Sub
+End Class
+```
+
+### Option 5: Direct assignment to delegate variable
+
+```vb
+Public Sub DemonstrateHandler()
+ ' Assign to delegate variable then use with AddHandler
+ Dim handler As EventHandler = AddressOf OnDocumentProcessed_Simple
+ AddHandler DocumentProcessed, handler
+End Sub
+```
## When you can ignore this warning
@@ -95,8 +118,27 @@ This warning is often safe to ignore when:
- Your handler method intentionally omits parameters it doesn't need.
- You're using a simpler method signature for cleaner code.
- The performance impact is negligible for your application.
+- You're prototyping or writing quick utility code where clarity matters more than efficiency.
+
+The relaxed conversion works correctly; this warning just indicates a minor efficiency consideration. The compiler creates a wrapper delegate automatically, which adds a small performance overhead but doesn't affect functionality.
-The relaxed conversion works correctly; this warning just indicates a minor efficiency consideration.
+### Example of when ignoring is appropriate
+
+```vb
+Public Class QuickLogger
+ Public Event LogMessage As Action(Of String, DateTime)
+
+ ' Simple handler that ignores the timestamp parameter
+ Private Sub WriteToConsole()
+ Console.WriteLine("Something was logged")
+ End Sub
+
+ Public Sub SetupLogging()
+ ' This generates BC42328, but it's fine for simple scenarios
+ AddHandler LogMessage, AddressOf WriteToConsole
+ End Sub
+End Class
+```
## See also
diff --git a/docs/visual-basic/misc/snippets/bc42328/AddressOfExample.vb b/docs/visual-basic/misc/snippets/bc42328/AddressOfExample.vb
new file mode 100644
index 0000000000000..39ae891067d4f
--- /dev/null
+++ b/docs/visual-basic/misc/snippets/bc42328/AddressOfExample.vb
@@ -0,0 +1,84 @@
+Imports System
+
+'
+Public Class DocumentProcessor
+ ' Standard .NET event using EventHandler
+ Public Event DocumentProcessed As EventHandler
+
+ ' Custom event with different signature
+ Public Event StatusChanged As Action(Of String)
+
+ ' Handlers with different signatures
+
+ ' Exact match for EventHandler - no warning
+ Private Sub OnDocumentProcessed_Exact(sender As Object, e As EventArgs)
+ Console.WriteLine("Document processed (exact signature)")
+ End Sub
+
+ ' Simplified handler - causes BC42328 with EventHandler
+ Private Sub OnDocumentProcessed_Simple()
+ Console.WriteLine("Document processed (simple)")
+ End Sub
+
+ ' Handler for custom event - exact match
+ Private Sub OnStatusChanged_Exact(message As String)
+ Console.WriteLine($"Status: {message}")
+ End Sub
+
+ ' Handler with ignored parameters - causes BC42328 with custom event
+ Private Sub OnStatusChanged_Simple()
+ Console.WriteLine("Status changed")
+ End Sub
+
+ Public Sub DemonstrateWarnings()
+ Console.WriteLine("Setting up event handlers...")
+
+ ' These work without warnings (exact matches)
+ AddHandler DocumentProcessed, AddressOf OnDocumentProcessed_Exact
+ AddHandler StatusChanged, AddressOf OnStatusChanged_Exact
+
+ ' These generate BC42328 warnings (relaxed conversions)
+ AddHandler DocumentProcessed, AddressOf OnDocumentProcessed_Simple
+ AddHandler StatusChanged, AddressOf OnStatusChanged_Simple
+
+ ' Fire the events
+ RaiseEvent DocumentProcessed(Me, EventArgs.Empty)
+ RaiseEvent StatusChanged("Processing complete")
+ End Sub
+
+ Public Sub DemonstrateSolutions()
+ Console.WriteLine("Using solutions to avoid warnings...")
+
+ ' Solution 1: Assign to variable first
+ Dim handler1 As EventHandler = AddressOf OnDocumentProcessed_Simple
+ AddHandler DocumentProcessed, handler1
+
+ ' Solution 2: Use lambda expression
+ AddHandler DocumentProcessed, Sub(s, e) OnDocumentProcessed_Simple()
+
+ ' Solution 3: Direct assignment to delegate variable
+ Dim handler2 As Action(Of String) = AddressOf OnStatusChanged_Simple
+ AddHandler StatusChanged, handler2
+
+ ' Fire the events
+ RaiseEvent DocumentProcessed(Me, EventArgs.Empty)
+ RaiseEvent StatusChanged("All solutions work")
+ End Sub
+End Class
+'
+
+Module Program
+ Sub Main()
+ Dim processor As New DocumentProcessor()
+
+ Console.WriteLine("=== Demonstrating BC42328 Warning ===")
+ processor.DemonstrateWarnings()
+
+ Console.WriteLine()
+ Console.WriteLine("=== Demonstrating Solutions ===")
+ processor.DemonstrateSolutions()
+
+ Console.WriteLine("Press any key to exit...")
+ Console.ReadKey()
+ End Sub
+End Module
\ No newline at end of file
diff --git a/docs/visual-basic/misc/snippets/bc42328/AddressOfExample.vbproj b/docs/visual-basic/misc/snippets/bc42328/AddressOfExample.vbproj
new file mode 100644
index 0000000000000..5a06255081c8d
--- /dev/null
+++ b/docs/visual-basic/misc/snippets/bc42328/AddressOfExample.vbproj
@@ -0,0 +1,9 @@
+
+
+
+ Exe
+ net8.0
+ BC42328Example
+
+
+
\ No newline at end of file
diff --git a/docs/zone-pivot-groups.yml b/docs/zone-pivot-groups.yml
index 362bda8aa6607..2e67ac2189898 100644
--- a/docs/zone-pivot-groups.yml
+++ b/docs/zone-pivot-groups.yml
@@ -120,12 +120,14 @@ groups:
title: Ubuntu Version
prompt: Choose the Ubuntu distribution version
pivots:
- - id: os-linux-ubuntu-2504
- title: "25.04"
+ # order: lts versions (newest to oldest), interim versions (newest to oldest), other
+ # see: https://github.com/dotnet/docs/issues/47461
- id: os-linux-ubuntu-2404
title: "24.04"
- id: os-linux-ubuntu-2204
title: "22.04"
+ - id: os-linux-ubuntu-2504
+ title: "25.04"
- id: os-linux-ubuntu-other
title: "Other"
- id: openai-library