From 5c8fc1e81b3eb3824dddedb55e8a48c4b34fc48f Mon Sep 17 00:00:00 2001 From: mukunda katta Date: Tue, 21 Apr 2026 08:21:02 -0700 Subject: [PATCH 1/3] fix(device): stop suggesting unsupported --device-id --- src/snapshot-tests/__fixtures__/cli/device/list--success.txt | 2 +- src/snapshot-tests/__fixtures__/mcp/device/list--success.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/snapshot-tests/__fixtures__/cli/device/list--success.txt b/src/snapshot-tests/__fixtures__/cli/device/list--success.txt index 510860d5..4862500d 100644 --- a/src/snapshot-tests/__fixtures__/cli/device/list--success.txt +++ b/src/snapshot-tests/__fixtures__/cli/device/list--success.txt @@ -29,6 +29,6 @@ Hints Before running build/run/test/UI automation tools, set the desired device identifier in session defaults. Next steps: -1. Build for device: xcodebuildmcp device build --scheme "YOUR_SCHEME" --device-id "UUID_FROM_ABOVE" +1. Build for device: xcodebuildmcp device build --scheme "YOUR_SCHEME" 2. Run tests on device: xcodebuildmcp device test 3. Get app path: xcodebuildmcp device get-app-path diff --git a/src/snapshot-tests/__fixtures__/mcp/device/list--success.txt b/src/snapshot-tests/__fixtures__/mcp/device/list--success.txt index 98bac210..1405e93f 100644 --- a/src/snapshot-tests/__fixtures__/mcp/device/list--success.txt +++ b/src/snapshot-tests/__fixtures__/mcp/device/list--success.txt @@ -29,6 +29,6 @@ Hints Before running build/run/test/UI automation tools, set the desired device identifier in session defaults. Next steps: -1. Build for device: build_device({ scheme: "YOUR_SCHEME", deviceId: "UUID_FROM_ABOVE" }) +1. Build for device: build_device({ scheme: "YOUR_SCHEME" }) 2. Run tests on device: test_device() 3. Get app path: get_device_app_path() From 3af7050ddb6644ae8d16b9fe727f9f68c6a3b2d5 Mon Sep 17 00:00:00 2001 From: Cameron Cooke Date: Sat, 25 Apr 2026 23:20:56 +0100 Subject: [PATCH 2/3] docs(changelog): add unreleased entry for #350 fix Records the user-visible CLI/MCP guidance fix that removes the unsupported --device-id/deviceId hint from the device list next-step output. --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f8040c2..e079eb48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,10 @@ - Fixed `xcode_tools_bridge_disconnect` immediately re-syncing proxied tools after a manual disconnect ([#343](https://github.com/getsentry/XcodeBuildMCP/issues/343)). +### Fixed + +- Stopped suggesting an unsupported `--device-id`/`deviceId` argument in the `device list` next-step hint for `device build`/`build_device`; device targeting flows through session defaults ([#350](https://github.com/getsentry/XcodeBuildMCP/pull/350) by [@MukundaKatta](https://github.com/MukundaKatta)). + ## [2.3.2] ### Fixed From ea5c48734d744ed8af5f44a91adc462c4d99b3f2 Mon Sep 17 00:00:00 2001 From: Cameron Cooke Date: Tue, 28 Apr 2026 16:01:40 +0100 Subject: [PATCH 3/3] docs(changelog): Clean up unreleased entries --- CHANGELOG.md | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e079eb48..4d22b0d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,22 +15,13 @@ - The `setup` wizard no longer prompts for a simulator or device when macOS is the only selected platform — macOS apps run natively and do not require a simulator or physical device ([#281](https://github.com/getsentry/XcodeBuildMCP/pull/281) by [@detailobsessed](https://github.com/detailobsessed)). - When a single platform is selected, `xcodebuildmcp setup` now writes `platform` to `sessionDefaults` in `config.yaml` and includes `XCODEBUILDMCP_PLATFORM` in `--format mcp-json` output. For multi-platform projects the platform key is omitted so the agent can choose per-command ([#281](https://github.com/getsentry/XcodeBuildMCP/pull/281) by [@detailobsessed](https://github.com/detailobsessed)). - The `setup` wizard remembers previous choices on re-run: existing `config.yaml` values (including the new `platform`) are pre-loaded as defaults for every prompt ([#281](https://github.com/getsentry/XcodeBuildMCP/pull/281) by [@detailobsessed](https://github.com/detailobsessed)). +- Auto-scope DerivedData per workspace/project path at xcodebuild invocation time when no explicit `derivedDataPath` is configured. Session defaults remain raw, while build/test/app-path commands derive a stable hashed subdirectory under the global DerivedData root from the resolved workspace or project path. Explicit `derivedDataPath` still takes precedence ([#340](https://github.com/getsentry/XcodeBuildMCP/issues/340)). ### Fixed - Expanded leading `~` and `~/` prefixes in configured `derivedDataPath`, `projectPath`, `workspacePath`, `axePath`, and the iOS/macOS template paths so values like `~/.foo/derivedData` resolve under the user's home directory instead of creating a literal `~` directory under the project root. As part of this change, configured absolute paths are now lexically normalized (e.g. `/a/b/../c` collapses to `/a/c`) before being passed to `xcodebuild` ([#283](https://github.com/getsentry/XcodeBuildMCP/issues/283), supersedes [#301](https://github.com/getsentry/XcodeBuildMCP/pull/301) by [@trmquang93](https://github.com/trmquang93)). - Added `toggle_connect_hardware_keyboard` tool to toggle the iOS Simulator hardware keyboard connection ([#346](https://github.com/getsentry/XcodeBuildMCP/issues/346)). - -### Changed - -- Auto-scope DerivedData per workspace/project path at xcodebuild invocation time when no explicit `derivedDataPath` is configured. Session defaults remain raw, while build/test/app-path commands derive a stable hashed subdirectory under the global DerivedData root from the resolved workspace or project path. Explicit `derivedDataPath` still takes precedence ([#340](https://github.com/getsentry/XcodeBuildMCP/issues/340)). - -### Fixed - - Fixed `xcode_tools_bridge_disconnect` immediately re-syncing proxied tools after a manual disconnect ([#343](https://github.com/getsentry/XcodeBuildMCP/issues/343)). - -### Fixed - - Stopped suggesting an unsupported `--device-id`/`deviceId` argument in the `device list` next-step hint for `device build`/`build_device`; device targeting flows through session defaults ([#350](https://github.com/getsentry/XcodeBuildMCP/pull/350) by [@MukundaKatta](https://github.com/MukundaKatta)). ## [2.3.2]