Visitar URL original
.NET: [WIP ] Update Azure.AI.Projects 3.0.0, OpenAI 2.15.0, AgentServer 1.0.0 and stabilize Foundry packages by rogerbarreto · Pull Request #10357 · microsoft/agent-framework · GitHub
Skip to content

.NET: [WIP ] Update Azure.AI.Projects 3.0.0, OpenAI 2.15.0, AgentServer 1.0.0 and stabilize Foundry packages - #10357

Draft
Roger Barreto (rogerbarreto) wants to merge 4 commits into
microsoft:mainfrom
rogerbarreto:bump/azure-ai-projects-3.0.0-ga
Draft

Roger Barreto (rogerbarreto) wants to merge 4 commits into
microsoft:mainfrom
rogerbarreto:bump/azure-ai-projects-3.0.0-ga

Conversation

@rogerbarreto

Copy link
Copy Markdown
Member

Motivation & Context

Warning

WIP (Blocked): do not merge. This PR pins package versions that are not on nuget.org yet, so restore fails in CI until they ship:

  • Azure.AI.Projects 3.0.0 (latest published: 3.0.0-beta.6)
  • Azure.AI.AgentServer.Core, .Invocations and .Responses 1.0.0 (latest published: 1.0.0-beta.31, 1.0.0-beta.8 and 1.0.0-beta.9)
  • Microsoft.Extensions.AI, .Abstractions and .OpenAI 11.1.0, the assumed version of the first release containing [MEAI] Update OpenAI SDK to 2.15 dotnet/extensions#7948

It stays in draft until all three are published. If any of them ships under a different version number, the pins here need to follow.

Azure.AI.Projects 3.0.0 and Azure.AI.AgentServer 1.0.0 are the generally available releases of the SDKs the Foundry packages build on. They move the dependency graph to OpenAI 2.15.0, which changes the shape of its experimental streaming APIs and needs a Microsoft.Extensions.AI release built for it. This aligns Agent Framework with that dependency set ahead of time, so the Foundry packages can ship as stable as soon as the dependencies are published.

Description & Review Guide

  • What are the major changes?
    • Dependencies: Azure.AI.Projects and Azure.AI.Extensions.OpenAI 3.0.0; Azure.AI.AgentServer.Core, .Invocations and .Responses 1.0.0; OpenAI 2.15.0; Azure.Core 1.65.0; System.ClientModel 1.17.0; Microsoft.Extensions.AI, .Abstractions and .OpenAI 11.1.0; and the transitive pins they require (System.Net.ServerSentEvents 10.0.15, Microsoft.Identity.Client.Extensions.Msal 4.92.0).
    • API adaptations: FoundryAITool.CreateBrowserAutomationTool creates the GA browser_automation tool because BrowserAutomationPreviewTool is obsolete. Tests and samples follow task-based Responses streaming, AAIP002 on ProjectResponsesClient, ComputerCallOutput.CreateComputerScreenshotOutput and MemoryOutputItem.UpdatedAt.
    • Stable packages: Microsoft.Agents.AI.Foundry, Microsoft.Agents.AI.Workflows.Declarative.Foundry and Microsoft.Agents.AI.Foundry.Hosting are marked as released and get public API baselines for every target framework. Each promotion is its own commit.
  • What is the impact of these changes? Applications inherit the OpenAI 2.15.0 breaking changes to experimental APIs: streaming is async-only and returns Task<AsyncStreamingResult<T>>, and several clients take their own options type. Code that calls GetProjectResponsesClient acknowledges AAIP002 instead of OPENAI001. Browser automation agents send the GA tool type. The three Foundry packages version as stable, so their public API is tracked by the baselines from now on.
  • What do you want reviewers to focus on? The public API baselines of the three promoted packages, since that surface becomes stable, and the version set in Directory.Packages.props.

The branch was built and unit tested against the Azure SDK nightly builds (3.0.0-alpha.20261113.1 and 1.0.0-alpha.20261113.1) and Microsoft.Extensions.AI packages built from dotnet/extensions#7948.

