Skip to content

Releases: dotnet/extensions

v10.8.2

Choose a tag to compare

@jeffhandley jeffhandley released this 23 Jul 16:54
Immutable release. Only release title and notes can be modified.

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

Choose a tag to compare

@jeffhandley jeffhandley released this 21 Jul 02:20
Immutable release. Only release title and notes can be modified.

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

Full Changelog: v10.8.0...v10.8.1

v10.8.0

Choose a tag to compare

@jeffhandley jeffhandley released this 15 Jul 01:25
Immutable release. Only release title and notes can be modified.

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: AIFunctionNameAttribute and AIParameterNameAttribute #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

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

Full Changelog: v10.7.0...v10.8.0

v10.7.0

Choose a tag to compare

@jeffhandley jeffhandley released this 09 Jun 23:25
Immutable release. Only release title and notes can be modified.

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.Kubernetes package is now stable #7253
  • Resource Monitoring ResourceQuota and ResourceQuotaProvider APIs are now stable (previously EXTEXP0008) #7253
  • HostedFileContent.SizeInBytes and HostedFileContent.CreatedAt are now stable (previously MEAI001) #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

Full Changelog: v10.6.0...v10.7.0

v10.6.0

Choose a tag to compare

@joperezr joperezr released this 12 May 21:00
Immutable release. Only release title and notes can be modified.

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

Full Changelog: v10.5.2...v10.6.0

v10.5.2

Choose a tag to compare

@jeffhandley jeffhandley released this 05 May 19:25
Immutable release. Only release title and notes can be modified.

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 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

v10.5.1

Choose a tag to compare

@jeffhandley jeffhandley released this 02 May 02:15
Immutable release. Only release title and notes can be modified.

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
    • CodeInterpreterToolCallContent
    • CodeInterpreterToolResultContent
    • WebSearchToolCallContent
    • WebSearchToolResultContent
  • ImageGeneration tool content types and tool are now stable #7476
    • ImageGenerationToolCallContent
    • ImageGenerationToolResultContent
    • HostedImageGenerationTool
    • ImageGenerationOptions
    • ImageGenerationResponseFormat (the Hosted enum value remains experimental)
    • IImageGenerator and 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: HostedToolSearchTool with DeferredTools for tool-search-driven deferred tool loading #7471
  • New experimental API: OpenAIRequestPolicies extension hook for appending System.ClientModel.PipelinePolicy instances to outgoing OpenAI requests #7495

Breaking Changes to Experimental APIs

  • WebSearchToolResultContent.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;

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.SetCurrentDirectory and 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

Full Changelog: v10.5.0...v10.5.1

v10.5.0

Choose a tag to compare

@jeffhandley jeffhandley released this 15 Apr 06:45
Immutable release. Only release title and notes can be modified.

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

  1. Rename VectorStoreVectorAttribute constructor parameter #7460
    • The Dimensions parameter was renamed to dimensions (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 to new VectorStoreVectorAttribute(dimensions: 1536).

Experimental API Changes

Now Stable

  • HTTP Logging Middleware APIs are now stable (previously EXTEXP0013): AddHttpLogEnricher<T>, IHttpLogEnricher, and RequestHeadersLogEnricherOptions.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

ASP.NET Core Extensions

Service Discovery

  • Implement RFC6761 reserved DNS names handling #6924 by @rzikm

Documentation Updates

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

Full Changelog: v10.4.1...v10.5.0

v10.4.1

Choose a tag to compare

@jeffhandley jeffhandley released this 18 Mar 21:03
b797b53

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 ITextToSpeechClient abstraction, middleware, and OpenAI implementation #7381 by @stephentoub
  • Realtime Client Proposal #7285 by @tarekgh
  • Add VoiceActivityDetection options to realtime session abstractions #7399 by @tarekgh
  • Make UriContent mediaType parameter optional with inference from URI file extension #7398 by @stephentoub (co-authored by @Copilot)
  • Emit gen_ai.client.operation.exception via ILogger LoggerMessage on OpenTelemetry instrumentation classes #7379 by @stephentoub (co-authored by @Copilot)
  • Support invoke_workflow as an equivalent parent span to invoke_agent in FunctionInvokingChatClient #7382 by @stephentoub (co-authored by @Copilot)
  • Make HostedFileDownloadStream explicitly 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

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

Full Changelog: v10.4.0...v10.4.1

v10.4.0

Choose a tag to compare

@jeffhandley jeffhandley released this 12 Mar 06:03

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 (previously EXTEXP0003) #7332

New Experimental APIs

  • New experimental AddExtendedHttpClientLogging overloads with wrapHandlersPipeline parameter (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

Data Ingestion

  • Fix infinite loop in GetPreExistingChunksIdsAsync when records exceed MaxTopCount #7311 by @adamsitnik (co-authored by @Copilot)

Caching

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

Full Changelog: v10.3.0...v10.4.0