Repository navigation
chore: version packages - #1012
Merged
Merged
Conversation
github-actions
Bot
requested review from
okwasniewski and
szymonrybczak
as code owners
October 9, 2026 22:29
github-actions
Bot
force-pushed
the
changeset-release/main
branch
20 times, most recently
from
October 12, 2026 16:47
adfb42a to
4569adf
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
October 12, 2026 16:52
4569adf to
b5d8757
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
e2e@0.20.0
Minor Changes
9e2a8bfThanks @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:aor enter for every test,rfor the current filters,ffor the failed ones,uto update snapshots,pandtto filter by file and title,qto quit. A key during a run cancels it. Refused in CI and with--reporter json.Patch Changes
#944
9acaa16Thanks @rudycelekli! - Reject an expired saved session on later restores even when its state is cached in the worker.#933
e22d8a0Thanks @rudycelekli! - Respect model-call cancellation while waiting for a shared subscription token refresh.#1052
29cd745Thanks @rudycelekli! - Resolve aliases and compiler settings from nested solution-style TypeScript project references.#932
7bd0ddeThanks @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
d6ab2c5Thanks @KrzysztofMoch! - The bundled agent skill routes faster.SKILL.mdopens with a table that sends each job to one reference, its description now covers checking a change in the running app overe2e mcp, and every reference opens with a list of its sections.@e2e-dev/limrun@0.2.0
Minor Changes
c807f94Thanks @enesonus! - Add the Limrun device provider with one hosted instance per worker, appinstallation, 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
c4263bdThanks @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.@e2e-dev/mobile@0.12.0
Minor Changes
#999
4bb3e42Thanks @reiidoda! - Breaking:device.setNetwork('offline')anddevice.setAirplaneMode(true)now fail withUNSUPPORTED_CAPABILITYon iOS. They previously changed only the simulator's status bar while the app stayed online. Restoring the network withsetNetwork('online')orsetAirplaneMode(false)does nothing on iOS, so shared cleanup hooks still work.Run offline tests on Android with
platforms: ['android']andsetAirplaneMode(true)(Android 11+).setNetwork('offline')turns off Wi-Fi only; cellular data can keep the app online.#1059
e291f09Thanks @thiagobrez! -device.foldworks 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.foldon an Android target failed withUNSUPPORTED_CAPABILITY.#1023
490a97eThanks @thymikee! -device.locator()and theselectorlocator 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:roletakes agent-device's kind, the roleagent-device snapshotprints (text-field,navigation-bar,scroll-area), not thegetByRolerole.role=textboxbecomesrole=text-field,role=navigationbecomesrole=navigation-bar,role=search-fieldbecomesrole=search,role=listitembecomesrole=cell. Platform type names (StaticText,NavigationBar) still match through agent-device's deprecated aliases; the docs now use the kind.id,label,value,text) compare case-insensitively.visiblemeans hittable or a non-empty frame, andhiddenits opposite.editablemeans a fillable type that is enabled; a disabled field is not editable.hittablematches only a node that reports it; one that doesn't say is no longer counted as hittable.textreads the first non-empty label, value, or identifier.Patch Changes
#1025
880ae70Thanks @thymikee! - agent-device 0.21.25:settings permission --appresolves a display name to the installed app's id and refuses an app that isn't installed (callstack/agent-device#3386), and on iOS a canceled request keeps its session until the runner finishes the canceled command (callstack/agent-device#3385).#988
c807f94Thanks @enesonus! - Add the Limrun device provider with one hosted instance per worker, appinstallation, 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
880ae70Thanks @thymikee! - Permissions are set on the app by name, with agent-device'ssettings 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 inpreparestill opens the pinned app, and a worker no longer lists agent-device's sessions at start.#1026
62d5524Thanks @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
9065cf8Thanks @thymikee! - A missing agent-device session is recognized by agent-device'sSESSION_NOT_FOUNDcode and itssession_or_device_selector_requiredreason (0.21.21) instead of a pattern over the message, so a reworded message can no longer change whether a failure reports asAPP_NOT_OPEN.@e2e-dev/decision@0.2.1
Patch Changes
#843
ac657d1Thanks @pvedula7! - The decision executor offersdismiss_keyboardwhile 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
42ce272Thanks @Ashfaqbs! - The decision executor now forwards an element'sselectedstate to the model, the same way it already forwardscheckedandexpanded. 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
5e55d7cThanks @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 withAPP_UNREACHABLEagain 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 rejecteddoneorfailedclaim also carry an error in the step's history, so they count toward the three as well.