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