Skip to content

Latest commit

 

History

History
224 lines (175 loc) · 10.8 KB

File metadata and controls

224 lines (175 loc) · 10.8 KB

Changelog

[Unreleased]

Breaking

  • By default when the enabledWorkflows configuration option or XCODEBUILDMCP_ENABLED_WORKFLOWS environment variable is not set or empty, XcodeBuildMCP will default to loading only the simulator workflow. This is a change in behaviour; previously it would load all workflows and therefore tools by default.

This change reduces the number of tools loaded by default and requires the user to opt in to enable additional sets of tools based on their project or workflow requirements.

The simulator workflow is the default because it is the most common use case based on opt-in analytics data.

For more information see the CONFIGURATION.md documentation.

  • Tool names and descriptions have been made more concise to reduce token consumption. Tool argument names that are self-explanatory have had their descriptions removed entirely.

Added

  • Add Smithery support for packaging/distribution.
  • Add DAP-based debugger backend and simulator debugging toolset (attach, breakpoints, stack, variables, LLDB command).
  • Add session-status MCP resource with session identifiers.
  • Add UI automation guard that blocks UI tools when the debugger is paused.
  • Add manage-workflows tool to allow agents to change the workflows enable/disabling tools at runtime. This requires clients to support tools changed notifications. (opt-in only)
  • Add XcodeBuildMCP skill to improve MCP client tool use/discovery, this needs to be installed see README.md for more information.
  • Added support for .xcodebuildmcp/config.yaml files for runtime configuration, this is a more flexible and powerful way to configure XcodeBuildMCP than environment variables.
  • Added support for session-aware defaults that are persisted between sessions in the config file.

Changed

  • Migrate to Zod v4.
  • Improve session default handling (reconcile mutual exclusivity and ignore explicit undefined clears).
  • Auto-include workflow-discovery when workflow selection is configured.
  • Remove dynamic tool discovery (discover_tools) and XCODEBUILDMCP_DYNAMIC_TOOLS. Use XCODEBUILDMCP_ENABLED_WORKFLOWS to limit startup tool registration.
  • Add MCP tool annotations to all tools.
  • Route runtime configuration reads through the config store with layered precedence.
  • Treat missing/empty enabledWorkflows as "load all workflows".
  • Add config.yaml support for DAP/log capture tuning (dapRequestTimeoutMs, dapLogEvents, launchJsonWaitMs).

