v1.3.3
Bug Fix
Fix multi-pod load balancer session routing (VS Code Copilot compatibility)
Problem: When deployed with multiple pods behind a load balancer, MCP clients (VS Code Copilot, etc.) would fail with "Bad Request: No valid session ID provided" because requests could be routed to a pod that doesn't hold the client's session. MCP clients don't send cookies, so sticky session routing doesn't work.
Root cause: The server returned HTTP 400 for unknown session IDs. Clients treat 400 as a fatal error and give up.
Fix: Return HTTP 404 for unknown session IDs, as required by the MCP specification:
"The server MAY terminate the session at any time, after which it MUST respond to requests containing that session ID with HTTP 404 Not Found. When a client receives HTTP 404 in response to a request containing an Mcp-Session-Id, it MUST start a new session by sending a new InitializeRequest without a session ID attached."
This applies to all three HTTP methods (POST, GET, DELETE). Clients will now automatically re-initialize when they hit a different pod, creating a new session seamlessly.
Also includes (from v1.3.2)
- Handle JSON-RPC batch initialize requests for broader client compatibility