diff --git a/python/CHANGELOG.md b/python/CHANGELOG.md index 1fa1c52b47..8bb6ebcd75 100644 --- a/python/CHANGELOG.md +++ b/python/CHANGELOG.md @@ -7,9 +7,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.0.0b251016] - 2025-10-16 + +### Added + +- Add Purview Middleware ([#1142](https://github.com/microsoft/agent-framework/pull/1142)) +- Added URL Citation Support to Azure AI Agent ([#1397](https://github.com/microsoft/agent-framework/pull/1397)) +- Added MCP headers for AzureAI ([#1506](https://github.com/microsoft/agent-framework/pull/1506)) +- Add Function Approval UI to DevUI ([#1401](https://github.com/microsoft/agent-framework/pull/1401)) +- Added function approval example with streaming ([#1365](https://github.com/microsoft/agent-framework/pull/1365)) +- Added A2A AuthInterceptor Support ([#1317](https://github.com/microsoft/agent-framework/pull/1317)) +- Added example with MCP and authentication ([#1389](https://github.com/microsoft/agent-framework/pull/1389)) +- Added sample with Foundry Redteams ([#1306](https://github.com/microsoft/agent-framework/pull/1306)) +- Added AzureAI Agent AI Search Sample ([#1281](https://github.com/microsoft/agent-framework/pull/1281)) +- Added AzureAI Bing Connection Name Support ([#1364](https://github.com/microsoft/agent-framework/pull/1364)) + +### Changed + +- Enhanced documentation for dependency injection and serialization features ([#1324](https://github.com/microsoft/agent-framework/pull/1324)) +- Update README to list all available examples ([#1394](https://github.com/microsoft/agent-framework/pull/1394)) +- Reorganize workflows modules ([#1282](https://github.com/microsoft/agent-framework/pull/1282)) +- Improved thread serialization and deserialization with better tests ([#1316](https://github.com/microsoft/agent-framework/pull/1316)) +- Included existing agent definition in requests to Azure AI ([#1285](https://github.com/microsoft/agent-framework/pull/1285)) +- DevUI - Internal Refactor, Conversations API support, and performance improvements ([#1235](https://github.com/microsoft/agent-framework/pull/1235)) +- Refactor `RequestInfoExecutor` ([#1403](https://github.com/microsoft/agent-framework/pull/1403)) + +### Fixed + +- Fix AI Search Tool Sample and improve AI Search Exceptions ([#1206](https://github.com/microsoft/agent-framework/pull/1206)) +- Fix Failure with Function Approval Messages in Chat Clients ([#1322](https://github.com/microsoft/agent-framework/pull/1322)) +- Fix deadlock in Magentic workflow ([#1325](https://github.com/microsoft/agent-framework/pull/1325)) +- Fix tool call content not showing up in workflow events ([#1290](https://github.com/microsoft/agent-framework/pull/1290)) +- Fixed instructions duplication in model clients ([#1332](https://github.com/microsoft/agent-framework/pull/1332)) +- Agent Name Sanitization ([#1523](https://github.com/microsoft/agent-framework/pull/1523)) + ## [1.0.0b251007] - 2025-10-07 ### Added + - Added method to expose agent as MCP server ([#1248](https://github.com/microsoft/agent-framework/pull/1248)) - Add PDF file support to OpenAI content parser with filename mapping ([#1121](https://github.com/microsoft/agent-framework/pull/1121)) - Sample on integration of Azure OpenAI Responses Client with a local MCP server ([#1215](https://github.com/microsoft/agent-framework/pull/1215)) @@ -21,6 +56,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add semantic-kernel to agent-framework migration code samples ([#1045](https://github.com/microsoft/agent-framework/pull/1045)) ### Changed + - [BREAKING] Parameter naming and other fixes ([#1255](https://github.com/microsoft/agent-framework/pull/1255)) - [BREAKING] Introduce add_agent functionality and added output_response to AgentExecutor; agent streaming behavior to follow workflow invocation ([#1184](https://github.com/microsoft/agent-framework/pull/1184)) - OpenAI Clients accepting api_key callback ([#1139](https://github.com/microsoft/agent-framework/pull/1139)) @@ -38,6 +74,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Python: Foundry Agent Completeness ([#954](https://github.com/microsoft/agent-framework/pull/954)) ### Fixed + - Ollama + azureai openapi samples fix ([#1244](https://github.com/microsoft/agent-framework/pull/1244)) - Fix multimodal input sample: Document required environment variables and configuration options ([#1088](https://github.com/microsoft/agent-framework/pull/1088)) - Fix Azure AI Getting Started samples: Improve documentation and code readability ([#1089](https://github.com/microsoft/agent-framework/pull/1089)) @@ -50,6 +87,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [1.0.0b251001] - 2025-10-01 ### Added + - First release of Agent Framework for Python - agent-framework-core: Main abstractions, types and implementations for OpenAI and Azure OpenAI - agent-framework-azure-ai: Integration with Azure AI Foundry Agents @@ -61,6 +99,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 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.0.0b251007...HEAD +[Unreleased]: https://github.com/microsoft/agent-framework/compare/python-1.0.0b251016...HEAD +[1.0.0b251016]: https://github.com/microsoft/agent-framework/compare/python-1.0.0b251007...python-1.0.0b251016 [1.0.0b251007]: https://github.com/microsoft/agent-framework/compare/python-1.0.0b251001...python-1.0.0b251007 [1.0.0b251001]: https://github.com/microsoft/agent-framework/releases/tag/python-1.0.0b251001 diff --git a/python/packages/a2a/pyproject.toml b/python/packages/a2a/pyproject.toml index 92b9b0c7a6..0d3360309c 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.0b251007" +version = "1.0.0b251016" 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/azure-ai/pyproject.toml b/python/packages/azure-ai/pyproject.toml index ce2bd9573f..e38e9c430e 100644 --- a/python/packages/azure-ai/pyproject.toml +++ b/python/packages/azure-ai/pyproject.toml @@ -4,7 +4,7 @@ description = "Azure AI Foundry integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "1.0.0b251007" +version = "1.0.0b251016" 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/copilotstudio/pyproject.toml b/python/packages/copilotstudio/pyproject.toml index 2ab391489b..c34778e75e 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.0b251007" +version = "1.0.0b251016" 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/core/pyproject.toml b/python/packages/core/pyproject.toml index 9909d9abd6..334f35b79f 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.0.0b251007" +version = "1.0.0b251016" 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/core/tests/azure/test_azure_chat_client.py b/python/packages/core/tests/azure/test_azure_chat_client.py index 864b3fa20a..d43302d472 100644 --- a/python/packages/core/tests/azure/test_azure_chat_client.py +++ b/python/packages/core/tests/azure/test_azure_chat_client.py @@ -744,12 +744,12 @@ async def test_azure_openai_chat_client_agent_basic_run(): chat_client=AzureOpenAIChatClient(credential=AzureCliCredential()), ) as agent: # Test basic run - response = await agent.run("Hello! Please respond with 'Hello World' exactly.") + response = await agent.run("Please respond with exactly: 'This is a response test.'") assert isinstance(response, AgentRunResponse) assert response.text is not None assert len(response.text) > 0 - assert "hello world" in response.text.lower() + assert "response test" in response.text.lower() @pytest.mark.flaky diff --git a/python/packages/devui/pyproject.toml b/python/packages/devui/pyproject.toml index 964dc4d892..8be2f77931 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.0b251007" +version = "1.0.0b251016" license-files = ["LICENSE"] urls.homepage = "https://github.com/microsoft/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" diff --git a/python/packages/mem0/pyproject.toml b/python/packages/mem0/pyproject.toml index 78bcb6665a..8fffdf6931 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.0b251007" +version = "1.0.0b251016" 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/purview/pyproject.toml b/python/packages/purview/pyproject.toml index 7336ae0c66..fad4f48a25 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 = "0.1.0b1" +version = "1.0.0b251016" license-files = ["LICENSE"] urls.homepage = "https://github.com/microsoft/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" diff --git a/python/packages/redis/pyproject.toml b/python/packages/redis/pyproject.toml index 30f963ebdc..78c370d32a 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.0b251007" +version = "1.0.0b251016" 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/pyproject.toml b/python/pyproject.toml index 2044d779f7..65f3aeab23 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.0.0b251007" +version = "1.0.0b251016" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -29,6 +29,7 @@ dependencies = [ "agent-framework-mem0", "agent-framework-redis", "agent-framework-devui", + "agent-framework-purview", ] [dependency-groups] @@ -81,6 +82,7 @@ agent-framework-lab = { workspace = true } agent-framework-mem0 = { workspace = true } agent-framework-redis = { workspace = true } agent-framework-devui = { workspace = true } +agent-framework-purview = { workspace = true } [tool.ruff] line-length = 120 @@ -233,6 +235,7 @@ pytest --import-mode=importlib --cov=agent_framework_copilotstudio --cov=agent_framework_mem0 --cov=agent_framework_redis +--cov=agent_framework_purview --cov-report=term-missing:skip-covered --ignore-glob=packages/lab/** --ignore-glob=packages/devui/** diff --git a/python/uv.lock b/python/uv.lock index 5ef7f01768..c17c60e83a 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -62,7 +62,7 @@ wheels = [ [[package]] name = "agent-framework" -version = "1.0.0b251007" +version = "1.0.0b251016" source = { virtual = "." } dependencies = [ { name = "agent-framework-a2a", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -71,6 +71,7 @@ dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "agent-framework-devui", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "agent-framework-mem0", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-purview", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "agent-framework-redis", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] @@ -108,6 +109,7 @@ requires-dist = [ { name = "agent-framework-core", editable = "packages/core" }, { name = "agent-framework-devui", editable = "packages/devui" }, { name = "agent-framework-mem0", editable = "packages/mem0" }, + { name = "agent-framework-purview", editable = "packages/purview" }, { name = "agent-framework-redis", editable = "packages/redis" }, ] @@ -139,7 +141,7 @@ docs = [ [[package]] name = "agent-framework-a2a" -version = "1.0.0b251007" +version = "1.0.0b251016" source = { editable = "packages/a2a" } dependencies = [ { name = "a2a-sdk", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -154,7 +156,7 @@ requires-dist = [ [[package]] name = "agent-framework-azure-ai" -version = "1.0.0b251007" +version = "1.0.0b251016" source = { editable = "packages/azure-ai" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -173,7 +175,7 @@ requires-dist = [ [[package]] name = "agent-framework-copilotstudio" -version = "1.0.0b251007" +version = "1.0.0b251016" source = { editable = "packages/copilotstudio" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -188,7 +190,7 @@ requires-dist = [ [[package]] name = "agent-framework-core" -version = "1.0.0b251007" +version = "1.0.0b251016" source = { editable = "packages/core" } dependencies = [ { name = "aiofiles", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -248,7 +250,7 @@ provides-extras = ["viz", "all"] [[package]] name = "agent-framework-devui" -version = "1.0.0b251007" +version = "1.0.0b251016" source = { editable = "packages/devui" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -371,7 +373,7 @@ dev = [ [[package]] name = "agent-framework-mem0" -version = "1.0.0b251007" +version = "1.0.0b251016" source = { editable = "packages/mem0" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -386,7 +388,7 @@ requires-dist = [ [[package]] name = "agent-framework-purview" -version = "0.1.0b1" +version = "1.0.0b251016" source = { editable = "packages/purview" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -403,7 +405,7 @@ requires-dist = [ [[package]] name = "agent-framework-redis" -version = "1.0.0b251007" +version = "1.0.0b251016" source = { editable = "packages/redis" } dependencies = [ { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" },