Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
* Remove test warnings (#2331) * Create new branch and fix issue
* Remove deprecated run_sse_async method * Update CLI and tests to use run_http_async(transport="sse") - Change CLI to call run_http_async with transport="sse" instead of run_sse_async - Update test to mock run_http_async with create=True for v1 servers * Revert CLI changes - v1 servers do have run_sse_async - Keep CLI calling run_sse_async() for v1 compatibility - Update test to mock run_sse_async (which exists on v1) * Remove unnecessary type ignore for run_sse_async Method exists on v1 FastMCP class, no type error * Remove unused imports after test deletion
* Remove deprecated client parameter from FastMCPProxy (#2333) * Delete deprecated test_output_schema_false.py Tests functionality that has been removed
…2342) * Remove resource_prefix_format="protocol" support (fixes #2195) Removes deprecated protocol format (prefix+resource://path) and keeps only path format (resource://prefix/path). Since only one format remains: - Removed resource_prefix_format from settings, FastMCP.__init__, and helpers - Simplified add_resource_prefix, remove_resource_prefix, has_resource_prefix - Removed MountedServer.resource_prefix_format field - Deleted tests for protocol format All resource prefixes now use path format exclusively. * Clean up resource_prefix_format references - Remove from test files - Update documentation to remove protocol format section - Move custom HTTP routes note to mounting section - Remove resource_prefix_format from settings docs * Use inline version note instead of badge for prefix format * Remove obsolete test functions and update docs - Delete test functions that no longer assert anything - Remove proxy.mdx reference to deleted prefix format section * Format error messages per ruff
* Remove deprecated from_client classmethod (fixes #2192) * Remove unused Client import
Resolved conflicts: - docs/docs.json: Kept debug provider, removed bearer provider - docs/python-sdk/fastmcp-server-server.mdx: Removed run_streamable_http_async
Test Failure AnalysisSummary: All 5 test failures in Root Cause: The PR removed the Suggested Solution: Remove the deprecation warning block entirely (lines 272-284 in the PR branch). This aligns with the PR's purpose of removing deprecations for the 2.14 release. Specifically, remove these lines from if exclude_args and fastmcp.settings.deprecation_warnings:
warnings.warn(
"The \`exclude_args\` parameter will be deprecated in FastMCP 2.14. "
"We recommend using dependency injection with \`Depends()\` instead, which provides "
"better lifecycle management and is more explicit. "
"\`exclude_args\` will continue to work until then. "
"See https://gofastmcp.com/docs/servers/tools for examples.",
DeprecationWarning,
stacklevel=2,
)The Detailed AnalysisFailed TestsAll 5 failures are in
Error Stack TraceWhat ChangedThe diff shows that line 22 originally had: import fastmcpThis was removed in the PR, but line 272 still references it: if exclude_args and fastmcp.settings.deprecation_warnings:Similar Changes in This PRThe PR successfully removed other deprecation warnings:
The Related Files
|
|
Leaving this branch undeleted so we can easily generate release notes from PRs merged into it. Once 2.14 is released, it can be deleted safely. |
Test Failure Analysis - Post-Merge Integration TestSummary: The integration test Root Cause: This failure is caused by external API rate limiting, not by code changes in the PR:
The test marked with Suggested Solution: No code changes needed - this is an intermittent external service issue. The test design already accounts for flakiness with retry logic. Options to improve robustness:
Impact: This failure does not indicate any regression from the PR changes. The integration tests passed on retry initially, and the error occurred during cleanup after hitting external rate limits. Detailed AnalysisTest Execution Timeline
Error Stack TraceThe teardown error is a secondary issue caused by pytest's fixture cleanup after the timeout: File ".venv/lib/python3.10/site-packages/_pytest/tmpdir.py", line 269, in tmp_path
result_dict = request.node.stash[tmppath_result_key]
KeyError: <_pytest.stash.StashKey object at 0x7f9b2a01d700>Test Results
Related Files
|
- Remove ExtendedEnvSettingsSource (FASTMCP_SERVER_ prefix support) - Remove dependencies parameter from FastMCP.__init__
* Implement MCP background tasks (SEP-1686) using Docket Adds support for background task execution via the MCP task protocol, powered by Docket for task queue management. - Tools, resources, and prompts can be marked with `task=True` to run async - Progress dependency for tracking task progress - CurrentDocket and CurrentWorker dependencies for advanced use cases - Client API with `.call_tool(..., task=True)` returns task handles - Task status notifications via subscriptions - CLI worker command for distributed task processing Configuration via environment: - FASTMCP_ENABLE_DOCKET=true - FASTMCP_ENABLE_TASKS=true - FASTMCP_DOCKET_URL=redis://... (or memory:// for single-process) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix tasks example import (TaskStatusResponse → GetTaskResult) The example was using a non-existent TaskStatusResponse type. Updated to use mcp.types.GetTaskResult which is what the on_status_change callback actually receives. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix env var name in Docket error messages The error messages referenced FASTMCP_EXPERIMENTAL_ENABLE_DOCKET but the actual setting is FASTMCP_ENABLE_DOCKET. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Remove deprecated code re-added from pre-#2329 branch - Remove ExtendedEnvSettingsSource (FASTMCP_SERVER_ prefix support) - Remove dependencies parameter from FastMCP.__init__ * Replace fakeredis git pin with PyPI release * Remove redundant fakeredis dev dep (pulled via pydocket) --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
This PR is a sink for all work related to 2.14 deprecations (closes #2176). Each deprecated issue should have a separate PR that gets merged into this branch, which must be periodically updated from main to fix conflicts. This branch should be ultimately merged with a merge commit, not a squash commit.
This branch should ONLY be merged ahead of 2.14's release, as the breaking changes should not be part of 2.13.x work.
@coderabbitai ignore
Note: #2175 is the most likely to create merge conflicts because it involves many file movements and risks missing enhancements to the experimental parser, so consider merging it later and separately from this branch
As a final check on this branch, review the tests/deprecated files / tests to make sure none were left residually
Closes #2176 (main issue)
Closes #2315 (via transitive #2185 / #2330)