Releases: dotnet/extensions
Release list
v10.8.2
This servicing release updates Microsoft.Extensions.VectorData.ConformanceTests to 10.8.2 and includes targeted test framework migration fixes.
Packages in this release
| Package | Version |
|---|---|
| Microsoft.Extensions.VectorData.ConformanceTests | 10.8.2 |
What's Changed
AI
- Move Microsoft.Extensions.VectorData.ConformanceTests to xUnit 3 #7636 by @adamsitnik (co-authored by @Copilot)
Acknowledgements
- @roji reviewed pull requests
Full Changelog: v10.8.1...v10.8.2
v10.8.1
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.
Packages in this release
| Package | Version |
|---|---|
| Microsoft.Extensions.AI | 10.8.1 |
| Microsoft.Extensions.AI.Abstractions | 10.8.1 |
| Microsoft.Extensions.AI.OpenAI | 10.8.1 |
What's Changed
AI
- Fix FICC tool_calls/tool ordering with approvals and service-managed chat history #7617 by @westey-m
- Roundtrip OpenAI Responses reasoning item id for stateless (store=false) encrypted reasoning #7629 by @rogerbarreto (co-authored by @tarekgh)
Acknowledgements
- @jozkee reviewed pull requests
Full Changelog: v10.8.0...v10.8.1
v10.8.0
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.
Experimental API Changes
New Experimental APIs
- New experimental API:
AIFunctionNameAttributeandAIParameterNameAttribute#7610 by @jozkee (co-authored by @jeffhandley @Copilot) - New experimental API:
ToolApprovalRequestContent.RequiresConfirmation(MEAI001) #7549 by @javiercn (co-authored by @Copilot)
What's Changed
AI
- Upgrade OpenAI dependency to 2.12.0 #7608 by @jozkee (co-authored by @Copilot)
- Auto-detect audio format in OpenAISpeechToTextClient #7575 by @jozkee (co-authored by @Copilot)
- Fix ImageGeneratingChatClient duplicating preceding content and dropping following content #7624 by @jozkee (co-authored by @Copilot)
Vector Data
- Make all test methods virtual in VectorData.ConformanceTests #7606 by @adamsitnik (co-authored by @Copilot)
Documentation Updates
- Remove links to ai-samples repo #7574 by @gewarren
- Fix up docs with Copilot (MEVD) #7597 by @gewarren
- Fix up docs with Copilot (M.E.ServiceDiscovery) #7598 by @gewarren (co-authored by @Copilot)
- Fix up docs with Copilot (MEAI) #7600 by @gewarren
- Fix up docs with Copilot #7601 by @gewarren
Test Improvements
- Fix flaky StampedeTests and harden related test waits #7572 by @jeffhandley (co-authored by @Copilot)
- Fix SQLitePCLRaw.lib.e_sqlite3 vulnerability by replacing SemanticKernel connectors with CommunityToolkit #7579 by @adamsitnik (co-authored by @Copilot)
- Removing SemanticKernel Connectors dependency and replacing it #7584 by @adamsitnik (co-authored by @Copilot)
- Migrate to xUnit v3 #7607 by @adamsitnik (co-authored by @shyamnamboodiripad @Copilot)
Repository Infrastructure Updates
- Update OTel GenAI conventions skill for standalone semconv-genai repo #7519 by @jeffhandley (co-authored by @Copilot)
- Bump dotnet-coverage from 18.7.0 to 18.8.0 #7552
- [main] Update dependencies from dotnet/arcade #7559
- Fix transitive MessagePack vulnerability in AI template AppHost projects #7561 by @adamsitnik (co-authored by @Copilot)
- Bump esbuild, @vitejs/plugin-react and vite in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7564
- Bump tmp from 0.2.6 to 0.2.7 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7569
- Bump js-yaml from 4.1.1 to 4.2.0 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7570
- Bump PowerShell from 7.6.2 to 7.6.3 #7576
- Remove duplicate 'WebAPI' classification from template #7577 by @danroth27
- [main] Update dependencies from dotnet/arcade #7590
- Eliminate redundant Correctness CI stage by merging into Build #7594 by @adamsitnik (co-authored by @Copilot)
- Update Agent Framework to 1.13.0 #7613 by @jeffhandley (co-authored by @Copilot)
- Bump dotnet-coverage from 18.8.0 to 18.9.0 #7615
Acknowledgements
- @wtgodbe @tarekgh @eiriktsarpalis @peterwald @PranavSenthilnathan @stephentoub @evgenyfedorov2 @roji @DeagleGross reviewed pull requests
Full Changelog: v10.7.0...v10.8.0
v10.7.0
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.
Experimental API Changes
Now Stable
Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetespackage is now stable #7253- Resource Monitoring
ResourceQuotaandResourceQuotaProviderAPIs are now stable (previouslyEXTEXP0008) #7253 HostedFileContent.SizeInBytesandHostedFileContent.CreatedAtare now stable (previouslyMEAI001) #7513
What's Changed
AI
- Graduate HostedFileContent.SizeInBytes and HostedFileContent.CreatedAt #7513 by @jozkee (co-authored by @Copilot)
- Remove backward-compat InformationalOnly case from FICC; suggest middleware workaround #7538 by @jozkee (co-authored by @Copilot)
- Upgrade OpenAI package from 2.10.0 to 2.11.0 #7544 by @jozkee (co-authored by @Copilot)
- Fix ToolJson.AdditionalProperties to accept sub-schema objects #7546 by @jozkee (co-authored by @Copilot)
Diagnostics, Health Checks, and Resource Monitoring
- Move Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes to stable #7253 by @amadeuszl (co-authored by @Copilot)
Repository Infrastructure Updates
- [main] Update dependencies from dotnet/arcade #7521
- Bump dotnet-reportgenerator-globaltool from 5.5.9 to 5.5.10 #7522
- Bump dotnet-coverage from 18.6.2 to 18.7.0 #7530
- Bump PowerShell from 7.6.1 to 7.6.2 #7531
- Bump qs from 6.15.1 to 6.15.2 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7532
- [main] Update dependencies from dotnet/arcade #7534
- Bump tmp from 0.2.5 to 0.2.6 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7537
Acknowledgements
- @ericstj submitted issue #7509 (resolved by #7544)
- @scottt732 submitted issue #7540 (resolved by #7546)
- @DeagleGross @wtgodbe @dariusclay @evgenyfedorov2 @peterwald @PranavSenthilnathan @shyamnamboodiripad @stephentoub @tarekgh reviewed pull requests
Full Changelog: v10.6.0...v10.7.0
v10.6.0
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.
Experimental API Changes
Now Stable
- ResponseContinuationToken and background-response APIs are now stable (previously
MEAI001) #7512
What's Changed
AI
- Stabilize ResponseContinuationToken / background-response APIs #7512 by @jozkee (co-authored by @Copilot)
Repository Infrastructure Updates
- Update version to 10.6.0 #7458 by @jeffhandley
- [main] Update dependencies from dotnet/arcade #7451
- Bump follow-redirects from 1.15.11 to 1.16.0 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript/azure-devops-report/tasks/PublishAIEvaluationReport #7469
- Merge release/10.5 into main #7470 by @jeffhandley
- Bump microsoft.visualstudio.slngen.tool from 12.0.13 to 12.0.32 #7484
- Bump postcss from 8.5.9 to 8.5.12 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7494
- Bump dotnet-reportgenerator-globaltool from 5.5.7 to 5.5.9 #7504
- Rename release-notes skill to write-release-notes #7511 by @jeffhandley (co-authored by @Copilot)
Acknowledgements
- @wtgodbe @tarekgh @peterwald @JeremyLikness @eiriktsarpalis @ericstj @evgenyfedorov2 reviewed pull requests
Full Changelog: v10.5.2...v10.6.0
v10.5.2
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.
Packages in this release
| 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 |
What's Changed
Microsoft.Extensions.VectorData.Abstractions
- Minor fixes to MEVD.Abstractions: correct
StorageNamebehavior when external serialization is enabled, and disable a warning fornet462. (by @roji in #7475)
Full Changelog: v10.5.1...v10.5.2
v10.5.1
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.
Packages in this release
| 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 |
Experimental API Changes
Now Stable
The following types previously emitted the MEAI001 experimental diagnostic and are now stable.
- CodeInterpreter and WebSearch tool content types are now stable #7493
CodeInterpreterToolCallContentCodeInterpreterToolResultContentWebSearchToolCallContentWebSearchToolResultContent
- ImageGeneration tool content types and tool are now stable #7476
ImageGenerationToolCallContentImageGenerationToolResultContentHostedImageGenerationToolImageGenerationOptionsImageGenerationResponseFormat(theHostedenum value remains experimental)IImageGeneratorand the rest of the image generation infrastructure also remain experimental
New Experimental APIs
The following new APIs emit the MEAI001 experimental diagnostic.
- New experimental API:
HostedToolSearchToolwithDeferredToolsfor tool-search-driven deferred tool loading #7471 - New experimental API:
OpenAIRequestPoliciesextension hook for appendingSystem.ClientModel.PipelinePolicyinstances to outgoing OpenAI requests #7495
Breaking Changes to Experimental APIs
-
WebSearchToolResultContent.Resultswas renamed toOutputsas part of the stabilization in #7493, aligning withCodeInterpreterToolResultContent.Outputs. The originalResultsproperty 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;
What's Changed
AI
- Stabilize CodeInterpreter and WebSearch content types #7493 by @jozkee (co-authored by @Copilot)
- Stabilize ImageGeneration content types and HostedImageGenerationTool #7476 by @jozkee (co-authored by @Copilot)
- HostedToolSearchTool with DeferredTools in the type #7471 by @jozkee (co-authored by @Copilot @stephentoub)
- Add OpenAIRequestPolicies extension hook for MEAI OpenAI clients #7495 by @rogerbarreto
- Update OpenTelemetry gen-ai conventions through v1.41 #7497 by @jeffhandley (co-authored by @Copilot)
- Bump the project template package reference versions for OpenTelemetry and Agent Framework #7491 by @jeffhandley
- Honor UnmappedMemberHandling in AIFunctionFactory parameter binding #7474 by @eiriktsarpalis (co-authored by @Copilot)
- Fix Namespace gaps in HostedToolSearchTool #7500 by @jozkee (co-authored by @Copilot)
- Fix: Mark both TARC and TAResp FunctionCallContent as InformationalOnly after approval processing #7468 by @westey-m (co-authored by @Copilot)
Test Improvements
- Fix flaky tests: remove process-wide
Directory.SetCurrentDirectoryand anchor cwd assertions to absolute paths #7487 by @jozkee (co-authored by @Copilot)
Repository Infrastructure Updates
- Bump dotnet-reportgenerator-globaltool from 5.1.19 to 5.5.7 #7489
- Bump dotnet-coverage from 17.8.2 to 18.6.2 #7481
- Bump Microsoft.Build.Traversal from 3.2.0 to 4.1.82 #7483
- Bump PowerShell from 7.3.3 to 7.6.1 #7485
Acknowledgements
- @peterwald @ericstj @tarekgh @wtgodbe @evgenyfedorov2 @lokitoth @mikekistler reviewed pull requests
Full Changelog: v10.5.0...v10.5.1
v10.5.0
HTTP Logging Middleware APIs in Microsoft.AspNetCore.Diagnostics.Middleware are now stable. This release also transfers Microsoft.Extensions.VectorData.Abstractions and Microsoft.Extensions.VectorData.ConformanceTests from the Semantic Kernel repository into dotnet/extensions, jumping from 10.1.0 to 10.5.0 for consistent versioning. The release also delivers fixes across the AI libraries, AI Evaluation, and Service Discovery.
Breaking Changes
- Rename
VectorStoreVectorAttributeconstructor parameter #7460- The
Dimensionsparameter was renamed todimensions(lowercase). This is a source-breaking change only — binary compatibility is preserved. - If you use the named argument syntax
new VectorStoreVectorAttribute(Dimensions: 1536), update it tonew VectorStoreVectorAttribute(dimensions: 1536).
- The
Experimental API Changes
Now Stable
- HTTP Logging Middleware APIs are now stable (previously
EXTEXP0013):AddHttpLogEnricher<T>,IHttpLogEnricher, andRequestHeadersLogEnricherOptions.HeadersDataClasses#7380
What's Changed
AI
- Fix OpenAIResponsesChatClient to respect "store":false in responses #7417 by @stephentoub
- Fix InvalidOperationException in CoalesceWebSearchToolCallContent #7419 by @stephentoub
- Handle F# optional parameters in AIFunctionFactory schema generation #7439 by @eiriktsarpalis
- Fix ComputerCallResponseItem using Item.Id instead of CallId #7446 by @jozkee
- Fix HostedFileContent with image MIME type sent as input_file instead of input_image #7438 by @stephentoub (co-authored by @copilot)
- Guard Activity.Current restore with null check in OpenTelemetry streaming clients #7443 by @stephentoub (co-authored by @copilot)
- Enable stateless mode in remote MCP server template (released as v1.2.0 on 2026-04-01) #7441 by @jeffhandley
Vector Data
- Move Microsoft.Extensions.VectorData.Abstractions over from Semantic Kernel #7434 by @roji
- Rename VectorStoreVectorAttribute dimensions constructor parameter #7460 by @roji
AI Evaluation
- Add Path Validation for DiskBasedResponseCache and DiskBasedResultStore #7397 by @peterwald
- Update brace-expansion for CVE-2026-33750 #7457 by @SamMonoRT
ASP.NET Core Extensions
- Removing experimental attribute from Http logging middleware #7380 by @mariamgerges
Service Discovery
Documentation Updates
- Remove per-library CHANGELOG.md files #7413 by @jeffhandley
Test Improvements
- Fix SqliteVectorStoreWriterTests hang: reduce test record count and use conditional MaxTopCount #7360 by @stephentoub (co-authored by @copilot)
Repository Infrastructure Updates
- Bump minimatch and azure-pipelines-task-lib in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7361
- Remove stale user-level .npmrc instead of npmAuthenticate #7366 by @ilonatommy
- [main] Update dependencies from dotnet/arcade #7374
- Use env vars in build.ps1 to bypass stale agent npm config #7376 by @ilonatommy
- Add a Release-Notes skill #7390 by @jeffhandley
- Enable CFSClean* policies for extensions-ci-official pipeline #7403 by @mmitche
- Fix CG alerts for Microsoft.Bcl.Memory #7418 by @wtgodbe
- Bump flatted from 3.3.3 to 3.4.2 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7421
- [main] Update dependencies from dotnet/arcade #7422
- Bump picomatch from 2.3.1 to 2.3.2 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7427
- Bump picomatch in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7429
- Stop using Mariner 2 images #7431 by @wtgodbe
- [main] Update dependencies from dotnet/arcade #7435
- Bump brace-expansion from 1.1.12 to 1.1.13 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7440
- Bump lodash from 4.17.23 to 4.18.1 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7455
- Bump vite from 6.4.1 to 6.4.2 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7456
- Correctly publish MEVD.ConformanceTests as nuget packages #7459 by @roji
- Update ApiChief baselines for MEAI and MEVD #7461 by @jeffhandley
- Upgrade to OpenAI 2.10.0 #7450 by @stephentoub
- Use shared DiagnosticIds constants for MEVD experimental APIs #7462 by @jeffhandley
Acknowledgements
- @shyamnamboodiripad @rogerbarreto @ReubenBond @evgenyfedorov2 @tarekgh reviewed pull requests
Full Changelog: v10.4.1...v10.5.0
v10.4.1
This release of the Microsoft.Extensions.AI packages adds new experimental APIs for Realtime client sessions and Text-to-Speech, along with OpenTelemetry and middleware improvements.
Packages in this release
| Package | Version |
|---|---|
| Microsoft.Extensions.AI.Abstractions | 10.4.1 |
| Microsoft.Extensions.AI | 10.4.1 |
| Microsoft.Extensions.AI.OpenAI | 10.4.1 |
Experimental API Changes
New Experimental APIs
- New experimental API: Realtime Client Sessions #7285 and #7399
- New experimental API: Text-to-Speech Client #7381
Changes to Experimental APIs
- Hosted File Download Stream: write-path methods now explicitly throw
NotSupportedException#7394
What's Changed
AI
- Add
ITextToSpeechClientabstraction, middleware, and OpenAI implementation #7381 by @stephentoub - Realtime Client Proposal #7285 by @tarekgh
- Add
VoiceActivityDetectionoptions to realtime session abstractions #7399 by @tarekgh - Make
UriContentmediaTypeparameter optional with inference from URI file extension #7398 by @stephentoub (co-authored by @Copilot) - Emit
gen_ai.client.operation.exceptionviaILogger LoggerMessageon OpenTelemetry instrumentation classes #7379 by @stephentoub (co-authored by @Copilot) - Support
invoke_workflowas an equivalent parent span toinvoke_agentinFunctionInvokingChatClient#7382 by @stephentoub (co-authored by @Copilot) - Make
HostedFileDownloadStreamexplicitly read-only #7394 by @stephentoub (co-authored by @Copilot)
Documentation Updates
- Document JSON schema derivation for return types in AIFunctionFactory #7400 by @stephentoub (co-authored by @Copilot)
Test Improvements
- Fix test warnings #7369 by @jozkee
- Add tests for JSON deserialization of serializable types #7373 by @stephentoub (co-authored by @Copilot)
Repository Infrastructure Updates
- Update Package Validation Baseline to 10.4.0 #7389 by @jeffhandley (co-authored by @Copilot)
- Update ModelContextProtocol libraries to version 1.0.0 #7340 by @stephentoub (co-authored by @Copilot)
Acknowledgements
- @eiriktsarpalis @ericstj @CodeBlanch @lmolkova @adamsitnik @joperezr reviewed pull requests
Full Changelog: v10.4.0...v10.4.1
v10.4.0
This release advances the AI abstractions with new hosted file, web search, and reasoning content types, stabilizes MCP and tool approval APIs, adds streaming latency metrics to OpenTelemetry instrumentation, and delivers bug fixes across caching, data ingestion, and resource monitoring.
Experimental API Changes
Now Stable
- MCP Server Tool Content and Function Call Approval APIs are now stable (previously
MEAI001) #7299 FakeLogCollector.GetLogsAsync(CancellationToken)is now stable (previouslyEXTEXP0003) #7332
New Experimental APIs
- New experimental
AddExtendedHttpClientLoggingoverloads withwrapHandlersPipelineparameter (EXTEXP0013) #7231
Removed Experimental APIs
- AI Tool Reduction experimental APIs removed (was experimental under
MEAI001) #7353
What's Changed
AI
- Add IHostedFileClient and friends #7269 by @stephentoub
- Add web search tool call content #7276 by @stephentoub (co-authored by @Copilot)
- Surface OpenAI-compatible reasoning_content as TextReasoningContent #7295 by @stephentoub
- MCP/Approvals/Tool Contents stabilization #7299 by @jozkee
- Implement time_to_first_chunk and time_per_output_chunk streaming metrics in OpenTelemetryChatClient #7325 by @stephentoub (co-authored by @Copilot)
- Add openai.api.type telemetry attribute to OpenAI IChatClient implementations #7316 by @stephentoub (co-authored by @Copilot)
- Update OpenTelemetry Gen AI semantic conventions to v1.40 #7322 by @stephentoub (co-authored by @Copilot)
- Fix tool definitions emission regardless of sensitivity setting #7346 by @stephentoub (co-authored by @Copilot)
- Honor [Required] attribute in AI function parameter JSON schema generation #7272 by @stephentoub (co-authored by @Copilot)
- AddAIContentType automatically registers content type against every base in the inheritance chain up to AIContent #7358 by @jozkee (co-authored by @Copilot)
- Auto-mark server-handled FunctionCallContent as InformationalOnly #7314 by @stephentoub (co-authored by @Copilot)
- Map ReasoningEffort.None and ExtraHigh to none and xhigh in OpenAI IChatClient implementations #7319 by @stephentoub (co-authored by @Copilot)
- Handle DynamicMethod reflection limitations in AIFunctionFactory #7287 by @stephentoub (co-authored by @Copilot)
- Fix Activity.Current nulled during streaming tool invocation #7321 by @flaviocdc (co-authored by @Copilot)
- Handle FunctionCallOutputResponseItem in streaming response conversion #7307 by @stephentoub (co-authored by @Copilot)
- Fix serialization of response continuation tokens #7356 by @stephentoub
- Remove AI Tool Reduction experimental APIs #7353 by @stephentoub (co-authored by @Copilot)
- Update OpenAI to 2.9.1 #7349 by @stephentoub
Telemetry and Observability
- Introduce support for the Gauge metric type #7203 by @rainsxng
- Update logging source generator to support generic methods #7331 by @svick (co-authored by @Copilot)
- Update logging source generator to match runtime PR #124589 (ref readonly/params/scoped) #7333 by @svick (co-authored by @Copilot)
- Promote FakeLogCollector.GetLogsAsync(CancellationToken) from experimental to stable #7332 by @Demo30
- Remove obsolete CS1591 warning suppression from generated file preamble #7308 by @luissena
HTTP Resilience and Diagnostics
- Expose wrapHandlersPipeline parameter in AddExtendedHttpClientLogging API #7231 by @rainsxng (co-authored by @Copilot)
Diagnostics, Health Checks, and Resource Monitoring
- Add scaling to [0, 100] for LinuxUtilizationProvider #7289 by @amadeuszl
Data Ingestion
- Fix infinite loop in GetPreExistingChunksIdsAsync when records exceed MaxTopCount #7311 by @adamsitnik (co-authored by @Copilot)
Caching
- Fix buffer copying for HybridCachePayload. #7343 by @cincuranet
Test Improvements
- Fix flaky LinuxResourceHealthCheckTests by isolating MeterListener with ReferenceEquals #7302 by @stephentoub (co-authored by @Copilot)
- Fix flaky resource monitoring test #7303 by @stephentoub
- Fix flaky HttpRequestBuffering_DoesNotBufferDisabledOrOversizedLogs test #7304 by @stephentoub (co-authored by @Copilot)
- Fix race condition in FakeLogCollector async enumeration test #7300 by @stephentoub (co-authored by @Copilot)
- Fix cgroupv1 acceptance test to explicitly register the v1 parser #7296 by @stephentoub (co-authored by @Copilot)
Repository Infrastructure Updates
- Update McpServer project template to ModelContextProtocol 1.1.0 #7338 by @jeffhandley (co-authored by @Copilot)
- Update aiagent-webapi template to latest Agent Framework versions (rc1/260219) #7339 by @jeffhandley (co-authored by @Copilot)
- Update SDK and dotnet version to 10.0.103 #7326 by @wtgodbe
- Introduce an ApiChief skill to streamline updating API baselines #7281 by @jeffhandley (co-authored by @Copilot)
- Update ApiChief script to use the net10.0 artifacts #7280 by @jeffhandley
- Replace Windows queue image references from vs2022preview to vs2022 in pipeline YAML #7347 by @wtgodbe (co-authored by @Copilot)
- Update public pipeline pool images to fix broken builds #7292 by @joperezr
- Use smaller windows.vs2022.amd64.open pool image #7298 by @joperezr
- Remove main-to-dev inter-branch merge automation #7315 by @joperezr (co-authored by @Copilot)
- Updating FakeLogCollector API baselines #7334 by @Demo30
- Run the issue-labeler over pull requests using polling #7273 by @jeffhandley (co-authored by @Copilot)
- Add npmAuthenticate task to fix npm E401 errors on CI agents #7364 by @ilonatommy (co-authored by @Copilot)
- Pass sourceIndexBuildCommand through to SourceIndex #7348 by @wtgodbe
- Bump qs from 6.14.1 to 6.14.2 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7301
- Bump rollup from 4.40.0 to 4.59.0 #7345
Acknowledgements
- @luissena made their first contribution in #7308
- @flaviocdc made their first contribution in #7321
- @bryjen submitted issue #7271 (resolved by #7272)
- @vsantele submitted issue #7306 (resolved by #7307)
- @evgenyfedorov2 @eiriktsarpalis @tarekgh @ericstj @iliar-turdushev @rogerbarreto @shyamnamboodiripad @DeagleGross @MihaZupan @akoeplinger @mattleibow @rafal-mz @roji @rosebyte reviewed pull requests
Full Changelog: v10.3.0...v10.4.0