NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #565 most downloaded on NuGet
Abstractions representing generative AI components.
Last release 13 days ago
25 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Some releases are documented
notes for 10 of 29 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
29 releases · first in 2025
One column per month.
This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party O
This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0.
| Package | Version |
|---|---|
| Microsoft.Extensions.AI.OpenAI | 10.10.1 |
| Microsoft.Extensions.AI.Abstractions | 10.10.1 |
Full Changelog: v10.10.0...v10.10.1
[Infrastructure] Update vulnerable npm dependencies #7705 by @wtgodbe
This month's release focuses on AI package reliability: closing gaps in evaluation scoring, hardening OpenAI image-option handling, and removing the deprecated OpenAI Assistants API support.
OPENAI001) #7724Full Changelog: v10.9.0...v10.10.0
Version 10.9.0 is headlined by changes in these areas:
Version 10.9.0 is headlined by changes in these areas:
RoutingChatClient base class, with SemanticRoutingChatClient as a concrete semantic-routing implementation. Separately, the abstract FailoverChatClient specialization and its concrete OrderedFailoverChatClient implementation add failover routing.EXTEXP0013) #7602MEAI001) #7662Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI)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.
Microsoft.Extensions.Http.Resilience and Microsoft.Extensions.Http.Diagnostics)Microsoft.AspNetCore.Diagnostics.Middleware)Microsoft.Gen.Logging)Microsoft.Extensions.AI.Evaluation.Reporting)Microsoft.McpServer.ProjectTemplates)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.
Microsoft.Extensions.ServiceDiscovery.Dns)Full Changelog: v10.8.4...v10.9.0
| 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.
Microsoft.Extensions.AI.Abstractions 10.8.3
| Package | Version |
|---|---|
| Microsoft.Extensions.AI | 10.8.3 |
| Microsoft.Extensions.AI.Abstractions | 10.8.3 |
| Microsoft.Extensions.AI.OpenAI | 10.8.3 |
ToolApprovalRequestContent.RequiresConfirmation so it no longer leaks into consumer source-generated AIContent JSON metadata unless approval APIs are intentionally used (#7659).RequiresConfirmation in source-generated AIContent contexts by using an internal JSON-included backing member while keeping the public experimental member ignored for source-generation metadata (#7659).List<AIContent> contexts compile and round-trip without requiring MEAI001 suppression (#7659).This servicing release updates the Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI packages to 10.8.
This servicing release updates the Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI packages to 10.8.1 with two targeted fixes: correct tool-call/tool-result ordering when resuming approval-gated functions with service-managed chat history, and preservation of the OpenAI Responses reasoning item id for stateless (store=false) encrypted reasoning.
| Package | Version |
|---|---|
| Microsoft.Extensions.AI | 10.8.1 |
| Microsoft.Extensions.AI.Abstractions | 10.8.1 |
| Microsoft.Extensions.AI.OpenAI | 10.8.1 |
Full Changelog: v10.8.0...v10.8.1
Fix SQLitePCLRaw.lib.e_sqlite3 vulnerability by replacing SemanticKernel connectors with CommunityToolkit #7579 by @adamsitnik (co-authored by @Copilo…
This release adds new experimental APIs to Microsoft.Extensions.AI.Abstractions and updates the OpenAI dependency to 2.12.0, alongside documentation, test, and repository maintenance.
AIFunctionNameAttribute and AIParameterNameAttribute #7610 by @jozkee (co-authored by @jeffhandley @Copilot)ToolApprovalRequestContent.RequiresConfirmation (MEAI001) #7549 by @javiercn (co-authored by @Copilot)Full Changelog: v10.7.0...v10.8.0
v10.7.0 graduates the Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes package to stable. The package registers a Kubernetes-aware Resou
v10.7.0 graduates the Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes package to stable. The package registers a Kubernetes-aware ResourceQuotaProvider that reads the pod's CPU and memory requests and limits and exposes them to Microsoft.Extensions.Diagnostics.ResourceMonitoring as baseline and maximum quotas, which then feed the request and limit dimensions of the published resource utilization metrics. The companion ResourceQuota and ResourceQuotaProvider types in Microsoft.Extensions.Diagnostics.ResourceMonitoring graduate to stable in the same change so that consumers can implement custom quota providers without taking an experimental dependency.
On the AI side, Microsoft.Extensions.AI.OpenAI moves to OpenAI 2.11.0 and fixes a deserialization bug in ToolJson.AdditionalProperties so that JSON Schema additionalProperties values shaped as sub-schema objects (for example {"type":"string"}) are preserved instead of throwing during deserialization. HostedFileContent.SizeInBytes and HostedFileContent.CreatedAt graduate to stable since both values are consistently available across hosted-file providers, while Purpose and Scope remain experimental as provider-shaped vocabulary. FunctionInvokingChatClient drops a backward-compat path that auto-marked ToolApprovalResponseContent entries with InformationalOnly: true; consumers that need to continue accepting sessions serialized before #7468 can use the sample ApprovalHistoryNormalizingChatClient middleware added in the test project.
Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes package is now stable #7253ResourceQuota and ResourceQuotaProvider APIs are now stable (previously EXTEXP0008) #7253HostedFileContent.SizeInBytes and HostedFileContent.CreatedAt are now stable (previously MEAI001) #7513Full Changelog: v10.6.0...v10.7.0
Version 10.6.0 stabilizes the response continuation token and background-response APIs in Microsoft.Extensions.AI.Abstractions. Most other AI work for
Version 10.6.0 stabilizes the response continuation token and background-response APIs in Microsoft.Extensions.AI.Abstractions. Most other AI work for May shipped in 10.5.1; this monthly release rolls those changes up alongside dependency updates and a small Resource Monitoring cleanup.
MEAI001) #7512Full Changelog: v10.5.2...v10.6.0
This patch release ships a single fix to Microsoft.Extensions.VectorData.Abstractions , correcting StorageName resolution when external serialization
This patch release ships a single fix to Microsoft.Extensions.VectorData.Abstractions, correcting StorageName resolution when external serialization is enabled. Microsoft.Extensions.VectorData.ConformanceTests, Microsoft.Extensions.AI.Abstractions, Microsoft.Extensions.AI, and Microsoft.Extensions.AI.OpenAI are published alongside it for version coherency — they contain no code changes from 10.5.1.
| Package | Version |
|---|---|
| Microsoft.Extensions.VectorData.Abstractions | 10.5.2 |
| Microsoft.Extensions.VectorData.ConformanceTests | 10.5.2 |
| Microsoft.Extensions.AI.Abstractions | 10.5.2 |
| Microsoft.Extensions.AI | 10.5.2 |
| Microsoft.Extensions.AI.OpenAI | 10.5.2 |
StorageName behavior when external serialization is enabled, and disable a warning for net462. (by @roji in #7475)Full Changelog: v10.5.1...v10.5.2
Breaking Changes to Experimental APIs
Version 10.5.1 of the Microsoft.Extensions.AI packages stabilizes CodeInterpreter, WebSearch, and ImageGeneration tool content types. The release adds new experimental tool search and OpenAI request policy hooks. And the OpenTelemetry gen-ai semantic conventions are updated to align with v1.41.
The 'aiagent-webapi' project template in Microsoft.Agents.AI.ProjectTemplates is updated to align with v1.3.0 of Agent Framework, updating the OpenTelemetry dependencies within the template projects as well.
| Package | Version |
|---|---|
| Microsoft.Extensions.AI | 10.5.1 |
| Microsoft.Extensions.AI.Abstractions | 10.5.1 |
| Microsoft.Extensions.AI.OpenAI | 10.5.1 |
| Microsoft.Extensions.AI.Templates | 10.5.1-preview.3.26251.3 |
| Microsoft.Agents.AI.ProjectTemplates | 1.3.0-preview.1.26251.3 |
The following types previously emitted the MEAI001 experimental diagnostic and are now stable.
CodeInterpreterToolCallContentCodeInterpreterToolResultContentWebSearchToolCallContentWebSearchToolResultContentImageGenerationToolCallContentImageGenerationToolResultContentHostedImageGenerationToolImageGenerationOptionsImageGenerationResponseFormat (the Hosted enum value remains experimental)IImageGenerator and the rest of the image generation infrastructure also remain experimentalThe following new APIs emit the MEAI001 experimental diagnostic.
HostedToolSearchTool with DeferredTools for tool-search-driven deferred tool loading #7471OpenAIRequestPolicies extension hook for appending System.ClientModel.PipelinePolicy instances to outgoing OpenAI requests #7495WebSearchToolResultContent.Results was renamed to Outputs as part of the stabilization in #7493, aligning with CodeInterpreterToolResultContent.Outputs. The original Results property was included in version 10.4.0 and 10.5.0; this is a binary breaking change and consumers need to update to consume the updated property.
WebSearchToolResultContent content = ...;
- IList<AIContent>? items = content.Results;
+ IList<AIContent>? items = content.Outputs;Directory.SetCurrentDirectory and anchor cwd assertions to absolute paths #7487 by @jozkee (co-authored by @Copilot)Full Changelog: v10.5.0...v10.5.1
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →