Version 10.9.0 is headlined by changes in these areas:
- AI: New experimental routing APIs center on the abstract
RoutingChatClientbase class, withSemanticRoutingChatClientas a concrete semantic-routing implementation. Separately, the abstractFailoverChatClientspecialization and its concreteOrderedFailoverChatClientimplementation add failover routing. - AI Evaluation: The generated report gains redesigned Overview, Cases, History, and Comparison views.
- ASP.NET Core and HTTP diagnostics: The release adds HTTP request latency log enrichment and fixes configuration binding, response-body logging, request-path redaction, and resilience package version handling.
- Source-generated logging and service discovery: Fixes cover classification type qualification, thread-local state cleanup, and DNS query suffix handling.
Experimental API Changes
New Experimental APIs
- New experimental API: HTTP request latency log enrichment (
EXTEXP0013) #7602 - New experimental API: Chat client routing and failover (
MEAI001) #7662
What's Changed
AI (Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI)
- Add extensible chat client routing #7662 by @joshuajyue (co-authored by @Copilot)
- Pass the request's options to the selected client #7685 by @joshuajyue (co-authored by @jozkee @Copilot)
- AI.Abstractions: fix ExcludeFromSchema dropped under concurrent AIFunction creation #7677 by @jozkee (co-authored by @Copilot)
- Cap OpenAI dependency version (b10f9c0) by @jeffhandley (co-authored by @Copilot)
Note: Microsoft.Extensions.AI.OpenAI constrains its dependency for OpenAI to 2.12.x, preventing OpenAI updates to 2.13.0+ due to an incompatibility. We expect to release Microsoft.Extensions.AI.OpenAI version 10.9.1 during the week of August 17 to address this issue.
HTTP Resilience and Diagnostics (Microsoft.Extensions.Http.Resilience and Microsoft.Extensions.Http.Diagnostics)
- Fix Grpc.Net.ClientFactory version range check - Fixes #7565 #7566 by @Ghost93
- Fix response body logging under debugger #7678 by @Rimobul
- Redact outgoing path when route is unknown #7687 by @Rimobul
- Fix HTTP client logging config binding #7691 by @Rimobul
ASP.NET Core Extensions (Microsoft.AspNetCore.Diagnostics.Middleware)
- Rename HttpLatencyTelemetry extensions class and drop redundant TFM guard #7645 by @EasyL0ver (co-authored by @Copilot)
- Add HTTP request latency log enricher (experimental) #7602 by @EasyL0ver (co-authored by @Copilot)
Logging Source Generator (Microsoft.Gen.Logging)
- [Microsoft.Gen.Logging] Clear thread-local state when logging throws #7682 by @Rimobul
- [Microsoft.Gen.Logging] Fully qualify classification types #7689 by @Rimobul
AI Evaluation (Microsoft.Extensions.AI.Evaluation.Reporting)
- [Microsoft.Extensions.AI.Evaluation.Reporting] Evaluation report redesign #7609 by @grafanaKibana
Project Templates (Microsoft.McpServer.ProjectTemplates)
- Remove MCP server project template #7680 by @jeffhandley (co-authored by @Copilot)
Note: The MCP server project template was migrated to the dotnet/aspnetcore repository, and it is now included in the .NET 10 and .NET 11 SDKs.
Service Discovery (Microsoft.Extensions.ServiceDiscovery.Dns)
Test Improvements
- Update Microsoft.Data.SqlClient test dependency (aaea3c8) by @jeffhandley (co-authored by @Copilot)
Repository Infrastructure Updates
- [main] Update dependencies from dotnet/arcade #7621
- Merge release/10.8 into main #7632 by @jeffhandley (co-authored by @jozkee @Copilot)
- Add agentic workflows that keep Microsoft.Extensions.AI aligned with OpenTelemetry GenAI semantic-conventions #7611 by @jeffhandley (co-authored by @Copilot)
- Bump brace-expansion, eslint and tfx-cli in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7648
- Add a release-manager agent for the dotnet/extensions release process #7643 by @jeffhandley (co-authored by @Copilot)
- Bump CommunityToolkit.VectorData package baselines to 1.0.0 / 1.0.0-preview #7651 by @adamsitnik (co-authored by @Copilot)
- Incorporate servicing release experience into release-manager playbooks #7656 by @jeffhandley (co-authored by @Copilot)
- Bump dotnet-reportgenerator-globaltool from 5.5.10 to 5.5.11 #7666
- Bump adm-zip and azure-pipelines-task-lib in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript/azure-devops-report/tasks/PublishAIEvaluationReport #7652
- Bump postcss from 8.5.15 to 8.5.23 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7660
- Bump PowerShell from 7.6.3 to 7.6.4 #7650
- [main] Update dependencies from dotnet/arcade #7644
- [release-manager] Require package dependency closure for releases #7693 by @jeffhandley (co-authored by @Copilot)
- Optionally allow official builds to publish VSIX extension. #7692 by @peterwald
- [main] Update dependencies from dotnet/arcade #7690
Acknowledgements
- @EasyL0ver made their first contribution in #7602
- @Ghost93 made their first contribution in #7566
- @grafanaKibana made their first contribution in #7609
- @Rimobul made their first contribution in #7678
- @joshuajyue made their first contribution in #7662
- @Ghost93 submitted issue #7565 (resolved by #7566)
- @grafanaKibana submitted issue #7593 (resolved by #7609)
- @jredgard submitted issue #7675 (resolved by #7677)
- @viorelbuligadev submitted issue #7649 (resolved by #7678)
- @joshuajyue submitted issue #7647 (resolved by #7662)
- @jboelter submitted issue #7634 (resolved by #7682)
- @dmeeze submitted issue #7157 (resolved by #7689)
- @ssmelov submitted issue #7536 (resolved by #7687)
- @Marcus-Kanon submitted issue #7551 (resolved by #7691)
- @vermilion submitted issue #7175 (resolved by #7688)
- @evgenyfedorov2 @wtgodbe @shyamnamboodiripad @dariusclay @iliar-turdushev @mariamgerges @PranavSenthilnathan @rafal-mz @tannergooding @tarekgh reviewed pull requests
Full Changelog: v10.8.4...v10.9.0
Packages in this release
| Package | Version |
|---|---|
| Microsoft.AspNetCore.Testing | 10.9.0 |
| Microsoft.Extensions.AI.Abstractions | 10.9.0 |
| Microsoft.Extensions.AI.Evaluation.Console | 10.9.0 |
| Microsoft.Extensions.AI.Templates | 10.9.0-preview.3.26411.16 |
| Microsoft.Extensions.AmbientMetadata.Application | 10.9.0 |
| Microsoft.Extensions.AmbientMetadata.Build | 10.9.0 |
| Microsoft.Extensions.AuditReports | 10.9.0 |
| Microsoft.Extensions.Caching.Hybrid | 10.9.0 |
| Microsoft.Extensions.Compliance.Abstractions | 10.9.0 |
| Microsoft.Extensions.DataIngestion.Abstractions | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.DependencyInjection.AutoActivation | 10.9.0 |
| Microsoft.Extensions.Diagnostics.ExceptionSummarization | 10.9.0 |
| Microsoft.Extensions.ObjectPool.DependencyInjection | 10.9.0 |
| Microsoft.Extensions.Options.Contextual | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.ServiceDiscovery.Abstractions | 10.9.0 |
| Microsoft.Extensions.StaticAnalysis | 10.9.0 |
| Microsoft.Extensions.TimeProvider.Testing | 10.9.0 |
| Microsoft.Extensions.AI | 10.9.0 |
| Microsoft.Extensions.AI.Evaluation | 10.9.0 |
| Microsoft.Extensions.AI.OpenAI | 10.9.0 |
| Microsoft.Extensions.AsyncState | 10.9.0 |
| Microsoft.Extensions.Compliance.Redaction | 10.9.0 |
| Microsoft.Extensions.Compliance.Testing | 10.9.0 |
| Microsoft.Extensions.DataIngestion.Markdig | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.DataIngestion.MarkItDown | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.ServiceDiscovery | 10.9.0 |
| Microsoft.Extensions.Telemetry.Abstractions | 10.9.0 |
| Microsoft.Extensions.VectorData.Abstractions | 10.9.0 |
| Microsoft.AspNetCore.AsyncState | 10.9.0 |
| Microsoft.AspNetCore.HeaderParsing | 10.9.0 |
| Microsoft.Extensions.AI.Evaluation.NLP | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.AI.Evaluation.Quality | 10.9.0 |
| Microsoft.Extensions.AI.Evaluation.Reporting | 10.9.0 |
| Microsoft.Extensions.AI.Evaluation.Safety | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.DataIngestion | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.Diagnostics.HealthChecks.Common | 10.9.0 |
| Microsoft.Extensions.Diagnostics.Probes | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.Diagnostics.ResourceMonitoring | 10.9.0 |
| Microsoft.Extensions.Diagnostics.Testing | 10.9.0 |
| Microsoft.Extensions.Resilience | 10.9.0 |
| Microsoft.Extensions.ServiceDiscovery.Dns | 10.9.0 |
| Microsoft.Extensions.ServiceDiscovery.Yarp | 10.9.0 |
| Microsoft.Extensions.Telemetry | 10.9.0 |
| Microsoft.Extensions.VectorData.ConformanceTests | 10.9.0 |
| Microsoft.AspNetCore.Diagnostics.Middleware | 10.9.0 |
| Microsoft.Extensions.AI.Evaluation.Reporting.Azure | 10.9.0 |
| Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization | 10.9.0 |
| Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes | 10.9.0 |
| Microsoft.Extensions.Hosting.Testing | 10.9.0-preview.1.26411.16 |
| Microsoft.Extensions.Http.Diagnostics | 10.9.0 |
| Microsoft.Extensions.Http.Resilience | 10.9.0 |
The Microsoft.Agents.AI.ProjectTemplates package is not included in this release.