Skip to content

[BREAKING] .NET: Update AgentServer dependencies - #9721

Merged
Roger Barreto (rogerbarreto) merged 3 commits into
microsoft:mainfrom
rogerbarreto:dotnet-azure-dependency-refresh
Oct 29, 2026
Merged

Roger Barreto (rogerbarreto) merged 3 commits into
microsoft:mainfrom
rogerbarreto:dotnet-azure-dependency-refresh

Conversation

@rogerbarreto

@rogerbarreto Roger Barreto (rogerbarreto) commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Motivation & Context

Azure.AI.Projects and Azure.AI.AgentServer have newer coordinated preview releases with Foundry routing, resilience, storage, and recovery fixes. The update also keeps the centrally managed Azure.Core graph aligned with the minimum versions required by those releases.

Projects beta.5 adds Azure.AI.Projects.Agents.AgentReference alongside the existing Azure.AI.Extensions.OpenAI.AgentReference. Agent Framework uses the latter for GetProjectResponsesClientForAgent, so the code now qualifies that type explicitly instead of relying on the ambiguous short name.

Description & Review Guide

  • What are the major changes? Update Azure.AI.Projects and Azure.AI.Extensions.OpenAI from 3.0.0-beta.3 to 3.0.0-beta.5; Azure.AI.AgentServer.Core from 1.0.0-beta.29 to 1.0.0-beta.30; Invocations from 1.0.0-beta.6 to 1.0.0-beta.7; and Responses from 1.0.0-beta.8 to 1.0.0-beta.9. Align Azure.Core 1.63.0, System.ClientModel 1.16.0, and Microsoft.Identity.Client.Extensions.Msal 4.90.0. Apply the documented Azure.ETag, PersistedMetadata, CreateCheckpointEvent(), and SessionFileWriteResult migrations; explicitly alias the OpenAI AgentReference; add host-builder AddFoundryResponses overloads required by Responses beta.9 in Foundry; and enable Core resilient tasks for steering-only configurations.
  • What is the impact of these changes? OpenAI 2.14.0 and Microsoft.Extensions.AI 10.10.x remain unchanged, and restore/build complete without downgrade or conflict warnings. Foundry hosted applications must register through builder.AddFoundryResponses(...), allowing response and task storage to share the configuration-bound identity and endpoint. Local IServiceCollection registration remains supported. Responses beta.9 intentionally moves local durable response state to responses/partitions-v1; existing pre-upgrade local response files are not read after the update. Validation passed with the full Debug solution build (0 warnings/errors), Foundry tests (497 passed), Foundry Hosting tests (565 passed, 1 pre-existing skip), 20 consecutive recovery-test passes, both new hosted/steering startup regressions, a live Hosted-Steering startup and /readiness probe, and scoped formatting for every changed project.
  • What do you want reviewers to focus on? Confirm the host-builder registration boundary, explicit resilient-task enablement for steering, and the persisted-state compatibility tradeoff in Responses beta.9.

Related Issue

N/A - trivial dependency maintenance using published package constraints and documented preview API migrations. No competing dependency-update PR is open.

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: Dependency compatibility analysis, API migration implementation, review-feedback reproduction, CI failure diagnosis, test updates, validation, and PR 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.

Core beta.30 standardizes state-store concurrency on Azure.ETag, while Responses beta.9 partitions durable response state.
Copilot AI balanced review requested due to automatic review settings October 26, 2026 16:23
@agent-framework-automation agent-framework-automation Bot added .NET Usage: [Issues, PRs], Target: .Net breaking change Usage: [PRs], Target: all PRs that introduce changes that are not backward compatible labels Oct 26, 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

Confirmed startup regressions require fixes, and the intentional persisted-state incompatibility warrants human review of upgrade and rollback safety.

2 open issues
What changed in this PR

Updates the .NET AgentServer dependencies and adapts Foundry hosting’s checkpoint persistence and recovery integration to the new preview APIs.

Changes:

  • Upgrades AgentServer and supporting dependencies while retaining Azure.AI.Projects beta.3.
  • Migrates concurrency tokens to Azure.ETag and adopts the updated checkpoint metadata APIs.
  • Updates test doubles and resilience tests for the partitioned local response layout.
File Description
dotnet/​tests/​Microsoft.Agents.AI.Foundry.Hosting.UnitTests/​ResilientTwoLifetimeIntegrationTests.cs Locates persisted responses in partitioned storage.
dotnet/​tests/​Microsoft.Agents.AI.Foundry.Hosting.UnitTests/​FoundryJsonCheckpointStoreTests.cs Migrates checkpoint storage test doubles to typed ETags.
dotnet/​tests/​Microsoft.Agents.AI.Foundry.Hosting.UnitTests/​FoundryAgentSessionStoreTests.cs Updates session storage mocks for typed ETags.
dotnet/​tests/​Microsoft.Agents.AI.Foundry.Hosting.UnitTests/​AgentFrameworkResponseHandlerResilienceTests.cs Adapts shutdown-state mocking to the updated API.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​FoundryJsonCheckpointStore.cs Passes typed concurrency tokens when updating checkpoint indexes.
dotnet/​src/​Microsoft.Agents.AI.Foundry.Hosting/​AgentFrameworkResponseHandler.cs Uses persisted metadata and the new checkpoint-event API.
dotnet/​Directory.Packages.props Updates coordinated AgentServer and supporting package versions.

Review effort: Balanced

Comment thread dotnet/Directory.Packages.props Resolved
Comment thread dotnet/Directory.Packages.props Resolved

@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 (1 commit(s)): 42ade51f48f3
Model: gpt-5.6-sol

Overview

The PR correctly adapts checkpoint persistence to the renamed durable-metadata APIs and preserves optimistic concurrency with typed ETag values, with focused recovery and race coverage. However, the Responses beta.9 upgrade also changes the required hosted registration entry point, while the framework's Foundry hosting extension continues to call the now local-only service-collection overload. This leaves hosted Foundry applications unable to start after the upgrade.

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

Affected areas: dotnet/Directory.Packages.props

Comment thread dotnet/Directory.Packages.props Resolved
Disambiguate the OpenAI AgentReference from the new Projects type and wait for durable checkpoint persistence before stopping recovery tests.
Responses beta.9 requires host-bound storage registration and Core task enablement for steering-only hosts.

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

Result: Findings reported
Scope: 2 net-new commit(s): 678be7884c15, 7e84c83161c7
Model: gpt-5.6-sol

Overview

The update follows the new AgentServer host-builder registration contract, explicitly enables resilient tasks for steering, and adds startup and recovery regressions around those migrations. The new overloads preserve first-registration guards and existing agent/session registration behavior. One deployment compatibility gap remains: three source-deployed samples call the new API while still restoring an older published package that does not contain it.

Reviewed the supplied incremental 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-Steering/Program.cs

This was referenced Nov 9, 2026

This branch was previously deployed

1 inactive deployment
github-app-auth — 7e84c831 Deployed Oct 26, 2026 by rogerbarreto via team_check #7584
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 documentation Usage: [Issues, PRs], Target: documentation in the code base and learn docs .NET Usage: [Issues, PRs], Target: .Net

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants