Repository navigation
v0.21.21
What's Changed
- feat(install-source): accept archive URLs from any public host by @alcpereira in #3110
- fix: guard alert deadline before native tap synthesis by @thymikee in #3113
- feat(devices): report model and osVersion by @okwasniewski in #3119
- fix(ios): report keyboard focus from the AX bridge's is-editing trait by @okwasniewski in #3163
- feat: add managed provider plugin infrastructure by @thymikee in #3121
- fix(ios): pin runner build roots under derived data by @okwasniewski in #3158
- fix(daemon): match --device in session binding check like device selection by @okwasniewski in #3159
- fix(ios): keep container manager metadata on clear-app-state by @okwasniewski in #3156
- fix(android): fail doctor when adb is the Windows binary on a POSIX host by @okwasniewski in #3157
- fix(daemon): start a lease's TTL when its allocation completes by @amankansal-lt in #3165
- fix(cli): refuse a non-URL install-from-source source up front by @amankansal-lt in #3166
- fix: preserve process lock exclusion across publication and reclaim by @thymikee in #3122
- refactor(move): share daemon registration and shutdown report modules by @thymikee in #3123
- fix: return confirmed daemon termination outcomes by @thymikee in #3124
- fix: bind daemon registration writes to the acquired owner by @thymikee in #3125
- fix: centralize confirmed daemon retirement by @thymikee in #3126
- fix(android): back off a timed-out snapshot helper session and bound content re-captures by @okwasniewski in #3160
- fix(provider-webdriver): harden BrowserStack app references and endpoints by @amankansal-lt in #3169
- refactor: extract session artifact paths by @thymikee in #3186
- fix(ios): keep the fresh-install directory layout on clear-app-state by @pvedula7 in #3198
- fix(limrun): pass launch arguments to iOS apps through simctl by @jbroma in #3184
- feat(limrun): drive an existing instance with its own URL and token by @thymikee in #3173
- fix(ios): report fill into a non-echoing field as unconfirmed by @okwasniewski in #3171
- feat(selectors): export listSelectorChainMatches from agent-device/selectors by @thymikee in #3192
- docs(limrun): say what a partial instance variable set does by @thymikee in #3202
- fix(record): keep the daemon alive when a record request times out by @pvedula7 in #3199
- fix(errors): typed reasons for the session-app and session-or-selector refusals by @thymikee in #3194
- feat(macos-helper): drive app sessions through accessibility actions by @thymikee in #3188
- feat(macos): opt-in native app backend beside XCTest by @thymikee in #3189
- feat(macos): draw a ghost cursor for native app backend actions by @thymikee in #3195
- test: restore vi.stubEnv stubs automatically after every test by @thymikee in #3206
- feat(client): accept an AbortSignal per call and close the request on abort by @thymikee in #3200
- fix(ios): fill succeeds when app removes input after last character by @okwasniewski in #3161
- refactor: bind session resources to stable lifetimes by @thymikee in #3135
- refactor: publish session observations through captured references by @thymikee in #3140
- fix: preserve session lifetimes through open, replay and shutdown by @thymikee in #3144
- refactor: complete explicit session lifetime migration by @thymikee in #3152
- chore: enforce session state write ownership by @thymikee in #3155
- fix(ios): prefer USB entries for duplicate usbmux devices by @Arthur031221 in #3191
- fix: centralize daemon startup ownership and retirement by @thymikee in #3127
- test: let the shared Vitest isolation win over a project's own options by @thymikee in #3212
- fix(limrun): keep the owner's reverse mappings on attached Android instances by @thymikee in #3204
- fix(daemon): scope client timeout recovery to the timed-out request by @thymikee in #3193
- fix(ios): keep penalized-route fill on the field it focused by @pvedula7 in #3201
- fix(android): read the package from binary manifests at the spec attribute offset by @thymikee in #3203
- feat(snapshot): publish the viewport a snapshot's rects are measured in by @thymikee in #3210
- feat(settings): let permission and iOS location settings target an explicit app by @thymikee in #3205
- fix(daemon): disclose drag ref refusals before dispatch by @xujiantop-crypto in #3215
- test(provider-webdriver): carry the review tests that missed the #3169 merge by @amankansal-lt in #3221
- refactor: declare the profile fields each provider consumes, once by @amankansal-lt in #3168
- feat(daemon): keep a caller-owned lease through session close with retainOnClose by @jbroma in #3208
- fix(settings): let clear-app-state take its app from --app and refuse two apps by @thymikee in #3211
- feat(limrun): change iOS settings on Limrun instances through simctl by @jbroma in #3209
- fix(apple): start no host runner cache build while a provider serves Apple tooling by @thymikee in #3225
- fix(doctor): warm the runner cache only for simulators this host discovered by @thymikee in #3226
- fix(providers): refuse lease allocation when the daemon holds other provider credentials by @thymikee in #3207
- fix(limrun): compare only the leased platform's credentials by @thymikee in #3222
- Feat/maestro repeat while by @ahmedu007 in #3214
- fix(provider-webdriver): send an empty JSON object on bodyless POSTs by @okwasniewski in #3230
- fix(daemon): keep an idle daemon alive only for retained leases by @thymikee in #3227
- fix(recording): render the touch overlay at most 30 fps and inside the record request by @harrisrobin in #3219
- fix(ios): stop a tap's post-gesture lookup from recording an XCTest failure (#3060) by @thymikee in #3237
- docs(adr): correct ADR 0031 pointer event delivery evidence by @thymikee in #3245
- refactor(daemon): route daemon-level diagnostics through one scope helper by @thymikee in #3242
- feat(replay): accept --test-ime on test and replay so flow-owned Android opens opt into the test IME by @thymikee in #3235
- fix(provider-webdriver): read field values, placeholders, secure fields, and checked state from page source by @okwasniewski in #3231
- feat(selectors): match role= against snapshot kind with a node-scoped alias window by @thymikee in #3232
- feat(provider-webdriver): keyboard enter, dismiss, and status over WebDriver by @okwasniewski in #3233
- fix(ad-script): let .ad scripts carry scroll --until and wait capture flags (#3197) by @thymikee in #3234
- feat(recording): cap the touch overlay frame rate at the caller's --fps by @thymikee in #3241
- test(android): bound the screenshot write wait by wall time, not event-loop turns by @thymikee in #3250
- feat(remote): add a host-allocated macos-app lease backend by @janicduplessis in #3236
New Contributors
- @amankansal-lt made their first contribution in #3165
- @pvedula7 made their first contribution in #3198
- @Arthur031221 made their first contribution in #3191
- @xujiantop-crypto made their first contribution in #3215
- @ahmedu007 made their first contribution in #3214
- @harrisrobin made their first contribution in #3219
Full Changelog: v0.21.20...v0.21.21