diff --git a/README.md b/README.md index 9411e06..5790f3d 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ For most projects, yes. The CLI mimics the Maestro Cloud API, so you change `mae ### How much does it cost? -DeviceCloud bills per test run i.e. a single top-level flow on a single device and are charged at $0.11 for standard iOS and $0.09 for standard Android. iPad, iPhone Duo, Pixel 10 Pro Fold, Google Play, tablet and `m4`, `m1` and `gpu1` (deprecated) runner flows are charged at the advanced rate of $0.15. New accounts get $20 of free credits. The Pro and Max plans include a set amount of usage each month, and usage beyond that is billed as [overage](billing/overage.md), up to a limit you control. See [Test Run Billing](billing/test-run-billing.md). +DeviceCloud bills per test run i.e. a single top-level flow on a single device and are charged at $0.11 for standard iOS and $0.09 for standard Android. iPad, iPhone Duo, Pixel 10 Pro Fold, Google Play, tablet and `m4` and `m1` runner flows are charged at the advanced rate of $0.15. New accounts get $20 of free credits. The Pro and Max plans include a set amount of usage each month, and usage beyond that is billed as [overage](billing/overage.md), up to a limit you control. See [Test Run Billing](billing/test-run-billing.md). ### How many tests can I run in parallel? diff --git a/billing/test-run-billing.md b/billing/test-run-billing.md index 0569e81..a366612 100644 --- a/billing/test-run-billing.md +++ b/billing/test-run-billing.md @@ -17,7 +17,7 @@ Details of charges made to your account can be found on the [billing page](https | Standard iOS | Any iPhone device (except the iPhone Duo) on our default [runner type](../configuration/runner-type.md) | $0.11 | | Advanced iOS | Any runs on our `m4` [runner type](../configuration/runner-type.md), and any iPad or iPhone Duo runs (on either runner). | $0.15 | | Standard Android | Any non-Play Pixel phone (except the Pixel 10 Pro Fold) on our cpu1 [runner type](../configuration/runner-type.md) | $0.09 | -| Advanced Android | Any runs on our `m1` and `gpu1` (deprecated) [runner types](../configuration/runner-type.md), and any Tablet, Pixel 10 Pro Fold or Play device runs | $0.15 | +| Advanced Android | Any runs on our `m1` [runner type](../configuration/runner-type.md), and any Tablet, Pixel 10 Pro Fold or Play device runs | $0.15 | ::: info Enterprise customers with volume discounts or grandfathered users with older pricing may have different pricing. You can view your account's test run cost in the [billing page](https://console.devicecloud.dev/billing) diff --git a/ci-cd/bitbucket-pipelines.md b/ci-cd/bitbucket-pipelines.md index 33afef7..f058442 100644 --- a/ci-cd/bitbucket-pipelines.md +++ b/ci-cd/bitbucket-pipelines.md @@ -74,7 +74,7 @@ Most pipe variables map to the [`dcd cloud`](../cli/dcd-cloud.md) CLI flag of th | `ASYNC` | `"true"` to fire-and-forget. | | `CANCEL_PREVIOUS` | `"true"` to cancel the previous run's still-queued tests when this one starts (from pipe 1.5.0). See [Cancelling superseded runs](../advanced/cancel-previous.md). | | `PRIORITY` | `low`, `normal` (default) or `high` (from pipe 1.6.0). Reorders only your organisation's own queued runs, see [Run Priority](../configuration/run-priority.md). | -| `RUNNER_TYPE` | `default`, `cpu1`, `gpu1` (deprecated), `m1` or `m4`. `gpu1`, `m1` and `m4` are premium runners, see [Runner Type](../configuration/runner-type.md). | +| `RUNNER_TYPE` | `default`, `cpu1`, `m1` or `m4`. `m1` and `m4` are premium runners, see [Runner Type](../configuration/runner-type.md). | | `RENDER_ENGINE` | Android only: `lavapipe` or `swiftshader`, the software renderer the emulator boots with on the default Android runner. Leave unset to let DeviceCloud choose (`swiftshader` for apps built with Flutter, otherwise `lavapipe`). | ## Bitbucket context auto-attached diff --git a/ci-cd/eas-workflows.md b/ci-cd/eas-workflows.md index 6690eb7..d345bc9 100644 --- a/ci-cd/eas-workflows.md +++ b/ci-cd/eas-workflows.md @@ -205,12 +205,12 @@ Anything you pass on the command line after `npx @devicecloud.dev/eas-workflow@v |------|-------------| | `--android-device ` | `pixel-6`, `pixel-7` (deprecated), `pixel-8`, `pixel-10`, `pixel-10-pro`, `pixel-10-pro-xl`, `pixel-10-pro-fold`, `pixel-11`, `generic-tablet`. Default `pixel-10`. | | `--android-api-level ` | `32` – `37`. Default `36`. | -| `--ios-device ` | `iphone-14`, `iphone-16`, `iphone-16-pro` (deprecated), `iphone-16-pro-max` (deprecated), `iphone-17`, `iphone-air`, `iphone-18-pro`, `iphone-18-pro-max`, `iphone-duo`, `ipad-pro-m5-11`, `ipad-pro-m5-13`. | +| `--ios-device ` | `iphone-14`, `iphone-16`, `iphone-16-pro` (deprecated), `iphone-17`, `iphone-air`, `iphone-18-pro`, `iphone-18-pro-max`, `iphone-duo`, `ipad-pro-m5-11`, `ipad-pro-m5-13`. | | `--ios-version ` | `17` (deprecated), `18`, `26`, `27`. Default `26`. | | `--device-locale ` | E.g. `de_DE`. See [Device Locale](../configuration/device-locale.md). | | `--orientation ` | Android only. `0` or `90`. | | `--google-play` | Android only. Run on Google Play devices. | -| `--runner-type ` | `default`, `cpu1`, `gpu1` (deprecated), `m1`, `m4`. `gpu1`, `m1` and `m4` incur premium pricing. See [Runner Types](../configuration/runner-type.md). | +| `--runner-type ` | `default`, `cpu1`, `m1`, `m4`. `m1` and `m4` incur premium pricing. See [Runner Types](../configuration/runner-type.md). | See the [Devices & OS Versions](../getting-started/devices-configuration.md) page for the full availability matrix. diff --git a/ci-cd/github-actions.md b/ci-cd/github-actions.md index 80358ae..297ff65 100644 --- a/ci-cd/github-actions.md +++ b/ci-cd/github-actions.md @@ -110,12 +110,12 @@ If you build with EAS, download the build artifact in an earlier step and pass t |-------|----------|---------|-------------| | `android-device` | No | `pixel-10` | Android device model. Options: `pixel-6`, `pixel-7` (deprecated), `pixel-8`, `pixel-10`, `pixel-10-pro`, `pixel-10-pro-xl`, `pixel-10-pro-fold`, `pixel-11`, `generic-tablet`. | | `android-api-level` | No | `36` | Android API level. Options: `32`, `33`, `34`, `35`, `36`, `37`. | -| `ios-device` | No | — | iOS device model. Options: `iphone-14`, `iphone-16`, `iphone-16-pro` (deprecated), `iphone-16-pro-max` (deprecated), `iphone-17`, `iphone-air`, `iphone-18-pro`, `iphone-18-pro-max`, `iphone-duo`, `ipad-pro-m5-11`, `ipad-pro-m5-13`. | +| `ios-device` | No | — | iOS device model. Options: `iphone-14`, `iphone-16`, `iphone-16-pro` (deprecated), `iphone-17`, `iphone-air`, `iphone-18-pro`, `iphone-18-pro-max`, `iphone-duo`, `ipad-pro-m5-11`, `ipad-pro-m5-13`. | | `ios-version` | No | `26` | Major iOS version. Options: `17` (deprecated), `18`, `26`, `27`. | | `device-locale` | No | — | Device locale in `ISO-639-1_ISO-3166-1` format (e.g. `de_DE`). See [Device Locale](../configuration/device-locale.md). | | `orientation` | No | `0` | Android only. Device orientation in degrees. Options: `0`, `90`. | | `google-play` | No | `false` | Android only. Run flows against Google Play devices. | -| `runner-type` | No | `default` | Runner type. Options: `default`, `cpu1`, `gpu1` (deprecated), `m1`, `m4`. `gpu1`, `m1` and `m4` incur premium pricing. See [Runner Types](../configuration/runner-type.md). | +| `runner-type` | No | `default` | Runner type. Options: `default`, `cpu1`, `m1`, `m4`. `m1` and `m4` incur premium pricing. See [Runner Types](../configuration/runner-type.md). | See the [Devices & OS Versions](../getting-started/devices-configuration.md) page for the full availability matrix. diff --git a/configuration/google-play-apis.md b/configuration/google-play-apis.md index 1455893..e91dc5b 100644 --- a/configuration/google-play-apis.md +++ b/configuration/google-play-apis.md @@ -55,9 +55,9 @@ Google Play APIs are available on these devices: | `pixel-10` | `36`, `37` | | `pixel-7` (deprecated) | `34` | -Pixel 7 is targeted for removal on 9 November 2026, subject to change based on usage, so move Google Play runs to `pixel-8` (to stay on API 34) or `pixel-10`. +Pixel 7 is targeted for removal on 23 November 2026, subject to change based on usage, so move Google Play runs to `pixel-8` (to stay on API 34) or `pixel-10`. -On the `m1` [runner type](runner-type.md), Google Play is available on `pixel-8` (API `34`) and `pixel-10` (API `36`, `37`). It isn't available on `gpu1`. +On the `m1` [runner type](runner-type.md), Google Play is available on `pixel-8` (API `34`) and `pixel-10` (API `36`, `37`). Pass the device and API level together on Google Play runs: @@ -95,7 +95,7 @@ env: ### What to check * **arm64-v8a native code.** The `m1` emulators run arm64-v8a code only. If your APK ships native libraries, it must include arm64-v8a ones. A build cut down to `x86_64` for emulators won't install, so DeviceCloud rejects `m1` runs for it with an error saying so. Builds with no native code run as they are. -* **Devices.** Google Play on `m1` runs on `pixel-8` (API `34`) and `pixel-10` (API `36`, `37`). Pixel 7 isn't offered on `m1`, because it is removed on 9 November 2026. +* **Devices.** Google Play on `m1` runs on `pixel-8` (API `34`) and `pixel-10` (API `36`, `37`). Pixel 7 isn't offered on `m1`, because its removal is targeted for 23 November 2026. * **Concurrency.** Google Play runs on `m1` count towards your `m1` limit, not your `cpu1` limit. [Concurrency Protection](../getting-started/concurrency-and-parallel-runs.md) doesn't cover `m1`. Google Play images work the same way on both runner types: they come with Google Play Services and the Play Store, the price is the same, and they can't be rooted, so the [device date and time override](device-datetime.md) isn't applied. diff --git a/configuration/maestro-versions.md b/configuration/maestro-versions.md index aa9d6da..78c8cac 100644 --- a/configuration/maestro-versions.md +++ b/configuration/maestro-versions.md @@ -21,7 +21,7 @@ We currently support the following versions of Maestro: * 2.12.1 ::: warning -Maestro 2.2.0 is deprecated and we're targeting removal on 9 November 2026. This date is subject to change based on usage. If you pin `--maestro-version` to 2.2.0, move it to 2.6.1 or newer (the default is 2.10.0). See the [Maestro Support Policy](maestro-versions.md#maestro-support-policy) for more information. +Maestro 2.2.0 is deprecated and we're targeting removal on 23 November 2026. This date is subject to change based on usage. If you pin `--maestro-version` to 2.2.0, move it to 2.6.1 or newer (the default is 2.10.0). See the [Maestro Support Policy](maestro-versions.md#maestro-support-policy) for more information. ::: Maestro 2.0.4, 2.0.9, 2.1.0, 2.5.0, 2.5.1 and 2.6.0 were removed on 19 October 2026. Runs pinned to these versions are rejected. diff --git a/configuration/per-flow-devices.md b/configuration/per-flow-devices.md index ed619b5..a8a6d33 100644 --- a/configuration/per-flow-devices.md +++ b/configuration/per-flow-devices.md @@ -60,7 +60,7 @@ iPhone upload charges that one flow at the advanced rate, and the rest at the st - You cannot target across platforms in the same upload. -- On the `m1` and `gpu1` [runner types](runner-type.md), a flow's device must be on API level 34 or above (up to 37 on `m1`). Google Play is available on `m1` only, on `pixel-8` (API 34) and `pixel-10` (API 36, 37). Generic Tablet isn't available on them. +- On the `m1` [runner type](runner-type.md), a flow's device must be on API level 34 to 37. Google Play is available only on `pixel-8` (API 34) and `pixel-10` (API 36, 37), and Generic Tablet isn't available. ## Running a suite across several devices diff --git a/configuration/runner-type.md b/configuration/runner-type.md index aa8cedf..ad551bf 100644 --- a/configuration/runner-type.md +++ b/configuration/runner-type.md @@ -28,11 +28,10 @@ If your app or test is struggling with the default runner types, you can try the | ----------- | -------- | ------- | ------------ | ----- | --------- | ----- | | `m4` | iOS | MacOS | M4 | 16 GB | 10 | | | `m1` | Android | MacOS | M1 | 8 GB | 8 | Apple Silicon (arm64). Runs Google Play from 14 December 2026. | -| `gpu1` | Android | Ubuntu | x86 | 15 GB | 8 | Deprecated. Limited capacity. Additional GPU acceleration also provided. | ::: warning -`gpu1` is deprecated and **will be removed on 9 November 2026**. From that date, runs that pass `--runner-type gpu1` will run on `cpu1` instead, at the standard Android rate, rather than failing. To move now, stop passing `--runner-type gpu1` (Android runs use `cpu1` by default) or pass `--runner-type cpu1`. See the [Runner Type Support Policy](#runner-type-support-policy) for more information. -:::| +The `gpu1` runner type was removed on 9 November 2026. Android runs that still pass `--runner-type gpu1`, or set it with `DEVICECLOUD_OVERRIDE_RUNNER_TYPE`, run on `cpu1` instead, billed at the standard Android rate. They don't fail. On iOS, `gpu1` is still rejected. Stop passing `gpu1`: Android runs use `cpu1` by default, or you can pass `--runner-type cpu1`. See the [Runner Type Support Policy](#runner-type-support-policy) for more information. +::: ::: info **Google Play runs move to `m1` on 14 December 2026.** From that date every Google Play run uses `m1` rather than `cpu1`, at the same price. To test your app on `m1` now, add `--runner-type m1` to your Google Play runs. See [Moving to Apple Silicon](google-play-apis.md#moving-to-apple-silicon-m1). @@ -41,11 +40,11 @@ If your app or test is struggling with the default runner types, you can try the ### Limitations * `m4` is iOS only. Choosing it for an Android app is rejected. -* `cpu1`, `m1` and `gpu1` are Android only. On iOS, `m1` is treated as `default` (with a warning), and `cpu1` and `gpu1` are rejected. -* On `m1` and `gpu1`, every flow must run on API level 34 or above (up to 37 on `m1`). This includes devices chosen per flow or in a [device matrix](device-matrix.md). -* Google Play is available on `m1` on `pixel-8` (API 34) and `pixel-10` (API 36, 37), and not on `gpu1`. See [Google Play APIs](google-play-apis.md#device-availability). +* `cpu1` and `m1` are Android only. On iOS, `m1` is treated as `default` (with a warning), and `cpu1` is rejected. +* On `m1`, every flow must run on API level 34 to 37. This includes devices chosen per flow or in a [device matrix](device-matrix.md). +* Google Play is available on `m1` on `pixel-8` (API 34) and `pixel-10` (API 36, 37). See [Google Play APIs](google-play-apis.md#device-availability). * `m1` runs arm64-v8a code only. An APK with native libraries must include arm64-v8a ones, otherwise the run is rejected. -* Generic Tablet isn't available on `m1` or `gpu1`, so don't select it with those runner types. +* Generic Tablet isn't available on `m1`, so don't select it with that runner type. ### Usage diff --git a/getting-started/concurrency-and-parallel-runs.md b/getting-started/concurrency-and-parallel-runs.md index 4afb437..cf56904 100644 --- a/getting-started/concurrency-and-parallel-runs.md +++ b/getting-started/concurrency-and-parallel-runs.md @@ -6,13 +6,13 @@ Limits are set per platform and [runner type](../configuration/runner-type.md). The plans come with these limits: -| Plan | iOS `default` | iOS `m4` | Android `cpu1` (default) | Android `gpu1` (deprecated) | Android `m1` | -|------|---------------|----------|--------------------------|----------------|--------------| -| Pro | up to 5 | up to 5 | up to 5 | up to 2 | up to 5 | -| Max | up to 20, with 1 protected | up to 5 | up to 20, with 1 protected | up to 2 | up to 20 | +| Plan | iOS `default` | iOS `m4` | Android `cpu1` (default) | Android `m1` | +|------|---------------|----------|--------------------------|--------------| +| Pro | up to 5 | up to 5 | up to 5 | up to 5 | +| Max | up to 20, with 1 protected | up to 5 | up to 20, with 1 protected | up to 20 | ::: warning -The `gpu1` runner type is deprecated and will be removed on 9 November 2026, after which its runs use `cpu1` and count towards the `cpu1` limit. See [Runner Type](../configuration/runner-type.md). +The `gpu1` runner type was removed on 9 November 2026. Runs that still pass it run on `cpu1` and count towards the `cpu1` limit. See [Runner Type](../configuration/runner-type.md). ::: ::: info diff --git a/getting-started/devices-configuration.md b/getting-started/devices-configuration.md index 5f2baf2..5534fc7 100644 --- a/getting-started/devices-configuration.md +++ b/getting-started/devices-configuration.md @@ -62,7 +62,7 @@ Generic Tablet and Pixel 10 Pro Fold runs are billed at the Advanced Android rat The Pixel 10 Pro Fold starts unfolded; a flow can fold it, see [Foldable Devices](../configuration/foldable-devices.md). ::: warning -Pixel 7 is deprecated and we're targeting removal on the 9th November. This date is subject to change based on usage. +Pixel 7 is deprecated and we're targeting removal on 23 November 2026. This date is subject to change based on usage. ::: Pixel 6 Pro, Pixel 7 Pro and Generic Tablet on API level 33 were removed on 26 October 2026. @@ -85,7 +85,7 @@ dcd cloud app.zip test.yaml --ios-device iphone-17 --ios-version 27 iOS 17 runs only on iPhone 14, so pass `--ios-device iphone-14` with `--ios-version 17`. ::: warning -iOS 17 is deprecated and we're targeting removal on the 9th November. This date is subject to change based on usage. +iOS 17 is deprecated and we're targeting removal on 23 November 2026. This date is subject to change based on usage. ::: ### iOS Devices @@ -100,26 +100,27 @@ dcd cloud app.zip test.yaml --ios-device ipad-pro-m5-13 --ios-version 26 A run that sets only the device runs on iOS 26, so a device that doesn't offer iOS 26 needs `--ios-version` as well, for example `--ios-device iphone-14` with `--ios-version 17` or `18`, or `--ios-device iphone-18-pro --ios-version 27`. Without it, the run is rejected. ::: -| id | Name | Dimensions | Valid iOS versions | -| ------------------- | ------------------------------ | ----------- | ------------------ | -| `iphone-duo` | iPhone Duo (starts folded) | 1398 x 2034 | 27 | -| `iphone-18-pro-max` | iPhone 18 Pro Max | 1320 x 2868 | 27 | -| `iphone-18-pro` | iPhone 18 Pro | 1206 x 2622 | 27 | -| `iphone-air` | iPhone Air | 1260 x 2736 | 26, 27 | -| `iphone-17` | iPhone 17 | 1206 x 2622 | 26, 27 | -| `iphone-16-pro-max` | iPhone 16 Pro Max (deprecated) | 1320 x 2868 | 18, 26, 27 | -| `iphone-16-pro` | iPhone 16 Pro (deprecated) | 1206 x 2622 | 18, 26, 27 | -| `iphone-16` | iPhone 16 | 1179 x 2556 | 18, 26, 27 | -| `iphone-14` | iPhone 14 | 1170 x 2532 | 17, 18 | -| `ipad-pro-m5-13` | iPad Pro 13-inch (M5) | 2064 x 2752 | 26, 27 | -| `ipad-pro-m5-11` | iPad Pro 11-inch (M5) | 1668 x 2420 | 26, 27 | +| id | Name | Dimensions | Valid iOS versions | +| ------------------- | -------------------------- | ----------- | ------------------ | +| `iphone-duo` | iPhone Duo (starts folded) | 1398 x 2034 | 27 | +| `iphone-18-pro-max` | iPhone 18 Pro Max | 1320 x 2868 | 27 | +| `iphone-18-pro` | iPhone 18 Pro | 1206 x 2622 | 27 | +| `iphone-air` | iPhone Air | 1260 x 2736 | 26, 27 | +| `iphone-17` | iPhone 17 | 1206 x 2622 | 26, 27 | +| `iphone-16-pro` | iPhone 16 Pro (deprecated) | 1206 x 2622 | 18, 26, 27 | +| `iphone-16` | iPhone 16 | 1179 x 2556 | 18, 26, 27 | +| `iphone-14` | iPhone 14 | 1170 x 2532 | 17, 18 | +| `ipad-pro-m5-13` | iPad Pro 13-inch (M5) | 2064 x 2752 | 26, 27 | +| `ipad-pro-m5-11` | iPad Pro 11-inch (M5) | 1668 x 2420 | 26, 27 | iPad and iPhone Duo runs are billed at the Advanced iOS rate, see [pricing](../billing/test-run-billing.md). ::: warning -iPhone 16 Pro and iPhone 16 Pro Max are deprecated and we're targeting removal on the 9th November. This date is subject to change based on usage. +iPhone 16 Pro is deprecated and we're targeting removal on 7 December 2026; this is subject to change based on usage. Runs that target it will be rejected once it's removed, so move them to `iphone-16` (the default), `iphone-17`, `iphone-air`, `iphone-18-pro` or `iphone-18-pro-max`. ::: +iPhone 16 Pro Max was removed on 9 November 2026, and runs that target it are rejected. Move them to `iphone-16` (the default), `iphone-17`, `iphone-air`, `iphone-18-pro` or `iphone-18-pro-max`. `iphone-18-pro` and `iphone-18-pro-max` run iOS 27 only, so pass `--ios-version 27` with them. + iPhone 15, iPhone 16 Plus and iPad Pro (6th Generation) were removed on 2 November 2026. #### Foldables diff --git a/mcp/tools.md b/mcp/tools.md index 6b7696c..925130a 100644 --- a/mcp/tools.md +++ b/mcp/tools.md @@ -82,7 +82,7 @@ This tool consumes test credits. It's annotated as destructive so clients can pr | `excludeFlows` | string[] | Flow paths/patterns to exclude | | `maestroVersion` | string | Pin a specific [Maestro version](../configuration/maestro-versions.md) | | `retry` | integer | Auto-[retry](../advanced/retry-strategies.md) failed tests, 0–2 | -| `runnerType` | `default` \| `m4` \| `m1` \| `gpu1` (deprecated) \| `cpu1` | [Runner type](../configuration/runner-type.md) (default `default`). | +| `runnerType` | `default` \| `m4` \| `m1` \| `cpu1` | [Runner type](../configuration/runner-type.md) (default `default`). | | `priority` | `low` \| `normal` \| `high` | [Run priority](../configuration/run-priority.md) (default `normal`). Reorders only your organisation's own queued runs. | | `configFile` | string | Path to a [workspace config](../configuration/workspace-config.md) | | `ignoreShaCheck` | boolean | Force re-upload of the binary even if an identical one already exists |