Features
- Add optional
--initialization-timeoutfor stdio backend startup; ordinary tool calls keep their existing timeout behavior. - Recover lost Streamable HTTP sessions on a later explicit request without transparently replaying operations.
- Preserve upstream completion capability, progress notifications, and tools/list pagination.
- Add Python 3.15 CI coverage, validated on Python 3.15.2 while retaining Python 3.10 support.
Reliability and compatibility
- Exit reverse stdio proxies when the local client disconnects, including during upstream initialization.
- Bound Streamable HTTP session DELETE teardown and server graceful shutdown.
- Include
uvanduvxin the runtime container image. - Read named-server configuration as UTF-8, accumulate repeated CORS origins, and correct log timestamp rendering.
- Refresh runtime and development dependencies, including Python-version-specific rpds-py resolution.
Operational notes
- Reverse stdio input is bounded to 4 MiB per frame and queued payload, and 128 admitted frames. Overflow fails explicitly; EOF cancels queued work. Clients must drain or close stdout.
- Session recovery never replays an operation that already started. Incompatible capabilities or lost state can require restarting the downstream client.
- Python 3.10 remains supported. Native Windows execution was not part of the local validation.
Full changelog: v0.13.3...v0.14.0