Skip to content

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

FactDetail
ProductMicrosoft Agent Framework, Python packages
Version1.25.0 (GitHub tag python-1.25.0)
Release dateNovember 7, 2026 (PyPI 15:42 UTC, GitHub 15:52 UTC)
Previous release1.24.0, October 30, 2026
Python>=3.11 on PyPI (3.10 removed)
LicenseMIT, per the GitHub API
Installpip 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_pages or max_discovery_items for big catalogs, set them to None only for a trusted server, or pass request_timeout=None to 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_CONFLICT before any model call, and AG-UI endpoints reject WorkflowAgent.as_tool(). Use AgentFrameworkWorkflow(workflow_factory=...) so each call gets fresh workflows, executors and sessions.
  • Workflow spans follow OpenTelemetry GenAI conventions (PR 9900). Filters on the workflow.run span name break. Match gen_ai.operation.name == "invoke_workflow" and read gen_ai.workflow.name instead of workflow.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. Build DefaultMCPToolHandler(...) normally instead of using async with, and drop aclose() calls; cache_max_size is now an ignored, deprecated parameter.
  • Foundry Local SDK 2.3.1 (PR 9322). Install foundry-local-sdk>=2.3.1,<3 and remove the unsupported do_sample and early_stopping options.
  • Code-execution sandboxes redact host errors (PR 9971). Hyperlight and Monty return a generic RuntimeError unless you set include_detailed_errors=True on 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; pass domain= for session-wide access (PR 10149).
  • Also: Anthropic usage counts cache tokens and keeps redacted_thinking blocks 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

Microsoft Agent Framework compared with its alternatives
ToolLicensePricing 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.
MITMicrosoft 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.
MITSemantic 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.0AG2 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.
MITNot stated

More from Microsoft Agent Framework

View all

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.