v2.7.0

July 7, 2026

Keep MCP requests from leaking into each other

MCP components now resolve through shared resolve_* helpers that make create_fresh deep copies instead of sharing singleton state, and a fresh session is minted per call whenever session_id is omitted. One request can no longer pick up another's history or state, so concurrent MCP traffic stays cleanly isolated.