From b5d87577235bd325b9e7f40330c22411b1e1519e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 16:52:22 +0000 Subject: [PATCH] chore: version packages --- .changeset/agent-device-0-21-25.md | 5 --- .changeset/cached-session-expiry.md | 5 --- .../cancel-subscription-refresh-wait.md | 5 --- .changeset/decision-dismiss-keyboard.md | 5 --- .changeset/decision-selected-state.md | 5 --- .changeset/decision-stall-clock.md | 5 --- .changeset/ios-network-unsupported.md | 7 ---- .changeset/limrun-agent-device-dependency.md | 5 --- .changeset/limrun-provider.md | 9 ----- .changeset/mobile-android-fold.md | 5 --- .changeset/mobile-permissions-explicit-app.md | 5 --- .changeset/mobile-published-viewport.md | 5 --- .changeset/mobile-selector-parity.md | 12 ------- .changeset/mobile-typed-session-errors.md | 5 --- .changeset/nested-tsconfig-references.md | 5 --- .changeset/owned-process-descendants.md | 5 --- .changeset/run-watch.md | 5 --- .changeset/skill-decision-tree.md | 5 --- packages/decision/CHANGELOG.md | 10 ++++++ packages/decision/package.json | 2 +- packages/e2e/CHANGELOG.md | 18 ++++++++++ packages/e2e/package.json | 2 +- packages/limrun/CHANGELOG.md | 14 ++++++++ packages/limrun/package.json | 2 +- packages/mobile/CHANGELOG.md | 34 +++++++++++++++++++ packages/mobile/package.json | 2 +- 26 files changed, 80 insertions(+), 107 deletions(-) delete mode 100644 .changeset/agent-device-0-21-25.md delete mode 100644 .changeset/cached-session-expiry.md delete mode 100644 .changeset/cancel-subscription-refresh-wait.md delete mode 100644 .changeset/decision-dismiss-keyboard.md delete mode 100644 .changeset/decision-selected-state.md delete mode 100644 .changeset/decision-stall-clock.md delete mode 100644 .changeset/ios-network-unsupported.md delete mode 100644 .changeset/limrun-agent-device-dependency.md delete mode 100644 .changeset/limrun-provider.md delete mode 100644 .changeset/mobile-android-fold.md delete mode 100644 .changeset/mobile-permissions-explicit-app.md delete mode 100644 .changeset/mobile-published-viewport.md delete mode 100644 .changeset/mobile-selector-parity.md delete mode 100644 .changeset/mobile-typed-session-errors.md delete mode 100644 .changeset/nested-tsconfig-references.md delete mode 100644 .changeset/owned-process-descendants.md delete mode 100644 .changeset/run-watch.md delete mode 100644 .changeset/skill-decision-tree.md create mode 100644 packages/limrun/CHANGELOG.md diff --git a/.changeset/agent-device-0-21-25.md b/.changeset/agent-device-0-21-25.md deleted file mode 100644 index 356dce011..000000000 --- a/.changeset/agent-device-0-21-25.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/mobile": patch ---- - -agent-device 0.21.25: `settings permission --app` resolves a display name to the installed app's id and refuses an app that isn't installed ([callstack/agent-device#3386](https://github.com/callstack/agent-device/pull/3386)), and on iOS a canceled request keeps its session until the runner finishes the canceled command ([callstack/agent-device#3385](https://github.com/callstack/agent-device/pull/3385)). diff --git a/.changeset/cached-session-expiry.md b/.changeset/cached-session-expiry.md deleted file mode 100644 index 3cc7f7e03..000000000 --- a/.changeset/cached-session-expiry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"e2e": patch ---- - -Reject an expired saved session on later restores even when its state is cached in the worker. diff --git a/.changeset/cancel-subscription-refresh-wait.md b/.changeset/cancel-subscription-refresh-wait.md deleted file mode 100644 index cd4e2871a..000000000 --- a/.changeset/cancel-subscription-refresh-wait.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"e2e": patch ---- - -Respect model-call cancellation while waiting for a shared subscription token refresh. diff --git a/.changeset/decision-dismiss-keyboard.md b/.changeset/decision-dismiss-keyboard.md deleted file mode 100644 index 94ac91b60..000000000 --- a/.changeset/decision-dismiss-keyboard.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/decision": patch ---- - -The decision executor offers `dismiss_keyboard` while an on-screen keyboard is showing and the engine can dismiss it. Before, a control the keyboard covered after typing (an iOS number pad over a submit button) could not be reached, and the step failed. diff --git a/.changeset/decision-selected-state.md b/.changeset/decision-selected-state.md deleted file mode 100644 index a5b417c53..000000000 --- a/.changeset/decision-selected-state.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/decision": patch ---- - -The decision executor now forwards an element's `selected` state to the model, the same way it already forwards `checked` and `expanded`. Without it, a tab bar's active tab looked identical to the rest, so the completion check for a tab switch landed near 50/50 and sometimes blocked a step that actually worked, or claimed a step done before anything was tapped. diff --git a/.changeset/decision-stall-clock.md b/.changeset/decision-stall-clock.md deleted file mode 100644 index 510b210be..000000000 --- a/.changeset/decision-stall-clock.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/decision": patch ---- - -The decision executor's stall guard now counts an action that errored as no progress, so three actions in a row that failed or changed nothing on screen block the step. It used to look only at whether the page changed, and a ticking timer on screen changes it every time: a tap that failed with `APP_UNREACHABLE` again and again never tripped the guard, and the model could repeat it until it gave up and claimed the step failed. A skipped pick and a rejected `done` or `failed` claim also carry an error in the step's history, so they count toward the three as well. diff --git a/.changeset/ios-network-unsupported.md b/.changeset/ios-network-unsupported.md deleted file mode 100644 index f6ca20371..000000000 --- a/.changeset/ios-network-unsupported.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@e2e-dev/mobile': minor ---- - -Breaking: `device.setNetwork('offline')` and `device.setAirplaneMode(true)` now fail with `UNSUPPORTED_CAPABILITY` on iOS. They previously changed only the simulator's status bar while the app stayed online. Restoring the network with `setNetwork('online')` or `setAirplaneMode(false)` does nothing on iOS, so shared cleanup hooks still work. - -Run offline tests on Android with `platforms: ['android']` and `setAirplaneMode(true)` (Android 11+). `setNetwork('offline')` turns off Wi-Fi only; cellular data can keep the app online. diff --git a/.changeset/limrun-agent-device-dependency.md b/.changeset/limrun-agent-device-dependency.md deleted file mode 100644 index 4ca3b70bd..000000000 --- a/.changeset/limrun-agent-device-dependency.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/limrun": patch ---- - -Ship agent-device as a regular dependency pinned to the mobile engine's version instead of an exact peer dependency, so users no longer install it by hand. diff --git a/.changeset/limrun-provider.md b/.changeset/limrun-provider.md deleted file mode 100644 index b73d77011..000000000 --- a/.changeset/limrun-provider.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@e2e-dev/mobile": patch -"@e2e-dev/limrun": minor ---- - -Add the Limrun device provider with one hosted instance per worker, app -installation, recording through agent-device, and cleanup on run exit. -Renew retained driver leases while other targets run. Keep provider-owned -local daemons isolated from ambient remote-daemon environment settings. diff --git a/.changeset/mobile-android-fold.md b/.changeset/mobile-android-fold.md deleted file mode 100644 index f7362d915..000000000 --- a/.changeset/mobile-android-fold.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/mobile": minor ---- - -`device.fold` works on foldable Android emulators. agent-device 0.21.25 sets the emulator console posture and waits for the device state Android commits, so the engine no longer refuses Android before the command; a fold to the cover display also clears the lock screen the emulator raises. Before, `device.fold` on an Android target failed with `UNSUPPORTED_CAPABILITY`. diff --git a/.changeset/mobile-permissions-explicit-app.md b/.changeset/mobile-permissions-explicit-app.md deleted file mode 100644 index 0ddb2d895..000000000 --- a/.changeset/mobile-permissions-explicit-app.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/mobile": patch ---- - -Permissions are set on the app by name, with agent-device's `settings permission --app` (0.21.21, with display names resolved since 0.21.25). `device.setPermission()` and the permissions a launch presets no longer open the app first to put agent-device's session on it, so a permission goes in before the app's first launch with no foreground open. `device.setPermission()` always acts on the pinned app, as documented, not on whichever app the session last opened. The warm-up in `prepare` still opens the pinned app, and a worker no longer lists agent-device's sessions at start. diff --git a/.changeset/mobile-published-viewport.md b/.changeset/mobile-published-viewport.md deleted file mode 100644 index 52a66703a..000000000 --- a/.changeset/mobile-published-viewport.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/mobile": patch ---- - -The mobile engine measures an observation in the viewport agent-device publishes with each snapshot (0.21.21), and infers it from the tree's largest window or rect extent only for a snapshot that publishes none. On a snapshot that publishes one, a tree that doesn't reach the screen's edges no longer shrinks the viewport, so a system panel above the bottom of the screen is no longer taken for the navigation bar. diff --git a/.changeset/mobile-selector-parity.md b/.changeset/mobile-selector-parity.md deleted file mode 100644 index 5a3072292..000000000 --- a/.changeset/mobile-selector-parity.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@e2e-dev/mobile": minor ---- - -`device.locator()` and the `selector` locator match with agent-device's own term rules (`listSelectorChainMatches`, 0.21.21) instead of the engine's copy of them, which had drifted. A selector can match different nodes than before: - -- `role` takes agent-device's kind, the role `agent-device snapshot` prints (`text-field`, `navigation-bar`, `scroll-area`), not the `getByRole` role. `role=textbox` becomes `role=text-field`, `role=navigation` becomes `role=navigation-bar`, `role=search-field` becomes `role=search`, `role=listitem` becomes `role=cell`. Platform type names (`StaticText`, `NavigationBar`) still match through agent-device's deprecated aliases; the docs now use the kind. -- Text terms (`id`, `label`, `value`, `text`) compare case-insensitively. -- `visible` means hittable or a non-empty frame, and `hidden` its opposite. -- `editable` means a fillable type that is enabled; a disabled field is not editable. -- `hittable` matches only a node that reports it; one that doesn't say is no longer counted as hittable. -- `text` reads the first non-empty label, value, or identifier. diff --git a/.changeset/mobile-typed-session-errors.md b/.changeset/mobile-typed-session-errors.md deleted file mode 100644 index d6c846a68..000000000 --- a/.changeset/mobile-typed-session-errors.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@e2e-dev/mobile": patch ---- - -A missing agent-device session is recognized by agent-device's `SESSION_NOT_FOUND` code and its `session_or_device_selector_required` reason (0.21.21) instead of a pattern over the message, so a reworded message can no longer change whether a failure reports as `APP_NOT_OPEN`. diff --git a/.changeset/nested-tsconfig-references.md b/.changeset/nested-tsconfig-references.md deleted file mode 100644 index 5bb120667..000000000 --- a/.changeset/nested-tsconfig-references.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"e2e": patch ---- - -Resolve aliases and compiler settings from nested solution-style TypeScript project references. diff --git a/.changeset/owned-process-descendants.md b/.changeset/owned-process-descendants.md deleted file mode 100644 index 9f56fcfd3..000000000 --- a/.changeset/owned-process-descendants.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"e2e": patch ---- - -Stop surviving app-command descendants on POSIX even when the command leader exits first, preserving the shutdown grace period for the entire process group. diff --git a/.changeset/run-watch.md b/.changeset/run-watch.md deleted file mode 100644 index 784031949..000000000 --- a/.changeset/run-watch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"e2e": minor ---- - -`e2e run --watch` (`-w`) runs the tests, then runs again whenever a test file, a source file beside the tests, or the config is saved, or a key asks for it, with vitest's keys: `a` or enter for every test, `r` for the current filters, `f` for the failed ones, `u` to update snapshots, `p` and `t` to filter by file and title, `q` to quit. A key during a run cancels it. Refused in CI and with `--reporter json`. diff --git a/.changeset/skill-decision-tree.md b/.changeset/skill-decision-tree.md deleted file mode 100644 index 5abe5f7e3..000000000 --- a/.changeset/skill-decision-tree.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"e2e": patch ---- - -The bundled agent skill routes faster. `SKILL.md` opens with a table that sends each job to one reference, its description now covers checking a change in the running app over `e2e mcp`, and every reference opens with a list of its sections. diff --git a/packages/decision/CHANGELOG.md b/packages/decision/CHANGELOG.md index f01ff5eea..80b4e936c 100644 --- a/packages/decision/CHANGELOG.md +++ b/packages/decision/CHANGELOG.md @@ -1,5 +1,15 @@ # @e2e-dev/decision +## 0.2.1 + +### Patch Changes + +- [#843](https://github.com/tester-army/e2e/pull/843) [`ac657d1`](https://github.com/tester-army/e2e/commit/ac657d1d0c063cd19ee458ee1d645783bf1ef8ce) Thanks [@pvedula7](https://github.com/pvedula7)! - The decision executor offers `dismiss_keyboard` while an on-screen keyboard is showing and the engine can dismiss it. Before, a control the keyboard covered after typing (an iOS number pad over a submit button) could not be reached, and the step failed. + +- [#910](https://github.com/tester-army/e2e/pull/910) [`42ce272`](https://github.com/tester-army/e2e/commit/42ce272c9ccc8e59571eaa14122e55ed85554b29) Thanks [@Ashfaqbs](https://github.com/Ashfaqbs)! - The decision executor now forwards an element's `selected` state to the model, the same way it already forwards `checked` and `expanded`. Without it, a tab bar's active tab looked identical to the rest, so the completion check for a tab switch landed near 50/50 and sometimes blocked a step that actually worked, or claimed a step done before anything was tapped. + +- [#844](https://github.com/tester-army/e2e/pull/844) [`5e55d7c`](https://github.com/tester-army/e2e/commit/5e55d7c92d67f9b8741c7835ef23de5d62c637c2) Thanks [@pvedula7](https://github.com/pvedula7)! - The decision executor's stall guard now counts an action that errored as no progress, so three actions in a row that failed or changed nothing on screen block the step. It used to look only at whether the page changed, and a ticking timer on screen changes it every time: a tap that failed with `APP_UNREACHABLE` again and again never tripped the guard, and the model could repeat it until it gave up and claimed the step failed. A skipped pick and a rejected `done` or `failed` claim also carry an error in the step's history, so they count toward the three as well. + ## 0.2.0 ### Minor Changes diff --git a/packages/decision/package.json b/packages/decision/package.json index 3476c1262..49216caf5 100644 --- a/packages/decision/package.json +++ b/packages/decision/package.json @@ -1,6 +1,6 @@ { "name": "@e2e-dev/decision", - "version": "0.2.0", + "version": "0.2.1", "description": "Decision-model executors for e2e", "license": "Apache-2.0", "repository": { diff --git a/packages/e2e/CHANGELOG.md b/packages/e2e/CHANGELOG.md index a2df4b99c..6ba87bce5 100644 --- a/packages/e2e/CHANGELOG.md +++ b/packages/e2e/CHANGELOG.md @@ -1,5 +1,23 @@ # e2e +## 0.20.0 + +### Minor Changes + +- [#1068](https://github.com/tester-army/e2e/pull/1068) [`9e2a8bf`](https://github.com/tester-army/e2e/commit/9e2a8bf4c71aae5513a1d8b1b3b610b2cf5b88f4) Thanks [@okwasniewski](https://github.com/okwasniewski)! - `e2e run --watch` (`-w`) runs the tests, then runs again whenever a test file, a source file beside the tests, or the config is saved, or a key asks for it, with vitest's keys: `a` or enter for every test, `r` for the current filters, `f` for the failed ones, `u` to update snapshots, `p` and `t` to filter by file and title, `q` to quit. A key during a run cancels it. Refused in CI and with `--reporter json`. + +### Patch Changes + +- [#944](https://github.com/tester-army/e2e/pull/944) [`9acaa16`](https://github.com/tester-army/e2e/commit/9acaa16f59db8a484091e53d2a9b6979557169c2) Thanks [@rudycelekli](https://github.com/rudycelekli)! - Reject an expired saved session on later restores even when its state is cached in the worker. + +- [#933](https://github.com/tester-army/e2e/pull/933) [`e22d8a0`](https://github.com/tester-army/e2e/commit/e22d8a05512f5ecff73b119ce28c7afd8aa10633) Thanks [@rudycelekli](https://github.com/rudycelekli)! - Respect model-call cancellation while waiting for a shared subscription token refresh. + +- [#1052](https://github.com/tester-army/e2e/pull/1052) [`29cd745`](https://github.com/tester-army/e2e/commit/29cd745db3bad6f58d6041c87bd2582e260c355d) Thanks [@rudycelekli](https://github.com/rudycelekli)! - Resolve aliases and compiler settings from nested solution-style TypeScript project references. + +- [#932](https://github.com/tester-army/e2e/pull/932) [`7bd0dde`](https://github.com/tester-army/e2e/commit/7bd0dde3b23b72c7e5d689df0e901c08cb7e3138) Thanks [@rudycelekli](https://github.com/rudycelekli)! - Stop surviving app-command descendants on POSIX even when the command leader exits first, preserving the shutdown grace period for the entire process group. + +- [#1065](https://github.com/tester-army/e2e/pull/1065) [`d6ab2c5`](https://github.com/tester-army/e2e/commit/d6ab2c582479e67ccc9eed5a493e96091701f2f2) Thanks [@KrzysztofMoch](https://github.com/KrzysztofMoch)! - The bundled agent skill routes faster. `SKILL.md` opens with a table that sends each job to one reference, its description now covers checking a change in the running app over `e2e mcp`, and every reference opens with a list of its sections. + ## 0.19.0 ### Minor Changes diff --git a/packages/e2e/package.json b/packages/e2e/package.json index a359b4f96..201bc0a0a 100644 --- a/packages/e2e/package.json +++ b/packages/e2e/package.json @@ -1,6 +1,6 @@ { "name": "e2e", - "version": "0.19.0", + "version": "0.20.0", "description": "SDK, runner, and CLI for agentic end-to-end testing", "keywords": [ "e2e", diff --git a/packages/limrun/CHANGELOG.md b/packages/limrun/CHANGELOG.md new file mode 100644 index 000000000..a2b198a2f --- /dev/null +++ b/packages/limrun/CHANGELOG.md @@ -0,0 +1,14 @@ +# @e2e-dev/limrun + +## 0.2.0 + +### Minor Changes + +- [#988](https://github.com/tester-army/e2e/pull/988) [`c807f94`](https://github.com/tester-army/e2e/commit/c807f9480646a13f00d308cdd0a90034908b5543) Thanks [@enesonus](https://github.com/enesonus)! - Add the Limrun device provider with one hosted instance per worker, app + installation, recording through agent-device, and cleanup on run exit. + Renew retained driver leases while other targets run. Keep provider-owned + local daemons isolated from ambient remote-daemon environment settings. + +### Patch Changes + +- [#1066](https://github.com/tester-army/e2e/pull/1066) [`c4263bd`](https://github.com/tester-army/e2e/commit/c4263bde1786fdf19817eb53441e5460e682f012) Thanks [@okwasniewski](https://github.com/okwasniewski)! - Ship agent-device as a regular dependency pinned to the mobile engine's version instead of an exact peer dependency, so users no longer install it by hand. diff --git a/packages/limrun/package.json b/packages/limrun/package.json index 0674ab5d7..51f582b4e 100644 --- a/packages/limrun/package.json +++ b/packages/limrun/package.json @@ -1,6 +1,6 @@ { "name": "@e2e-dev/limrun", - "version": "0.1.0", + "version": "0.2.0", "description": "Limrun hosted iOS simulators and Android emulators for e2e mobile tests", "keywords": [ "e2e", diff --git a/packages/mobile/CHANGELOG.md b/packages/mobile/CHANGELOG.md index 6b83d8cba..2591e0b6a 100644 --- a/packages/mobile/CHANGELOG.md +++ b/packages/mobile/CHANGELOG.md @@ -1,5 +1,39 @@ # @e2e-dev/mobile +## 0.12.0 + +### Minor Changes + +- [#999](https://github.com/tester-army/e2e/pull/999) [`4bb3e42`](https://github.com/tester-army/e2e/commit/4bb3e42f501e69dce9377a40542993d3c808d3e8) Thanks [@reiidoda](https://github.com/reiidoda)! - Breaking: `device.setNetwork('offline')` and `device.setAirplaneMode(true)` now fail with `UNSUPPORTED_CAPABILITY` on iOS. They previously changed only the simulator's status bar while the app stayed online. Restoring the network with `setNetwork('online')` or `setAirplaneMode(false)` does nothing on iOS, so shared cleanup hooks still work. + + Run offline tests on Android with `platforms: ['android']` and `setAirplaneMode(true)` (Android 11+). `setNetwork('offline')` turns off Wi-Fi only; cellular data can keep the app online. + +- [#1059](https://github.com/tester-army/e2e/pull/1059) [`e291f09`](https://github.com/tester-army/e2e/commit/e291f09c6a1c78069cd1a7af3b973a3bf8aca9e5) Thanks [@thiagobrez](https://github.com/thiagobrez)! - `device.fold` works on foldable Android emulators. agent-device 0.21.25 sets the emulator console posture and waits for the device state Android commits, so the engine no longer refuses Android before the command; a fold to the cover display also clears the lock screen the emulator raises. Before, `device.fold` on an Android target failed with `UNSUPPORTED_CAPABILITY`. + +- [#1023](https://github.com/tester-army/e2e/pull/1023) [`490a97e`](https://github.com/tester-army/e2e/commit/490a97e7ccdaae259a7808ed23c4cf124946a18a) Thanks [@thymikee](https://github.com/thymikee)! - `device.locator()` and the `selector` locator match with agent-device's own term rules (`listSelectorChainMatches`, 0.21.21) instead of the engine's copy of them, which had drifted. A selector can match different nodes than before: + + - `role` takes agent-device's kind, the role `agent-device snapshot` prints (`text-field`, `navigation-bar`, `scroll-area`), not the `getByRole` role. `role=textbox` becomes `role=text-field`, `role=navigation` becomes `role=navigation-bar`, `role=search-field` becomes `role=search`, `role=listitem` becomes `role=cell`. Platform type names (`StaticText`, `NavigationBar`) still match through agent-device's deprecated aliases; the docs now use the kind. + - Text terms (`id`, `label`, `value`, `text`) compare case-insensitively. + - `visible` means hittable or a non-empty frame, and `hidden` its opposite. + - `editable` means a fillable type that is enabled; a disabled field is not editable. + - `hittable` matches only a node that reports it; one that doesn't say is no longer counted as hittable. + - `text` reads the first non-empty label, value, or identifier. + +### Patch Changes + +- [#1025](https://github.com/tester-army/e2e/pull/1025) [`880ae70`](https://github.com/tester-army/e2e/commit/880ae70c9c6ade9d6f69e7d7a17b7f4a6b4056b3) Thanks [@thymikee](https://github.com/thymikee)! - agent-device 0.21.25: `settings permission --app` resolves a display name to the installed app's id and refuses an app that isn't installed ([callstack/agent-device#3386](https://github.com/callstack/agent-device/pull/3386)), and on iOS a canceled request keeps its session until the runner finishes the canceled command ([callstack/agent-device#3385](https://github.com/callstack/agent-device/pull/3385)). + +- [#988](https://github.com/tester-army/e2e/pull/988) [`c807f94`](https://github.com/tester-army/e2e/commit/c807f9480646a13f00d308cdd0a90034908b5543) Thanks [@enesonus](https://github.com/enesonus)! - Add the Limrun device provider with one hosted instance per worker, app + installation, recording through agent-device, and cleanup on run exit. + Renew retained driver leases while other targets run. Keep provider-owned + local daemons isolated from ambient remote-daemon environment settings. + +- [#1025](https://github.com/tester-army/e2e/pull/1025) [`880ae70`](https://github.com/tester-army/e2e/commit/880ae70c9c6ade9d6f69e7d7a17b7f4a6b4056b3) Thanks [@thymikee](https://github.com/thymikee)! - Permissions are set on the app by name, with agent-device's `settings permission --app` (0.21.21, with display names resolved since 0.21.25). `device.setPermission()` and the permissions a launch presets no longer open the app first to put agent-device's session on it, so a permission goes in before the app's first launch with no foreground open. `device.setPermission()` always acts on the pinned app, as documented, not on whichever app the session last opened. The warm-up in `prepare` still opens the pinned app, and a worker no longer lists agent-device's sessions at start. + +- [#1026](https://github.com/tester-army/e2e/pull/1026) [`62d5524`](https://github.com/tester-army/e2e/commit/62d55249c1348446d5f536ad9474383016075bb1) Thanks [@thymikee](https://github.com/thymikee)! - The mobile engine measures an observation in the viewport agent-device publishes with each snapshot (0.21.21), and infers it from the tree's largest window or rect extent only for a snapshot that publishes none. On a snapshot that publishes one, a tree that doesn't reach the screen's edges no longer shrinks the viewport, so a system panel above the bottom of the screen is no longer taken for the navigation bar. + +- [#1024](https://github.com/tester-army/e2e/pull/1024) [`9065cf8`](https://github.com/tester-army/e2e/commit/9065cf8d36ec5616b18c842b577e8bf0ffd6740d) Thanks [@thymikee](https://github.com/thymikee)! - A missing agent-device session is recognized by agent-device's `SESSION_NOT_FOUND` code and its `session_or_device_selector_required` reason (0.21.21) instead of a pattern over the message, so a reworded message can no longer change whether a failure reports as `APP_NOT_OPEN`. + ## 0.11.0 ### Minor Changes diff --git a/packages/mobile/package.json b/packages/mobile/package.json index df2edc63f..af6102c7a 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@e2e-dev/mobile", - "version": "0.11.0", + "version": "0.12.0", "description": "Mobile engine (iOS and Android) for e2e agentic end-to-end testing, built on agent-device", "keywords": [ "e2e",