From 616e0b16f08936ad292ac794712fe177694914b1 Mon Sep 17 00:00:00 2001
From: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Date: Thu, 1 May 2025 14:31:23 -0700
Subject: [PATCH 01/11] Add --prerelease (#45991)
---
docs/ai/quickstarts/build-chat-app.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/ai/quickstarts/build-chat-app.md b/docs/ai/quickstarts/build-chat-app.md
index ee0aaecb4737c..23cee375bda01 100644
--- a/docs/ai/quickstarts/build-chat-app.md
+++ b/docs/ai/quickstarts/build-chat-app.md
@@ -56,7 +56,7 @@ Complete the following steps to create a .NET console app to connect to an AI mo
```bash
dotnet add package Azure.Identity
dotnet add package Azure.AI.OpenAI
- dotnet add package Microsoft.Extensions.AI.OpenAI
+ dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.UserSecrets
```
@@ -67,7 +67,7 @@ Complete the following steps to create a .NET console app to connect to an AI mo
```bash
dotnet add package OpenAI
- dotnet add package Microsoft.Extensions.AI.OpenAI
+ dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.UserSecrets
```
From a34e0b169e328cd3f21db32d0eca8e72c0217cbb Mon Sep 17 00:00:00 2001
From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com>
Date: Thu, 1 May 2025 14:35:39 -0700
Subject: [PATCH 02/11] Update package index with latest published versions
(#45988)
---
docs/azure/includes/dotnet-all.md | 10 +++++-----
docs/azure/includes/dotnet-new.md | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index a39f48950abea..0b9780b4244a0 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -4,7 +4,7 @@
| AI Model Inference | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.Inference/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Inference-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.Inference_1.0.0-beta.4/sdk/ai/Azure.AI.Inference/) |
| Anomaly Detector | NuGet [3.0.0-preview.7](https://www.nuget.org/packages/Azure.AI.AnomalyDetector/3.0.0-preview.7) | [docs](/dotnet/api/overview/azure/AI.AnomalyDetector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [3.0.0-preview.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AnomalyDetector_3.0.0-preview.7/sdk/anomalydetector/Azure.AI.AnomalyDetector/) |
| App Configuration | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.6.0) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.6.0/sdk/appconfiguration/Azure.Data.AppConfiguration/) |
-| App Configuration Provider | NuGet [8.1.1](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.1.1)
NuGet [8.2.0-preview](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.2.0-preview) | [docs](/dotnet/api/overview/azure/Microsoft.Extensions.Configuration.AzureAppConfiguration-readme) | GitHub [8.1.1](https://github.com/Azure/AppConfiguration-DotnetProvider) |
+| App Configuration Provider | NuGet [8.1.2](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.1.2)
NuGet [8.2.0-preview](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.2.0-preview) | [docs](/dotnet/api/overview/azure/Microsoft.Extensions.Configuration.AzureAppConfiguration-readme) | GitHub [8.1.2](https://github.com/Azure/AppConfiguration-DotnetProvider) |
| Attestation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Security.Attestation/1.0.0) | [docs](/dotnet/api/overview/azure/Security.Attestation-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.Attestation_1.0.0/sdk/attestation/Azure.Security.Attestation/) |
| Azure AI Search | NuGet [11.6.0](https://www.nuget.org/packages/Azure.Search.Documents/11.6.0)
NuGet [11.7.0-beta.3](https://www.nuget.org/packages/Azure.Search.Documents/11.7.0-beta.3) | [docs](/dotnet/api/overview/azure/Search.Documents-readme) | GitHub [11.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.6.0/sdk/search/Azure.Search.Documents/)
GitHub [11.7.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.7.0-beta.3/sdk/search/Azure.Search.Documents/) |
| Azure Object Anchors Conversion | NuGet [0.3.0-beta.6](https://www.nuget.org/packages/Azure.MixedReality.ObjectAnchors.Conversion/0.3.0-beta.6) | [docs](/dotnet/api/overview/azure/MixedReality.ObjectAnchors.Conversion-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [0.3.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.MixedReality.ObjectAnchors.Conversion_0.3.0-beta.6/sdk/objectanchors/Azure.MixedReality.ObjectAnchors.Conversion/) |
@@ -53,7 +53,7 @@
| Health Insights Cancer Profiling | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.CancerProfiling/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.CancerProfiling-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.CancerProfiling_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.CancerProfiling/) |
| Health Insights Clinical Matching | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.ClinicalMatching/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.ClinicalMatching-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.ClinicalMatching_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.ClinicalMatching/) |
| Health Insights Radiology Insights | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Health.Insights.RadiologyInsights/1.0.0) | [docs](/dotnet/api/overview/azure/Health.Insights.RadiologyInsights-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.RadiologyInsights_1.0.0/sdk/healthinsights/Azure.Health.Insights.RadiologyInsights/) |
-| Identity | NuGet [1.13.2](https://www.nuget.org/packages/Azure.Identity/1.13.2)
NuGet [1.14.0-beta.3](https://www.nuget.org/packages/Azure.Identity/1.14.0-beta.3) | [docs](/dotnet/api/overview/azure/Identity-readme) | GitHub [1.13.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.13.2/sdk/identity/Azure.Identity/)
GitHub [1.14.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.14.0-beta.3/sdk/identity/Azure.Identity/) |
+| Identity | NuGet [1.13.2](https://www.nuget.org/packages/Azure.Identity/1.13.2)
NuGet [1.14.0-beta.4](https://www.nuget.org/packages/Azure.Identity/1.14.0-beta.4) | [docs](/dotnet/api/overview/azure/Identity-readme) | GitHub [1.13.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.13.2/sdk/identity/Azure.Identity/)
GitHub [1.14.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.14.0-beta.4/sdk/identity/Azure.Identity/) |
| Identity Broker | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Identity.Broker/1.2.0)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.Identity.Broker/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/Identity.Broker-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.2.0/sdk/identity/Azure.Identity.Broker/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.3.0-beta.2/sdk/identity/Azure.Identity.Broker/) |
| Image Analysis | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Vision.ImageAnalysis/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Vision.ImageAnalysis-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Vision.ImageAnalysis_1.0.0/sdk/vision/Azure.AI.Vision.ImageAnalysis/) |
| Key Vault - Administration | NuGet [4.5.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.5.0)
NuGet [4.6.0-beta.1](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.6.0-beta.1) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Administration-readme) | GitHub [4.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.5.0/sdk/keyvault/Azure.Security.KeyVault.Administration/)
GitHub [4.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.6.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/) |
@@ -383,9 +383,9 @@
| Functions Worker Extension MCP | NuGet [1.0.0-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp/1.0.0-preview.2) | | |
| Functions Worker Extension MySQL | NuGet [1.0.129](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.MySql/1.0.129) | | |
| HTTP ASPNETCore Analyzers | NuGet [1.0.3](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore.Analyzers/1.0.3) | | |
-| IoT Operations MQTT | NuGet [0.10.0](https://www.nuget.org/packages/Azure.Iot.Operations.Mqtt/0.10.0) | | |
-| IoT Operations Protocol | NuGet [0.10.0](https://www.nuget.org/packages/Azure.Iot.Operations.Protocol/0.10.0) | | |
-| IoT Operations Services | NuGet [0.10.1](https://www.nuget.org/packages/Azure.Iot.Operations.Services/0.10.1) | | |
+| IoT Operations MQTT | NuGet [0.10.1](https://www.nuget.org/packages/Azure.Iot.Operations.Mqtt/0.10.1) | | |
+| IoT Operations Protocol | NuGet [0.11.0](https://www.nuget.org/packages/Azure.Iot.Operations.Protocol/0.11.0) | | |
+| IoT Operations Services | NuGet [0.11.0](https://www.nuget.org/packages/Azure.Iot.Operations.Services/0.11.0) | | |
| Item Templates NetCore | NuGet [4.0.5086](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetCore/4.0.5086) | | |
| Item Templates NetFx | NuGet [4.0.5086](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetFx/4.0.5086) | | |
| Microsoft.Azure.DataFactoryTestingFramework.Expressions | NuGet [0.2.7](https://www.nuget.org/packages/Microsoft.Azure.DataFactoryTestingFramework.Expressions/0.2.7) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index a9402e43febbb..e646c3430c507 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -4,7 +4,7 @@
| AI Model Inference | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.AI.Inference/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/AI.Inference-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.Inference_1.0.0-beta.4/sdk/ai/Azure.AI.Inference/) |
| Anomaly Detector | NuGet [3.0.0-preview.7](https://www.nuget.org/packages/Azure.AI.AnomalyDetector/3.0.0-preview.7) | [docs](/dotnet/api/overview/azure/AI.AnomalyDetector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [3.0.0-preview.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AnomalyDetector_3.0.0-preview.7/sdk/anomalydetector/Azure.AI.AnomalyDetector/) |
| App Configuration | NuGet [1.6.0](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.6.0) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme) | GitHub [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.6.0/sdk/appconfiguration/Azure.Data.AppConfiguration/) |
-| App Configuration Provider | NuGet [8.1.1](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.1.1)
NuGet [8.2.0-preview](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.2.0-preview) | [docs](/dotnet/api/overview/azure/Microsoft.Extensions.Configuration.AzureAppConfiguration-readme) | GitHub [8.1.1](https://github.com/Azure/AppConfiguration-DotnetProvider) |
+| App Configuration Provider | NuGet [8.1.2](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.1.2)
NuGet [8.2.0-preview](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/8.2.0-preview) | [docs](/dotnet/api/overview/azure/Microsoft.Extensions.Configuration.AzureAppConfiguration-readme) | GitHub [8.1.2](https://github.com/Azure/AppConfiguration-DotnetProvider) |
| Attestation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Security.Attestation/1.0.0) | [docs](/dotnet/api/overview/azure/Security.Attestation-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.Attestation_1.0.0/sdk/attestation/Azure.Security.Attestation/) |
| Azure AI Search | NuGet [11.6.0](https://www.nuget.org/packages/Azure.Search.Documents/11.6.0)
NuGet [11.7.0-beta.3](https://www.nuget.org/packages/Azure.Search.Documents/11.7.0-beta.3) | [docs](/dotnet/api/overview/azure/Search.Documents-readme) | GitHub [11.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.6.0/sdk/search/Azure.Search.Documents/)
GitHub [11.7.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.7.0-beta.3/sdk/search/Azure.Search.Documents/) |
| Azure Object Anchors Conversion | NuGet [0.3.0-beta.6](https://www.nuget.org/packages/Azure.MixedReality.ObjectAnchors.Conversion/0.3.0-beta.6) | [docs](/dotnet/api/overview/azure/MixedReality.ObjectAnchors.Conversion-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [0.3.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.MixedReality.ObjectAnchors.Conversion_0.3.0-beta.6/sdk/objectanchors/Azure.MixedReality.ObjectAnchors.Conversion/) |
@@ -54,7 +54,7 @@
| Health Insights Cancer Profiling | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.CancerProfiling/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.CancerProfiling-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.CancerProfiling_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.CancerProfiling/) |
| Health Insights Clinical Matching | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.ClinicalMatching/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.ClinicalMatching-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.ClinicalMatching_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.ClinicalMatching/) |
| Health Insights Radiology Insights | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Health.Insights.RadiologyInsights/1.0.0) | [docs](/dotnet/api/overview/azure/Health.Insights.RadiologyInsights-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.RadiologyInsights_1.0.0/sdk/healthinsights/Azure.Health.Insights.RadiologyInsights/) |
-| Identity | NuGet [1.13.2](https://www.nuget.org/packages/Azure.Identity/1.13.2)
NuGet [1.14.0-beta.3](https://www.nuget.org/packages/Azure.Identity/1.14.0-beta.3) | [docs](/dotnet/api/overview/azure/Identity-readme) | GitHub [1.13.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.13.2/sdk/identity/Azure.Identity/)
GitHub [1.14.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.14.0-beta.3/sdk/identity/Azure.Identity/) |
+| Identity | NuGet [1.13.2](https://www.nuget.org/packages/Azure.Identity/1.13.2)
NuGet [1.14.0-beta.4](https://www.nuget.org/packages/Azure.Identity/1.14.0-beta.4) | [docs](/dotnet/api/overview/azure/Identity-readme) | GitHub [1.13.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.13.2/sdk/identity/Azure.Identity/)
GitHub [1.14.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.14.0-beta.4/sdk/identity/Azure.Identity/) |
| Identity Broker | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Identity.Broker/1.2.0)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.Identity.Broker/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/Identity.Broker-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.2.0/sdk/identity/Azure.Identity.Broker/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity.Broker_1.3.0-beta.2/sdk/identity/Azure.Identity.Broker/) |
| Image Analysis | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Vision.ImageAnalysis/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Vision.ImageAnalysis-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Vision.ImageAnalysis_1.0.0/sdk/vision/Azure.AI.Vision.ImageAnalysis/) |
| Key Vault - Administration | NuGet [4.5.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.5.0)
NuGet [4.6.0-beta.1](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration/4.6.0-beta.1) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Administration-readme) | GitHub [4.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.5.0/sdk/keyvault/Azure.Security.KeyVault.Administration/)
GitHub [4.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.6.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/) |
From 382ce26447240c16269e143f8b8019c4331d68d6 Mon Sep 17 00:00:00 2001
From: Brian Dukes
Date: Thu, 1 May 2025 21:38:52 +0000
Subject: [PATCH 03/11] Fix typo in cs3005.md (#45984)
---
docs/csharp/misc/cs3005.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/csharp/misc/cs3005.md b/docs/csharp/misc/cs3005.md
index 6efb07e2d3405..fc81ab182ea8f 100644
--- a/docs/csharp/misc/cs3005.md
+++ b/docs/csharp/misc/cs3005.md
@@ -16,7 +16,7 @@ Identifier 'identifier' differing only in case is not CLS-compliant
## Example
- The following example generates CS3003:
+ The following example generates CS3005:
```csharp
// CS3005.cs
From 43ca63fe8899472d9275ab8eb377cc31d6cab0be Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 1 May 2025 14:39:02 -0700
Subject: [PATCH 04/11] =?UTF-8?q?Bot=20=F0=9F=A4=96=20generated=20"What's?=
=?UTF-8?q?=20new=20article"=20(#45978)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: IEvangelist
---
docs/whats-new/dotnet-docs-mod1.md | 148 +++++++++++------------------
docs/whats-new/index.yml | 6 +-
docs/whats-new/toc.yml | 4 +-
3 files changed, 63 insertions(+), 95 deletions(-)
diff --git a/docs/whats-new/dotnet-docs-mod1.md b/docs/whats-new/dotnet-docs-mod1.md
index 23b97b98dd3ee..20311f455781a 100644
--- a/docs/whats-new/dotnet-docs-mod1.md
+++ b/docs/whats-new/dotnet-docs-mod1.md
@@ -1,123 +1,91 @@
---
-title: ".NET docs: What's new for January 2025"
-description: "What's new in the .NET docs for January 2025."
-ms.custom: January-2025
-ms.date: 02/01/2025
+title: ".NET docs: What's new for April 2025"
+description: "What's new in the .NET docs for April 2025."
+ms.custom: April-2025
+ms.date: 05/01/2025
---
-# .NET docs: What's new for January 2025
+# .NET docs: What's new for April 2025
-Welcome to what's new in the .NET docs for January 2025. This article lists some of the major changes to docs during this period.
+Welcome to what's new in the .NET docs for April 2025. This article lists some of the major changes to docs during this period.
## .NET breaking changes
### New articles
-- [`dotnet sln add` no longer allows invalid file names](../core/compatibility/sdk/9.0/dotnet-sln.md)
-- [ActivitySource.CreateActivity and ActivitySource.StartActivity behavior change](../core/compatibility/core-libraries/10.0/activity-sampling.md)
-- [API obsoletions with non-default diagnostic IDs (.NET 10)](../core/compatibility/core-libraries/10.0/obsolete-apis.md)
-- [Breaking changes in .NET 10](../core/compatibility/10.0.md)
-- [C# 14 overload resolution with span parameters](../core/compatibility/core-libraries/10.0/csharp-overload-resolution.md)
-- [Consistent shift behavior in generic math](../core/compatibility/core-libraries/10.0/generic-math.md)
-- [Default RID used when targeting .NET Framework](../core/compatibility/sdk/9.0/default-rid.md)
-- [Environment variable renamed to DOTNET_ICU_VERSION_OVERRIDE](../core/compatibility/globalization/10.0/version-override.md)
-- [LDAP DirectoryControl parsing is now more stringent](../core/compatibility/core-libraries/10.0/ldap-directorycontrol-parsing.md)
-- [MacCatalyst version normalization](../core/compatibility/core-libraries/10.0/maccatalyst-version-normalization.md)
-- [Renamed parameter in HtmlElement.InsertAdjacentElement](../core/compatibility/windows-forms/10.0/insertadjacentelement-orientation.md)
-- [TreeView checkbox image truncation](../core/compatibility/windows-forms/10.0/treeview-text-location.md)
-- [X500DistinguishedName validation is stricter](../core/compatibility/cryptography/10.0/x500distinguishedname-validation.md)
-
-## AI in .NET
-
-### New articles
-
-- [Create a minimal AI assistant using .NET](../ai/quickstarts/create-assistant.md)
+- [.NET CLI `--interactive` defaults to `true` in user scenarios](../core/compatibility/sdk/10.0/dotnet-cli-interactive.md)
+- [Assembly load directory resolves through symbolic links on Windows](../core/compatibility/deployment/9.0/assembly-load-directory.md)
+- [Default trace context propagator updated to W3C standard](../core/compatibility/core-libraries/10.0/default-trace-context-propagator.md)
+- [Linux native library resolution no longer uses `netcoredeps`](../core/compatibility/interop/8.0/linux-netcoredeps.md)
+- [Streaming HTTP responses enabled by default in browser HTTP clients](../core/compatibility/networking/10.0/default-http-streaming.md)
## .NET fundamentals
### New articles
-- [.NET SDK container creation overview](../core/containers/overview.md)
-- [CA2024: Do not use StreamReader.EndOfStream in async methods](../fundamentals/code-analysis/quality-rules/ca2024.md)
-- [Containerize a .NET app with dotnet publish](../core/containers/sdk-publish.md)
-- [Distributed tracing in System.Net libraries](../fundamentals/networking/telemetry/tracing.md)
-- [Keyed DI support in `IHttpClientFactory`](../core/extensions/httpclient-factory-keyed-di.md)
-- [MSTEST0038: Don't use 'Assert.AreSame' or 'Assert.AreNotSame' with value types](../core/testing/mstest-analyzers/mstest0038.md)
-- [MSTEST0039: Use newer 'Assert.Throws' methods](../core/testing/mstest-analyzers/mstest0039.md)
-- [MSTEST0040: Do not assert inside 'async void' contexts](../core/testing/mstest-analyzers/mstest0040.md)
-- [NETSDK1032: RuntimeIdentifier and PlatformTarget must be compatible](../core/tools/sdk-errors/netsdk1032.md)
-- [NETSDK1144: Optimizing assemblies for size failed](../core/tools/sdk-errors/netsdk1144.md)
-- [Preview APIs](../fundamentals/runtime-libraries/preview-apis.md)
-- [QUIC configuration options](../fundamentals/networking/quic/quic-options.md)
-- [Serialization extension methods on HttpClient](../standard/serialization/system-text-json/httpclient-extensions.md)
-- [SYSLIB0058: Certain SslStream properties are obsolete](../fundamentals/syslib-diagnostics/syslib0058.md)
-- [SYSLIB0059: SystemEvents.EventsThreadShutdown callbacks aren't run before the process exits](../fundamentals/syslib-diagnostics/syslib0059.md)
-- [SYSLIB0060: Rfc2898DeriveBytes constructors are obsolete](../fundamentals/syslib-diagnostics/syslib0060.md)
+- [Compile-time metric source generation](../core/diagnostics/metrics-generator.md)
+- [dotnet package remove](../core/tools/dotnet-package-remove.md)
+- [dotnet reference list](../core/tools/dotnet-reference-list.md)
+- [Migrate from .NET Framework Windows Performance Counters to .NET metrics](../core/diagnostics/migrate-from-windows-performance-counters.md)
+- [MSTEST0042: Avoid duplicated 'DataRow' entries](../core/testing/mstest-analyzers/mstest0042.md)
+- [MSTEST0043: Use retry attribute on test method](../core/testing/mstest-analyzers/mstest0043.md)
+- [SYSLIB0061: System.Linq.Queryable.MaxBy and System.Linq.Queryable.MinBy taking an IComparer\ are obsolete.](../fundamentals/syslib-diagnostics/syslib0061.md)
### Updated articles
-- [Creating metrics](../core/diagnostics/metrics-instrumentation.md) - [diagnostics] Add InstrumentAdvice details to instrumentation doc
-- [dotnet-coverage code coverage utility](../core/additional-tools/dotnet-coverage.md) - Update dotnet-coverage docs. Adding uninstrument command
-- [Microsoft.Testing.Platform and VSTest comparison](../core/testing/microsoft-testing-platform-vs-vstest.md) - Add first level info for migration off of VSTest
-- [Tutorial: Containerize a .NET app](../core/docker/build-container.md) - Address issues related to .NET containers
+- [Miscellaneous Constructs in Regular Expressions](../standard/base-types/miscellaneous-constructs-in-regular-expressions.md) - Change "alignment" to "width"
## C# language
### New articles
-- [Custom attributes that generate flags or options in the Intermediate Language (IL) output](../csharp/language-reference/attributes/pseudo-attributes.md)
-
-## Visual Basic language
-
-### Updated articles
-
-- [Generic types in Visual Basic (Visual Basic)](../visual-basic/programming-guide/language-features/data-types/generic-types.md) - Add VB new features
-
-## Azure SDK for .NET
-
-### New articles
-
-- [Authentication best practices with the Azure Identity library for .NET](../azure/sdk/authentication/best-practices.md)
-
-## Microsoft Orleans
-
-### New articles
-
-- [Grain directory implementation](../orleans/implementation/grain-directory.md)
-
-### Updated articles
-
-- [Background Services and Startup Tasks](../orleans/host/configuration-guide/startup-tasks.md) - [Orleans] Update startup tasks guidance
-- [Cluster management in Orleans](../orleans/implementation/cluster-management.md) - [Orleans] Update clustering implementation docs
+- [Create types in C\#](../csharp/tour-of-csharp/tutorials/tuples-and-types.md)
+- [Extension declaration (C# Reference)](../csharp/language-reference/keywords/extension.md)
## .NET Framework
### New articles
-- [.NET Framework release notes](../framework/release-notes/release-notes.md)
-- [January 2025 cumulative update](../framework/release-notes/2025/01-14-january-cumulative-update.md)
+- [April 2025 cumulative update preview](../framework/release-notes/2025/04-22-april-cumulative-update-preview.md)
+- [April 2025 security and quality rollup](../framework/release-notes/2025/04-08-april-cumulative-update.md)
+- [March 2025 cumulative update preview](../framework/release-notes/2025/03-25-march-cumulative-update-preview.md)
## 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).
-- [shethaadit](https://github.com/shethaadit) - Adit Sheth 
-- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski 
-- [azarboon](https://github.com/azarboon) - Mahdi Azarboon 
-- [theluckyprogrammer](https://github.com/theluckyprogrammer) - Tomasz Osmanowski 
-- [mpidash](https://github.com/mpidash) - Mario Pistrich 
-- [Rageking8](https://github.com/Rageking8) - 
-- [frdij](https://github.com/frdij) - Frans van Dijk 
-- [gregoryagu](https://github.com/gregoryagu) - Greg Gum 
-- [joproulx](https://github.com/joproulx) - Jonathan 
-- [K4PS3](https://github.com/K4PS3) - khaled 
-- [MangelMaxime](https://github.com/MangelMaxime) - Maxime Mangel 
-- [mguinness](https://github.com/mguinness) - 
-- [RandaZraik](https://github.com/RandaZraik) - Randa Zraik 
-- [rkargMsft](https://github.com/rkargMsft) - 
+- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski 
+- [BenjaminBrienen](https://github.com/BenjaminBrienen) - Benjamin Brienen 
+- [kant2002](https://github.com/kant2002) - Andrii Kurdiumov 
+- [MBSadeghzadeh](https://github.com/MBSadeghzadeh) - 
+- [timdeschryver](https://github.com/timdeschryver) - Tim Deschryver 
+- [A-Programmer](https://github.com/A-Programmer) - Kamran Sadin 
+- [AustinWise](https://github.com/AustinWise) - Austin Wise 
+- [bforget163](https://github.com/bforget163) - Yongwei Li 
+- [bigboybamo](https://github.com/bigboybamo) - Olabamiji Oyetubo 
+- [ByronMayne](https://github.com/ByronMayne) - Byron Mayne 
+- [cycopepe](https://github.com/cycopepe) - 
+- [D05Col](https://github.com/D05Col) - Dylan Collins 
+- [Defman21](https://github.com/Defman21) - Sergey Kislyakov 
+- [flibustier7seas](https://github.com/flibustier7seas) - 
+- [gfoidl](https://github.com/gfoidl) - Günther Foidl 
+- [hez2010](https://github.com/hez2010) - Steve 
+- [IDisposable](https://github.com/IDisposable) - Marc Brooks 
+- [jnoordsij](https://github.com/jnoordsij) - Jesper Noordsij 
+- [josesimoes](https://github.com/josesimoes) - José Simões 
+- [kdemuth](https://github.com/kdemuth) - 
+- [Lanayx](https://github.com/Lanayx) - Vladimir Shchur 
+- [LucasBenninger](https://github.com/LucasBenninger) - Lucas Benninger 
+- [mehboob14](https://github.com/mehboob14) - Mehboob Arshad 
+- [mister-giga](https://github.com/mister-giga) - Giga Bokuchava 
+- [nileshsheth](https://github.com/nileshsheth) - Nilesh Sheth 
+- [OoLunar](https://github.com/OoLunar) - Lunar Starstrum 
+- [Rageking8](https://github.com/Rageking8) - 
- [samwherever](https://github.com/samwherever) - Sam Allen 
-- [SetTrend](https://github.com/SetTrend) - Axel D. 
-- [ShaoHans](https://github.com/ShaoHans) - ShaoHans 
-- [wasabii](https://github.com/wasabii) - Jerome Haltom 
-- [willibrandon](https://github.com/willibrandon) - Brandon Williams 
-- [zacharylayne](https://github.com/zacharylayne) - 
+- [sigmade](https://github.com/sigmade) - Yegor Sychev 
+- [skycommand](https://github.com/skycommand) - 
+- [timpaulus-fsw](https://github.com/timpaulus-fsw) - Tim Paulus 
+- [tjmccoy](https://github.com/tjmccoy) - Tyler McCoy 
+- [vzamboulingame](https://github.com/vzamboulingame) - Vinodh Zamboulingame 
+- [WeihanLi](https://github.com/WeihanLi) - Weihan Li 
+- [wipiano](https://github.com/wipiano) - Kohei Hakoishi 
diff --git a/docs/whats-new/index.yml b/docs/whats-new/index.yml
index b0cc9c3e6b679..68238e9463d54 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: 04/01/2025
+ ms.date: 05/01/2025
ms.topic: landing-page
landingContent:
- title: .NET 10 release updates
@@ -40,12 +40,12 @@ landingContent:
linkLists:
- linkListType: whats-new
links:
+ - text: April 2025
+ url: dotnet-docs-mod1.md
- text: March 2025
url: dotnet-docs-mod0.md
- text: February 2025
url: dotnet-docs-mod2.md
- - text: January 2025
- url: dotnet-docs-mod1.md
- title: Language updates
linkLists:
- linkListType: whats-new
diff --git a/docs/whats-new/toc.yml b/docs/whats-new/toc.yml
index bb1d3812feaee..1251c2a4e3fca 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: April 2025
+ href: dotnet-docs-mod1.md
- name: March 2025
href: dotnet-docs-mod0.md
- name: February 2025
href: dotnet-docs-mod2.md
- - name: January 2025
- href: dotnet-docs-mod1.md
- name: Product updates
items:
- name: .NET 10
From 66e410f0c13b4d920df5c0fbcd495177280d9793 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 1 May 2025 21:47:28 +0000
Subject: [PATCH 05/11] =?UTF-8?q?Bot=20=F0=9F=A4=96=20generated=20CleanRep?=
=?UTF-8?q?o=20tool=20run=20(#45977)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: gewarren
---
.../cpp/catchexception.cpp | 62 -------------------
.../cpp/catchexception.cpp | 27 --------
2 files changed, 89 deletions(-)
delete mode 100644 docs/standard/exceptions/snippets/how-to-use-specific-exceptions-in-a-catch-block/cpp/catchexception.cpp
delete mode 100644 docs/standard/exceptions/snippets/how-to-use-the-try-catch-block-to-catch-exceptions/cpp/catchexception.cpp
diff --git a/docs/standard/exceptions/snippets/how-to-use-specific-exceptions-in-a-catch-block/cpp/catchexception.cpp b/docs/standard/exceptions/snippets/how-to-use-specific-exceptions-in-a-catch-block/cpp/catchexception.cpp
deleted file mode 100644
index 124e92de5c416..0000000000000
--- a/docs/standard/exceptions/snippets/how-to-use-specific-exceptions-in-a-catch-block/cpp/catchexception.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-using namespace System;
-
-public ref class Employee
-{
-public:
- Employee()
- {
- emlevel = 0;
- }
-
- //Create employee level property.
- property int Emlevel
- {
- int get()
- {
- return emlevel;
- }
- void set(int value)
- {
- emlevel = value;
- }
- }
-
-private:
- int emlevel;
-};
-
-public ref class Ex13
-{
-public:
- static void PromoteEmployee(Object^ emp)
- {
- //Cast object to Employee.
- Employee^ e = (Employee^) emp;
- // Increment employee level.
- e->Emlevel++;
- }
-
- static void Main()
- {
- try
- {
- Object^ o = gcnew Employee();
- DateTime^ newyears = gcnew DateTime(2001, 1, 1);
- //Promote the new employee.
- PromoteEmployee(o);
- //Promote DateTime; results in InvalidCastException as newyears is not an employee instance.
- PromoteEmployee(newyears);
- }
- catch (InvalidCastException^ e)
- {
- Console::WriteLine("Error passing data to PromoteEmployee method. " + e->Message);
- }
- }
-};
-
-int main()
-{
- Ex13::Main();
-}
-//
diff --git a/docs/standard/exceptions/snippets/how-to-use-the-try-catch-block-to-catch-exceptions/cpp/catchexception.cpp b/docs/standard/exceptions/snippets/how-to-use-the-try-catch-block-to-catch-exceptions/cpp/catchexception.cpp
deleted file mode 100644
index 93113b49c1b8e..0000000000000
--- a/docs/standard/exceptions/snippets/how-to-use-the-try-catch-block-to-catch-exceptions/cpp/catchexception.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-using namespace System;
-using namespace System::IO;
-
-public ref class ProcessFile
-{
-public:
- static void Main()
- {
- try
- {
- StreamReader^ sr = File::OpenText("data.txt");
- Console::WriteLine("The first line of this file is {0}", sr->ReadLine());
- sr->Close();
- }
- catch (Exception^ e)
- {
- Console::WriteLine("An error occurred: '{0}'", e);
- }
- }
-};
-
-int main()
-{
- ProcessFile::Main();
-}
-//
From ff8d253d4644d549b22fea9482f816f2805d7d80 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 1 May 2025 21:49:35 +0000
Subject: [PATCH 06/11] =?UTF-8?q?Bot=20=F0=9F=A4=96=20generated=20CleanRep?=
=?UTF-8?q?o=20tool=20run=20(#45976)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: gewarren
---
docs/csharp/language-reference/builtin-types/enum.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/csharp/language-reference/builtin-types/enum.md b/docs/csharp/language-reference/builtin-types/enum.md
index 53975fc6cfef2..2fb7ebfa3eea2 100644
--- a/docs/csharp/language-reference/builtin-types/enum.md
+++ b/docs/csharp/language-reference/builtin-types/enum.md
@@ -50,7 +50,7 @@ If you want an enumeration type to represent a combination of choices, define en
[!code-csharp[enum flags](snippets/shared/EnumType.cs#Flags)]
-For more information and examples, see the API reference page and the [Non-exclusive members and the Flags attribute](/dotnet/fundamentals/runtime-libraries/system-enum#non-exclusive-members-and-the-flags-attribute) section of the API reference page.
+For more information and examples, see the API reference page and the [Non-exclusive members and the Flags attribute](../../../fundamentals/runtime-libraries/system-enum.md#non-exclusive-members-and-the-flags-attribute) section of the API reference page.
## The System.Enum type and enum constraint
From d38c745ea331a6b597cec18bfc2cde676863b509 Mon Sep 17 00:00:00 2001
From: Andy Gocke
Date: Thu, 1 May 2025 14:50:14 -0700
Subject: [PATCH 07/11] Update trimming-options.md (#45945)
---
.../deploying/trimming/trimming-options.md | 68 +------------------
1 file changed, 1 insertion(+), 67 deletions(-)
diff --git a/docs/core/deploying/trimming/trimming-options.md b/docs/core/deploying/trimming/trimming-options.md
index d3f05ee21b3b4..991fefb7fa11f 100644
--- a/docs/core/deploying/trimming/trimming-options.md
+++ b/docs/core/deploying/trimming/trimming-options.md
@@ -3,7 +3,7 @@ title: Trimming options
description: Learn how to control trimming of self-contained apps using MSBuild properties. For example, set trimming granularity or suppress trim analysis warnings.
author: sbomer
ms.author: svbomer
-ms.date: 08/29/2024
+ms.date: 05/01/2025
ms.topic: reference
---
@@ -24,74 +24,8 @@ Trimming with `PublishTrimmed` was introduced in .NET Core 3.0. The other option
Place this setting in the project file to ensure that the setting applies during `dotnet build`, not just `dotnet publish`.
-This setting enables trimming and trims all assemblies by default. In .NET 6, only assemblies that opted-in to trimming via `[AssemblyMetadata("IsTrimmable", "True")]` (added in projects that set `true`) were trimmed by default. You can return to the previous behavior by using `partial`.
-
This setting also enables the trim-compatibility [Roslyn analyzer](#roslyn-analyzer) and disables [features that are incompatible with trimming](#framework-features-disabled-when-trimming).
-## Trimming granularity
-
-Use the `TrimMode` property to set the trimming granularity to either `partial` or `full`. The default setting for console apps (and, starting in .NET 8, Web SDK apps) is `full`:
-
-```xml
-full
-```
-
-To only trim assemblies that have opted-in to trimming, set the property to `partial`:
-
-```xml
-partial
-```
-
-If you change the trim mode to `partial`, you can opt-in individual assemblies to trimming by using a `` MSBuild item.
-
-```xml
-
-
-
-```
-
-This is equivalent to setting `[AssemblyMetadata("IsTrimmable", "True")]` when building the assembly.
-
-## Root assemblies
-
-If an assembly is not trimmed, it's considered "rooted", which means that it and all of its statically understood dependencies will be kept. Additional assemblies can be "rooted" by name (without the `.dll` extension):
-
-```xml
-
-
-
-```
-
-## Root descriptors
-
-Another way to specify roots for analysis is using an XML file that uses the trimmer [descriptor format](https://github.com/dotnet/runtime/blob/main/docs/tools/illink/data-formats.md#descriptor-format). This lets you root specific members instead of a whole assembly.
-
-```xml
-
-
-
-```
-
-For example, `MyRoots.xml` might root a specific method that's dynamically accessed by the application:
-
-```xml
-
-
-
-
-
-
-
-```
-
-## Analysis warnings
-
-- `false`
-
- Enable trim analysis warnings.
-
-Trimming removes IL that's not statically reachable. Apps that use reflection or other patterns that create dynamic dependencies might be broken by trimming. To warn about such patterns, set `` to `false`. This setting will surface warnings about the entire app, including your own code, library code, and framework code.
-
## Roslyn analyzer
Setting `PublishTrimmed` in .NET 6+ also enables a Roslyn analyzer that shows a _limited_ set of analysis warnings. You can also enable or disable the analyzer independently of `PublishTrimmed`.
From 4538f982d29c376ddbdb7bd14c7fc18a811db22a Mon Sep 17 00:00:00 2001
From: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Date: Thu, 1 May 2025 14:51:17 -0700
Subject: [PATCH 08/11] Clarify generated code exclusions (#45986)
---
docs/fundamentals/code-analysis/configuration-options.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/fundamentals/code-analysis/configuration-options.md b/docs/fundamentals/code-analysis/configuration-options.md
index e31b44dd3324b..031c5a9a712f1 100644
--- a/docs/fundamentals/code-analysis/configuration-options.md
+++ b/docs/fundamentals/code-analysis/configuration-options.md
@@ -64,6 +64,9 @@ By default, files with certain file extensions or auto-generated file headers ar
generated_code = true
```
+> [!NOTE]
+> Generated code files are excluded only from code analysis diagnostics. Other diagnostics, such as those from the C# compiler, aren't affected by this setting.
+
## Rule-specific options
Rule-specific options can be applied to a single rule, a set of rules, or all rules. The rule-specific options include:
From 2b0fed333598f554d42821a045da7a14b693e782 Mon Sep 17 00:00:00 2001
From: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Date: Thu, 1 May 2025 14:51:35 -0700
Subject: [PATCH 09/11] Remove trailing comma (#45990)
---
.../standard/serialization/system-text-json/character-casing.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/standard/serialization/system-text-json/character-casing.md b/docs/standard/serialization/system-text-json/character-casing.md
index d93ecb4051956..a94fc60333456 100644
--- a/docs/standard/serialization/system-text-json/character-casing.md
+++ b/docs/standard/serialization/system-text-json/character-casing.md
@@ -34,7 +34,7 @@ Here's example JSON with camel case property names. It can be deserialized into
{
"date": "2019-08-01T00:00:00-07:00",
"temperatureCelsius": 25,
- "summary": "Hot",
+ "summary": "Hot"
}
```
From f72b57f4379f0e5f6bfa0ac0759642bb22f0ea0d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 1 May 2025 23:25:56 +0000
Subject: [PATCH 10/11] Bump Microsoft.Extensions.VectorData.Abstractions from
9.0.0-preview.1.25161.1 to 9.0.0-preview.1.25229.1 in
/docs/ai/quickstarts/snippets/chat-with-data/openai in the dotnet group
(#45963)
* Bump Microsoft.Extensions.VectorData.Abstractions
Bumps the dotnet group in /docs/ai/quickstarts/snippets/chat-with-data/openai with 1 update: [Microsoft.Extensions.VectorData.Abstractions](https://github.com/microsoft/semantic-kernel).
Updates `Microsoft.Extensions.VectorData.Abstractions` from 9.0.0-preview.1.25161.1 to 9.0.0-preview.1.25229.1
- [Release notes](https://github.com/microsoft/semantic-kernel/releases)
- [Commits](https://github.com/microsoft/semantic-kernel/commits)
---
updated-dependencies:
- dependency-name: Microsoft.Extensions.VectorData.Abstractions
dependency-version: 9.0.0-preview.1.25229.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dotnet
...
Signed-off-by: dependabot[bot]
* fix build errors
* use file scoped namespace
---------
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
---
.../ai/quickstarts/build-vector-search-app.md | 6 +++--
.../azure-openai/CloudService.cs | 23 +++++++++----------
.../chat-with-data/openai/CloudService.cs | 2 +-
.../snippets/chat-with-data/openai/Program.cs | 14 ++++-------
.../chat-with-data/openai/VectorDataAI.csproj | 7 +++---
5 files changed, 25 insertions(+), 27 deletions(-)
diff --git a/docs/ai/quickstarts/build-vector-search-app.md b/docs/ai/quickstarts/build-vector-search-app.md
index 303818e451c12..8d29515b4f2ff 100644
--- a/docs/ai/quickstarts/build-vector-search-app.md
+++ b/docs/ai/quickstarts/build-vector-search-app.md
@@ -77,9 +77,10 @@ Complete the following steps to create a .NET console app that can:
dotnet add package Microsoft.SemanticKernel.Connectors.InMemory --prerelease
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.UserSecrets
+ dotnet add package System.Linq.AsyncEnumerable
```
- The following list describes what each package is used for in the `VectorDataAI` app:
+ The following list describes each package in the `VectorDataAI` app:
- [`Azure.Identity`](https://www.nuget.org/packages/Azure.Identity) provides [`Microsoft Entra ID`](/entra/fundamentals/whatis) token authentication support across the Azure SDK using classes such as `DefaultAzureCredential`.
- [`Azure.AI.OpenAI`](https://www.nuget.org/packages/Azure.AI.OpenAI) is the official package for using OpenAI's .NET library with the Azure OpenAI Service.
@@ -98,9 +99,10 @@ Complete the following steps to create a .NET console app that can:
dotnet add package Microsoft.SemanticKernel.Connectors.InMemory --prerelease
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.UserSecrets
+ dotnet add package System.Linq.AsyncEnumerable
```
- The following list describes what each package is used for in the `VectorDataAI` app:
+ The following list describes each package in the `VectorDataAI` app:
- [`Microsoft.Extensions.AI.OpenAI`](https://www.nuget.org/packages/Microsoft.Extensions.AI.OpenAI) provides AI abstractions for OpenAI-compatible models or endpoints. This library also includes the official [`OpenAI`](https://www.nuget.org/packages/OpenAI) library for the OpenAI service API as a dependency.
- [`Microsoft.SemanticKernel.Connectors.InMemory`](https://www.nuget.org/packages/Microsoft.SemanticKernel.Connectors.InMemory) provides an in-memory vector store class to hold queryable vector data records.
diff --git a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/CloudService.cs b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/CloudService.cs
index 13d3936c3dc99..5356337146ef4 100644
--- a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/CloudService.cs
+++ b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/CloudService.cs
@@ -1,19 +1,18 @@
using Microsoft.Extensions.VectorData;
-namespace VectorDataAI
+namespace VectorDataAI;
+
+internal class CloudService
{
- internal class CloudService
- {
- [VectorStoreRecordKey]
- public int Key { get; set; }
+ [VectorStoreRecordKey]
+ public int Key { get; set; }
- [VectorStoreRecordData]
- public string Name { get; set; }
+ [VectorStoreRecordData]
+ public string Name { get; set; }
- [VectorStoreRecordData]
- public string Description { get; set; }
+ [VectorStoreRecordData]
+ public string Description { get; set; }
- [VectorStoreRecordVector(384, DistanceFunction.CosineSimilarity)]
- public ReadOnlyMemory Vector { get; set; }
- }
+ [VectorStoreRecordVector(384, DistanceFunction.CosineSimilarity)]
+ public ReadOnlyMemory Vector { get; set; }
}
diff --git a/docs/ai/quickstarts/snippets/chat-with-data/openai/CloudService.cs b/docs/ai/quickstarts/snippets/chat-with-data/openai/CloudService.cs
index 13d3936c3dc99..d4d058e8b8f8f 100644
--- a/docs/ai/quickstarts/snippets/chat-with-data/openai/CloudService.cs
+++ b/docs/ai/quickstarts/snippets/chat-with-data/openai/CloudService.cs
@@ -13,7 +13,7 @@ internal class CloudService
[VectorStoreRecordData]
public string Description { get; set; }
- [VectorStoreRecordVector(384, DistanceFunction.CosineSimilarity)]
+ [VectorStoreRecordVector(Dimensions: 384, DistanceFunction = DistanceFunction.CosineSimilarity)]
public ReadOnlyMemory Vector { get; set; }
}
}
diff --git a/docs/ai/quickstarts/snippets/chat-with-data/openai/Program.cs b/docs/ai/quickstarts/snippets/chat-with-data/openai/Program.cs
index e3fb7cd88cf7a..042987331b192 100644
--- a/docs/ai/quickstarts/snippets/chat-with-data/openai/Program.cs
+++ b/docs/ai/quickstarts/snippets/chat-with-data/openai/Program.cs
@@ -58,24 +58,20 @@
foreach (CloudService service in cloudServices)
{
- service.Vector = await generator.GenerateEmbeddingVectorAsync(service.Description);
+ service.Vector = await generator.GenerateVectorAsync(service.Description);
await cloudServicesStore.UpsertAsync(service);
}
// Convert a search query to a vector and search the vector store.
string query = "Which Azure service should I use to store my Word documents?";
-ReadOnlyMemory queryEmbedding = await generator.GenerateEmbeddingVectorAsync(query);
+ReadOnlyMemory queryEmbedding = await generator.GenerateVectorAsync(query);
-VectorSearchResults results =
- await cloudServicesStore.VectorizedSearchAsync(queryEmbedding, new VectorSearchOptions()
- {
- Top = 1
- });
+List> results =
+ await cloudServicesStore.SearchEmbeddingAsync(queryEmbedding, top: 1).ToListAsync();
-await foreach (VectorSearchResult result in results.Results)
+foreach (VectorSearchResult result in results)
{
Console.WriteLine($"Name: {result.Record.Name}");
Console.WriteLine($"Description: {result.Record.Description}");
Console.WriteLine($"Vector match score: {result.Score}");
- Console.WriteLine();
}
diff --git a/docs/ai/quickstarts/snippets/chat-with-data/openai/VectorDataAI.csproj b/docs/ai/quickstarts/snippets/chat-with-data/openai/VectorDataAI.csproj
index 1dc474c719eb3..62bcadf35ed6a 100644
--- a/docs/ai/quickstarts/snippets/chat-with-data/openai/VectorDataAI.csproj
+++ b/docs/ai/quickstarts/snippets/chat-with-data/openai/VectorDataAI.csproj
@@ -8,11 +8,12 @@
-
-
-
+
+
+
+
From 89c8783bfb2e7654783a9c37bad32ca043b4cb3d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 1 May 2025 23:31:27 +0000
Subject: [PATCH 11/11] Bump Microsoft.Extensions.VectorData.Abstractions from
9.0.0-preview.1.25161.1 to 9.0.0-preview.1.25229.1 in
/docs/ai/quickstarts/snippets/chat-with-data/azure-openai in the dotnet group
(#45969)
* Bump Microsoft.Extensions.VectorData.Abstractions
Bumps the dotnet group in /docs/ai/quickstarts/snippets/chat-with-data/azure-openai with 1 update: [Microsoft.Extensions.VectorData.Abstractions](https://github.com/microsoft/semantic-kernel).
Updates `Microsoft.Extensions.VectorData.Abstractions` from 9.0.0-preview.1.25161.1 to 9.0.0-preview.1.25229.1
- [Release notes](https://github.com/microsoft/semantic-kernel/releases)
- [Commits](https://github.com/microsoft/semantic-kernel/commits)
---
updated-dependencies:
- dependency-name: Microsoft.Extensions.VectorData.Abstractions
dependency-version: 9.0.0-preview.1.25229.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dotnet
...
Signed-off-by: dependabot[bot]
* resolve build errors
---------
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
---
docs/ai/quickstarts/build-vector-search-app.md | 8 ++++----
.../chat-with-data/azure-openai/CloudService.cs | 2 +-
.../chat-with-data/azure-openai/Program.cs | 14 +++++---------
.../azure-openai/VectorDataAI.csproj | 12 +++++++-----
4 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/docs/ai/quickstarts/build-vector-search-app.md b/docs/ai/quickstarts/build-vector-search-app.md
index 8d29515b4f2ff..70a469a21be4b 100644
--- a/docs/ai/quickstarts/build-vector-search-app.md
+++ b/docs/ai/quickstarts/build-vector-search-app.md
@@ -145,16 +145,16 @@ Complete the following steps to create a .NET console app that can:
## Add the app code
-1. Add a new class named **CloudService** to your project with the following properties:
+1. Add a new class named `CloudService` to your project with the following properties:
:::code language="csharp" source="snippets/chat-with-data/azure-openai/CloudService.cs" :::
In the preceding code:
- The C# attributes provided by `Microsoft.Extensions.VectorData` influence how each property is handled when used in a vector store.
- - The **Vector** property stores a generated embedding that represents the semantic meaning of the **Name** and **Description** for vector searches.
+ - The `Vector` property stores a generated embedding that represents the semantic meaning of the `Name` and `Description` for vector searches.
-1. In the **Program.cs** file, add the following code to create a data set that describes a collection of cloud services:
+1. In the `Program.cs` file, add the following code to create a data set that describes a collection of cloud services:
:::code language="csharp" source="snippets/chat-with-data/azure-openai/program.cs" id="DataSet":::
@@ -191,7 +191,7 @@ Complete the following steps to create a .NET console app that can:
dotnet run
```
- The app prints out the top result of the vector search, which is the cloud service that is most relevant to the original query. You can modify the query to try different search scenarios.
+ The app prints out the top result of the vector search, which is the cloud service that's most relevant to the original query. You can modify the query to try different search scenarios.
:::zone target="docs" pivot="azure-openai"
diff --git a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/CloudService.cs b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/CloudService.cs
index 5356337146ef4..93ed6d200d47f 100644
--- a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/CloudService.cs
+++ b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/CloudService.cs
@@ -13,6 +13,6 @@ internal class CloudService
[VectorStoreRecordData]
public string Description { get; set; }
- [VectorStoreRecordVector(384, DistanceFunction.CosineSimilarity)]
+ [VectorStoreRecordVector(Dimensions: 384, DistanceFunction = DistanceFunction.CosineSimilarity)]
public ReadOnlyMemory Vector { get; set; }
}
diff --git a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/Program.cs b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/Program.cs
index 9ca7b08c26b91..3be4e3eddc2bc 100644
--- a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/Program.cs
+++ b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/Program.cs
@@ -64,7 +64,7 @@
foreach (CloudService service in cloudServices)
{
- service.Vector = await generator.GenerateEmbeddingVectorAsync(service.Description);
+ service.Vector = await generator.GenerateVectorAsync(service.Description);
await cloudServicesStore.UpsertAsync(service);
}
//
@@ -72,19 +72,15 @@
//
// Convert a search query to a vector and search the vector store
string query = "Which Azure service should I use to store my Word documents?";
-ReadOnlyMemory queryEmbedding = await generator.GenerateEmbeddingVectorAsync(query);
+ReadOnlyMemory queryEmbedding = await generator.GenerateVectorAsync(query);
-VectorSearchResults results =
- await cloudServicesStore.VectorizedSearchAsync(queryEmbedding, new VectorSearchOptions()
- {
- Top = 1
- });
+List> results =
+ await cloudServicesStore.SearchEmbeddingAsync(queryEmbedding, top: 1).ToListAsync();
-await foreach (VectorSearchResult result in results.Results)
+foreach (VectorSearchResult result in results)
{
Console.WriteLine($"Name: {result.Record.Name}");
Console.WriteLine($"Description: {result.Record.Description}");
Console.WriteLine($"Vector match score: {result.Score}");
- Console.WriteLine();
}
//
diff --git a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/VectorDataAI.csproj b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/VectorDataAI.csproj
index 682198480e815..ef078811f8ccd 100644
--- a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/VectorDataAI.csproj
+++ b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/VectorDataAI.csproj
@@ -1,20 +1,22 @@
-
+
Exe
- net8.0
+ net9.0
enable
enable
+ 5981f38c-e59c-46cc-80bb-463f8c3f1691
-
-
-
+
+
+
+