-
v2.12.2
v2.12.2: Fix critical bugs, refactor DeviceManager, add new tools
-
v2.12.0
v2.12.0 — AI Cost Optimization - `screenshot` with `diff: true` — sends only changed region instead of full screenshot - <5% change → text only ("Screen unchanged"), 5-80% → cropped diff region, >80% → full screenshot - Saves 60-80% tokens on repeat screenshots - New params: `diff: boolean`, `diffThreshold: number` - `analyze_screen` now works on **iOS** and **Desktop** (was Android-only) - New semantic fields: `screenTitle`, `hasDialog`, `dialogTitle`, `navigationState` - Detects Toolbar/NavigationBar titles, AlertDialog/Modal overlays, back/menu/tabs - Cross-platform class name handling (iOS TextField/StaticText) - ~200 tokens vs ~2000 for screenshot - New `run_flow` tool — execute multi-step automation in a single round-trip - Conditional logic: `if_not_found` (skip/scroll_down/scroll_up/fail) - Loops: `repeat` with `times`/`until_found`/`until_not_found` - Error handling: `on_error` (stop/skip/retry) - Safety: whitelisted actions only, max 20 steps, 60s hard timeout - Replaces 3-10 individual tool calls with one command - `hints: true` on `tap`, `swipe`, `input_text`, `press_key` - Auto-detects what changed: new/gone elements, screen transitions - Suggests next actions (focused inputs, dialog buttons, scrollable areas) - Eliminates need for follow-up screenshot/get_ui after every action - 104 total tests (31 new, 73 existing — all passing)