v0.21.86
What's Changed
Graceful connection draining on server shutdown (F4)
On a rollout/redeploy the old pod previously cut long-lived connections abruptly, so clients only detected the dead pod via their heartbeat/read timeout (10–20s) and all reconnected in the same window — a thundering-herd reconnection storm. RedisStore.teardown() now proactively drains both transports: WebSocket clients receive an explicit 1001 GOING_AWAY close frame, and HTTP-streaming /rpc clients receive the None stream-close sentinel (clean EOF) so they reconnect immediately. Previously only WebSockets were closed (bare code 1000); the HTTP-streaming transport had no graceful drain at all. (#960)
Bundled hypha-rpc 0.21.38 → 0.21.42
- getService/
wmproxy retarget to the newmanager_idafter reconnection — avoids a spurious 400 on getService following a server restart. - Event-loop initialization fix (avoid bare
asyncio.get_event_loop()).
Docker image: ghcr.io/amun-ai/hypha:0.21.86