Releases: lynnswap/XcodeMCPKit
Releases · lynnswap/XcodeMCPKit
v0.4.2
XcodeMCPKit v0.4.2
Bug Fixes
Made live diagnostics refresh more resilient under load
- Bound
XcodeRefreshCodeIssuesInFilequeue growth per tab and globally so bursty refresh traffic no longer grows without limit. - Returns
refresh queue overloadedwhen the queue is saturated, giving MCP clients a clear recovery signal instead of leaving requests stuck in an unbounded queue. - Cleans up pending refresh waiters during shutdown so retries and reconnects are less likely to inherit stale work.
Other Changes
(User-facing only: minor compatibility changes, small UX tweaks, accessibility improvements, localization updates)
- Translated the proxy server port-in-use startup error to English and clarified the recovery guidance, including when to use
--force-restart.
Documentation
- Added troubleshooting guidance for the new refresh queue backpressure behavior, including when
refresh queue overloadedcan appear and how to reduce broad refresh bursts.
Full Changelog: v0.4.1...v0.4.2
v0.4.1
XcodeMCPKit v0.4.1
Bug Fixes
Stabilized proxy session initialization and upstream routing
- Isolated initialize-time upstream routing so startup requests no longer inherit stale session state.
- Guarded cleanup and session initialization paths to prevent cross-session leakage during reconnects and retries.
Improved live diagnostics refresh reliability
- Serialized
XcodeRefreshCodeIssuesInFilerequests pertabIdentifier. - Retried the transient
SourceEditorCallableDiagnosticError error 5response to reduce intermittent refresh failures during bursts and cold starts.
Hardened local proxy safety checks
- Restricted discovery stdio upstream resolution to loopback addresses and normalized IPv6 loopback parsing.
- Blocked warmup-related symlink and suffix path escapes.
- Isolated warmup health accounting so warmup failures do not poison later request health state.
Documentation
- Clarified the installation flow in
README.mdandREADME.ja.md, including archive selection,PATHsetup, and MCP client registration. - Added troubleshooting guidance for intermittent
XcodeRefreshCodeIssuesInFileerror 5, including the expected retry behavior and recommended usage.
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
- fix: normalize resources list compatibility responses by @lynnswap in #19
- fix: reliability first timeout recovery by @lynnswap in #20
- fix(proxy): harden timeout recovery and debug diagnostics by @lynnswap in #25
- ci: add v* tag release pipeline for universal binaries by @linhay in #21
- Add tagged release pipeline and finalize release install docs by @lynnswap in #26
- Refactor proxy command runners and test suites by @lynnswap in #27
- fix(ci): pin release workflow actions by @lynnswap in #28
New Contributors
Full Changelog: v0.3.5...v0.4.0
v0.3.5
XcodeMCPKit v0.3.5
Improvements
- Stabilize
tools/listhandshakes by warming once (fail-fast) and serving an in-memory cached result for the lifetime of the proxy process (including requests withparams). - Improve multi-upstream warmup behavior by tracking warmup failures and temporarily quarantining upstreams that fail warmup.
Bug Fixes
- Drop unmapped upstream JSON-RPC responses so late
tools/listwarmup replies can’t leak into active sessions. - Make upstream process restarts race-safe and suppress exit events for superseded processes.
- Harden STDIO framing to avoid stalls on
Content-Length-looking log lines and to recover from bogusContent-Lengthblocks.
Documentation
- Clarify the fail-fast
tools/listwarmup timeout in troubleshooting docs.
Full Changelog: v0.3.4...v0.3.5
v0.3.4
XcodeMCPKit v0.3.4
Bug Fixes
- Reduce cross-talk between concurrent sessions by pinning each MCP session to a specific upstream
mcpbridgeprocess, and route unmapped server messages only to sessions pinned to the same upstream.
Full Changelog: v0.3.3...v0.3.4
v0.3.3
XcodeMCPKit v0.3.3
Bug Fixes
- Return empty results for
resources/listandresources/templates/listbefore the proxy is initialized (some clients probe these unconditionally). - After initialization, forward resources listing when supported and only rewrite JSON-RPC "Method not found" (-32601) to an empty list (other upstream errors pass through unchanged).
Full Changelog: v0.3.2...v0.3.3
v0.3.2
XcodeMCPKit v0.3.2
Improvements
- Prefer JSON over SSE for POST calls when the client accepts both (
application/json+text/event-stream). - Make
xcode-mcp-proxy-serverthe dedicated HTTP/SSE proxy server (default listen:localhost:8765) andxcode-mcp-proxythe dedicated STDIO adapter for Codex / Claude Code. - Add
--force-restarttoxcode-mcp-proxy-serverto terminate an existing server when the listen port is already in use. - Add
--urlas a more intuitive alias for pointing the STDIO adapter at a running proxy server (discovery /XCODE_MCP_PROXY_ENDPOINTstill supported).
Bug Fixes
- Fix a hang after upstream disconnects (
Transport closed). - Fix
tools/listcaching + warmup so cached results are only served for canonical no-params requests and warmup won’t collide with real sessions. - Improve proxy server PID detection by using the full process command line (avoids truncated
psoutput).
Documentation
- Update README and troubleshooting for the new Codex / Claude setup, discovery file location,
--force-restart, andTransport closedguidance.
Full Changelog: v0.3.1...v0.3.2
v0.3.1
XcodeMCPKit v0.3.1
Documentation
- Simplify MCP registration by showing how to replace
xcrun mcpbridgewithxcode-mcp-proxyfor Codex and Claude Code. - Streamline troubleshooting for upstream
xcrun mcpbridgeexecution (Xcode selection andxcrun mcpbridge -hchecks).
Full Changelog: v0.3.0...v0.3.1
v0.3.0
XcodeMCPKit v0.3.0
New Features
- Add
--upstream-processes(1..10) to spawn a pool of upstreamxcrun mcpbridgeprocesses, improving throughput under higher client concurrency.
Bug Fixes
- Make eager initialization more resilient by retrying after warm init failures and after the last upstream process exits.
Documentation
- Expand the architecture docs to describe upstream pooling and STDIO adapter mode.
- Add benchmark notes, results, and a benchmark tool (
Tools/mcp_bench.swift) comparing--upstream-processes 1vs4, with guidance on when multiplexing helps.
Full Changelog: v0.2.1...v0.3.0
v0.2.1
XcodeMCPKit v0.2.1
New Features
- Default HTTP proxy listen address to
localhost:0(auto-assign port) and write the resolved endpoint to~/Library/Caches/XcodeMCPProxy/endpoint.jsonfor HTTP/SSE client discovery. - When
--stdiois used without an explicit URL, resolve the upstream in order:XCODE_MCP_PROXY_ENDPOINT, discovery file, thenhttp://localhost:8765/mcp.
Improvements
- Log whether the STDIO upstream came from CLI, env, discovery, or fallback to make connectivity issues easier to diagnose.
Documentation
- Document endpoint discovery and STDIO upstream resolution in the README and architecture docs.
- Add troubleshooting guidance for clients when the proxy runs on an auto-assigned port.
- Add a detailed investigation note (with diagrams) for the Xcode MCP connection permission dialog in Xcode 26.3.
Full Changelog: v0.2.0...v0.2.1