Repository navigation
Releases: microsoft/agent-framework
Release list
dotnet-1.26.0
Changes:
- 9c8a351 Update package versions for release (#9650)
- c3b9f22 Add ACGS to the Python community projects (#9618)
- 71cf48c Python: Honor allow_multiple_tool_calls in AnthropicClient when tool_choice is unset (#8980)
- ea32b6d Python: compose Copilot session hooks correctly (#9649)
- 678c661 .NET: Fix AG-UI sample prerequisites and troubleshooting paths (#9620)
- 8730cb1 .NET: Log a warning when an unsupported declarative action is skipped (#8056) [ #8040 ]
- 9581926 .NET: Correct endpoint override instructions in Responses samples (#9639)
- 9c53b5f Python: Refresh coding standards and Copilot review guidance (#9637)
- 3b725b3 Python: fix(core): define EdgeGroup's builtins.type alias at module scope (#9614)
- a8e284c Python: Add #9472 to 1.23.0 changelog (#9610)
See More
- d33c445 Python: Bump package versions for 1.23.0 release (#9602)
- 07a83a7 Python: Recommend include_detailed_errors only when it is disabled (#9472)
- ce214c0 fix(dotnet): preserve toolbox OAuth consent (#9565) [ #8379 ]
- c3ce250 Python: Set the assistant role on streamed Gemini updates (#9491)
- fb57ceb Add Tracekit to the Python community projects (#9497)
- 33439bf Python: Pass stream errors to nested streams when closing them (#9476)
- d0c3e6a Python: Add installable Agent Framework builder skill (#9374)
- 1263843 Python: Sanitize unexpected streaming response failures (#9460)
- 074bc0b test(dotnet): remove legacy persistent tests (#9588) [ #9587 ]
- bba9596 Python: Clarify MCP client ownership and add workflow sample (#9532)
- 8ff2ec9 Python: close the RedisContextProvider index connection when the provider owns it (#9510)
- 89457c5 docs: fix ChatResponse async aggregation example (#9518)
- 74f3447 Python: Make Content base64 documentation examples runnable (#9467)
- b7f8ad6 Python: Remove span-only tool attributes from invocation metrics (#9592)
- 5da1769 docs: update A2A hosting example for SDK v1 (#9521)
- 8be57da Python: fix(bedrock): report the requested model on non-streaming responses (#9399)
- 0605025 docs: fix ChatKit streaming helper usage (#9523)
- b7ce0d6 fix(workflows): support keyword-only RunContext in functional workflows (#9397)
- 1ba7425 Python: Fix stateless shell tools inheriting host stdin (#9469)
- a9eff53 Python: Handle missing reasoning text in DevUI (#9543)
- a479349 Python: Correct Purview middleware setup in package guide (#9553)
- 597342c Python: Fix Copilot Studio constructor in package guide (#9551)
- 70ba23a fix: bind background completion waits to execution identity (#9442)
- 10f7f98 .NET: Add AgentSessionStore.DeleteSessionAsync to the Abstraction (#8801) [ #7991, #8586 ]
- c739447 Python: drop unsupported instructions from AF Copilot Studio migration samples (#9577)
- 621e8e3 Python: pass judge model in evaluate_traces sample (#9576)
- 6ae0f40 Python: Refresh dependencies and block compromised releases (#9590)
- dbca9d8 Dotnet: DevUI improve local request checks (#9575)
- 20f0728 Python: fix Foundry Toolbox quickstart commands and setup steps (#9550)
- 4c191ff Python: fix(devui): fallback to empty string when reasoning chunk has no text (#9546) [ #9533 ]
- 1fe5467 Python: Make MCP connection-loss recovery ownership-aware (#9583)
- 0200599 Python: Improve settled approval matching (#9535)
- 6b48d20 Tool name whitespace bugfix (#9557)
- 08851e6 .NET: Add gRPC protocol selection to the A2A sample (#9563)
- 30bc5c1 .NET: Honor hosted agent lifetimes and add request-time agent selection for AG-UI hosting (#9382)
- f7c6928 .NET: Add file search timeout (#9536)
- fa77467 .NET: Preserve A2A task status messages in agent responses (#9534)
- 8ab068b .NET: Reject duplicate tool approval request IDs (#9542)
- 809cc04 .NET: fix(dotnet): reset compiled workflow state between runs (#9540)
- c01db29 ci: replaces unmaintained task for format diff (#9538)
- bb4a743 fix(dotnet): validate MCP invocation headers (#9539)
- 54b558b Python: Decode Ollama inline image data before serialization (#9459)
- f7a5fcb .NET: Preserve caller cancellation in memory providers (#9269)
- cca5b3d chore(deps): bump the artifact-actions group across 1 directory with 2 updates (#9501)
- 1129da7 chore(deps): bump astral-sh/setup-uv in / (#9508)
- 58eb5fa docs: fix stale experimental-ext-skills links in ADR 0029 (#9486)
- 5fd206c chore(deps): bump github/codeql-action/analyze in / (#9505)
- 633c190 chore(deps): bump github/codeql-action/autobuild in / (#9504)
- eb6b528 chore(deps): bump github/codeql-action/init in / (#9503)
- ebcf4db Bump the aspire group with 1 update (#9496)
- 44fe223 .NET: Fix A2A message validation and sample server capabilities (#9465)
- d12e4e9 .NET: fix(workflows): preserve expression result metadata (#9457)
- 501cc6f .NET: Fix AG-UI SSE events written with explicit nulls (#7920) [ #7919 ]
- 9127b89 Python: Document MCP v2 client lifecycle and update samples (#9237)
- 05a3196 fix(dotnet): align expression failure diagnostics (#9456)
- ba4f6b3 .NET/Python: [BREAKING] Clarify docker params usage and rename param (#9453)
- ee36283 .NET: Deduplicate fan-out targets so each target runs once (#9432)
- c2d2930 chore: upgrades messagepack to a safe version to unblock CI (#9455)
- 17b1a14 Python: Isolate MCP lifecycle task context (#9451)
- 1c6c5c4 docs: exclude standard MCP servers from community catalog (#9447)
- 8a365f4 docs: correct Cosmos memory guide state scoping (#9443)
- 2e08ad7 Python: Samples: terminate only on high/critical matches in ATR validation middleware (#9433)
- 074e112 Resolve the BedrockEmbeddingClient region like the chat client (#9349)
- b1c582e Python: Make tool-normalization documentation examples self-contained (#9333)
- 5dc7949 Python: Use the public URI constructor in the Message example (#9332)
- bfc4fdb Python: fix(declarative): honor the variable field in SetValue (#9428)
- a32cf0b Bump opentelemetry-api from 1.45.0 to 1.45.1 in /python/packages/lab (#9424)
- 5fea564 Bump orjson from 3.12.0 to 3.13.0 in /python/packages/lab (#9423)
- 4eb06a6 Bump opentelemetry-sdk from 1.45.0 to 1.45.1 in /python/packages/lab (#9422)
- 7a08162 Bump pydantic from 2.13.5 to 2.14.0 in /python/packages/lab (#9421)
- 2c13059 Bump the agent-framework group in /python/packages/lab with 2 updates (#9420)
- 3e789b4 Bump @radix-ui/react-checkbox in /python/packages/devui/frontend (#9416)
- 8fe7123 Python: fix(lab-tau2): check the over-max warning before the half-of-max warning (#9341) [ #9338 ]
- 29ac364 Python: fix(ag-ui): keep repeated single-chunk text deltas (#9339) [ #9336 ]
- 9a1d66b [BREAKING] Python: Require explicit AG-UI authorization scope (#9413)
- deecbcb .NET: fix(dotnet): validate declarative control-flow inputs (#9357)
- 0ec6e47 fix(ci): separate dotnet unit and integration event selection (#9415)
- f940e51 Clarify usage of tools on chatclient stack providers (#9429)
- cae4955 .NET: fix(dotnet): refresh reused workflow executor state (#9394)
- 596669a Add vectorstore community projects (#9414)
- 220aec4 Python:...
python-1.23.0
[1.23.0] - 2026-10-22
Added
- agent-framework-a2a: Add allowlisted forwarding of function-invocation and client arguments from A2A request metadata (#9193)
- agent-framework-core, agent-framework-orchestrations: Add an opt-in synthetic trailing user turn for providers that return empty text after assistant-ending prompts (#8779)
Changed
- agent-framework, agent-framework-ag-ui, agent-framework-core, agent-framework-declarative, agent-framework-foundry-hosting, agent-framework-hosting-mcp, agent-framework-lab: [BREAKING] Add the MCP 2.x compatibility foundation and migrate MCP transports, errors, schemas, and lifecycle handling (#9236)
- agent-framework-ag-ui, agent-framework-core: [BREAKING] Require an explicit AG-UI authorization scope or single-user declaration for endpoint registration (#9413)
- agent-framework-tools: [BREAKING] Rename Docker shell
extra_run_argstounsafe_extra_run_argsand make its trust requirements explicit (#9453) - agent-framework-tools: Raise the
psutilfloor to the first release with Windows ABI3 wheels for the supported Python range. - agent-framework, agent-framework-core: Advance the exact Core pin and standard-install dependency cohort to the package versions released in this cut.
- agent-framework-declarative, agent-framework-devui, agent-framework-foundry-hosting, agent-framework-orchestrations: Raise the Core floor to 1.23 for packages that consume the new MCP lifecycle or executor behavior.
- agent-framework-core, agent-framework-devui: Define caller-owned and framework-owned MCP client lifecycles, remove DevUI's stale-connection workaround, and update lifecycle guidance and workflow samples (#9237, #9532)
- agent-framework, agent-framework-ag-ui, agent-framework-core, agent-framework-duckdb, agent-framework-hyperlight: Add Python 3.15 support for DuckDB, Hyperlight, and the AG-UI A2UI extra by requiring DuckDB 2.0 on Python 3.15, Hyperlight 0.8, and A2UI toolkit 0.0.5, and adapt Hyperlight output-limit handling to the 0.8 size and quota behavior (ag-ui-protocol/ag-ui#3057, duckdb/duckdb-python#659, hyperlight-dev/hyperlight-sandbox#239)
- agent-framework-devui, agent-framework-lab, tests, samples: Refresh Hugging Face Hub, frontend, Agent Framework, Pydantic, OpenTelemetry, orjson, development-tooling, and security-constrained dependencies (#9416, #9420, #9421, #9422, #9423, #9590)
- docs, samples: Refresh Content base64, Message URI, ChatResponse aggregation, and tool-normalization examples; ATR validation; Cosmos memory scoping; community MCP and Tracekit catalog entries; Foundry Toolbox setup; Foundry evals; Copilot Studio migrations; A2A hosting; ChatKit streaming; Purview middleware; and DevUI local-auth guidance (#9332, #9333, #9433, #9443, #9447, #9467, #9497, #9518, #9521, #9523, #9550, #9551, #9553, #9575, #9576, #9577)
- tests: Expand DevUI coverage for reasoning chunks without text (#9543)
Fixed
- agent-framework-core: Rebuild nested content, accept
Literalworkflow-edge sources, close abandoned inner streams, pass stream errors into nested streams during closure, make Memory and Todo writes atomic, bind background completion waits to execution identity, support keyword-only functional-workflow contexts, isolate MCP task contexts, normalize tool-name whitespace, recommendinclude_detailed_errors=Truein function-execution warnings only when detailed errors are disabled, improve settled approval matching, recover owned MCP connections safely, and omit span-only tool attributes from invocation metrics (#9304, #9355, #9331, #9397, #9412, #9442, #9451, #9472, #9476, #9557, #9535, #9583, #9592) - agent-framework-ag-ui: Preserve every queued approval result and repeated single-chunk text deltas (#8851, #9339)
- agent-framework-anthropic: Keep bash tool-result files nested inside their shell tool result (#9343)
- agent-framework-azure-cosmos-memory: Reject non-positive result limits and confidence values outside the supported range (#9318)
- agent-framework-bedrock: Merge per-call client arguments into Converse requests, resolve embedding regions consistently, and report the requested model on non-streaming responses (#9345, #9349, #9399)
- agent-framework-declarative: Match custom functions as whole calls and honor the configured variable in
SetValueactions (#9176, #9428) - agent-framework-devui: Emit an empty reasoning delta when a reasoning chunk has no text (#9546)
- agent-framework-foundry-hosting, agent-framework-hosting-responses: Sanitize unexpected streaming response failures before exposing them through Responses-shaped adapters (#9460)
- agent-framework-gemini: Send extracted structured-output schemas through the Gemini JSON Schema request field and set the assistant role on streamed updates (#9491, #9590)
- agent-framework-lab: Prefer the over-budget warning when a Tau2 sliding window exceeds its token limit (#9341)
- agent-framework-ollama: Decode and validate inline image data before passing it to the Ollama SDK (#9459)
- agent-framework-redis: Close the RedisVL search-index connection when the context provider owns it (#9510)
- agent-framework-tools: Prevent stateless shell tools from inheriting host standard input (#9469)
python-1.22.0
[1.22.0] - 2026-10-15
Important
Python 3.15 support: The core framework and root agent-framework package now support Python 3.15, but not every package, optional extra, or feature supports it yet because of upstream dependency constraints. Before upgrading, check the README for each package and extra you use. The Python README summarizes the currently known limitations.
Warning
Persisted-state compatibility: This applies to persisted artifacts that contain serialized Agent Framework Content or streamed response-update records. That includes chat and message histories; session stores and protocol snapshots when they embed those records; and workflow checkpoints only when their checkpoint state contains them. Plain session metadata and checkpoints without serialized messages, content, or response updates are unaffected.
The 1.22 runtime can read records written by earlier releases, but pre-1.22 runtimes cannot read new records containing hosted or merge_mode. Do not run old and new workers against the same affected store during a rolling deployment, and do not downgrade after 1.22 has written these records unless the new state is isolated or migrated.
Added
- agent-framework-azure-cosmos-memory: Add a dedicated Cosmos memory provider User-Agent token (#9223)
- agent-framework-foundry: Surface OAuth consent requests in non-streaming responses (#8976)
- agent-framework-ollama, agent-framework-openai: Add configurable service URLs to chat clients (#9222, #9225)
- agent-framework-oracle: Forward Oracle connection-pool configuration settings (#9233)
Changed
- agent-framework, agent-framework-a2a, agent-framework-ag-ui, agent-framework-anthropic, agent-framework-azure-ai-search, agent-framework-azure-contentunderstanding, agent-framework-azure-cosmos, agent-framework-azure-cosmos-memory, agent-framework-azure-documentdb, agent-framework-bedrock, agent-framework-chatkit, agent-framework-claude, agent-framework-copilotstudio, agent-framework-core, agent-framework-declarative, agent-framework-devui, agent-framework-duckdb, agent-framework-foundry, agent-framework-foundry-hosting, agent-framework-foundry-local, agent-framework-gemini, agent-framework-github-copilot, agent-framework-hosting, agent-framework-hosting-a2a, agent-framework-hosting-mcp, agent-framework-hosting-responses, agent-framework-hosting-telegram, agent-framework-hyperlight, agent-framework-mem0, agent-framework-mistral, agent-framework-mongodb, agent-framework-monty, agent-framework-ollama, agent-framework-openai, agent-framework-oracle, agent-framework-orchestrations, agent-framework-postgres, agent-framework-purview, agent-framework-qdrant, agent-framework-redis, agent-framework-sql-server, agent-framework-tools, agent-framework-typesafe: Add Python 3.15 compatibility metadata where supported, document package-specific limitations, and refresh shared dependencies and automation (#9363)
- agent-framework-a2a, agent-framework-ag-ui, agent-framework-anthropic, agent-framework-bedrock, agent-framework-claude, agent-framework-copilotstudio, agent-framework-core, agent-framework-devui, agent-framework-foundry, agent-framework-foundry-hosting, agent-framework-gemini, agent-framework-github-copilot, agent-framework-hosting-a2a, agent-framework-hosting-responses, agent-framework-mistral, agent-framework-ollama, agent-framework-openai: [BREAKING] Consolidate content identity, hosted execution, protocol metadata, replay, and stream-merge semantics across providers and adapters (#8886)
- agent-framework-ag-ui: [BREAKING] Enforce fail-closed request trust boundaries and bind workflow continuations and interrupts to the resolved thread ID (#9316, #9365)
- agent-framework-ag-ui: [BREAKING] Prevent client Shared State and stored Thread Snapshots from replacing tool-approval state, including when AG-UI wraps an agent that does not expose its middleware (#9368)
- agent-framework-declarative: [BREAKING] Bound HTTP response bodies and compressed decoding stages with a configurable limit (#9358)
- agent-framework-devui: Refresh frontend runtime and development dependencies (#9230, #9306, #9310)
- agent-framework-purview: Include citations and error details in Purview policy checks (#9375)
- docs, samples: Refresh response-stream, hosted-agent, security, media-detection, hosting, approval-reuse, community-project, package-promotion, and development-tooling guidance (#8985, #9107, #9201, #9229, #9232, #9311, #9188, #9360, #9356, #9390)
- tests: Consolidate dependency updates, separate optional provider development dependencies, and expand tool-role coverage (#9292, #9255, #9323)
Fixed
- agent-framework-a2a, agent-framework-core, agent-framework-openai: Preserve continuation tokens across conversions; allow empty A2A attachments and forward selected run metadata (#9002, #9056, #9192)
- agent-framework-core: Accept bare container edge targets, fold streamed text efficiently, preserve memory summaries and Mermaid node identities, correlate mixed-pause host responses, validate complex tool arguments, serialize plain enums, refresh MCP prompt catalogs, retain dictionary tool schemas, restore subworkflow sibling requests, merge single mapping tools, redact sensitive telemetry, omit tool arguments from metrics, and preserve concurrent workflow steps across pauses (#8731, #8953, #9079, #9082, #9203, #8824, #9195, #9121, #9299, #9289, #8732, #9288, #9361, #9291)
- agent-framework-core: Treat a single string passed to
Messageas one text content item instead of one item per character (#9327) - agent-framework-core, agent-framework-declarative, agent-framework-foundry-hosting: Discard pending workflow state after failed or interrupted execution (#8819)
- agent-framework-core, agent-framework-openai: Concatenate overlapping code-interpreter stream deltas without duplicating content (#9142)
- agent-framework-core, agent-framework-orchestrations: Start a new streamed message when the response author changes (#9353)
- agent-framework-core: Allow switch-case branches to share a target executor (#9300)
- agent-framework-declarative: Parse scientific notation, evaluate quoted concatenations, preserve reusable model options, substitute templates at the correct positions, honor
BreakLoopinForeach, and avoid generated executor ID collisions (#9077, #9073, #9068, #9096, [#9091](https://github.com/microsoft/agent-framework/...
dotnet-1.25.0
Changes:
- 1ab3430 .NET: Dotnet: Add approval reuse considerations (#9389)
- 563eb3a .NET: terminate chat completions SSE stream with data: [DONE] (#8532) [ #8526 ]
- 4964bdd .NET: Update version for 1.25.0 release (#9388)
- 5abdadf .NET: Also include citations and error details in purview checks. (#9375)
- 74db3c1 .NET: Fix reasoning remnants and handoff bounce-back (#9174)
- 6b57b5f .NET: Upgrade A2A packages to 1.0.0-preview3 (#9386)
- 95feea6 .NET: Automatically reject tool-approval requests that never receive a response (#9152)
See More
- 1b9879c .NET: feat(dotnet): support closed-list workflow questions (#9202) [ #1530 ]
- dcbbf79 Bump the agent-memory group with 2 updates (#9315)
- b53d25e .NET: fix: preserve agent continuation token when wrapped with UseOpenTelemetry (#8265) [ #8243 ]
- f72bf95 .NET: [BREAKING] Decouple Cosmos chat metadata from partition-key strategy (#9214)
- 6e630f4 .NET: Isolate Foundry toolbox response cache (#8848)
- 1e72200 Revert ".NET: [BREAKING] Request concise Harness progress without private reasoning (#9004)" (#9147)
- 8254704 .NET: [BREAKING] Request concise Harness progress without private reasoning (#9004)
This list of changes was auto generated.
python-1.21.0
[1.21.0] - 2026-10-08
Added
- agent-framework, agent-framework-core, agent-framework-purview: Add tool-result standing guidance, expose rewritten variable-expansion arguments, and support full-buffer Purview policy evaluation for streamed responses (#8784, #8506, #8702)
- agent-framework-openai: Add the maximum reasoning-effort option (#8857)
- agent-framework-oracle: Add the alpha Oracle native vector-store connector (#8676)
- samples: Demonstrate group-chat response filtering and expand the get-started sample progression (#9005, #9133)
Changed
- agent-framework-core, agent-framework-foundry, agent-framework-github-copilot: Isolate provider-owned service session state when agents are invoked as tools (#8853)
- agent-framework-anthropic: Update the Anthropic SDK to 1.11 and adapt Anthropic and Bedrock client behavior (#9119)
- agent-framework-github-copilot: Update the GitHub Copilot SDK to 1.0.16 (#9135)
- agent-framework-devui: Update
source-map-js, Radix UI Scroll Area,tailwind-merge, Tailwind CSS and its Vite plugin, and patchbrace-expansion1.x (#9104, #9154, #9155, #9156, #8888) - agent-framework-azure-contentunderstanding, agent-framework-azure-cosmos-memory, samples: Normalize Foundry project endpoint configuration and examples (#9070)
- agent-framework-foundry: Clarify Foundry agent-tool ownership and lifecycle behavior (#8852)
- agent-framework-foundry-hosting: Warn against hosting a
WorkflowAgentthrough theagent=shortcut (#9146) - agent-framework-hyperlight, agent-framework-monty: Warn when CodeAct tools cannot support FIDES security enforcement (#9175)
- agent-framework-hosting: Persist the session in the hosting quickstart (#9030)
- docs: Add the AI-assisted contribution policy and issue-first contribution workflow (#9134)
- samples: Update
multidictandsource-map-jslockfiles and make file-access samples type-check on Windows (#9105, #9145, #9161) - tests: Update Python GitHub Actions dependencies (#9038, #9039, #9158)
- tests: Isolate the mixed-middleware warning assertion (#9001)
- tests, samples: Refresh Python development dependencies and type-checker compatibility (#9190)
Fixed
- agent-framework-core: Run local sibling tools in declaration-only mixed batches, serialize shared file edits, correct data URI validation and media detection, warn when streamed result gates lack buffering, and handle flat function mappings in progressive tool-name checks (#9050, #9032, #8918, #9029, #9117)
- agent-framework-ag-ui, agent-framework-core: Close delegated provider streams when public streams are released while preserving primary failures during cleanup (#9100)
- agent-framework-declarative: Preserve falsy values returned by Power Fx
Search()(#8974) - agent-framework-devui: Page checkpoint item listings and scope function approvals to their conversations (#9126, #9180)
- agent-framework-gemini, agent-framework-ollama: Close SDK streams when consumers stop early (#9144)
- agent-framework-hosting: Avoid retaining per-session locks after runs complete (#9172)
- agent-framework-hosting-responses: Parse input messages that omit the optional
typefield (#9124) - agent-framework-openai: Preserve streamed log probabilities across empty chunks (#8997)
- agent-framework-orchestrations: Reject unknown group-chat participants and sanitize generated handoff tool names (#9026, #9035)
- agent-framework-foundry-hosting: Preserve Foundry Toolbox container-file citations and refresh stale Toolbox call IDs (#9055, #9059)
- agent-framework-typesafe: Honor proxy environment variables in connector-owned clients (#8984)
- agent-framework-bedrock: Preserve extended-thinking reasoning content across tool calls (#8936)
- agent-framework-tools: Preserve table-formatted output in persistent PowerShell sessions (#9043)
Full Changelog: python-1.20.0...python-1.21.0
dotnet-1.24.0
Changes:
- 245d428 .NET: Restore source-only release solution filter (#9140) [ #8537 ]
- d0ccaa6 .NET: Preserve explicit null session state across roundtrips (#9012)
- 279d97f .NET: Honor disabled recent search memory (#9013)
- 41e785f .NET: Preserve lazy request messages through agent invocation (#9017)
- 9251bc9 .NET: Update version for 1.24.0 release (#9120)
- 73a96cb .NET: Stabilize Anthropic agent package (#9111) [ #9110 ]
- 0774607 .NET: Reject sensitive declarative identifiers (#9071)
- 41c4f1c .NET: Harden LocalCodeAct capability validation (#9057)
See More
- b9d24c8 .NET: test: add loopback destination regression coverage (#9064)
- bd5ab48 .NET: Validate handoff request lifecycle before routing (#8855)
- 636e856 .NET: Synchronize background task metadata and defer publication until session creation (#8933)
- 6ef0b73 .NET: Isolate GitHub Copilot attachment staging (#8846)
- 52fed57 .NET: Preserve atomic cache creation across factory failures (#8931)
- a2f4506 .NET: Skip empty Foundry memory context messages (#8932)
- 5019894 Improve MCP skill archive loading consistency (#8937)
- 2e8b58c .NET: Return only the items between 'after' and 'before' when listing response input items (#8872) [ #8871 ]
- a15c019 .NET: document A2A authentication and tool authorization (#8491)
- d52db94 .NET: Reject a MaxBatchSize outside 1..100 in CosmosChatHistoryProvider (#8870) [ #8869 ]
- 99215f9 .NET: Update retired Claude model in 04_MultiModelService sample (#8879) [ #5074, #8878 ]
- 7634356 .NET: Fix Foundry MCP approval replay IDs (#8873)
- 2f5713f .NET: Preserve A2A run errors when session save fails (#8877)
- 2a7470a .NET: Publish synthetic terminal responses with their events (#8885)
- e23f3c8 .NET: Validate HTTP header delimiters (#8847)
- 5343347 .NET: Allow compaction for per-service-call local chat history (#8845)
- 71e84a0 .NET: Propagate ChatHistoryMemoryProvider caller cancellation (#8813)
- e626cef .NET: Bind MCP approval headers to approved invocation (#8834)
- ba32033 .NET: Reject protected values in declarative MCP invocations (#8832)
- 77f832f .NET: fix(harness): honor cancellation while waiting for background agents (#8805)
- 202e85d .NET: Remove unused GitTag property (#8827)
- 7638874 .NET: Dispose AI context streaming enumerators (#8812)
- 7a98aa9 .NET: Honor a zero message limit in ValkeyChatHistoryProvider (#8809)
- 06e9b48 .NET: Python: Add optional OAuth consent origin allowlist to Foundry hosting (#8713)
This list of changes was auto generated.
python-1.20.0
[1.20.0] - 2026-10-02
Added
- agent-framework-foundry-hosting: Host native workflows over Foundry Responses and Foundry Invocations (#8947, #8966)
- agent-framework-duckdb, agent-framework-sql-server, agent-framework-typesafe: Add DuckDB and SQL Server native vector-store connectors and the TypeSafe AI connector (#8675, #8686, #8592)
- agent-framework, agent-framework-core: Add response-stream gates and buffering, session-scoped file-access isolation, an
AgentExecutorcheckpoint-stateTypedDict, and opt-inFunctionInvocationContextinjection for skill scripts (#8829, #8542, #8284, #8749) - agent-framework-foundry, agent-framework-foundry-hosting, agent-framework-openai: Add native computer-use support to Responses clients and Foundry project embeddings (#8751, #8454)
- agent-framework-azure-ai-search: Support
knowledge_source_paramsinAzureAISearchContextProvider(#8673) - agent-framework-mongodb, samples: Add a MongoDB agent RAG sample (#8725)
Changed
- agent-framework-foundry-hosting: [BREAKING] Redesign Foundry hosting around request-scoped agent factories, persistent sandbox-isolated sessions, parsed and durable Invocations runs, and configurable Responses history, background execution, and options (#8372, #8593, #8741, #8794, #8894)
- agent-framework-core: Harden approval and MCP runtime context handling, treat matched function results as terminal, require session-backed local approvals, and fail closed when approval bindings or agent-tool approvals cannot be resolved (#8579, #8589, #8750, #8780, #8527)
- agent-framework-declarative: [BREAKING - experimental] Align workflow state attribute lookup, bound PowerFx state construction, normalize workflow HTTP request URLs, and preserve expression results in
SendActivityoutput (#8893, #8511, #8588, #8509) - agent-framework-gemini, agent-framework-core: [BREAKING] Add Gemini Embedding 2 and vector task options, use the
GOOGLE_*settings namespace, and support operation-specific embedding options in shared vector APIs (#8798) - agent-framework-ag-ui, agent-framework-core: Treat matched tool results as terminal; make disconnected AG-UI runs durable, emit
RUN_STARTEDbefore execution when IDs are supplied, and isolate custom approval-state namespaces (#8579, #8672, #8807, #8714) - agent-framework, agent-framework-core: Bound the
allintegration set to the current release cohort to avoid pip resolver backtracking, and supportmsgspec0.22 for Python 3.15 installations - agent-framework-a2a, agent-framework-anthropic, agent-framework-azure-contentunderstanding, agent-framework-azure-cosmos-memory, agent-framework-bedrock, agent-framework-claude, agent-framework-copilotstudio, agent-framework-declarative, agent-framework-devui, agent-framework-foundry, agent-framework-foundry-hosting, agent-framework-github-copilot, agent-framework-hosting, agent-framework-hosting-responses, agent-framework-hosting-telegram, agent-framework-mem0, agent-framework-purview, agent-framework-redis: Add missing
py.typedmarkers and enforce their presence in package checks (#8823) - agent-framework-bedrock: Forward Converse guardrail and additional-model-request options, send user images, and stream through ConverseStream (#8680, #8683, #8685)
- agent-framework-chatkit: Support structured input and generated-image conversion (#8843, #8844)
- agent-framework-orchestrations: Create Magentic managers per workflow, optionally disable return-to-previous handoff routing, gate sequential output on approval, and validate generated handoffs before routing (#8581, #8639, #8595, #8587)
- agent-framework-redis: Allow
RedisHistoryProviderto borrow a Redis client, clarify context-retrieval scope, and declare the current Python<3.15limit imposed byredisvl(#8883, #8584) - agent-framework-postgres, agent-framework-hyperlight: Restore supported Python 3.15 dependency resolution (#8505)
- agent-framework-foundry: Require Azure Monitor OpenTelemetry 1.8.10 for trace propagation and support Azure AI Projects through 2.7 (#8512, #8751)
- agent-framework-hyperlight, agent-framework-monty: Clarify CodeAct guest-package installation and host-network access (#8781)
- tests: Refresh root and Lab development dependencies, type checkers, transitive security dependencies, and lockfiles; require Python 3.15 checks and add bounded Windows 3.14 meta-package install coverage (#8505, #8612, #8650, #8727, #8942, #8945)
- docs, samples: Cross-reference security patterns, clarify file-search retrieval scope, improve local-shell filtering guidance, and correct README instructions (#8726, #8591, #8766, #8822)
Fixed
- agent-framework-openai: Isolate OpenAI metadata defaults from Azure-routed clients (#8969)
- agent-framework-core: Apply MCP security labels before dynamically discovered and progressively disclosed tools become callable (#8972)
- agent-framework-core: Reduce response-stream hot-path overhead and avoid loading tool-approval middleware for agent runs without middleware (#8971)
- agent-framework-core: Preserve functional-workflow replay identity, scope invocation arguments and activity IDs to workflow runs, deduplicate fan-out targets, propagate nested cancellation arguments, and support orchestration checkpoint deserialization (#8887, #8596, #8549, #8739, #8602, #8723)
- agent-framework-core: Preserve repeated history turns, compaction through middleware rewrites, checkpoint dictionary subclasses, response metadata, annotations, native vector keys, integer precision, and boolean set values (#8800, #8671, #8519, #8464, #8701, [#8535](https://github.c...
dotnet-1.23.0
Changes:
- be01dec .NET: Add origin pinning to Foundry toolbox MCP client (#8721)
- 0d6d2bb .NET: fix: declarative workflow http variables (#8797)
- 2024d4d .NET: Fix workflow topology edge multiplicity comparison (#8656)
- 37ce872 .NET: Store created external input messages (#8606)
- 1370903 .NET: [BREAKING] Better support tool changes between runs (#8754)
See More
- 3f1f3b5 .NET: Propagate TextSearchProvider caller cancellation (#8796)
- 238d7e2 .NET: Validate Foundry client headers before transport (#8715)
- c804f32 .NET: [BREAKING] Bump Azure.AI.Projects to 3.0.0-beta.3, OpenAI to 2.14.0, and MEAI to 10.10.1 (#8730) [ dotnet/extensions#7760, dotnet/extensions#7761 ]
- 93cf98a .NET: Update AGUI SDK packages to 1.0.0 (#8769)
- 1092349 Clarify CodeAct guest packages and host network access (#8781)
- 6f1522a Temporarily skip OpenAI integration tests while the CI API key is invalid (#8767)
- 2c46deb .NET: Clarify hosting authentication, authorization, and isolation guidance (#8677)
- 024dd99 .NET/Python: Improve MCP skill resource validation (#8690)
- 8ff549d .NET: Correct InvokeAzureAgent response output (#8605)
- 5ee3e87 .NET: Remove redundant NuGet configuration (#8719)
- 6227372 Set better expecations for contributors (#8706)
- 30b9b8e .NET: Only consume stored approval state when the run succeeds (#8692)
- 834eb7f fix(dotnet): persist function results as user messages (#8655)
- 0bbb724 .NET: [BREAKING] fix: use allow list for configuration keys (#8200)
- a638ce1 .NET: Fix forwarded request-port type validation (#8657)
- 76ccf3c fix(dotnet): forward declarative Azure agent version (#8658)
- 11b8b80 Use review App permissions for repair reactions (#8669)
- 74e8fe6 Use the workflow token for fix-ci evidence (#8667)
- 173978e .NET: Add function replace support for function middleware (#8615)
- bf93c53 .NET: [BREAKING] Enforce approval response binding consistently (#8641)
- 646e116 .NET: [BREAKING] Fix DevUI approval continuation (#8423) [ #6006 ]
- 925f4f2 .NET: ci/dotnet vscode configuration (#8537)
- ec7114f .NET: fix: a bug where invoke function tool could bypass approval (#8403)
- c5a8c8d fix(core): distinguish absent tool call arguments from parse failures (#8609)
- 17b349f docs(core): fix positional invocations in detect_media_type_from_base64 docstrings (#8614)
- eb74c8c fix(core): ensure add_usage_details returns copies and filters non-ints consistently (#8613)
- 02bd1ba fix(ag-ui): allow text events when response_format is a json schema dictionary (#8604)
- 7b62670 ci: removes workflow based PR limit to use GitHub native feature (#8603)
- bb53fe1 test(ollama): narrow pytest.raises blocks to wrap only get_response in error tests (#8611)
- 894b0f6 samples: add McpDocsResearch declarative workflow showcasing agent-level MCP pattern (#6054)
- 42c22c0 Bump GitHub.Copilot.SDK to 1.0.1 and forward session config properties (incl. per-session GitHubToken) (#5735) [ #6381 ]
This list of changes was auto generated.
python-1.19.0
[1.19.0] - 2026-09-18
Added
- agent-framework, agent-framework-core: Add generic vector-store provider protocols, instrumentation message-event controls, and per-tool
AgentModeProviderexposure controls (#8421, #8451, #8450) - agent-framework-mongodb: Add the alpha MongoDB vector-store connector (#8184)
- agent-framework-azure-documentdb: Add the alpha Azure DocumentDB vector-store connector (#8185)
- agent-framework-azure-cosmos, agent-framework-core: Add an Azure Cosmos DB NoSQL implementation of the shared vector-store APIs (#8186)
- agent-framework-orchestrations: Add stable names for built-in orchestration workflows and register their checkpoint types for restoration (#8384, #8258)
- agent-framework-devui: Display Aspire traces in the developer UI (#7874)
- agent-framework-core: Add an option to invoke function calls sequentially (#8453)
- agent-framework-core, agent-framework-hyperlight, agent-framework-monty: Expose CodeAct tool parameter schemas and configurable compact or JSON descriptions (#8459)
Changed
- agent-framework-a2a, agent-framework-ag-ui, agent-framework-core, agent-framework-declarative: [BREAKING] Make HTTP cookie persistence explicit for framework-owned and caller-owned clients (#8371)
- agent-framework-core: [BREAKING] Limit MCP skill archives to ZIP files and deprecate the MCP sampling callback (#8290, #8401)
- agent-framework-declarative: [BREAKING] Scope provider-backed MCP sessions per invocation (#8425)
- agent-framework-redis: [BREAKING - beta] Scope history storage keys by provider and session identity (#8236)
- agent-framework-core: Refine skill frontmatter parsing, propagate runtime arguments to skill callbacks, and clarify MCP annotation override behavior (#8430, #8387, #8399)
- agent-framework-core, agent-framework-hosting-a2a: Tighten security-label enforcement and restrict owned-input argument labels (#8238, #8394)
- agent-framework-purview: Handle additional content types during Purview policy processing (#8370)
- agent-framework-mistral, agent-framework-hosting-responses: Reject unsupported per-call Mistral transport options (#8392)
- agent-framework-monty: Update the Monty bridge for the current
pydantic-montypool API and reuse registered tools in callbacks (#8152, #8395) - agent-framework-openai: Separate hosted and local shell calls (#8294)
- agent-framework-ag-ui, agent-framework-anthropic, agent-framework-bedrock, agent-framework-core, agent-framework-foundry-hosting, agent-framework-hosting-a2a, agent-framework-hosting-mcp, agent-framework-hosting-responses, agent-framework-openai: Keep tool diagnostics internal by default (#8235)
- agent-framework-azure-cosmos: Clarify Cosmos history-provider storage scope (#8391)
- tests: Add public API compatibility checks and update root and Lab development dependencies and lockfiles (#8271, #8469, #8266, #8470, #8249, #8471, #8472, #8473)
- docs: Document keyed web search through the Serply MCP server and correct Python documentation wording (#8319, #8323)
Fixed
- agent-framework-core: Preserve function-call and approval context across mixed batches, resumed runs, nested workflows, and streaming merges (#8428, #8433, #8345, #8337)
- agent-framework-core: Preserve compaction summaries and configuration while excluding encrypted reasoning payloads from token counts (#8354, #8329, #8117, #7944)
- agent-framework-core: Make file checkpoint saves, deletion, encoding, and round trips concurrency-safe and lossless (#7757, #8261, #8272, #8262, #8181)
- agent-framework-core: Preserve workflow streaming, response metadata, state, return types, and invocation keyword arguments across completion and resume paths (#8231, #8389, #8300, #8309, #8311, #7999, #8287, #8331)
- agent-framework-core: Authenticate and scope MCP requests and sessions to the correct invocation identity, origin, and ownership (#8303, #8285, #8246, #8225)
- agent-framework-core: Verify MCP skill archive digests, avoid duplicate structured content, and reject ambiguous MCP configuration matches (#8404, #8274, #8386)
- agent-framework-core: Propagate result-parser and asynchronous tool invocation failures correctly and count async invocation exceptions (#8420, #8278)
- agent-framework-core: Avoid OpenTelemetry context detach errors and record failed client-operation durations (#8398, #8347)
- agent-framework-core: Preserve instruction ordering, support
Literalannotations, allow middleware argument repair, and deduplicate MessagePack history writes (#8353, #8351, #8288, #8224) - agent-framework-core: Bound stateless approval pause batches to the current user turn (#8449)
- agent-framework-ag-ui, agent-framework-core, agent-framework-foundry: Preserve checkpoint, approval, replay, reasoning, and session metadata across AG-UI interrupts and resumes (#8163, #8373, #8058, #8149, #8279, #8199)
- agent-framework-anthropic, agent-framework-core: Isolate Anthropic request parsing state and handle provider-invalidated responses (#8237, [...
dotnet-1.22.0
What's Changed
- .NET: fix: race concdition in workflow formula state by Vincent Biret (@baywet) in #8252
- .NET: update remaining dependencies by Vincent Biret (@baywet) in #8307
- .NET: fix: inspect for delemiter value before adding headers by Vincent Biret (@baywet) in #8301
- docs: fix 'availble' typo in ADR 0001 by mrchatam (@mrchatam) in #8325
- .NET: docs: use 'a FunctionApprovalRequestContent' in ADR 0006 by mrchatam (@mrchatam) in #8322
- .NET: docs: fix 'valueable' typo in ADR 0001 by mrchatam (@mrchatam) in #8318
- .NET: docs: remove duplicate 'turns' in ADR 0006 by mrchatam (@mrchatam) in #8317
- .NET: docs: fix 'extention' typo in ADR 0001 by mrchatam (@mrchatam) in #8316
- docs: fix 'allow to' grammar in ADR 0011 by mrchatam (@mrchatam) in #8335
- Improve issue triage by Evan Mattson (@moonbox3) in #8362
- .NET: expose OpenTelemetryAgent.DefaultSourceName by Yashvant Mahadev Hange (@YashvantHange) in #7815
- .NET: Temporarily skip flaky steering harness session reuse test by Roger Barreto (@rogerbarreto) with @Copilot in #8377
- .NET: [PREVIEW BREAKING] Promote
AgentSessionStoreinto Agents.AI.Abstractions by Roger Barreto (@rogerbarreto) in #7991 - .NET: Preserve hosted session key boundaries by Ricky-7-Yan in #8263
- .NET: Preserve cached and reasoning token counts in Foundry Hosting by Manjunath Janardhan (@manjunathshiva) in #8334
- .NET: [BREAKING] Improve replay support with Approval Binding by westey (@westey-m) in #8375
- .NET: fix: uri canonization in workflow http handler by Vincent Biret (@baywet) in #8406
- .NET: tests(workflows): adds a regression test for cookie jar handling in redirection by Vincent Biret (@baywet) in #8427
- .NET: Add AsIChatClient extension to expose an AIAgent as an IChatClient by Tomas Rampas (@tomas-rampas) in #7687
- .NET/Python: Refine skill frontmatter parsing by SergeyMenshykh in #8430
- .NET/Python: Add more content types to purview handling by westey (@westey-m) in #8370
- .NET: [BREAKING] Scope provider-backed MCP sessions per invocation by Jose Alvarez (@jpalvarezl) in #8425
- .NET: Add per-tool AgentModeProvider controls by westey (@westey-m) in #8458
- .NET: Clarify Agent Skills caching behavior by SergeyMenshykh in #8474
- ci: excludes samples from dotnet dependabot because they are causing a timeout by Vincent Biret (@baywet) in #8476
- docs: clarifies the additional languages policy by Vincent Biret (@baywet) in #8477
- .NET: [BREAKING] Make Foundry delegated user identity sticky on AgentSession by Roger Barreto (@rogerbarreto) in #8434
- Build(deps): Bump astral-sh/setup-uv from 10.0.1 to 10.1.0 by Dependabot (@dependabot)[bot] in #8482
- Build(deps): Bump azure/login from 3.0.2 to 3.1.0 in /.github/actions/github-app-token by Dependabot (@dependabot)[bot] in #8483
- Build(deps): Bump astral-sh/setup-uv from 10.0.1 to 10.1.0 in /.github/actions/python-setup by Dependabot (@dependabot)[bot] in #8484
- Build(deps): Bump azure/login from 3.0.2 to 3.1.0 in /.github/actions/sample-validation-setup by Dependabot (@dependabot)[bot] in #8485
- Build(deps): Bump the codeql-actions group across 1 directory with 3 updates by Dependabot (@dependabot)[bot] in #8480
- Build(deps): Bump azure/login from 3.0.2 to 3.1.0 by Dependabot (@dependabot)[bot] in #8481
- Build(deps-dev): Bump uv from 0.12.9 to 0.12.12 in /python/packages/lab in the basics group across 1 directory by Dependabot (@dependabot)[bot] in #8469
- Build(deps-dev): Bump pyright from 1.1.411 to 1.1.414 in /python/packages/lab in the python-type-checkers group across 1 directory by Dependabot (@dependabot)[bot] in #8470
- .NET: Bind always approval responses to surfaced requests by westey (@westey-m) in #8432
- [BREAKING] Python: Add request-scoped Foundry agent factories by Roger Barreto (@rogerbarreto) in #8372
- .NET: Preserve harness middleware for dynamic tools by Roger Barreto (@rogerbarreto) in #8402
- .NET: 2026-09-18 Release version bump by westey (@westey-m) in #8529
- .NET: Pass ChatClientAgent tools per run only rather than setting on FICC by westey (@westey-m) in #8531
New Contributors
- mrchatam (@mrchatam) made their first contribution in #8325
- Sunhy (@Shy7777) made their first contribution in #8331
- LI (@ktz03) made their first contribution in #8149
- Manohar Paturi (@ManoharPaturi) made their first contribution in #8351
- HeZzz (@HeZ2z) made their first contribution in #7999
- fzfzzfzzzfzzzz made their first contribution in #8260
- Serply (@googio) made their first contribution in #8319
- RKS (@rksharma-owg) made their first contribution in #8347
- alanhuangyoo made their first contribution in #8358
- Harsheet Shah (@harsheet-shah) made their first contribution in #8363
- Saibernard made their first contribution in #7874
- Anish Mehta (@anishmehta24) made their first contribution in #8405
- Tomas Rampas (@tomas-rampas) made their first contribution in #7687
- Vedant Sonkar (@vedantsonkar) made their first contribution in #8117
- Naveen Chatlapalli (@1aifanatic) made their first contribution in #8231
- Lubaoshuai made their first contribution in #8354
Full Changelog: dotnet-1.21.0...dotnet-1.22.0