Agent Framework 1.25.0 drops Python 3.10, caps MCP
Updated Microsoft Agent Framework
Summary
Agent Framework 1.25.0 for Python (Nov 7, 2026) requires Python 3.11, bounds MCP discovery and timeouts, scopes workflow agents and renames workflow spans.
- Category
- Frameworks
- Date
- Open source
- Yes
- MCP
- Yes
- Pricing
- Not stated in the sources we cited.
Microsoft tagged Agent Framework python-1.25.0 on November 7, 2026, eight days after 1.24.0. The agent-framework package reached PyPI ten minutes earlier. This one has more breaking changes than usual: seven entries are marked [BREAKING], and each comes with a migration note. Read the list below before you bump the pin.
Release facts
| Fact | Detail |
|---|---|
| Product | Microsoft Agent Framework, Python packages |
| Version | 1.25.0 (GitHub tag python-1.25.0) |
| Release date | November 7, 2026 (PyPI 15:42 UTC, GitHub 15:52 UTC) |
| Previous release | 1.24.0, October 30, 2026 |
| Python | >=3.11 on PyPI (3.10 removed) |
| License | MIT, per the GitHub API |
| Install | pip install agent-framework==1.25.0 |
Breaking changes, with what to do
- Python 3.11 or later (PR 9948). As 1.24.0 warned, every package now refuses to install on 3.10. Upgrade the interpreter first. Foundry Local supports 3.11 to 3.14.
- MCP discovery is bounded (PR 10042). Tool and prompt discovery stops at 100 pages and 1,000 items per catalog, and framework-owned requests time out after 30 seconds. Raise
max_discovery_pagesormax_discovery_itemsfor big catalogs, set them toNoneonly for a trusted server, or passrequest_timeout=Noneto get unlimited timing back. - Workflow agents are bound to one authorization scope (PR 10035). Live workflow executors and sessions are tied to one scope, cross-scope calls fail with
WORKFLOW_SCOPE_CONFLICTbefore any model call, and AG-UI endpoints rejectWorkflowAgent.as_tool(). UseAgentFrameworkWorkflow(workflow_factory=...)so each call gets fresh workflows, executors and sessions. - Workflow spans follow OpenTelemetry GenAI conventions (PR 9900). Filters on the
workflow.runspan name break. Matchgen_ai.operation.name == "invoke_workflow"and readgen_ai.workflow.nameinstead ofworkflow.name. - Declarative MCP sessions are not cached (PR 8662). Each handler call, including
tools/list, opens and closes its own protocol session, which stops MCP state leaking between workflows. BuildDefaultMCPToolHandler(...)normally instead of usingasync with, and dropaclose()calls;cache_max_sizeis now an ignored, deprecated parameter. - Foundry Local SDK 2.3.1 (PR 9322). Install
foundry-local-sdk>=2.3.1,<3and remove the unsupporteddo_sampleandearly_stoppingoptions. - Code-execution sandboxes redact host errors (PR 9971). Hyperlight and Monty return a generic
RuntimeErrorunless you setinclude_detailed_errors=Trueon a trusted channel.
What's new and fixed
- MCP approval policies. MCP discovery approval can be a callable policy, and Foundry Toolbox approval metadata (tool-name and read-only filters) is honored (PR 10136).
- Concurrent MCP requests. HTTP headers are scoped per outgoing request, so MCP tool calls with the same effective headers can overlap without mixing identities (PR 10147).
- Prompt caching. Function-schema properties are sorted deterministically, which keeps tool definitions byte-identical between calls (PR 8960).
- GitHub Copilot approvals. A bare
PermissionDecisionApproveForSession()for a URL prompt now approves once instead of guessing a hostname scope; passdomain=for session-wide access (PR 10149). - Also: Anthropic usage counts cache tokens and keeps
redacted_thinkingblocks in tool loops; the stateless shell tool kills the whole process group on timeout; Redis integration installs on Python 3.15.
Questions
Should I upgrade now? If you are on Python 3.11+ and do not use declarative MCP handlers, workflow agents across users, or span-name filters, it is a quick bump. Otherwise apply the migration notes above first; they are short but not optional.
My MCP server exposes thousands of tools. Will 1.25.0 break it?
Discovery stops at 1,000 items per catalog by default. Raise max_discovery_items (or set it to None for a server you trust).
How does this compare with Semantic Kernel's latest release? Semantic Kernel Python 1.47.0 (November 5) also dropped Python 3.10. Our Microsoft Agent Framework vs Semantic Kernel guide covers which one to build on; more options are in the frameworks category.
Alternatives
| Tool | License | Pricing note |
|---|---|---|
Microsoft Agent FrameworkThis launchMicrosoft Agent Framework is an MIT-licensed Python and .NET framework for AI agents and multi-agent workflows, and the successor to Semantic Kernel. | MIT | Microsoft Agent Framework is MIT-licensed and free to install from PyPI or NuGet. You pay your model provider, or Azure if you host agents on Microsoft Foundry. |
Semantic KernelSemantic Kernel is Microsoft's MIT-licensed SDK for AI agents and plugins in Python, .NET and Java, now succeeded by Microsoft Agent Framework. | MIT | Semantic Kernel is MIT-licensed and free to install from PyPI or NuGet (Java builds live in microsoft/semantic-kernel-java). You pay your model provider for tokens. |
AG2AG2 (formerly AutoGen) is an Apache-2.0 Python framework for AI agents and multi-agent networks, installed from PyPI as ag2 and imported as ag2. | Apache-2.0 | AG2 is Apache-2.0 and free to install from PyPI. You pay your model provider for tokens. |
LangGraphLangGraph is an open-source orchestration runtime for building stateful, resilient agents. | MIT | Not stated |
More from Microsoft Agent Framework
Microsoft Agent Framework 1.24.0 sets Python 3.11 baseline
Microsoft Agent FrameworkAgent Framework 1.24.0 for Python (Oct 30, 2026) sets a Python 3.11 baseline, breaks the beta Redis context index and adds an MCP approval default.
Category: Frameworks
Pricing: Open source
Questions
What is Microsoft Agent Framework?
It is Microsoft's open-source framework for building, orchestrating and deploying AI agents and multi-agent workflows. The Python package is agent-framework on PyPI and the .NET package is Microsoft.Agents.AI on NuGet. A Go SDK lives in a separate repository, microsoft/agent-framework-go.
Is Microsoft Agent Framework the same as Semantic Kernel?
No, it is the successor. The Semantic Kernel README now says Semantic Kernel is Microsoft Agent Framework and calls MAF its enterprise-ready successor. Microsoft publishes migration guides from both Semantic Kernel and AutoGen on Microsoft Learn.
How do I install Microsoft Agent Framework?
pip install agent-framework installs the standard package set for Python. For .NET, dotnet add package Microsoft.Agents.AI. Experimental modules ship separately as agent-framework-lab.
Which Python version does it need?
Python 3.11 or later. Release 1.24.0 made 3.11 the supported baseline, and 1.25.0 (November 7, 2026) removed Python 3.10 installation eligibility from every package.
Do I have to use Azure?
No. The README lists Microsoft Foundry, Azure OpenAI, OpenAI and the GitHub Copilot SDK, and the 1.24.0 release touches separate client packages for Anthropic, Bedrock, Gemini, Mistral, Ollama and NVIDIA. The Python quickstart happens to use Foundry with an Azure CLI login.
Filed on Agent Radar. Claims in this note are limited to the sources above.