Repository navigation
[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, #9087) - agent-framework-orchestrations: Reject out-of-scope request-info filters, reset Magentic participants on replan, parse progress ledgers with braces inside strings, await async aggregators, preserve explicit zero handoff limits, and retry ledgers that name unknown agents (#9182, #9131, #9089, #9028, #8965, #9181)
- agent-framework-bedrock, agent-framework-claude, agent-framework-gemini, agent-framework-ollama: Respect provider region, explicit zero limits, configured streamed models, and disabled tool choice (#9249, #9159, #9139, #8987)
- agent-framework-openai: Read the Azure OpenAI API version before applying defaults (#9098)
- agent-framework-azure-ai-search, agent-framework-azure-contentunderstanding: Retain image-only agentic messages and restored upload status (#9075, #9085)
- agent-framework-ag-ui, agent-framework-devui: Persist workflow HITL user text, isolate standalone FIDES session state, and redact deployment auth tokens from logs (#8273, #9367, #9118)
- agent-framework-devui: Discover entities exported through annotated assignments (#9128)
- agent-framework-hosting-responses, agent-framework-monty, agent-framework-redis, agent-framework-tools: Preserve input-image media types, block reparse points during file capture, omit null context fields, and recover queued persistent shell commands (#9298, #9364, #9069, #9047)
Full Changelog: python-1.21.0...python-1.22.0