github PrefectHQ/fastmcp v3.4.3
v3.4.3: The Fast and the Secure-ious

3 hours ago

FastMCP 3.4.3 closes out a month of SSRF and OAuth hardening: NAT64, 6to4, Teredo, and ISATAP transition addresses can no longer smuggle private IPv4 targets past the SSRF allow-list, Streamable HTTP now validates Host and Origin before session handling to block DNS rebinding against localhost-bound servers, and OAuth redirect validation rejects unsafe schemes and unregistered DCR redirect URIs. Alongside the security work, this release also fixes proxy session teardown races, discriminator-tag handling in JSON schema conversion, and several smaller reliability issues.

What's Changed

Enhancements ✨

  • Dedupe discriminator-required helper across schema converters by @jlowin in #4362
  • Add real Monty sandbox e2e coverage for CodeMode call_tool by @AlexlaGuardia in #4274
  • Switch prettier hook to rbubley/mirrors-prettier by @jlowin in #4366
  • feat(remote): add --verify flag for TLS certificate verification by @jlowin in #4369

Security 🔒

Fixes 🐞

  • fix: caching middleware TypeError on cache miss due to mismatched call_next parameter by @gmenziesint in #4301
  • Fix: async rate limiting middleware get_client_id callbacks by @Chotom in #4319
  • Recognize all GitHub issue-link forms in require-issue-link workflow by @jlowin in #4359
  • fix: preserve required discriminator tags by @he-yufeng in #4297
  • fix(proxy): shield stateful proxy disconnect during session teardown by @jlowin in #4363
  • fix(fs): isolate same-named package imports across providers by @jlowin in #4361
  • fix: StatefulProxyClient.clear() no longer causes KeyError on session teardown by @tcconnally in #4328
  • fix: guard recursive refs in json_schema_to_type by @Epochex in #4312
  • Forward IdP auth errors to MCP client instead of showing HTML error page by @bobbyjames839 in #4293
  • fix(resources): round-trip path values with reserved characters in URI templates by @jlowin in #4368
  • fix: bracket IPv6 hosts in server startup log URL by @jlowin in #4372
  • fix: bound default OIDC discovery timeout and expose it on provider wrappers by @jlowin in #4374
  • fix: validate task tool arguments against declared types by @jlowin in #4373
  • fix(tools): honor serialize_by_alias in tool result serialization by @jlowin in #4391
  • Fix/cimd flow issue by @twjackysu in #4206
  • Reject empty env var keys by @CodingFeng101 in #4410
  • fix: correct replace_type docstring parameter descriptions by @hiSandog in #4375
  • Fix ty 0.0.55 diagnostics and prefab-ui protocol version drift by @jlowin in #4428
  • [codex] Fix OpenAPI resource template requests by @jlowin in #4407

Docs 📚

Dependencies 📦

  • chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #4343
  • chore(deps): bump joserfc from 1.6.5 to 1.6.7 in the uv group across 1 directory by @dependabot[bot] in #4394
  • chore(deps): bump joserfc from 1.6.7 to 1.6.8 in the uv group across 1 directory by @dependabot[bot] in #4429

Other Changes 🦾

  • Raise fastmcp.ValidationError for invalid tool arguments by @jlowin in #4392
  • Fix versioned auth middleware checks by @jlowin in #4401
  • Docs: add v3.4.2 and v3.4.3 changelog entries by @jlowin in #4430

New Contributors

Full Changelog: v3.4.2...v3.4.3

Don't miss a new fastmcp release

NewReleases is sending notifications on new releases.