The first commit is the Microsoft.Extensions.AI 11.0.0 update from #10349 and drops out on rebase once that lands.

Related Issue

No tracking issue is linked yet.

AI Assistance

  • No material AI assistance was used.
  • This is an AI-assisted contribution. I reviewed, understood, and verified all submitted content and accept responsibility for it.

AI assistance details: Claude Code assisted with dependency analysis, implementation, public API baseline generation, validation, and this pull request description.

Contribution Checklist

  • The code builds clean without any errors or warnings
  • All unit tests pass, and I have added new tests where possible
  • The PR follows the Contribution Guidelines
  • This PR links to an agreed issue with no competing open PR, or the Related Issue section documents a trivial-change or repository-automation exception.
  • This is not a breaking change. If it is a breaking change, add the breaking change label (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.

🤖 Generated with Claude Code

…erver to 1.0.0

Align the Foundry dependency graph with the generally available Azure SDK
packages and the OpenAI SDK they require:

- Azure.AI.Projects 3.0.0 and Azure.AI.Extensions.OpenAI 3.0.0
- Azure.AI.AgentServer.Core, .Invocations and .Responses 1.0.0
- OpenAI 2.15.0, Azure.Core 1.65.0 and System.ClientModel 1.17.0
- Microsoft.Extensions.AI, .Abstractions and .OpenAI 11.1.0, the first
  release expected to support OpenAI 2.15 (dotnet/extensions#7948)
- System.Net.ServerSentEvents 10.0.15 and
  Microsoft.Identity.Client.Extensions.Msal 4.92.0, required transitively

Adapt to the upstream API changes:

- FoundryAITool.CreateBrowserAutomationTool now creates the GA
  browser_automation tool, since BrowserAutomationPreviewTool is obsolete.
- Responses streaming is task-based in OpenAI 2.15: tests await
  CreateResponseStreamingAsync and own the AsyncStreamingResult.
- ProjectResponsesClient reports AAIP002 instead of OPENAI001, so samples
  and tests suppress it next to OPENAI001.
- Samples follow ComputerCallOutput.CreateComputerScreenshotOutput and
  MemoryOutputItem.UpdatedAt, and the hosted workflow sample acknowledges
  that WorkflowAgentDefinition is obsolete.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Microsoft.Agents.AI.Foundry went back to preview while it depended on the
Azure.AI.Projects 3.0.0 betas, and Microsoft.Agents.AI.Workflows.Declarative.Foundry
stayed in preview because it depends on it. With Azure.AI.Projects 3.0.0
generally available both can ship as stable packages again.

Mark both as released and add their public API baselines for every target
framework. The baselines record the surface as shipped, so Publish builds do
not see unshipped entries. The evaluation types are only part of the net8.0+
baselines, matching what each framework compiles.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The package was held in preview by its Azure.AI.AgentServer beta
dependencies. With the AgentServer packages at 1.0.0 it can ship as a stable
package: mark it as released and add the public API baselines for its three
target frameworks, recorded as shipped so Publish builds do not see unshipped
entries.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 14, 2026 07:28
@agent-framework-automation agent-framework-automation Bot added .NET Usage: [Issues, PRs], Target: .Net workflows Usage: [Issues, PRs], Target: Workflows breaking change Usage: [PRs], Target: all PRs that introduce changes that are not backward compatible labels Nov 14, 2026
@rogerbarreto Roger Barreto (rogerbarreto) changed the title .NET: [BREAKING] [WIP - Blocked] Update Azure.AI.Projects 3.0.0, OpenAI 2.15.0, AgentServer 1.0.0 and stabilize Foundry packages .NET: [WIP ] Update Azure.AI.Projects 3.0.0, OpenAI 2.15.0, AgentServer 1.0.0 and stabilize Foundry packages Nov 14, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Unpublished GA SDKs and the unmerged OpenAI adapter update leave the final dependency/API contract unresolved, requiring maintainer validation against published packages across target frameworks and hosted protocol flows rather than nightly/local builds alone.

No open issues 🎉

What changed in this PR

Prepares the .NET Foundry integrations for stable releases by aligning Azure SDK dependencies with OpenAI 2.15.0 and the compatible Microsoft.Extensions.AI adapter. The PR remains explicitly blocked on publication of the dependency versions listed in its description.

Changes:

  • Updates central dependency versions and standalone sample pins, building on #10349.
  • Adapts browser automation, streaming tests, and samples to the updated SDK APIs.
  • Marks three Foundry packages as released and adds public API baselines for every supported target framework.
File Description
dotnet/​tests/​Microsoft.Agents.AI.Hosting.OpenAI.UnitTests/​OpenAIResponsesIntegrationTests.cs Awaits the new task-based streaming results.
dotnet/​tests/​Microsoft.Agents.AI.Foundry.UnitTests/​FoundryAIToolTests.cs Tests completed streaming images and GA browser tools.
dotnet/​tests/​Microsoft.Agents.AI.Foundry.UnitTests/​AIProjectClientExtensionsTests.cs Uses the GA browser tool in agent-definition coverage.
dotnet/​tests/​Foundry.Hosting.IntegrationTests/​WebSearchAnnotationsHostedAgentTests.cs Awaits and disposes the citation response stream.
dotnet/​tests/​Foundry.Hosting.IntegrationTests/​SteerableLongRunningHostedAgentTests.cs Adapts background-response streaming and disposal.
dotnet/​tests/​Foundry.Hosting.IntegrationTests/​AzureSearchToolAnnotationsHostedAgentTests.cs Awaits and disposes the search-annotation stream.
dotnet/​tests/​.editorconfig Suppresses the new experimental SDK diagnostic in tests.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​netstandard2.0/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET Standard 2.0.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​netstandard2.0/​PublicAPI.Shipped.txt Records the provider API baseline for .NET Standard 2.0.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​net9.0/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET 9.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​net9.0/​PublicAPI.Shipped.txt Records the provider API baseline for .NET 9.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​net8.0/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET 8.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​net8.0/​PublicAPI.Shipped.txt Records the provider API baseline for .NET 8.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​net472/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET Framework 4.7.2.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​net472/​PublicAPI.Shipped.txt Records the provider API baseline for .NET Framework 4.7.2.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​net10.0/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET 10.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​PublicAPI/​net10.0/​PublicAPI.Shipped.txt Records the provider API baseline for .NET 10.
dotnet/​src/​Microsoft.Agents.AI.Workflows.Declarative.Foundry/​Microsoft.Agents.AI.Workflows.Declarative.Foundry.csproj Marks declarative Foundry integration as released.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​netstandard2.0/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET Standard 2.0.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​netstandard2.0/​PublicAPI.Shipped.txt Records the Foundry API baseline for .NET Standard 2.0.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​net9.0/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET 9.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​net9.0/​PublicAPI.Shipped.txt Records Foundry APIs, including evaluations, for .NET 9.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​net8.0/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET 8.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​net8.0/​PublicAPI.Shipped.txt Records Foundry APIs, including evaluations, for .NET 8.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​net472/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET Framework 4.7.2.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​net472/​PublicAPI.Shipped.txt Records the Foundry API baseline for .NET Framework 4.7.2.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​net10.0/​PublicAPI.Unshipped.txt Initializes pending API tracking for .NET 10.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​PublicAPI/​net10.0/​PublicAPI.Shipped.txt Records Foundry APIs, including evaluations, for .NET 10.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​Microsoft.Agents.AI.Foundry.csproj Marks Foundry as released and updates dependency commentary.
dotnet/​src/​Microsoft.Agents.AI.Foundry/​FoundryAITool.cs Creates the GA browser tool and documents its configuration.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​PublicAPI/​net9.0/​PublicAPI.Unshipped.txt Initializes pending hosting API tracking for .NET 9.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​PublicAPI/​net9.0/​PublicAPI.Shipped.txt Records the hosting API baseline for .NET 9.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​PublicAPI/​net8.0/​PublicAPI.Unshipped.txt Initializes pending hosting API tracking for .NET 8.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​PublicAPI/​net8.0/​PublicAPI.Shipped.txt Records the hosting API baseline for .NET 8.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​PublicAPI/​net10.0/​PublicAPI.Unshipped.txt Initializes pending hosting API tracking for .NET 10.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​PublicAPI/​net10.0/​PublicAPI.Shipped.txt Records the hosting API baseline for .NET 10.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​Microsoft.Agents.AI.Foundry.Hosting.csproj Replaces the preview suffix with released status.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​ComputerToolItemConverter.cs Updates comments on SDK limitations; no behavior change.
dotnet/​samples/​04-hosting/​FoundryHostedAgents/​responses/​Hosted-Workflow-Handoff/​HostedWorkflowHandoff.csproj Updates the standalone OpenAI adapter dependency.
dotnet/​samples/​03-workflows/​Declarative/​HostedWorkflow/​Program.cs Suppresses the workflow-definition obsolete warning locally.
dotnet/​samples/​02-agents/​AgentWithMemory/​AgentWithMemory_Step06_MemoryUsingAgentMemory/​AgentWithMemory_Step06_MemoryUsingAgentMemory.csproj Updates the standalone memory sample’s OpenAI adapter.
dotnet/​samples/​02-agents/​AgentProviders/​foundry/​Agent_Step22_MemorySearch/​Program.cs Uses the renamed memory timestamp property.
dotnet/​samples/​02-agents/​AgentProviders/​foundry/​Agent_Step15_ComputerUsePreview/​Program.cs Uses the renamed computer screenshot factory.
dotnet/​samples/​02-agents/​AgentProviders/​azure/​Agent_With_AzureOpenAIResponses_ComputerUse/​Program.cs Uses the renamed computer screenshot factory.
dotnet/​samples/​.editorconfig Suppresses the new experimental SDK diagnostic in samples.
dotnet/​Directory.Packages.props Aligns Azure, OpenAI, adapter, and supporting dependency versions.

Review effort: Balanced

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MAF Automated Review — Iteration 1

Result: Findings reported
Scope: full PR (4 commit(s)): 56230688c4a3, 4b9a84352f40, 516f0ab8c2b6, 5a3cb88415d2
Model: gpt-5.6-sol

Overview

The PR coherently aligns the Foundry dependency set, adapts the changed browser-automation and streaming APIs, and adds strong serialization and public-API baseline coverage. The browser tool tests verify the exact GA wire shape, while released-package builds enforce per-target-framework API baselines. One standalone source-deployment sample still combines the new MEAI/OpenAI stack with old 1.27 Foundry binaries, leaving that deployment path outside the dependency pairing promoted and tested by this change.

Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
1 verified finding remained after source verification (1 medium) across 1 file. Details are attached to the affected lines below.

Affected areas: dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Workflow-Handoff/HostedWorkflowHandoff.csproj

<!-- Published Agent Framework 1.27 resolves MEAI OpenAI 10.10.1, which returns 401 for
hosted project-model calls. Remove this pin when the next framework release carries 10.11+. -->
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="10.11.0" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="11.1.0" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This standalone project still selects Agent Framework 1.27, so this pin upgrades MEAI/OpenAI beneath the 1.27 Foundry binaries instead of consuming the matching 1.28 package set promoted here. Because the project opts out of central package management and is restored remotely from its ZIP, deployments get an unsupported mixed dependency graph rather than the versions tested together in this PR. Please preserve the framework's transitive dependency pairing, or advance AgentFrameworkVersion to the matching release and remove this override once that release is available.

This branch was successfully deployed

1 active deployment
github-app-auth — 5a3cb884 Deployed Nov 14, 2026 by rogerbarreto via add_label #27853
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change Usage: [PRs], Target: all PRs that introduce changes that are not backward compatible .NET Usage: [Issues, PRs], Target: .Net workflows Usage: [Issues, PRs], Target: Workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants