npm / appium-xcuitest-driver
appium-xcuitest-driver
What changed in appium-xcuitest-driver 12, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
1 breaking1 security11 new APIs and options1 behavior and defaults22 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initappium-xcuitest-driver 1236 changes
Breaking changes 1
Supported HID and protected resource values were updated, changing which values developers can use.
Security 1
Refuses to delete the Simulator root, preventing deletion of the root directory through this command.
New APIs and options 11
Adds the asAppUnderTest flag to the mobile: launchApp command.
Adds multi-display discovery for Duo support.
Adds safe screenshot routing for Duo support.
Adds a command to simulate the Duo hinge angle.
WDA can now be launched on Duo.
Adds support for a connect hardware preference for Device Hub.
Adds support for simulatorPasteboardAutomaticSync, allowing developers to configure simulator pasteboard synchronization.
Adds native Safari automation support.
Adds the mobile: performHandGesture command for watchOS.
Adds the mobile: rotateDigitalCrown command for watchOS.
The TS driver now supports watchOS.
Behavior and default changes 1
W3C actions resolve web element origins to native coordinates.
Fixes and other changes 22
WDA downloads are resolved from the monorepo release.
Web element screenshots now capture the whole element.
Tunnel creation now exits on Ctrl+C.
Apple TV tunnels are tracked by pair record UDID.
Preserves the recording aspect ratio and input frame rate.
Passes value and maxAttempts to WDA when calling mobile: selectPickerWheelValue.
Refreshes display geometry for viewport screenshots.
Preserves app iframe selection after native tap calibration.
Explicit orientation correction is now honored for MJPEG screenshots.
Native geometry is now included in the web calibration cache.
Tunnel and legacy device discovery are merged.
WDA was bumped to fix package creation with Xcode 26+.
Fixed error handling in grepFile.
Passes ActivateSuspended: true to host opts when backgrounding WDA.
UDID capabilities are now matched case-insensitively across remaining device and simulator lookups.
Matches an explicit udid capability against connected devices case-insensitively.
Forwards the network event method name to the Safari network log listener.
Resolves nested .ipa paths when downloading a remote .zip on real devices.
When pulling a container root on real devices, the driver no longer zips the host temp directory.
The driver now owns the legacy MJSONWP context/contexts routes.
Routes refresh, getUrl, and title through waitForAtom for alert detection.
Session creation failures now log the real error, making failures easier to diagnose.