v0.21.1
Highlights
v0.21.1 improves iOS snapshots, Android scrolling, and remote-device support.
- Deep iOS snapshots recover more efficiently. Large accessibility trees use bounded depth recovery, and repeated Simulator captures reuse learned depth hints. First taps are more resilient to optional probe failures.
- Android scrolling stops more predictably. Controlled scrolls suppress the fling at release, reducing overshoot when you ask for a specific distance.
- Connect to HarmonyOS devices through a proxy. The new
harmonyos-instancelease backend keeps the selected device attached through commands and recording/replay. - Export more Maestro flows. Replay exports now support Home actions and flows that switch between apps.
- Apple performance sampling targets the right app. Sampling stays scoped to the selected app's executable instead of accidentally including another Simulator's copy.
What's Changed
- fix(ios): avoid duplicate alert routing queries by @thiagobrez in #2398
- refactor(move): move the remaining package-ready modules out of src/core by @thymikee in #2401
- refactor(daemon): move the device selection cluster into @agent-device/device-selection by @thymikee in #2396
- refactor(move): move lease scope vocabulary into @agent-device/contracts by @thymikee in #2380
- fix(android): honor scroll releaseBehavior to stop the fling overshoot by @thymikee in #2372
- feat(remote): add HarmonyOS proxy lease backend by @bytemain in #2266
- feat(maestro): export home actions from replay scripts by @PLASMA-FR in #2394
- feat(maestro): export replay flows that switch apps by @PLASMA-FR in #2407
- refactor(daemon): isolate Apple session observations by @PLASMA-FR in #2405
- refactor(move): move the selector pipeline and interaction targeting into @agent-device/selectors by @thymikee in #2397
- fix(apple): scope perf processes to the resolved app executable by @thiagobrez in #2406
- chore: hoist shared snapshot/selector test fixtures into a single canonical location by @thymikee in #2419
- test(daemon): split the three over-budget daemon test files along their source modules by @thymikee in #2417
- perf(apple): gate the launch-observation probe on the snapshot circuit breaker by @thymikee in #2391
- refactor(daemon): normalize lifecycle participation of platform resource owners by @thymikee in #2415
- test(coverage): declare every public command's coverage judgments once by @thymikee in #2418
- refactor(daemon): separate open-target policy from platform mechanics by @thymikee in #2416
- fix(host-kit): resolve the code-signature root so a symlinked checkout stamps its own files by @thymikee in #2429
- perf(ios): speed up deep snapshots and keep first taps reliable by @thymikee in #2414
- test(ios): add a shared AX recovery conformance fixture with a host adapter by @thymikee in #2425
- test(ios): run the shared AX recovery fixture through the runner and characterize its depth memory by @thymikee in #2428
- perf(ios): learn generation-scoped native depth hints in the host AX source by @thymikee in #2427
New Contributors
Full Changelog: v0.21.0...v0.21.1