This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+7 more
ReleasePort's take
Light signalHeartbeat detection now recovers from dead TCP connections automatically within ~30 seconds.
Why it matters: Patch to v1.13.1 immediately; the fix resolves connection loss after ~30 s of inactivity, preventing stalled sessions.
Summary
AI summaryFixed heartbeat detection of dead TCP connections, automatically reconnecting within ~30 seconds.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Status panel shows yellow ⚠ stale indicator with per-port idle time in Clients tab. Status panel shows yellow ⚠ stale indicator with per-port idle time in Clients tab. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Performance | Medium |
Enables OS-level TCP keepalive (5s) on server socket to surface half-open links faster. Enables OS-level TCP keepalive (5s) on server socket to surface half-open links faster. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Heartbeat now detects and recovers from dead connections automatically within ~30s. Heartbeat now detects and recovers from dead connections automatically within ~30s. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Refactor | Medium |
Server tracks last pong timestamp; after 30s of no pong, force-destroys the socket and rejects pending requests immediately. Server tracks last pong timestamp; after 30s of no pong, force-destroys the socket and rejects pending requests immediately. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Refactor | Medium |
Editor sends its own ping every 5s; force-closes any port that goes 30s without inbound traffic. Editor sends its own ping every 5s; force-closes any port that goes 30s without inbound traffic. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Refactor | Medium |
Editor sends ping every 5 seconds and force-closes ports that remain silent for 30 seconds. Editor sends ping every 5 seconds and force-closes ports that remain silent for 30 seconds. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
Full changelog
Bug Fix — Heartbeat now actually detects dead connections
The MCP server sent ping every 10s and the editor replied pong, but neither side tracked whether responses were arriving. When a TCP connection went half-open (Windows sleep/wake, VPN toggle, brief editor hang), both sides held a dead socket — isConnected() returned true, every command timed out at 30s, and recovery required restarting Claude Code and the Godot editor.
What's fixed
- Server: tracks last
pongtimestamp; after 30s of no pong, force-destroys the socket and rejects pending requests immediately - Editor: sends its own
pingevery 5s, force-closes any port that goes 30s without inbound traffic - OS-level TCP keepalive (5s) enabled on the server socket — surfaces half-open links faster than Windows' ~2-hour default
- Status panel: yellow ⚠ stale indicator + per-port idle time in the Clients tab
After upgrading
Recovery is automatic within ~30s after a connection dies. Look for [MCP] Port NNNN silent for X.Xs — forcing reconnect in the editor Output panel if you want to see it happening.
No API or tool changes — same 172 tools, same behavior in the healthy path.
Credits
Reported by CrusherEAGLE on Discord 2026-05-12 — thanks for the clean repro details.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About youichi-uda/godot-mcp-pro
Premium MCP server for Godot game engine with 84 tools for scene editing, scripting, animation, tilemap, shader, input simulation, and runtime debugging.
Related context
Beta — feedback welcome: [email protected]