Skip to content

Commit d50a0be

Browse files
committed
Update CHANGELOG
1 parent a28a57d commit d50a0be

1 file changed

Lines changed: 37 additions & 69 deletions

File tree

CHANGELOG.md

Lines changed: 37 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,59 @@
11
# Changelog
22

3-
## [Unreleased]
3+
## [2.0.0]
44

5-
### Added
6-
- Added optional `xcode-ide` workflow to proxy Xcode IDE MCP tools via `xcrun mcpbridge`.
7-
8-
### Changed
9-
- Hide `xcode_tools_bridge_{status,sync,disconnect}` unless `debug: true` is enabled (these are troubleshooting tools).
10-
- Simplified CLI daemon routing: stateless tools now always execute directly, stateful tools route through daemon with auto-start, and dynamic `xcode-ide` bridge tools remain an explicit daemon-backed special-case.
11-
- Removed manifest daemon routing knobs `availability.daemon` and `routing.daemonAffinity`; manifests now use `availability.{mcp,cli}` plus optional `routing.stateful`.
12-
- Removed hidden CLI daemon-routing flags; stateful routing is now automatic and only hidden `--socket` remains for advanced socket override workflows.
13-
- Added daemon idle shutdown in CLI mode: per-workspace daemons now auto-exit after 10 minutes of inactivity when no active stateful sessions exist.
14-
- Inverted idle activity tracking to a generic daemon activity registry so long-running tools report lifecycle activity without hardcoded daemon imports.
15-
16-
### Fixed
17-
- Fix Xcode IDE state discovery fallback to check parent directories only up to the resolved workspace root boundary when started from a nested working directory without explicit `projectPath`/`workspacePath`.
18-
19-
## [2.0.0] - 2026-02-02
20-
21-
### Breaking
22-
23-
#### Workflow selection
5+
### New! CLI
246

25-
- 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.
7+
XcodeBuildMCP now includes a first-class CLI for direct terminal usage, scripting, and CI workflows. All the same tools available via MCP are accessible from the command line.
268

27-
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.
28-
29-
The simulator workflow is the default because it is the most common use case based on opt-in analytics data.
30-
31-
For more information see the [CONFIGURATION.md](docs/CONFIGURATION.md) documentation.
32-
33-
- 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.
9+
```bash
10+
npm install -g xcodebuildmcp@beta
11+
xcodebuildmcp tools # List available tools
12+
xcodebuildmcp simulator build-and-run --scheme MyApp --project-path ./MyApp.xcodeproj
13+
```
3414

35-
#### XcodeBuildMCP is now a first-class CLI
15+
Stateful operations (log capture, debugging, video recording) are backed by a per-workspace background process that starts automatically and shuts down after idle. See [docs/CLI.md](docs/CLI.md) for full documentation.
3616

37-
- XcodeBuildMCP now has a first class CLI interface. This allows you or your agent to invoke tools directly from the terminal which can help reduce the upfront context costs of MCP.
17+
### New! Configuration File
3818

39-
- When calling `xcodebuildmcp` without any arguments it will default to CLI mode, this is a **breaking** change, you must update your mcp client's configuration to pass the `mcp` argument:
19+
Project-level configuration via `.xcodebuildmcp/config.yaml` replaces the need for environment variables. Set your project path, scheme, simulator, enabled workflows, debug settings, and more in one place. Environment variables still work but the config file takes precedence.
4020

