Repository navigation
v0.41.0
Added
- [Swagger] Added Kiro (AWS) setup instructions and one-click install badge for the Swagger Remote MCP Server.
Changed
- [Common] Rewrote the transport bootstrap to serve both the 2025-11-25 and 2026-07-28 (RC) MCP protocol revisions from a single deployment, on stdio (
serveStdio,legacy: "serve") and HTTP (per-request routing between the existing sessionful wiring and a new statelesscreateMcpHandlerleg). Existing 2025-11-25 clients are unaffected. #687 - [Common] Modern-era (2026-07-28) requests now carry client identity: the protocol version, client info and capabilities are extracted from each request's
_metaenvelope into the request context, so error reports are attributed for clients that no longer send aninitializehandshake, and downstreamUser-Agentattribution follows on stdio. On the HTTP transport the downstreamUser-Agentis still fixed at configuration time and does not yet reflect the per-request client (pre-existing behavior, tracked separately). Legacy per-connection capture is unchanged. #691 - [Common] Protocol-compliance fixes for the modern (2026-07-28) era: cacheable list/read results (
tools/list,prompts/list,resources/list,resources/templates/list,resources/read) now carry cache hints (ttlMsfromCACHE_TTL,cacheScope: private);tools/listoutput is deterministically ordered (alphabetical by name, both eras); the modern era no longer advertises the deprecatedloggingcapability (SEP-2577), whiletools.listChangedremains advertised on both eras (the SDK's serving entries implementsubscriptions/listennatively for modern clients);Mcp-MethodandMcp-Nameare allowed through CORS. SEP-2243 param-driven request headers (Mcp-Param-<Name>, declared viax-mcp-headerschema annotations) are validated against tool arguments natively by the SDK; no tool currently declares one, so no additional CORS entries are needed for them. Legacy (2025-11-25) capability declarations and cache-result envelopes are unchanged; resource-not-found errors are now reported as -32602 (Invalid Params) in both eras per the 2026-07-28 spec, and clients should accept both -32602 and the former -32002. #708 - [Common] Elicitation on the modern (2026-07-28) era now uses the multi round-trip pattern (SEP-2322): tools that need user input return an
input_requiredresult carrying an embeddedelicitation/createrequest, and the client's retry supplies the answers viainputResponses. Answers from earlier rounds are correlated through a server-mintedrequestState. Modern clients that do not declare theelicitationcapability, and all legacy (2025-11-25) clients, keep the existing instruction-based fallback. #705 - [Zephyr] Change outputSchema for issue link test cases, cycles and executions to be objects instead of arrays. #706
Fixed
-
[Swagger] Updated and fixed Functional Testing tool descriptions for clarity and LLM usability: added explicit async/polling guidance to
run_testandrun_suite, enumerated status values with descriptions forget_test_statusandget_suite_status, addedlimit/offsetpagination hints and total run count toget_test_history, standardized status terminology tocanceledacross all tool descriptions, and restructured the public doc intoTestsandSuitessections with bold field labels and cross-tool references. -
[Common] Security:
WWW-AuthenticateOAuth discovery URLs are no longer derived from the client-suppliedHostheader over a hardcodedhttp://. The header is now built viagetBaseUrl(), honouring theBASE_URLenv var and deriving the scheme fromX-Forwarded-Proto.X-Forwarded-Hostis now only trusted when the newTRUST_PROXYenv var is enabled, since it can be forged by clients on deployments without a proxy stripping it. Both variables are documented in the README. -
[Common] The
Smartbear-Toolsetsheader (used to load only specific tool groups, e.g.qtm4j:testcases) was missing from the allowed CORS headers, so browsers were blocking it before it reached the server. It's now added to the allow-list and works as expected.