From dc14ccadc0dfdecce5fad2fda2d74b4834be89a8 Mon Sep 17 00:00:00 2001 From: Evan Mattson Date: Wed, 29 Apr 2026 17:25:45 +0900 Subject: [PATCH 1/3] Python: bump package versions for 1.2.2 release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PATCH bump (1.2.1 -> 1.2.2) for the released cohort. Five PRs land in this window: - agent-framework-openai: fix file_search citations breaking the assistant- message history roundtrip (#5557) — drives the released-tier PATCH - agent-framework-orchestrations: [BREAKING] standardize orchestration terminal outputs as AgentResponse (#5301) - agent-framework-core, agent-framework-declarative: preserve Workflow.run() shared state across calls, accept list[Message] in declarative start executor, and coerce Enum values when serializing PowerFx symbols (#5531) - agent-framework-foundry-hosting: add hosted Durable Workflow support (#5531) - agent-framework-azure-contentunderstanding: new alpha package — Azure AI Content Understanding context provider (#4829) - dependencies: workspace package dependency refresh (#5555) Per lockstep convention, all 21 beta packages stamp 1.0.0b260429 and all 4 alpha packages (now including the new contentunderstanding) stamp 1.0.0a260429. Date stamp reflects 2026-04-29 Pacific. Every non-core package floor on agent-framework-core is raised to >=1.2.2; the new contentunderstanding package's stale >=1.0.0 floor is brought into line. Two follow-on fixes bundled to keep validate-dependency-bounds-test green at lowest-direct resolution: - Bump agent-framework-azure-contentunderstanding's azure-ai-content understanding lower bound from >=1.0.0 to >=1.0.1 (1.0.0 ships without proper typing — pyright reports 65 unknown-type errors) - Add pyright ignore comments to core/foundry/__init__.pyi for the new alpha package's type-stub imports, since alpha packages are not in core's [all] extra and therefore aren't installed at lowest-direct --- python/CHANGELOG.md | 17 +++++- python/packages/a2a/pyproject.toml | 4 +- python/packages/ag-ui/pyproject.toml | 4 +- python/packages/anthropic/pyproject.toml | 4 +- .../packages/azure-ai-search/pyproject.toml | 4 +- .../azure-contentunderstanding/pyproject.toml | 6 +- .../samples/01-get-started/01_document_qa.py | 4 +- .../01-get-started/02_multi_turn_session.py | 4 +- .../01-get-started/03_multimodal_chat.py | 4 +- .../01-get-started/04_invoice_processing.py | 4 +- .../02-devui/01-multimodal_agent/agent.py | 4 +- .../foundry_backend/agent.py | 11 ++-- python/packages/azure-cosmos/pyproject.toml | 4 +- python/packages/azurefunctions/pyproject.toml | 4 +- python/packages/bedrock/pyproject.toml | 4 +- python/packages/chatkit/pyproject.toml | 4 +- python/packages/claude/pyproject.toml | 4 +- python/packages/copilotstudio/pyproject.toml | 4 +- .../agent_framework/_workflows/_workflow.py | 8 +-- .../core/agent_framework/foundry/__init__.py | 5 +- .../core/agent_framework/foundry/__init__.pyi | 12 ++-- python/packages/core/pyproject.toml | 2 +- .../_workflows/_declarative_base.py | 8 +-- python/packages/declarative/pyproject.toml | 4 +- .../tests/test_workflow_factory.py | 8 +-- python/packages/devui/pyproject.toml | 4 +- python/packages/durabletask/pyproject.toml | 4 +- python/packages/foundry/pyproject.toml | 4 +- .../packages/foundry_hosting/pyproject.toml | 4 +- python/packages/foundry_local/pyproject.toml | 4 +- python/packages/gemini/pyproject.toml | 4 +- python/packages/github_copilot/pyproject.toml | 4 +- python/packages/hyperlight/pyproject.toml | 4 +- python/packages/lab/pyproject.toml | 4 +- python/packages/mem0/pyproject.toml | 4 +- python/packages/ollama/pyproject.toml | 4 +- python/packages/openai/pyproject.toml | 4 +- python/packages/orchestrations/pyproject.toml | 4 +- python/packages/purview/pyproject.toml | 4 +- python/packages/redis/pyproject.toml | 4 +- python/pyproject.toml | 4 +- python/uv.lock | 60 +++++++++---------- 42 files changed, 130 insertions(+), 135 deletions(-) diff --git a/python/CHANGELOG.md b/python/CHANGELOG.md index f56316ac72..eee785ef11 100644 --- a/python/CHANGELOG.md +++ b/python/CHANGELOG.md @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.2.2] - 2026-04-29 + +### Added +- **agent-framework-azure-contentunderstanding**: New alpha package — Azure AI Content Understanding context provider that auto-analyzes file attachments (documents, images, audio, video) and injects structured results into the LLM context, with multi-document session state, configurable timeout, output filtering via `AnalysisSection`, and auto-registered `list_documents` / `get_analyzed_document` tools ([#4829](https://github.com/microsoft/agent-framework/pull/4829)) +- **agent-framework-foundry-hosting**: Add hosted Durable Workflow support — propagate full conversation history to workflow agents and wire `Workflow.as_agent()` end-to-end via the foundry hosting layer ([#5531](https://github.com/microsoft/agent-framework/pull/5531)) + +### Changed +- **agent-framework-orchestrations**: [BREAKING] Standardize orchestration terminal outputs as `AgentResponse` so `Workflow.as_agent()` returns the final answer only; aligns sequential-approval (`with_request_info`) and concurrent (`intermediate_outputs=True`) flows on the same output contract ([#5301](https://github.com/microsoft/agent-framework/pull/5301)) +- **agent-framework-core**, **agent-framework-declarative**: Preserve `Workflow.run()` shared state across calls so multi-turn `WorkflowAgent` invocations retain context, accept `list[Message]` input in the declarative start executor, and coerce `Enum` values when serializing PowerFx symbols ([#5531](https://github.com/microsoft/agent-framework/pull/5531)) +- **dependencies**: Update workspace package dependencies and preserve `mcp[ws]` / `uvicorn[standard]` extras through override-dependencies in `/python` ([#5555](https://github.com/microsoft/agent-framework/pull/5555)) + +### Fixed +- **agent-framework-openai**: Fix `file_search` citations breaking the assistant-message history roundtrip — skip `hosted_file` content in the assistant role so the Responses API no longer rejects `input_file` ([#5557](https://github.com/microsoft/agent-framework/pull/5557)) + ## [1.2.1] - 2026-04-28 ### Added @@ -1003,7 +1017,8 @@ Release candidate for **agent-framework-core** and **agent-framework-azure-ai** For more information, see the [announcement blog post](https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/). -[Unreleased]: https://github.com/microsoft/agent-framework/compare/python-1.2.1...HEAD +[Unreleased]: https://github.com/microsoft/agent-framework/compare/python-1.2.2...HEAD +[1.2.2]: https://github.com/microsoft/agent-framework/compare/python-1.2.1...python-1.2.2 [1.2.1]: https://github.com/microsoft/agent-framework/compare/python-1.2.0...python-1.2.1 [1.2.0]: https://github.com/microsoft/agent-framework/compare/python-1.1.1...python-1.2.0 [1.1.1]: https://github.com/microsoft/agent-framework/compare/python-1.1.0...python-1.1.1 diff --git a/python/packages/a2a/pyproject.toml b/python/packages/a2a/pyproject.toml index d1245ca0b7..4b16767c14 100644 --- a/python/packages/a2a/pyproject.toml +++ b/python/packages/a2a/pyproject.toml @@ -4,7 +4,7 @@ description = "A2A integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "a2a-sdk>=0.3.5,<0.3.24", ] diff --git a/python/packages/ag-ui/pyproject.toml b/python/packages/ag-ui/pyproject.toml index cb53e7552e..c87afb04e3 100644 --- a/python/packages/ag-ui/pyproject.toml +++ b/python/packages/ag-ui/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "agent-framework-ag-ui" -version = "1.0.0b260428" +version = "1.0.0b260429" description = "AG-UI protocol integration for Agent Framework" readme = "README.md" license-files = ["LICENSE"] @@ -22,7 +22,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "ag-ui-protocol>=0.1.16,<0.2", "fastapi>=0.115.0,<0.133.1", "uvicorn[standard]>=0.30.0,<0.42.0" diff --git a/python/packages/anthropic/pyproject.toml b/python/packages/anthropic/pyproject.toml index f3791de297..924cc08b6f 100644 --- a/python/packages/anthropic/pyproject.toml +++ b/python/packages/anthropic/pyproject.toml @@ -4,7 +4,7 @@ description = "Anthropic integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "anthropic>=0.80.0,<0.80.1", ] diff --git a/python/packages/azure-ai-search/pyproject.toml b/python/packages/azure-ai-search/pyproject.toml index da22162397..adb7549b0a 100644 --- a/python/packages/azure-ai-search/pyproject.toml +++ b/python/packages/azure-ai-search/pyproject.toml @@ -4,7 +4,7 @@ description = "Azure AI Search integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "azure-search-documents>=11.7.0b2,<11.7.0b3", ] diff --git a/python/packages/azure-contentunderstanding/pyproject.toml b/python/packages/azure-contentunderstanding/pyproject.toml index f8c83b8d93..a083f5f2fb 100644 --- a/python/packages/azure-contentunderstanding/pyproject.toml +++ b/python/packages/azure-contentunderstanding/pyproject.toml @@ -4,7 +4,7 @@ description = "Azure Content Understanding integration for Microsoft Agent Frame authors = [{ name = "Microsoft", email = "af-support@microsoft.com" }] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0a260401" +version = "1.0.0a260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,8 +23,8 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.0.0,<2", - "azure-ai-contentunderstanding>=1.0.0,<1.1", + "agent-framework-core>=1.2.2,<2", + "azure-ai-contentunderstanding>=1.0.1,<1.1", "aiohttp>=3.9,<4", "filetype>=1.2,<2", ] diff --git a/python/packages/azure-contentunderstanding/samples/01-get-started/01_document_qa.py b/python/packages/azure-contentunderstanding/samples/01-get-started/01_document_qa.py index 5f599e969b..c0261a10ba 100644 --- a/python/packages/azure-contentunderstanding/samples/01-get-started/01_document_qa.py +++ b/python/packages/azure-contentunderstanding/samples/01-get-started/01_document_qa.py @@ -15,12 +15,10 @@ from pathlib import Path from agent_framework import Agent, Content, Message -from agent_framework.foundry import FoundryChatClient +from agent_framework.foundry import ContentUnderstandingContextProvider, FoundryChatClient from azure.identity import AzureCliCredential from dotenv import load_dotenv -from agent_framework.foundry import ContentUnderstandingContextProvider - load_dotenv() """ diff --git a/python/packages/azure-contentunderstanding/samples/01-get-started/02_multi_turn_session.py b/python/packages/azure-contentunderstanding/samples/01-get-started/02_multi_turn_session.py index 46f01dc999..f95c81943a 100644 --- a/python/packages/azure-contentunderstanding/samples/01-get-started/02_multi_turn_session.py +++ b/python/packages/azure-contentunderstanding/samples/01-get-started/02_multi_turn_session.py @@ -15,12 +15,10 @@ from pathlib import Path from agent_framework import Agent, AgentSession, Content, Message -from agent_framework.foundry import FoundryChatClient +from agent_framework.foundry import ContentUnderstandingContextProvider, FoundryChatClient from azure.identity import AzureCliCredential from dotenv import load_dotenv -from agent_framework.foundry import ContentUnderstandingContextProvider - load_dotenv() """ diff --git a/python/packages/azure-contentunderstanding/samples/01-get-started/03_multimodal_chat.py b/python/packages/azure-contentunderstanding/samples/01-get-started/03_multimodal_chat.py index 86062fdd1d..19aecf8f69 100644 --- a/python/packages/azure-contentunderstanding/samples/01-get-started/03_multimodal_chat.py +++ b/python/packages/azure-contentunderstanding/samples/01-get-started/03_multimodal_chat.py @@ -16,12 +16,10 @@ from pathlib import Path from agent_framework import Agent, AgentSession, Content, Message -from agent_framework.foundry import FoundryChatClient +from agent_framework.foundry import ContentUnderstandingContextProvider, FoundryChatClient from azure.identity import AzureCliCredential from dotenv import load_dotenv -from agent_framework.foundry import ContentUnderstandingContextProvider - load_dotenv() """ diff --git a/python/packages/azure-contentunderstanding/samples/01-get-started/04_invoice_processing.py b/python/packages/azure-contentunderstanding/samples/01-get-started/04_invoice_processing.py index 80d00894eb..9d2ea24581 100644 --- a/python/packages/azure-contentunderstanding/samples/01-get-started/04_invoice_processing.py +++ b/python/packages/azure-contentunderstanding/samples/01-get-started/04_invoice_processing.py @@ -16,13 +16,11 @@ from pathlib import Path from agent_framework import Agent, AgentSession, Content, Message -from agent_framework.foundry import FoundryChatClient +from agent_framework.foundry import ContentUnderstandingContextProvider, FoundryChatClient from azure.identity import AzureCliCredential from dotenv import load_dotenv from pydantic import BaseModel, Field -from agent_framework.foundry import ContentUnderstandingContextProvider - load_dotenv() """ diff --git a/python/packages/azure-contentunderstanding/samples/02-devui/01-multimodal_agent/agent.py b/python/packages/azure-contentunderstanding/samples/02-devui/01-multimodal_agent/agent.py index 018b9232f5..904ff3080e 100644 --- a/python/packages/azure-contentunderstanding/samples/02-devui/01-multimodal_agent/agent.py +++ b/python/packages/azure-contentunderstanding/samples/02-devui/01-multimodal_agent/agent.py @@ -21,13 +21,11 @@ import os from agent_framework import Agent -from agent_framework.foundry import FoundryChatClient +from agent_framework.foundry import ContentUnderstandingContextProvider, FoundryChatClient from azure.core.credentials import AzureKeyCredential from azure.identity import AzureCliCredential from dotenv import load_dotenv -from agent_framework.foundry import ContentUnderstandingContextProvider - load_dotenv() # --- Auth --- diff --git a/python/packages/azure-contentunderstanding/samples/02-devui/02-file_search_agent/foundry_backend/agent.py b/python/packages/azure-contentunderstanding/samples/02-devui/02-file_search_agent/foundry_backend/agent.py index 818abc2a23..b02cda256b 100644 --- a/python/packages/azure-contentunderstanding/samples/02-devui/02-file_search_agent/foundry_backend/agent.py +++ b/python/packages/azure-contentunderstanding/samples/02-devui/02-file_search_agent/foundry_backend/agent.py @@ -32,16 +32,15 @@ import os from agent_framework import Agent -from agent_framework.foundry import FoundryChatClient -from azure.core.credentials import AzureKeyCredential -from azure.identity import AzureCliCredential -from dotenv import load_dotenv -from openai import AzureOpenAI - from agent_framework.foundry import ( ContentUnderstandingContextProvider, FileSearchConfig, + FoundryChatClient, ) +from azure.core.credentials import AzureKeyCredential +from azure.identity import AzureCliCredential +from dotenv import load_dotenv +from openai import AzureOpenAI load_dotenv() diff --git a/python/packages/azure-cosmos/pyproject.toml b/python/packages/azure-cosmos/pyproject.toml index c830505eed..a23569d5b3 100644 --- a/python/packages/azure-cosmos/pyproject.toml +++ b/python/packages/azure-cosmos/pyproject.toml @@ -4,7 +4,7 @@ description = "Azure Cosmos DB history provider integration for Microsoft Agent authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "azure-cosmos>=4.3.0,<5", ] diff --git a/python/packages/azurefunctions/pyproject.toml b/python/packages/azurefunctions/pyproject.toml index bd8bfef8c9..836ea50c1e 100644 --- a/python/packages/azurefunctions/pyproject.toml +++ b/python/packages/azurefunctions/pyproject.toml @@ -4,7 +4,7 @@ description = "Azure Functions integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -22,7 +22,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "agent-framework-durabletask", "azure-functions>=1.24.0,<2", "azure-functions-durable>=1.3.1,<2", diff --git a/python/packages/bedrock/pyproject.toml b/python/packages/bedrock/pyproject.toml index 0be6ace4f6..c544ee3775 100644 --- a/python/packages/bedrock/pyproject.toml +++ b/python/packages/bedrock/pyproject.toml @@ -4,7 +4,7 @@ description = "Amazon Bedrock integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "boto3>=1.35.0,<2.0.0", "botocore>=1.35.0,<2.0.0", ] diff --git a/python/packages/chatkit/pyproject.toml b/python/packages/chatkit/pyproject.toml index be92383aff..37aff48539 100644 --- a/python/packages/chatkit/pyproject.toml +++ b/python/packages/chatkit/pyproject.toml @@ -4,7 +4,7 @@ description = "OpenAI ChatKit integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -22,7 +22,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "openai-chatkit>=1.4.1,<2.0.0", ] diff --git a/python/packages/claude/pyproject.toml b/python/packages/claude/pyproject.toml index 6629926fc3..c270d5ca52 100644 --- a/python/packages/claude/pyproject.toml +++ b/python/packages/claude/pyproject.toml @@ -4,7 +4,7 @@ description = "Claude Agent SDK integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "claude-agent-sdk>=0.1.36,<0.1.49", ] diff --git a/python/packages/copilotstudio/pyproject.toml b/python/packages/copilotstudio/pyproject.toml index d735675a05..3037529f81 100644 --- a/python/packages/copilotstudio/pyproject.toml +++ b/python/packages/copilotstudio/pyproject.toml @@ -4,7 +4,7 @@ description = "Copilot Studio integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "microsoft-agents-copilotstudio-client>=0.3.1,<0.3.2", ] diff --git a/python/packages/core/agent_framework/_workflows/_workflow.py b/python/packages/core/agent_framework/_workflows/_workflow.py index adea4bda20..1c67b8b6f8 100644 --- a/python/packages/core/agent_framework/_workflows/_workflow.py +++ b/python/packages/core/agent_framework/_workflows/_workflow.py @@ -622,9 +622,7 @@ async def _run_core( "checkpointing; there is no in-process recovery path." ) - initial_executor_fn = self._resolve_execution_mode( - message, responses, checkpoint_id, checkpoint_storage - ) + initial_executor_fn = self._resolve_execution_mode(message, responses, checkpoint_id, checkpoint_storage) async for event in self._run_workflow_with_tracing( initial_executor_fn=initial_executor_fn, @@ -724,9 +722,7 @@ def _resolve_execution_mode( initial_executor_fn = functools.partial(self._send_responses_internal, responses) return initial_executor_fn # Regular run or checkpoint restoration - return functools.partial( - self._execute_with_message_or_checkpoint, message, checkpoint_id, checkpoint_storage - ) + return functools.partial(self._execute_with_message_or_checkpoint, message, checkpoint_id, checkpoint_storage) async def _restore_and_send_responses( self, diff --git a/python/packages/core/agent_framework/foundry/__init__.py b/python/packages/core/agent_framework/foundry/__init__.py index 38354f4c13..01bb1d90c3 100644 --- a/python/packages/core/agent_framework/foundry/__init__.py +++ b/python/packages/core/agent_framework/foundry/__init__.py @@ -15,7 +15,10 @@ _IMPORTS: dict[str, tuple[str, str]] = { "AnalysisSection": ("agent_framework_azure_contentunderstanding", "agent-framework-azure-contentunderstanding"), "AnthropicFoundryClient": ("agent_framework_anthropic", "agent-framework-anthropic"), - "ContentUnderstandingContextProvider": ("agent_framework_azure_contentunderstanding", "agent-framework-azure-contentunderstanding"), + "ContentUnderstandingContextProvider": ( + "agent_framework_azure_contentunderstanding", + "agent-framework-azure-contentunderstanding", + ), "DocumentStatus": ("agent_framework_azure_contentunderstanding", "agent-framework-azure-contentunderstanding"), "FileSearchBackend": ("agent_framework_azure_contentunderstanding", "agent-framework-azure-contentunderstanding"), "FileSearchConfig": ("agent_framework_azure_contentunderstanding", "agent-framework-azure-contentunderstanding"), diff --git a/python/packages/core/agent_framework/foundry/__init__.pyi b/python/packages/core/agent_framework/foundry/__init__.pyi index 7f26d0305d..85ab6c267e 100644 --- a/python/packages/core/agent_framework/foundry/__init__.pyi +++ b/python/packages/core/agent_framework/foundry/__init__.pyi @@ -4,12 +4,12 @@ # Install the relevant packages for full type support. from agent_framework_anthropic import AnthropicFoundryClient, RawAnthropicFoundryClient -from agent_framework_azure_contentunderstanding import ( - AnalysisSection, - ContentUnderstandingContextProvider, - DocumentStatus, - FileSearchBackend, - FileSearchConfig, +from agent_framework_azure_contentunderstanding import ( # pyright: ignore[reportMissingImports] + AnalysisSection, # pyright: ignore[reportUnknownVariableType] + ContentUnderstandingContextProvider, # pyright: ignore[reportUnknownVariableType] + DocumentStatus, # pyright: ignore[reportUnknownVariableType] + FileSearchBackend, # pyright: ignore[reportUnknownVariableType] + FileSearchConfig, # pyright: ignore[reportUnknownVariableType] ) from agent_framework_foundry import ( FoundryAgent, diff --git a/python/packages/core/pyproject.toml b/python/packages/core/pyproject.toml index ab2341b40b..de1b586f2d 100644 --- a/python/packages/core/pyproject.toml +++ b/python/packages/core/pyproject.toml @@ -4,7 +4,7 @@ description = "Microsoft Agent Framework for building AI Agents with Python. Thi authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.2.1" +version = "1.2.2" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" diff --git a/python/packages/declarative/agent_framework_declarative/_workflows/_declarative_base.py b/python/packages/declarative/agent_framework_declarative/_workflows/_declarative_base.py index c05af09ddc..82a9cd9b4b 100644 --- a/python/packages/declarative/agent_framework_declarative/_workflows/_declarative_base.py +++ b/python/packages/declarative/agent_framework_declarative/_workflows/_declarative_base.py @@ -959,16 +959,12 @@ async def _ensure_state_initialized( last_user_msg = messages_list[last_user_index] last_user_text = last_user_msg.text or "" last_user_id = getattr(last_user_msg, "message_id", "") or "" - history_messages = ( - messages_list[:last_user_index] + messages_list[last_user_index + 1:] - ) + history_messages = messages_list[:last_user_index] + messages_list[last_user_index + 1 :] else: history_messages = list(messages_list) tail = messages_list[-1] if messages_list else None last_user_text = (tail.text or "") if tail is not None else "" - last_user_id = ( - getattr(tail, "message_id", "") or "" if tail is not None else "" - ) + last_user_id = getattr(tail, "message_id", "") or "" if tail is not None else "" if is_continuation: # Continuation turn: keep prior Conversation.messages intact. diff --git a/python/packages/declarative/pyproject.toml b/python/packages/declarative/pyproject.toml index 0c8f758a2a..a26981505c 100644 --- a/python/packages/declarative/pyproject.toml +++ b/python/packages/declarative/pyproject.toml @@ -4,7 +4,7 @@ description = "Declarative specification support for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -22,7 +22,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "powerfx>=0.0.32,<0.0.35; python_version < '3.14'", "pyyaml>=6.0,<7.0", ] diff --git a/python/packages/declarative/tests/test_workflow_factory.py b/python/packages/declarative/tests/test_workflow_factory.py index 809747a037..e313f78799 100644 --- a/python/packages/declarative/tests/test_workflow_factory.py +++ b/python/packages/declarative/tests/test_workflow_factory.py @@ -284,17 +284,13 @@ async def test_as_agent_continuation_preserves_prior_state(self): agent = workflow.as_agent(name="continuation-agent") first = await agent.run("turn-1-msg") - assert first.text == "turn-1-msg", ( - f"Expected turn-1 echo 'turn-1-msg', got: {first.text!r}" - ) + assert first.text == "turn-1-msg", f"Expected turn-1 echo 'turn-1-msg', got: {first.text!r}" # Stamp a marker into the declarative state between turns. The # continuation branch must preserve it; a state-clearing run would # wipe ``DECLARATIVE_STATE_KEY`` and force re-initialization. state_data = workflow._state.get(DECLARATIVE_STATE_KEY) - assert isinstance(state_data, dict), ( - "Expected declarative state to be initialized after turn 1" - ) + assert isinstance(state_data, dict), "Expected declarative state to be initialized after turn 1" state_data["Local"] = {"persisted_marker": "kept-from-turn-1"} workflow._state.set(DECLARATIVE_STATE_KEY, state_data) workflow._state.commit() diff --git a/python/packages/devui/pyproject.toml b/python/packages/devui/pyproject.toml index 96305d9aa6..484493fcfd 100644 --- a/python/packages/devui/pyproject.toml +++ b/python/packages/devui/pyproject.toml @@ -4,7 +4,7 @@ description = "Debug UI for Microsoft Agent Framework with OpenAI-compatible API authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://github.com/microsoft/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "openai>=1.99.0,<3", "opentelemetry-sdk>=1.39.0,<2", "fastapi>=0.115.0,<0.133.1", diff --git a/python/packages/durabletask/pyproject.toml b/python/packages/durabletask/pyproject.toml index e1fd6a1ff9..617f05607b 100644 --- a/python/packages/durabletask/pyproject.toml +++ b/python/packages/durabletask/pyproject.toml @@ -4,7 +4,7 @@ description = "Durable Task integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -22,7 +22,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "durabletask>=1.3.0,<2", "durabletask-azuremanaged>=1.3.0,<2", "python-dateutil>=2.8.0,<3", diff --git a/python/packages/foundry/pyproject.toml b/python/packages/foundry/pyproject.toml index b75463cf29..d392439269 100644 --- a/python/packages/foundry/pyproject.toml +++ b/python/packages/foundry/pyproject.toml @@ -4,7 +4,7 @@ description = "Microsoft Foundry integrations for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.2.1" +version = "1.2.2" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "agent-framework-openai>=1.1.0,<2", "azure-ai-inference>=1.0.0b9,<1.0.0b10", "azure-ai-projects>=2.1.0,<3.0", diff --git a/python/packages/foundry_hosting/pyproject.toml b/python/packages/foundry_hosting/pyproject.toml index 09c4b6a819..442a235728 100644 --- a/python/packages/foundry_hosting/pyproject.toml +++ b/python/packages/foundry_hosting/pyproject.toml @@ -4,7 +4,7 @@ description = "Foundry Hosting integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0a260428" +version = "1.0.0a260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "azure-ai-agentserver-core>=2.0.0b3,<3", "azure-ai-agentserver-responses>=1.0.0b5,<2", "azure-ai-agentserver-invocations>=1.0.0b3,<2", diff --git a/python/packages/foundry_local/pyproject.toml b/python/packages/foundry_local/pyproject.toml index 6cb6651376..dddb718d38 100644 --- a/python/packages/foundry_local/pyproject.toml +++ b/python/packages/foundry_local/pyproject.toml @@ -4,7 +4,7 @@ description = "Foundry Local integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "agent-framework-openai>=1.1.0,<2", "foundry-local-sdk>=0.5.1,<0.5.2", ] diff --git a/python/packages/gemini/pyproject.toml b/python/packages/gemini/pyproject.toml index 4221fd5a44..4a7182a10b 100644 --- a/python/packages/gemini/pyproject.toml +++ b/python/packages/gemini/pyproject.toml @@ -4,7 +4,7 @@ description = "Google Gemini integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0a260428" +version = "1.0.0a260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -24,7 +24,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2.0", + "agent-framework-core>=1.2.2,<2.0", "google-genai>=1.65.0,<2.0.0", ] diff --git a/python/packages/github_copilot/pyproject.toml b/python/packages/github_copilot/pyproject.toml index 2ead67cd7a..7b9afaccac 100644 --- a/python/packages/github_copilot/pyproject.toml +++ b/python/packages/github_copilot/pyproject.toml @@ -4,7 +4,7 @@ description = "GitHub Copilot integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "github-copilot-sdk>=0.2.1,<=0.2.1; python_version >= '3.11'", ] diff --git a/python/packages/hyperlight/pyproject.toml b/python/packages/hyperlight/pyproject.toml index 36ee6e02d6..02b5d2fe3d 100644 --- a/python/packages/hyperlight/pyproject.toml +++ b/python/packages/hyperlight/pyproject.toml @@ -4,7 +4,7 @@ description = "Hyperlight CodeAct integrations for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0a260428" +version = "1.0.0a260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -22,7 +22,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "hyperlight-sandbox>=0.3.0,<0.4", "hyperlight-sandbox-backend-wasm>=0.3.0,<0.4 ; ((sys_platform == 'linux' and platform_machine == 'x86_64') or (sys_platform == 'win32' and platform_machine == 'AMD64')) and python_version < '3.14'", "hyperlight-sandbox-python-guest>=0.3.0,<0.4", diff --git a/python/packages/lab/pyproject.toml b/python/packages/lab/pyproject.toml index ac0c5ee581..42bedc9c88 100644 --- a/python/packages/lab/pyproject.toml +++ b/python/packages/lab/pyproject.toml @@ -4,7 +4,7 @@ description = "Experimental modules for Microsoft Agent Framework" authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -22,7 +22,7 @@ classifiers = [ "Programming Language :: Python :: 3.14", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", ] [project.optional-dependencies] diff --git a/python/packages/mem0/pyproject.toml b/python/packages/mem0/pyproject.toml index 3206701859..4b1c034e27 100644 --- a/python/packages/mem0/pyproject.toml +++ b/python/packages/mem0/pyproject.toml @@ -4,7 +4,7 @@ description = "Mem0 integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "mem0ai>=1.0.0,<2", ] diff --git a/python/packages/ollama/pyproject.toml b/python/packages/ollama/pyproject.toml index 6ca077d38d..21cd68e85f 100644 --- a/python/packages/ollama/pyproject.toml +++ b/python/packages/ollama/pyproject.toml @@ -4,7 +4,7 @@ description = "Ollama integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/agent-framework/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "ollama>=0.5.3,<0.5.4", ] diff --git a/python/packages/openai/pyproject.toml b/python/packages/openai/pyproject.toml index ac05ec1b42..f6b86774c2 100644 --- a/python/packages/openai/pyproject.toml +++ b/python/packages/openai/pyproject.toml @@ -4,7 +4,7 @@ description = "OpenAI integrations for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.2.1" +version = "1.2.2" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "openai>=1.99.0,<3", ] diff --git a/python/packages/orchestrations/pyproject.toml b/python/packages/orchestrations/pyproject.toml index f76aef2ea7..9908b4a65f 100644 --- a/python/packages/orchestrations/pyproject.toml +++ b/python/packages/orchestrations/pyproject.toml @@ -4,7 +4,7 @@ description = "Orchestration patterns for Microsoft Agent Framework. Includes Se authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", ] [tool.uv] diff --git a/python/packages/purview/pyproject.toml b/python/packages/purview/pyproject.toml index d504e3dad4..2d8eb46a7d 100644 --- a/python/packages/purview/pyproject.toml +++ b/python/packages/purview/pyproject.toml @@ -4,7 +4,7 @@ description = "Microsoft Purview (Graph dataSecurityAndGovernance) integration f authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://github.com/microsoft/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -24,7 +24,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "azure-core>=1.30.0,<2", "httpx>=0.27.0,<0.29", ] diff --git a/python/packages/redis/pyproject.toml b/python/packages/redis/pyproject.toml index 694d80a7bb..4a94d550b6 100644 --- a/python/packages/redis/pyproject.toml +++ b/python/packages/redis/pyproject.toml @@ -4,7 +4,7 @@ description = "Redis integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b260428" +version = "1.0.0b260429" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core>=1.2.1,<2", + "agent-framework-core>=1.2.2,<2", "redis>=6.4.0,<7.2.1", "redisvl>=0.11.0,<0.16", "numpy>=2.2.6,<3" diff --git a/python/pyproject.toml b/python/pyproject.toml index 5e1d9acc1f..b788f48e71 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -4,7 +4,7 @@ description = "Microsoft Agent Framework for building AI Agents with Python. Thi authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.2.1" +version = "1.2.2" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework-core[all]==1.2.1", + "agent-framework-core[all]==1.2.2", ] [dependency-groups] diff --git a/python/uv.lock b/python/uv.lock index 66231273f5..72cba80257 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -104,7 +104,7 @@ wheels = [ [[package]] name = "agent-framework" -version = "1.2.1" +version = "1.2.2" source = { virtual = "." } dependencies = [ { name = "agent-framework-core", extra = ["all"], marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -159,7 +159,7 @@ dev = [ [[package]] name = "agent-framework-a2a" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/a2a" } dependencies = [ { name = "a2a-sdk", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -174,7 +174,7 @@ requires-dist = [ [[package]] name = "agent-framework-ag-ui" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/ag-ui" } dependencies = [ { name = "ag-ui-protocol", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -202,7 +202,7 @@ provides-extras = ["dev"] [[package]] name = "agent-framework-anthropic" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/anthropic" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -217,7 +217,7 @@ requires-dist = [ [[package]] name = "agent-framework-azure-ai-search" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/azure-ai-search" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -232,7 +232,7 @@ requires-dist = [ [[package]] name = "agent-framework-azure-contentunderstanding" -version = "1.0.0a260401" +version = "1.0.0a260429" source = { editable = "packages/azure-contentunderstanding" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -245,13 +245,13 @@ dependencies = [ requires-dist = [ { name = "agent-framework-core", editable = "packages/core" }, { name = "aiohttp", specifier = ">=3.9,<4" }, - { name = "azure-ai-contentunderstanding", specifier = ">=1.0.0,<1.1" }, + { name = "azure-ai-contentunderstanding", specifier = ">=1.0.1,<1.1" }, { name = "filetype", specifier = ">=1.2,<2" }, ] [[package]] name = "agent-framework-azure-cosmos" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/azure-cosmos" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -266,7 +266,7 @@ requires-dist = [ [[package]] name = "agent-framework-azurefunctions" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/azurefunctions" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -288,7 +288,7 @@ dev = [] [[package]] name = "agent-framework-bedrock" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/bedrock" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -305,7 +305,7 @@ requires-dist = [ [[package]] name = "agent-framework-chatkit" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/chatkit" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -320,7 +320,7 @@ requires-dist = [ [[package]] name = "agent-framework-claude" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/claude" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -335,7 +335,7 @@ requires-dist = [ [[package]] name = "agent-framework-copilotstudio" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/copilotstudio" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -350,7 +350,7 @@ requires-dist = [ [[package]] name = "agent-framework-core" -version = "1.2.1" +version = "1.2.2" source = { editable = "packages/core" } dependencies = [ { name = "opentelemetry-api", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -422,7 +422,7 @@ provides-extras = ["all"] [[package]] name = "agent-framework-declarative" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/declarative" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -447,7 +447,7 @@ dev = [{ name = "types-pyyaml", specifier = "==6.0.12.20250915" }] [[package]] name = "agent-framework-devui" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/devui" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -485,7 +485,7 @@ provides-extras = ["dev", "all"] [[package]] name = "agent-framework-durabletask" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/durabletask" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -512,7 +512,7 @@ dev = [{ name = "types-python-dateutil", specifier = "==2.9.0.20260402" }] [[package]] name = "agent-framework-foundry" -version = "1.2.1" +version = "1.2.2" source = { editable = "packages/foundry" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -531,7 +531,7 @@ requires-dist = [ [[package]] name = "agent-framework-foundry-hosting" -version = "1.0.0a260428" +version = "1.0.0a260429" source = { editable = "packages/foundry_hosting" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -550,7 +550,7 @@ requires-dist = [ [[package]] name = "agent-framework-foundry-local" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/foundry_local" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -567,7 +567,7 @@ requires-dist = [ [[package]] name = "agent-framework-gemini" -version = "1.0.0a260428" +version = "1.0.0a260429" source = { editable = "packages/gemini" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -582,7 +582,7 @@ requires-dist = [ [[package]] name = "agent-framework-github-copilot" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/github_copilot" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -597,7 +597,7 @@ requires-dist = [ [[package]] name = "agent-framework-hyperlight" -version = "1.0.0a260428" +version = "1.0.0a260429" source = { editable = "packages/hyperlight" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -616,7 +616,7 @@ requires-dist = [ [[package]] name = "agent-framework-lab" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/lab" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -697,7 +697,7 @@ dev = [ [[package]] name = "agent-framework-mem0" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/mem0" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -712,7 +712,7 @@ requires-dist = [ [[package]] name = "agent-framework-ollama" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/ollama" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -727,7 +727,7 @@ requires-dist = [ [[package]] name = "agent-framework-openai" -version = "1.2.1" +version = "1.2.2" source = { editable = "packages/openai" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -742,7 +742,7 @@ requires-dist = [ [[package]] name = "agent-framework-orchestrations" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/orchestrations" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -753,7 +753,7 @@ requires-dist = [{ name = "agent-framework-core", editable = "packages/core" }] [[package]] name = "agent-framework-purview" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/purview" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -770,7 +770,7 @@ requires-dist = [ [[package]] name = "agent-framework-redis" -version = "1.0.0b260428" +version = "1.0.0b260429" source = { editable = "packages/redis" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, From 649fc31c94ca038aabaf9bd43ca4c0df82573878 Mon Sep 17 00:00:00 2001 From: Evan Mattson Date: Wed, 29 Apr 2026 17:30:10 +0900 Subject: [PATCH 2/3] Python: add #5552 to 1.2.2 CHANGELOG Add the streaming-span observability fix to the Fixed section. PR is on upstream/main but not yet pulled into origin/main; the code itself will land via the PR merge. --- python/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/python/CHANGELOG.md b/python/CHANGELOG.md index eee785ef11..b3bc960d10 100644 --- a/python/CHANGELOG.md +++ b/python/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **dependencies**: Update workspace package dependencies and preserve `mcp[ws]` / `uvicorn[standard]` extras through override-dependencies in `/python` ([#5555](https://github.com/microsoft/agent-framework/pull/5555)) ### Fixed +- **agent-framework-core**: Fix observability spans not being correctly nested when using streaming ([#5552](https://github.com/microsoft/agent-framework/pull/5552)) - **agent-framework-openai**: Fix `file_search` citations breaking the assistant-message history roundtrip — skip `hosted_file` content in the assistant role so the Responses API no longer rejects `input_file` ([#5557](https://github.com/microsoft/agent-framework/pull/5557)) ## [1.2.1] - 2026-04-28 From 755277cd0e38ecdf35aa16db08850c61067eb737 Mon Sep 17 00:00:00 2001 From: Evan Mattson Date: Wed, 29 Apr 2026 17:46:26 +0900 Subject: [PATCH 3/3] Python: address PR #5561 review feedback on dependency bounds Two packaging fixes flagged in review: 1. agent-framework-azure-contentunderstanding: add agent-framework-foundry as a runtime dependency. The package's README directs users to `pip install agent-framework-azure-contentunderstanding --pre` and the basic example imports `FoundryChatClient` from `agent_framework.foundry`, so the documented install path was failing with ImportError. Pulling agent-framework-foundry into deps makes the advertised entry path self-contained. 2. agent-framework-foundry: bump agent-framework-openai lower bound from >=1.1.0 to >=1.2.2,<2. Foundry imports private modules from agent_framework_openai (`_chat_client.py:22`, `_agent.py:34`), so resolvers were free to pair foundry==1.2.2 with older OpenAI versions that lack this release's coordinated Responses/history fix. Lockstep the floor with the released cohort to prevent mismatched installs. Both changes pass `validate-dependency-bounds-test` lower + upper at their respective packages. --- python/packages/azure-contentunderstanding/pyproject.toml | 1 + python/packages/foundry/pyproject.toml | 2 +- python/uv.lock | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/python/packages/azure-contentunderstanding/pyproject.toml b/python/packages/azure-contentunderstanding/pyproject.toml index a083f5f2fb..43f4f408ec 100644 --- a/python/packages/azure-contentunderstanding/pyproject.toml +++ b/python/packages/azure-contentunderstanding/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ ] dependencies = [ "agent-framework-core>=1.2.2,<2", + "agent-framework-foundry>=1.2.2,<2", "azure-ai-contentunderstanding>=1.0.1,<1.1", "aiohttp>=3.9,<4", "filetype>=1.2,<2", diff --git a/python/packages/foundry/pyproject.toml b/python/packages/foundry/pyproject.toml index d392439269..981954bd63 100644 --- a/python/packages/foundry/pyproject.toml +++ b/python/packages/foundry/pyproject.toml @@ -24,7 +24,7 @@ classifiers = [ ] dependencies = [ "agent-framework-core>=1.2.2,<2", - "agent-framework-openai>=1.1.0,<2", + "agent-framework-openai>=1.2.2,<2", "azure-ai-inference>=1.0.0b9,<1.0.0b10", "azure-ai-projects>=2.1.0,<3.0", ] diff --git a/python/uv.lock b/python/uv.lock index 72cba80257..4103e030ba 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -236,6 +236,7 @@ version = "1.0.0a260429" source = { editable = "packages/azure-contentunderstanding" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-foundry", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "aiohttp", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "azure-ai-contentunderstanding", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "filetype", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -244,6 +245,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "agent-framework-core", editable = "packages/core" }, + { name = "agent-framework-foundry", editable = "packages/foundry" }, { name = "aiohttp", specifier = ">=3.9,<4" }, { name = "azure-ai-contentunderstanding", specifier = ">=1.0.1,<1.1" }, { name = "filetype", specifier = ">=1.2,<2" },