41-
From:
42-
```json
43-
"XcodeBuildMCP": {
44-
"command": "npx",
45-
"args": [
46-
"-y",
47-
"xcodebuildmcp@latest"
48-
]
49-
}
21+
```yaml
22+
schemaVersion: 1
23+
enabledWorkflows:
24+
- simulator
25+
- ui-automation
26+
- debugging
27+
sessionDefaults:
28+
scheme: MyApp
29+
projectPath: ./MyApp.xcodeproj
30+
simulatorName: iPhone 16
5031
```
5132
52-
To:
53-
```json
54-
"XcodeBuildMCP": {
55-
"command": "npx",
56-
"args": [
57-
"-y",
58-
"xcodebuildmcp@latest",
59-
"mcp" // <--- add this argument
60-
]
61-
}
62-
```
33+
See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for the full reference.
6334
64-
To lean more about the CLI interface see the [CLI.md](docs/CLI.md) documentation.
35+
### New! Xcode IDE Integration
6536
66-
### New!
67-
- Add DAP-based debugger backend and simulator debugging toolset (attach, breakpoints, stack, variables, LLDB command).
68-
- XcodeBuildMCP uses a new project config file at `.xcodebuildmcp/config.yaml` for runtime configuration, this is a more flexible and powerful way to configure XcodeBuildMCP than environment variables.
37+
XcodeBuildMCP can now proxy tools from Xcode 26.3's built-in MCP bridge, giving your agent access to Xcode IDE capabilities like Preview rendering, the Issue Navigator, and documentation search. Enable the `xcode-ide` workflow to use this. Setup instructions for both Codex Agent and Claude Code Agent in Xcode are included. See [docs/XCODE_IDE_MCPBRIDGE.md](docs/XCODE_IDE_MCPBRIDGE.md) for details.
6938

7039
### Added
71-
- Add session-status MCP resource with session identifiers.
72-
- Add UI automation guard that blocks UI tools when the debugger is paused.
73-
- 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)
74-
- Add XcodeBuildMCP skill to improve MCP client tool use/discovery, this needs to be installed see [README.md](README.md) for more information.
75-
- Added support for session-aware defaults that are persisted between sessions in the config file.
40+
41+
- **LLDB Debugging**: Attach a debugger to simulator apps, set breakpoints, inspect variables, view the call stack, and run LLDB commands — all through your agent. Supports both DAP and LLDB-CLI backends. See [docs/TOOLS.md](docs/TOOLS.md) for the debugging tools.
42+
- **Session default persistence**: Session defaults can now be saved to the config file with `persist: true`, so your preferred project, scheme, and simulator are remembered across sessions.
43+
- **Log subsystem filtering**: Filter simulator log capture by subsystem — choose `app` (default), `all`, `swiftui` (for `Self._printChanges()` output), or a custom list of subsystems.
44+
- **Agent skills**: Optional skill files that prime your agent with usage instructions for the MCP server or CLI. Install via the provided shell script or manually. See [docs/SKILLS.md](docs/SKILLS.md).
45+
- **MCP tool annotations**: All tools now include MCP-standard annotations (read-only vs. destructive, idempotent, etc.) for clients that support them.
46+
- **Simulator name resolution**: Session defaults now accept a simulator name and automatically resolve it to a device ID.
7647

7748
### Changed
78-
- Migrate to Zod v4.
79-
- Remove dynamic tool discovery (`discover_tools`) and `XCODEBUILDMCP_DYNAMIC_TOOLS`. Use `XCODEBUILDMCP_ENABLED_WORKFLOWS` to limit startup tool registration.
80-
- Add MCP tool annotations to all tools.
49+
50+
- Simulator tools are now the default workflow. Previously all workflows loaded by default, increasing context usage.
51+
- Bundled AXe updated to 1.3.0.
52+
- Landscape screenshots now orient correctly.
8153

8254
### Fixed
83-
- Update UI automation guard guidance to point at `debug_continue` when paused.
84-
- Fix tool loading bugs in static tool registration.
85-
- Fix xcodemake command argument corruption when project directory path appears as substring in non-path arguments.
86-
- Fix snapshot_ui warning state being isolated per UI automation tool, causing false warnings.
87-
- 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`](https://github.com/cameroncooke/XcodeBuildMCP/pull/186) by [`@VincentStark`](https://github.com/VincentStark))
88-
- 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)
55+
56+
- Fixed incremental builds corrupting arguments when strings contained substrings matching build flags.
8957

9058
## [1.15.1] - 2025-12-20
9159

0 commit comments

Comments
 (0)