Fixed

  • Update UI automation guard guidance to point at debug_continue when paused.
  • Fix tool loading bugs in static tool registration.
  • Fix xcodemake command argument corruption when project directory path appears as substring in non-path arguments.
  • Fix snapshot_ui warning state being isolated per UI automation tool, causing false warnings.
  • Fixed screenshot tool capturing rotated images when simulator is in landscape orientation by detecting window dimensions and applying +90° rotation to correct the framebuffer capture. (#186 by @VincentStark)
  • Fixed Sentry ESM compatibility by upgrading @sentry/node from 10.5.0 to 10.37.0 and @sentry/cli from 2.43.1 to 3.1.0 (Fixes XCODEBUILD-MCP-13SX)

[1.14.0] - 2025-09-22

  • Add video capture tool for simulators

[1.13.1] - 2025-09-21

  • Add simulator erase content and settings tool

[1.12.3] - 2025-08-22

  • Pass environment variables to test runs on device, simulator, and macOS via an optional testRunnerEnv input (auto-prefixed as TEST_RUNNER_).

[1.12.2] - 2025-08-21

Fixed

  • Clean tool: Fixed issue where clean would fail for simulators

[1.12.1] - 2025-08-18

Improved

  • Sentry Logging: No longer logs domain errors to Sentry, now only logs MCP server errors.

[1.12.0] - 2025-08-17

Added

  • Unify project/workspace and sim id/name tools into a single tools reducing the number of tools from 81 to 59, this helps reduce the client agent's context window size by 27%!
  • Selective Workflow Loading: New XCODEBUILDMCP_ENABLED_WORKFLOWS environment variable allows loading only specific workflow groups in static mode, reducing context window usage for clients that don't support MCP sampling (Thanks to @codeman9 for their first contribution!)
  • Rename diagnosics tool and cli to doctor
  • Add Sentry instrumentation to track MCP usage statistics (can be disabled by setting XCODEBUILDMCP_SENTRY_DISABLED=true)
  • Add support for MCP setLevel handler to allow clients to control the log level of the MCP server

[v1.11.2] - 2025-08-08

  • Fixed "registerTools is not a function" errors during package upgrades

[v1.11.1] - 2025-08-07

  • Improved tool discovery to be more accurate and context-aware

[v1.11.0] - 2025-08-07

  • Major refactor/rewrite to improve code quality and maintainability in preparation for future development
  • Added support for dynamic tools (VSCode only for now)
  • Added support for MCP Resources (devices, simulators, environment info)
  • Workaround for getsentry#66 and anthropics/claude-code#1804 issues where Claude Code would only see the first text content from tool responses

[v1.10.0] - 2025-06-10

Added

  • App Lifecycle Management: New tools for stopping running applications
    • stop_app_device: Stop apps running on physical Apple devices (iPhone, iPad, Apple Watch, Apple TV, Apple Vision Pro)
    • stop_app_sim: Stop apps running on iOS/watchOS/tvOS/visionOS simulators
    • stop_mac_app: Stop macOS applications by name or process ID
  • Enhanced Launch Tools: Device launch tools now return process IDs for better app management
  • Bundled AXe Distribution: AXe binary and frameworks now included in npm package for zero-setup UI automation

Fixed

  • WiFi Device Detection: Improved detection of Apple devices connected over WiFi networks
  • Device Connectivity: Better handling of paired devices with different connection states

Improved

  • Simplified Installation: No separate AXe installation required - everything works out of the box

[v1.9.0] - 2025-06-09

  • Added support for hardware devices over USB and Wi-Fi
  • New tools for Apple device deployment:
    • install_app_device
    • launch_app_device
  • Updated all simulator and device tools to be platform-agnostic, supporting all Apple platforms (iOS, iPadOS, watchOS, tvOS, visionOS)
  • Changed get_ios_bundle_id to get_app_bundle_id with support for all Apple platforms

[v1.8.0] - 2025-06-07

  • Added support for running tests on macOS, iOS simulators, and iOS devices
  • New tools for testing:
    • test_macos_workspace
    • test_macos_project
    • test_ios_simulator_name_workspace
    • test_ios_simulator_name_project
    • test_ios_simulator_id_workspace
    • test_ios_simulator_id_project
    • test_ios_device_workspace
    • test_ios_device_project

[v1.7.0] - 2025-06-04

  • Added support for Swift Package Manager (SPM)
  • New tools for Swift Package Manager:
    • swift_package_build
    • swift_package_clean
    • swift_package_test
    • swift_package_run
    • swift_package_list
    • swift_package_stop

[v1.6.1] - 2025-06-03

  • Improve UI tool hints

[v1.6.0] - 2025-06-03

  • Moved project templates to external GitHub repositories for independent versioning
  • Added support for downloading templates from GitHub releases
  • Added local template override support via environment variables
  • Added scaffold_ios_project and scaffold_macos_project tools for creating new projects
  • Centralized template version management in package.json for easier updates

[v1.5.0] - 2025-06-01

  • UI automation is no longer in beta!
  • Added support for AXe UI automation
  • Revised default installation instructions to prefer npx instead of mise

[v1.4.0] - 2025-05-11

  • Merge the incremental build beta branch into main
  • Add preferXcodebuild argument to build tools with improved error handling allowing the agent to force the use of xcodebuild over xcodemake for complex projects. It also adds a hint when incremental builds fail due to non-compiler errors, enabling the agent to automatically switch to xcodebuild for a recovery build attempt, improving reliability.

[v1.3.7] - 2025-05-08

  • Fix Claude Code issue due to long tool names

[v1.4.0-beta.3] - 2025-05-07

  • Fixed issue where incremental builds would only work for "Debug" build configurations

[v1.4.0-beta.2] - 2025-05-07

  • Same as beta 1 but has the latest features from the main release channel

[v1.4.0-beta.1] - 2025-05-05

  • Added experimental support for incremental builds (requires opt-in)

[v1.3.6] - 2025-05-07

  • Added support for enabling/disabling tools via environment variables

[v1.3.5] - 2025-05-05

  • Fixed the text input UI automation tool
  • Improve the UI automation tool hints to reduce agent tool call errors
  • Improved the project discovery tool to reduce agent tool call errors
  • Added instructions for installing idb client manually

[v1.3.4] - 2025-05-04

  • Improved Sentry integration

[v1.3.3] - 2025-05-04

  • Added Sentry opt-out functionality

[v1.3.1] - 2025-05-03

  • Added Sentry integration for error reporting

[v1.3.0] - 2025-04-28

  • Added support for interacting with the simulator (tap, swipe etc.)
  • Added support for capturing simulator screenshots

Please note that the UI automation features are an early preview and currently in beta your mileage may vary.

[v1.2.4] - 2025-04-24

  • Improved xcodebuild reporting of warnings and errors in tool response
  • Refactor build utils and remove redundant code

[v1.2.3] - 2025-04-23

  • Added support for skipping macro validation

[v1.2.2] - 2025-04-23

  • Improved log readability with version information for easier debugging
  • Enhanced overall stability and performance

[v1.2.1] - 2025-04-23

  • General stability improvements and bug fixes

[v1.2.0] - 2025-04-14

Added

  • New simulator log capture feature: Easily view and debug your app's logs while running in the simulator
  • Automatic project discovery: XcodeBuildMCP now finds your Xcode projects and workspaces automatically
  • Support for both Intel and Apple Silicon Macs in macOS builds

Improved

  • Cleaner, more readable build output with better error messages
  • Faster build times and more reliable build process
  • Enhanced documentation with clearer usage examples

[v1.1.0] - 2025-04-05

Added

  • Real-time build progress reporting
  • Separate tools for iOS and macOS builds
  • Better workspace and project support

Improved

  • Simplified build commands with better parameter handling
  • More reliable clean operations for both projects and workspaces

[v1.0.2] - 2025-04-02

  • Improved documentation with better examples and clearer instructions
  • Easier version tracking for compatibility checks

[v1.0.1] - 2025-04-02

  • Initial release of XcodeBuildMCP
  • Basic support for building iOS and macOS applications