Skip to content

Releases: lynnswap/XcodeMCPKit

v0.4.2

11 Mar 17:05
3bebbf2

Choose a tag to compare

XcodeMCPKit v0.4.2

Bug Fixes

Made live diagnostics refresh more resilient under load

  • Bound XcodeRefreshCodeIssuesInFile queue growth per tab and globally so bursty refresh traffic no longer grows without limit.
  • Returns refresh queue overloaded when 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 overloaded can appear and how to reduce broad refresh bursts.

Full Changelog: v0.4.1...v0.4.2

v0.4.1

10 Mar 18:05
357ddbb

Choose a tag to compare

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 XcodeRefreshCodeIssuesInFile requests per tabIdentifier.
  • Retried the transient SourceEditorCallableDiagnosticError error 5 response 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.md and README.ja.md, including archive selection, PATH setup, and MCP client registration.
  • Added troubleshooting guidance for intermittent XcodeRefreshCodeIssuesInFile error 5, including the expected retry behavior and recommended usage.

Full Changelog: v0.4.0...v0.4.1

v0.4.0

10 Mar 10:30
d773b1a

Choose a tag to compare

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

12 Feb 18:08
c3d4df6

Choose a tag to compare

XcodeMCPKit v0.3.5

Improvements

  • Stabilize tools/list handshakes by warming once (fail-fast) and serving an in-memory cached result for the lifetime of the proxy process (including requests with params).
  • 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/list warmup 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 bogus Content-Length blocks.

Documentation

  • Clarify the fail-fast tools/list warmup timeout in troubleshooting docs.

Full Changelog: v0.3.4...v0.3.5

v0.3.4

10 Feb 12:24
53906ee

Choose a tag to compare

XcodeMCPKit v0.3.4

Bug Fixes

  • Reduce cross-talk between concurrent sessions by pinning each MCP session to a specific upstream mcpbridge process, and route unmapped server messages only to sessions pinned to the same upstream.

Full Changelog: v0.3.3...v0.3.4

v0.3.3

10 Feb 09:52
e184263

Choose a tag to compare

XcodeMCPKit v0.3.3

Bug Fixes

  • Return empty results for resources/list and resources/templates/list before 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

10 Feb 06:38
0c9c447

Choose a tag to compare

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-server the dedicated HTTP/SSE proxy server (default listen: localhost:8765) and xcode-mcp-proxy the dedicated STDIO adapter for Codex / Claude Code.
  • Add --force-restart to xcode-mcp-proxy-server to terminate an existing server when the listen port is already in use.
  • Add --url as a more intuitive alias for pointing the STDIO adapter at a running proxy server (discovery / XCODE_MCP_PROXY_ENDPOINT still supported).

Bug Fixes

  • Fix a hang after upstream disconnects (Transport closed).
  • Fix tools/list caching + 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 ps output).

Documentation

  • Update README and troubleshooting for the new Codex / Claude setup, discovery file location, --force-restart, and Transport closed guidance.

Full Changelog: v0.3.1...v0.3.2

v0.3.1

06 Feb 14:01
812a733

Choose a tag to compare

XcodeMCPKit v0.3.1

Documentation

  • Simplify MCP registration by showing how to replace xcrun mcpbridge with xcode-mcp-proxy for Codex and Claude Code.
  • Streamline troubleshooting for upstream xcrun mcpbridge execution (Xcode selection and xcrun mcpbridge -h checks).

Full Changelog: v0.3.0...v0.3.1

v0.3.0

06 Feb 12:35
f71100f

Choose a tag to compare

XcodeMCPKit v0.3.0

New Features

  • Add --upstream-processes (1..10) to spawn a pool of upstream xcrun mcpbridge processes, 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 1 vs 4, with guidance on when multiplexing helps.

Full Changelog: v0.2.1...v0.3.0

v0.2.1

05 Feb 18:55
428816e

Choose a tag to compare

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.json for HTTP/SSE client discovery.
  • When --stdio is used without an explicit URL, resolve the upstream in order: XCODE_MCP_PROXY_ENDPOINT, discovery file, then http://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