Skip to content

v0.21.21

Choose a tag to compare

@thymikee thymikee released this 06 Oct 07:57
· 121 commits to main since this release

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

Full Changelog: v0.21.20...v0.21.21