github microsoft/agent-framework python-1.11.0

3 hours ago

[1.11.0] - 2026-07-09

Added

  • agent-framework-core: Add message injection middleware so tools or host code can enqueue messages into an active run and drain them into the next model call within the same AgentSession (#6998)
  • agent-framework-core: Integrate message injection into create_harness_agent and the harness console sample so a running harness agent can be nudged mid-turn (#7027)
  • agent-framework-core: Add progressive MCP disclosure so agents can discover, load, and unload MCP tool schemas on demand while keeping the allowed_tools boundary intact (#6850)
  • agent-framework-core: Add refresh_interval (TTL) to CachingSkillsSource so cached skill lists expire and re-fetch on a configured interval (#6977)
  • agent-framework-core, agent-framework-foundry-hosting: Add SkillsSourceContext (invoking agent plus optional session) threaded through the skills source pipeline, enabling context-aware filtering and per-key cache isolation (#6895)
  • agent-framework-core: Allow disabling approval for SkillsProvider tools (#6867)
  • agent-framework-core: Allow opting out of FileAccessProvider tool approval (#6879)
  • agent-framework-core: Allow custom argument parsing for inline skill scripts so non-conforming tool-call argument shapes (for example, vLLM) can be handled (#6817)
  • agent-framework-hosting, agent-framework-hosting-responses: Add a hosting protocol helper surface (AgentState, WorkflowState, SessionStore, AgentRunArgs, WorkflowRunArgs) and Responses helpers (create_response_id, responses_session_id, responses_to_run, responses_from_run, responses_from_streaming_run) (#6891)
  • agent-framework-ag-ui: Add FastAPI SSE keepalive support for long, output-silent streams (#6980)
  • agent-framework-github-copilot: Forward skill_directories and disabled_skills to the Copilot session (#6937)
  • agent-framework-openai: Allow tool_choice: required when allowed_tools is set (#7024)
  • agent-framework-anthropic, agent-framework-core, agent-framework-foundry-hosting, agent-framework-gemini, agent-framework-openai: Mark hosted/provider-executed tool calls as informational-only via Content.informational_only so they remain visible in transcripts without local re-invocation (#6997)
  • samples: Add a deterministic action-boundary validation middleware sample (#6528)
  • samples: Add Agent Harness blog post accompanying samples, part 3 (#6741)
  • samples: Add a declarative Foundry Hosted Agent workflow sample (#6897)

Changed

  • agent-framework-core: [BREAKING — experimental] Extract caching from SkillsProvider into a CachingSkillsSource decorator (#6847)
  • agent-framework-core: [BREAKING — experimental] Treat nested SKILL.md content as part of the parent skill instead of discovering it as a separate skill root (#6849)
  • agent-framework-core: [BREAKING — experimental] FileAccess/FileMemory replace_lines now performs literal replacement (including line deletion) instead of always re-adding a line terminator (#6859)
  • agent-framework-core: Remove the experimental marker from the Skills API now that its surface is stable (#6974)
  • agent-framework-core: Lazy-load root agent_framework exports to reduce import cost for narrow-surface scenarios (#6962)
  • agent-framework-a2a, agent-framework-claude, agent-framework-copilotstudio, agent-framework-core, agent-framework-durabletask, agent-framework-github-copilot, agent-framework-purview: Implement ADR-0029 service_session_id lifecycle mapping, separating durable continuation state, per-run identity forwarding, and telemetry conversation-id extraction (#6724)
  • agent-framework-azurefunctions, agent-framework-core, agent-framework-durabletask: [BREAKING] Support multi-workflow hosting and sub-workflows on the Durable Task host, including per-workflow durable naming and nested human-in-the-loop request routing (#6696)
  • agent-framework-ag-ui: [BREAKING] Canonicalize AG-UI interrupt and resume handling around RUN_FINISHED.outcome.interrupts and canonical ResumeEntry payloads (#6925)
  • agent-framework-mem0: Support the mem0ai 2.x OSS search call shape (#7004)
  • agent-framework-mistral: Widen the uv_build backend requirement to allow newer uv releases (#7033)
  • agent-framework-lab: Raise the agentlightning dependency ceiling for the lightning extra (#6984)
  • agent-framework-claude, agent-framework-durabletask, agent-framework-gemini, agent-framework-monty, agent-framework-openai: Raise dependency floors to the first versions that provide the SDK APIs and typing consumed by these packages
  • docs: Clarify AgentSession.service_session_id scoping to document backing API key/project boundaries and hosted multi-tenant guidance (#6993)
  • docs: Add security guidance for external skill sources and script execution to harness feature docstrings (#6936)
  • samples: Bump vite and @vitejs/plugin-react-swc in the ChatKit integration sample frontend (#6613)
  • samples: Add a multi-tenant hosting security consideration note to the A2A sample (#6983)
  • samples: Update Foundry Hosted Agent samples for the v2 protocol changes (#6841)
  • samples: Use a writable runtime directory for the Foundry Skills sample (#6606)
  • tests: Add Agent typing smoke tests across chat clients (#6950)
  • tests: Skip NumPy stubs during mypy typing to unblock scheduled dependency-maintenance typing runs (#6969)
  • tests: Consolidate Dependabot dependency updates for dev tooling (uv, ruff, pytest, mypy, pyright, mcp, opentelemetry-sdk, poethepoet) across the workspace and package dev-dependency groups (#6984, #7033)
  • tests: Bump the transitive js-yaml dependency in the DevUI frontend lockfile (#6813)

Fixed

  • agent-framework-core: Parse the structured response value from the final message instead of concatenated text, avoiding spurious ValidationError/JSONDecodeError (#6383)
  • agent-framework-core: Fix read_skill_resource instruction dropping the .md extension (#7031)
  • agent-framework-core: Bind policy-enforcement approvals to a single tool invocation (call id, function, arguments, security label, and session) and consume them on first use (#6966)
  • agent-framework-core: Process messages to an executor serially within a superstep to prevent concurrent handler invocations for the same target executor (#6776)
  • agent-framework-core: Auto-inject local conversation history on stateless clients even when non-history context providers (for example, SkillsProvider and FileAccessProvider) are registered (#6810)
  • agent-framework-core: Improve the error message when a TypeVar is used in handler/executor registration (#4553)
  • agent-framework-anthropic, agent-framework-core: Fix Anthropic requests that mix tool calls and tool results in one assistant message, and return a deterministic result when the function-loop limit is reached with a blank final response (#6794)
  • agent-framework-anthropic, agent-framework-core, agent-framework-foundry-hosting, agent-framework-openai: Fix Foundry reasoning/MCP compaction so reasoning output keeps its provider id and reasoning plus MCP call pairs stay atomic (#6907)
  • agent-framework-anthropic: Normalize a single Anthropic tool value the same as a one-item sequence during request preparation (#6903)
  • agent-framework-anthropic: Migrate structured outputs to the stable output_config.format shape to avoid malformed/concatenated JSON when tools are also present (#5884)
  • agent-framework-azure-ai-search: Pass include_reference_source_data in agentic search requests so source_data is populated on returned references (#5100)
  • agent-framework-bedrock: Fix non-ASCII escaping in JSON content blocks returned by the Converse API (#6628)
  • agent-framework-foundry: Strip tools from the Foundry agent request on the preview path (allow_preview=True) to avoid invalid_payload errors (#6644)
  • agent-framework-gemini: Fix GeminiChatClient dropping image/file content on multimodal messages (#6751)
  • agent-framework-claude, agent-framework-core, agent-framework-github-copilot, agent-framework-ollama: Fix response metadata construction so usage, finish reason, raw response, continuation token, and structured value are propagated consistently across providers (#6955)
  • agent-framework-a2a: Accept A2A data URIs whose media type includes parameters before the ;base64 marker (#6818)
  • agent-framework-ag-ui: Prefer explicit AG-UI resume payloads over message-derived responses (#6360)
  • agent-framework-ag-ui: Clear queued approvals on cancel so cancelled flows do not leave stale prompts for later turns (#6947)
  • agent-framework-ag-ui: Preserve the streamed text message id in mixed snapshots with pending tool calls and streamed trailing text (#6269)
  • agent-framework-devui: Fix list[Message] input handling for declarative ToolAgent entries (#6534)
  • agent-framework-devui: Fix DevUI deployment Dockerfile auth args (#6150)
  • agent-framework-hyperlight: Harden workspace staging against symlinks and reparse points that could escape the sandbox workspace/mount root (#6856)
  • agent-framework-openai: Fix web_search_options sent to the Azure OpenAI Chat Completions API (#6225)
  • docs: Fix stale ChatAgent references in _clients.py docstrings and make tool-support examples copy/paste-safe (#6924)
  • samples: Fix an invalid options kwarg in the workflow shared-session sample (#6294)
  • docs: Add prerequisite command documentation for Python hosting samples (#5935)

Removed

  • agent-framework-hosting-telegram: [BREAKING] Remove the unreleased hosting-telegram package and the earlier host/channel surface from the workspace, superseded by the new hosting protocol helper surface (#6891)

Full Changelog: python-1.10.0...python-1.11.0

Don't miss a new agent-framework release

NewReleases is sending notifications on new releases.