Skip to content

v2.0.0 — FastMCP 3 + Python 3.11 floor

Latest

Choose a tag to compare

@santoshray02 santoshray02 released this 20 Apr 06:11
· 4 commits to main since this release

🚨 Breaking changes

  • Python floor raised to 3.11. Users on Python 3.8, 3.9, or 3.10 must upgrade. csv-editor>=1,<2 users are unaffected.
  • --transport sse removed. Use --transport http (Streamable HTTP) for remote deployments — aligned with MCP spec 2025-11-25 and FastMCP 3 guidance that SSE is "backward compatibility only."
  • FastMCP bumped to >=3.2,<4. Consumers importing FastMCP APIs transitively may need updates per the FastMCP 3 upgrade guide.

✨ Added

  • GitHub Actions pytest matrix workflow (Python 3.11–3.14).
  • tests/test_server_boot.py — regression tests for server import, tool registry, CLI.
  • Python 3.14 classifier and test coverage.
  • CONTRIBUTING guide entry for rebuilding the local virtualenv.
  • Design spec + implementation plan under specs/ and plans/.

🔧 Changed

  • Dependencies: pydantic 2.13, pyarrow 23, httpx 0.28, aiofiles 25, tabulate 0.10, pydantic-settings 2.13.
  • Tooling: black → py311/312/313, ruff → py311, mypy → 3.11.
  • Applied ruff --fix + black formatting across src/ and tests/ (large format-only diff, no behavior change).
  • Dockerfile base pinned to python:3.11-slim-bookworm.
  • main() now accepts optional argv parameter for testability.
  • README Python badge updated from 3.8+ to 3.11+.

🗑️ Removed

  • --transport sse CLI option.
  • Python 3.8 / 3.9 / 3.10 classifier entries.

⏭️ Deferred (follow-up release)

  • pandas 3.0 and numpy 2.4. Pandas 3.0's Copy-on-Write and Arrow-backed default string dtype are behavioral changes meriting a dedicated sub-project with focused test coverage.

Full CHANGELOG

See CHANGELOG.md.

Design + roadmap