From 8d3deeecc91673dd85c3412bdafe722d26c5e0d3 Mon Sep 17 00:00:00 2001 From: Jeremiah Lowin <153965+jlowin@users.noreply.github.com> Date: Sat, 6 Dec 2025 11:40:42 -0500 Subject: [PATCH] Add v2.14.0 upgrade guide (#2565) * Add v2.14.0 upgrade guide section * Update upgrade guide to use CodeGroup tabs for all migration examples --- docs/development/upgrade-guide.mdx | 103 +++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/docs/development/upgrade-guide.mdx b/docs/development/upgrade-guide.mdx index d525ef74a..f72f1087f 100644 --- a/docs/development/upgrade-guide.mdx +++ b/docs/development/upgrade-guide.mdx @@ -8,6 +8,109 @@ tag: NEW This guide provides migration instructions for breaking changes and major updates when upgrading between FastMCP versions. +## v2.14.0 + +### OpenAPI Parser Promotion + +The experimental OpenAPI parser is now the standard implementation. The legacy parser has been removed. + +**If you were using the legacy parser:** No code changes required. The new parser is a drop-in replacement with improved architecture. + +**If you were using the experimental parser:** Update your imports from the experimental module to the standard location: + + +```python Before +from fastmcp.experimental.server.openapi import FastMCPOpenAPI, RouteMap, MCPType +``` + +```python After +from fastmcp.server.openapi import FastMCPOpenAPI, RouteMap, MCPType +``` + + +The experimental imports will continue working temporarily but will show deprecation warnings. The `FASTMCP_EXPERIMENTAL_ENABLE_NEW_OPENAPI_PARSER` environment variable is no longer needed and can be removed. + +### Deprecated Features Removed + +The following deprecated features have been removed in v2.14.0: + +**BearerAuthProvider** (deprecated in v2.11): + +```python Before +from fastmcp.server.auth.providers.bearer import BearerAuthProvider +``` + +```python After +from fastmcp.server.auth.providers.jwt import JWTVerifier +``` + + +**Context.get_http_request()** (deprecated in v2.2.11): + +```python Before +request = context.get_http_request() +``` + +```python After +from fastmcp.server.dependencies import get_http_request +request = get_http_request() +``` + + +**Top-level Image import** (deprecated in v2.8.1): + +```python Before +from fastmcp import Image +``` + +```python After +from fastmcp.utilities.types import Image +``` + + +**FastMCP dependencies parameter** (deprecated in v2.11.4): + +```python Before +mcp = FastMCP("server", dependencies=["requests", "pandas"]) +``` + +```json After +{ + "environment": { + "dependencies": ["requests", "pandas"] + } +} +``` + + +**Legacy resource prefix format**: The `resource_prefix_format` parameter and "protocol" format have been removed. Only the "path" format is supported (this was already the default). + +**FastMCPProxy client parameter**: + +```python Before +proxy = FastMCPProxy(client=my_client) +``` + +```python After +proxy = FastMCPProxy(client_factory=lambda: my_client) +``` + + +**output_schema=False**: + +```python Before +@mcp.tool(output_schema=False) +def my_tool() -> str: + return "result" +``` + +```python After +@mcp.tool(output_schema=None) +def my_tool() -> str: + return "result" +``` + + ## v2.13.0 ### OAuth Token Key Management