Skip to content

Latest commit

 

History

History
529 lines (398 loc) · 47 KB

File metadata and controls

529 lines (398 loc) · 47 KB

1.0.15 (2026-09-28)

  • Feat: mobilecli device fold to fold and unfold foldable devices like iPhone Duo and Pixel Fold (#457, devicekit-ios#81)
  • Feat: add mobilecli auth status which is safe for agents to run (#460)
  • Feat: report slider, text field and switch state consistently on android and ios (#455)
  • Fix(ios): background the test runner on iOS 27 simulators (devicekit-ios#84)
  • Fix(ios): use portrait screen size when mapping landscape tap and swipe coordinates (devicekit-ios#83), thanks to @hakanor
  • Fix(ios): screenshot the active screen on foldable simulators (devicekit-ios#82)

1.0.14 (2026-09-27)

  • Feat(ios): concurrent screen recordings per device (#450)
  • Feat(screenrecord): stream the muxer instead of loading entire mp4 into memory, stop before 4GB limit (#449)
  • Feat(flutter): report widget Key and keep wrapper Semantics identifier (#451)
  • Feat(flutter): keep the creator-chain separator inside a string widget key (#453)

1.0.13 (2026-09-21)

  • Feat(ios): Keep slider, picker, alert, list and navigation elements in the UI dump (#440)
  • Fix(android): Launch apps and urls on the default display 0 (#442)
  • Fix(android): Clear the accessibility cache before dumping the UI tree (#439)
  • Fix(android): Fix crash when the in-app agent is installed twice (#441)
  • Fix(android): Concurrent on-device file installs are safe (#445)

1.0.12 (2026-09-21)

  • Fix: Recordings converted to mp4 are playable when the stream has B-frames; they used to decode as one frame lasting hundreds of hours (#430)
  • Fix: npm package license was set incorrectly, see LICENSE (#427)
  • Feat(ios): screencapture and screenrecord share one avc stream, so both can run at the same time (#429)
  • Fix(ios): Broadcast cold start on real devices: breadcrumb button, picker in the foreground, slow UI dump (#431)
  • Fix(ios): apps install --force-resign signs the loose dylibs of Xcode debug builds (<Name>.debug.dylib, __preview.dylib), which used to crash at launch as unsigned (#433)
  • Perf(ios): Flutter detection and VM service discovery on real devices without LLDB (#432)
  • Fix(android): Screen capture works on Android 12 and 13, where the hidden createVirtualDisplay is missing, by falling back to SurfaceControl.createDisplay (#435)
  • Fix(android): Pick the local port for adb forward ourselves instead of tcp:0, so agents are reachable when the adb server runs on another host (#434)
  • Fix(android): A viewer that joins an idle screen gets a key frame right away instead of waiting for the screen to change (#437)

1.0.11 (2026-09-16)

  • Feat: Tap, long press, swipe, button, keys and text on Android now go through the embedded agent instead of adb shell input, which forked a JVM on the device per call, thanks to @akexorcist for finding the bottleneck and the fix in #286 (#412)
  • Fix: mobilecli io longpress accepts an element ref like @e5, the way io tap already did (#413)
  • Feat: Switch light/dark appearance with mobilecli device settings apply --appearance=light|dark (#421, devicekit-ios#78)
  • Fix(ios): Restore iOS 14 support, mirror swift concurrency runtime into runner below iOS 15 (devicekit-ios#75, devicekit-ios#76), thanks to @hakanor
  • Fix(ios): Read and write the simulator clipboard through the devicekit agent, since simctl pbcopy silently leaves the pasteboard empty on iOS 26.5 (#425)
  • Fix(android): Detect the foreground app on devices with more than one display (#423), thanks to @akexorcist

1.0.10 (2026-09-11)

  • Feat: Pinch to zoom with mobilecli io pinch and device.io.pinch, and a real multi-finger device.io.gesture on Android through the embedded agent (#410)
  • Fix: Don't hang on a locked keyring when reading credentials; time out after 3s and continue without remote devices (#408), thanks to @EnglandLobster
  • Fix(ios): Parse ps output for PIDs narrower than the PID column, so a running agent is no longer torn down and relaunched on every call (#406), thanks to @bjjeong
  • Feat(ios): Report the on-screen view controller as the activity of the foreground app (#405)
  • Fix(android): Report the real app name and focused activity for the foreground app (#403)
  • Fix: auth login opens the browser for OAuth, falling back to the device code flow only when headless (#402)
  • Docs: Translate README to Japanese and Simplified Chinese (#400)

1.0.9 (2026-09-08)

  • Feat: add --full flag to dump ui to include the on-screen keyboard (#398)
  • Docs: teach the mobilecli skill install, element refs, command chaining and remote devices (#397)
  • Fix: resolve lint findings (noctx, staticcheck, funlen, unused, unconvert) (#395, #396)

1.0.8 (2026-09-06)

  • Feat: Device Kit agent for Android is now embedded in mobilecli, no APK install required (#387)
  • Feat: Element refs in dump ui and tap by @ref (#378)
  • Feat: Clip option for screenshots to crop to a region without sips or imagemagick (#379)
  • Feat: Dump Flutter UI via the Dart VM service on Android and iOS simulator (#365)
  • Feat: Dump Flutter UI via the Dart VM service on real iOS devices (#389)
  • Feat: Flutter dump ui now reports semantics (label, value, identifier, checked/selected/focused/enabled) and element types (TextField, Button, Checkbox, Radio, Switch, Slider, Link, Header) (#389)
  • Feat: Run device commands through a background daemon over a unix socket for major performance boost and keeping tunnels alive (#384)
  • Feat: --format text for dump ui command (#382)

1.0.7 (2026-09-01)

  • Feat: Split npm package into per-platform optional dependencies, npx mobilecli now downloads only the binary for the current platform (#134)
  • Fix: Don't fail device listing when one iOS device is untrusted (#373)

1.0.6 (2026-08-31)

  • Feat: GPS location override (#366)
  • Feat: Device logs command and device.logs streaming session over the http api (#195)
  • Feat: Scale and max-size options for screenshots (#368)
  • Feat(ios): Surface enabled, selected and focused attributes in ui dump (#369, devicekit-ios#69)
  • Feat(android): Use on-device agent to grab screenshots for better performance (#368)
  • Refactor: Screen capture sessionUrl moved from /stream?s=<id> to /sessions/<id>/stream

1.0.5 (2026-08-26)

  • Feat: Clipboard get and set commands (#345), thanks to @hakanor
  • Feat: Add apps clear command (#202)
  • Fix(ios): Use simctl pbcopy/pbpaste for simulator clipboard (#359)
  • Fix(ios): Use pointer receivers on IOSDevice to stop copying its mutex (#357)
  • Fix: Correct format verb in tap log and rename sessionId to allocationId in openrpc schema (#362)

1.0.4 (2026-08-24)

  • Fix(ios): Start recording time limit and progress ticker when capture is live, not during setup (#353)
  • Fix(ios): Search nested element tree when waiting for broadcast picker buttons (#352)
  • Fix(android): Pass --scale with 4-decimal precision (#343)
  • Fix(android): Align scaled capture dimensions to encoder alignment (#354, devicekit-android#42)

1.0.3 (2026-08-24)

  • Fix(ios): Re-tap record button while waiting for broadcast picker (#350)

1.0.2 (2026-08-23)

  • Feat: Optional duration for swipe gestures (#344), thanks to @hakanor
  • Feat(apps): Report version and versionCode for installed apps on all platforms (#347)
  • Fix(ios): Include elements with accessibilityIdentifier in dump ui regardless of type (#342)
  • Fix: Don't ack device.screenrecord until the broadcast is confirmed live (#339)

1.0.1 (2026-08-10)

  • Feat(screencapture): Default FPS to 30 instead of leaving it unset (#335)
  • Feat: Dump UI via persistent devicekit server on android (#334)
  • Fix: Remote allocate/release fixes (#332)
  • Fix: Make remote allocate --name accept a single value (#331)
  • Chore: Bump devicekit-android agent to 1.2.5 (#337)

1.0.0 (2026-08-01)

  • Fix(ios): Find the right iOS resigner matching provisioning profile (#325)
  • Feat(android): Report selected state in Android UI dump (#320), thanks to @sjy
  • Fix(android): Add timeout on getprop in case adbd needs a kill-server (#322)
  • Fix(ios): Correct iOS UI dump positions for elements in nested windows (#321, devicekit-ios#55)
  • Fix(ios): Restore Xcode 26.5 testing support and fix simulator agent version checks and upgrades (#324, devicekit-ios#57)

0.3.89 (2026-07-30)

  • Feat: Add windows arm64 build (#314, closes #305)
  • Feat(android): Report enabled and checked state in android ui dump (#317, see mobilewright#252)
  • Docs: How to run e2e tests (#316)

0.3.88 (2026-07-29)

  • Fix: Remote mobilenext.ai device allocation response change (#309)
  • Fix: Thread locales through device.apps.launch JSON-RPC handler (#303)
  • Fix: Extend write deadline for app install/uninstall RPCs (#304)

0.3.87 (2026-07-15)

  • Feat: Add mobilecli skill (#256), thanks to @lazynoda
  • Fix: Include multiline TextView in iOS accessibility dump (#294), thanks to @Ernest94
  • Fix: Upgrade golang.org/x/crypto and golang.org/x/net to address security alerts (#301)

0.3.86 (2026-07-13)

  • Feat: Live bitrate + keyframe control via device socket (Android only) (#295)

0.3.85 (2026-06-17)

  • Feat: Device.settings.apply with animations toggle (#287)

0.3.84 (2026-06-15)

  • Fix: Include clickable and checkable elements in android view tree dump (#284)

0.3.83 (2026-06-15)

  • Fix: Scale press-keys RPC timeout by key count (#281)
  • Fix: Match agent bundle id by suffix to support re-signed runner (#280)
  • Chore: Update devicekit-ios agent to 0.0.20 (#282)

0.3.82 (2026-06-14)

  • Feat: Update agent automatically on install command when the installed version differs (#278)
  • Feat: Add agent uninstall command (#277)
  • Feat: Add placeholder field to android's dump ui (#276)
  • Feat: Android now returns the version and versionCode of apps in list apps (requires devicekit-android installed)
  • Feat: Return installed app metadata from apps install (#274)

0.3.81 (2026-06-12)

  • Fix: Wait a bit for android foreground app, it might be null if there's a transition animation (#271)
  • Fix: Nest elements in 'dump ui' command, it was flat (#267)
  • Feat: Add --bitrate to screencapture command (#269)
  • Feat: Add --activity for apps launch on android (#272)

0.3.80 (2026-06-11)

  • Feat: Support --insecure-storage if keychain/gnome-keyring doesn't exist (#266)
  • Fix: Add missing webview element (#265)
  • Feat: Add "io keys" command for pressing keys with modifiers (#264)
  • Feat: Add --provider to mobilecli auth login (#263)

0.3.79 (2026-06-09)

  • Fix: Await promises in WebView JS eval via token-based poll loop (#261)
  • Fix: Use callAsyncJavaScript instead of evaluateJavaScript for webview evals (#258)
  • Fix: Webview race condition getting port if app not yet in foreground (#260)
  • Fix: Increase websocket message size to 8MB (#257)

0.3.78 (2026-06-04)

  • Android: Wrongly wrap IIFE expressions around webview evals (#254)

0.3.77 (2026-06-03)

  • Feat: Add device.webview.url and device.webview.title JSON-RPC methods (#251)
  • Fix: Finalize android screenrecord mp4 on ctrl-c by signaling on-device process (#249)

0.3.76 (2026-06-02)

  • Feat: Webview support for real iOS devices (#246)
  • Feat: Webview support for iOS simulators and Android real devices and emulators (#244)
  • Fix: Recover from panics in websocket handlers to prevent server crash (#240)

0.3.75 (2026-05-26)

  • General: File system support for ls, mkdir, rm, push, pull and get app path (#228)
  • General: Fix websocket timeouts after around 50-60 seconds (#239)

0.3.74 (2026-05-17)

  • Android: Use devicekit instrumentation for android view tree dump (#233)

0.3.73 (2026-05-12)

  • Android: Include elements with resource-id in UI element tree dump even when text and content-desc are empty

0.3.72 (2026-05-11)

  • Android: Fix launching apps installed with -t (test) flag (#225)

0.3.71 (2026-05-05)

  • Android: Fix launching apps on emulators with hw.keyboard = no by passing --pct-syskeys 0 to monkey

0.3.70 (2026-05-04)

  • iOS: Fix terminating simulator runner and register shutdown hook on agent start (#217)
  • iOS: Update devicekit-ios agent to 0.0.18 (#220)
  • iOS: Include placeholder field in dump UI view tree response

0.3.69 (2026-05-01)

  • iOS: update go-ios library to v1.0.211 which fixes iOS 26 on OSX Tahoe (#212)

0.3.68 (2026-05-01)

  • General: Add mobilecli remote commands for allocating, listing, and releasing remote devices, deprecate mobilecli fleet
  • General: Move crashes commands under device crashes, deprecate root crashes (#209)

0.3.67 (2026-04-27)

  • General: Validate artifact host for upload and download to address codeql ssrf alerts (#207)
  • iOS: Fix race condition when assigning device kit agent a random port for iOS Simulator (#204)
  • iOS: Remove redundant HOME button press after launching device kit agent (#203)

0.3.66 (2026-04-16)

  • General: Add mobilecli agent install command for automatically installing devicekit-ios and devicekit-android (#196)
  • iOS: Disable HTTP keep-alives to fix real device port forwarding (#197)
  • iOS: Replace WebDriverAgent with devicekit-ios agent (#196)

0.2.0 (2026-04-13)

  • General: Move npm package from @mobilenext/mobilecli to mobilecli (#191)
  • General: Update npm packages under 'test' directory (#192)

0.1.64 (2026-04-02)

  • General: Add --wait and --timeout flags to fleet allocate for polling until device is ready (#189)

0.1.63 (2026-04-02)

  • General: Handle provider field as object in remote devices response (#188)

0.1.62 (2026-03-27)

  • General: List and fetch crash reports via CLI and JSON-RPC (#187)
  • iOS: Fetch crash reports from real devices via Apple crashreport service (#187)
  • iOS: Read .ips crash reports from simulator DiagnosticReports directory (#187)
  • Android: Parse native and Java crash reports from adb logcat crash buffer (#187)

0.1.61 (2026-03-20)

  • General: Fixed oauth login with device code flow (#185)
  • iOS: Use openssl instead of security cms for resigning (#182)
  • iOS: Support locale when launching apps (#181)
  • Android: Support locale when launching apps (#181)

0.1.60 (2026-03-03)

  • General: Provide information like time-elapsed, and download performance for screen recording (#180)
  • iOS: Support mp4 screen recording across iOS real devices and iOS Simulators (#179)
  • Android: Support mp4 screen recording across Android real devices and Emulators (#179)

0.1.59 (2026-02-25)

0.1.58 (2026-02-14)

  • iOS: Click HOME button three times after Broadcast Extension starts running (#27afdbe)

0.1.57 (2026-02-14)

  • General: Support for daemonizing (running in background) using -d or --daemon (#169)

0.1.56 (2026-02-07)

  • General: Added .model to "devices" and "device info" commands (#166)
  • General: Refactored jsonrpc methods into namespaces ("device", and "devices") (#167)
  • General: Added device.apps.foreground method to get the currently active application (#167)

BREAKING CHANGES:

  • General: All JSON-RPC method names now use device.* prefix for better organization. Migration table:
    • devices → devices.list
    • screenshot → device.screenshot
    • screencapture → device.screencapture
    • io_tap → device.io.tap
    • io_longpress → device.io.longpress
    • io_text → device.io.text
    • io_button → device.io.button
    • io_swipe → device.io.swipe
    • io_gesture → device.io.gesture
    • io_orientation_get → device.io.orientation.get
    • io_orientation_set → device.io.orientation.set
    • device_info → device.info
    • device_boot → device.boot
    • device_shutdown → device.shutdown
    • device_reboot → device.reboot
    • dump_ui → device.dump.ui
    • apps_launch → device.apps.launch
    • apps_terminate → device.apps.terminate
    • apps_list → device.apps.list
    • apps_foreground → device.apps.foreground
    • url → device.url

0.0.55 (2026-02-02)

  • iOS: Support getting foreground app and its version (#165)
  • Android: Support getting foreground app and its version (#165)

0.0.54 (2026-02-01)

  • General: Screencapture over /rpc and /ws now returns a redirect url such as /session?s= (#161)
  • iOS: Many devicekit-ios start optimizations (#162)
  • iOS: Fix potential race condition when checking availability of wda (#163)
  • iOS: Cache ios devicename and version for faster 'devices' command (#160)

0.0.53 (2026-01-28)

  • iOS: Fixed a bug where tcp forwarders were created on every request for mjpeg (#158)
  • iOS: Lazily creating mjpeg tcp forwarder only when needed (#158)
  • iOS: Multiple real devices would overwrite each other's wda tcp forwarder (#158)
  • iOS: Keep running WebdriverAgent xcuitest as long as "mobilecli server" is running (#158)
  • iOS: Graceful shutdown and improved tunnel closing (#158)
  • iOS: Calling "device info" on iOS Simulator would fail after first time (#158)

0.0.52 (2026-01-27)

  • General: Websocket support for jsonrpc at /ws, single connection multiple requests (#154)
  • iOS: Detect devicekit-ios process already running to Start Broadcasting a 2nd time (#156)
  • iOS: Return more elements in "dump ui", eg Button with no label (#155)

0.0.51 (2026-01-25)

  • General: Plenty of code cleanups and refactoring for smaller and more maintained code (#144)
  • General: Merged the port ranges used for wda and wda's mjpeg (#147)
  • General: Graceful server shutdown on sigint/sigterm (#151)
  • iOS: Support AVC screencapture on real iOS devices via devicekit-ios (#145)
  • iOS: Include TextField/SearchField/Switch/Button elements in dump UI results (#155)

0.0.50 (2026-01-13)

  • General: Add apps_launch and dump_ui methods to jsonrpc (5163c8a)
  • General: Add apps_list and apps_terminate methods to jsonrpc (#142)
  • iOS: Fix missing tunnel when listing apps (#140)
  • iOS: Fixed potential double-tunnel creation and error (#140)

0.0.49 (2026-01-01)

  • General: Add configurable --duration flag to longpress command (#139)

0.0.48 (2025-12-17)

  • Android: Added "no-qt-window", "netspeed" and "netdelay" to android emulator start; fixes inconsistent frame-rate (#137)

0.0.47 (2025-12-10)

  • General: Don't look for iOS simulators on windows or linux (#133)
  • General: Missing 'state' in device info (#135)
  • Android: Removed "no-window" again from emulator start, headless is horribly slow (#136)

0.0.46 (2025-12-08)

  • General: Allow negative coordinates when swiping (#130)
  • iOS: Increase timeout to 60 seconds for dump ui (#131)

0.0.45 (2025-12-07)

  • General: Removed command specific flags from root help (#129)
  • Android: Support avc format (h264 codec) for screencapture (1f35139)

0.0.44 (2025-12-01)

  • General: Bump webdriveragent to 10.2.5 (#125)
  • iOS: Support non-ascii characters in io text (#128)
  • iOS: Send home button after wda start in simulator (#127)

0.0.43 (2025-11-30)

  • General: Now installating dependencies with --ignore-scripts (#122)
  • General: Support raw view tree ui dumps with --format flag (#121)
  • iOS: Kill wda if StartAgent times out launching on simulator (#124)
  • iOS: Support installing wda from local directory via environment variable (#123)
  • Android: Run new avd without a window, enable snapshot-loading (#99)

0.0.42 (2025-11-27)

  • iOS: Fix mjpeg framerate wda race condition (#119)
  • iOS: Fix multiple real devices would override each other's pointers (#120)

0.0.41 (2025-11-26)

  • General: Cache preflight cors check for a day (#114)
  • General: Fix wrong error message when simulator/emulator device is offline (#107)
  • iOS: Optimize "simctl list" performance by eliminating it (#115)
  • iOS: Add wda session caching for faster input operations (#111)
  • iOS: Support scale parameter for mjpeg (#110)
  • iOS: Add progress notifications on wda installation (#109)
  • Android: Improve "device list" performance by removing dependency on avdmanager (#116)
  • Android: Fix screenshot from multi-display Android (like Pro Fold 9) (#113)
  • Android: Make sure ANDROID_HOME path is valid (#108)
  • Android: Faster emulator boot (removed -no-snapshot-load) and without window (#117)

0.0.40 (2025-11-20)

  • iOS: Start tunnel before apps launch and terminate on iOS 17+ (#106)

0.0.39 (2025-11-20)

  • General: Bump glob from 10.4.5 to 10.5.0 in /test (#105)
  • General: Bump golang.org/x/crypto from 0.41.0 to 0.45.0 (#104)
  • General: Bump js-yaml from 4.1.0 to 4.1.1 in /test (042098c)
  • General: Upgrade golang to 1.25.0 (#102)
  • General: Update go-quic to 0.49.1 (5510c06)

0.0.38 (2025-11-17)

  • Android: Fix broken adb access to emulator-%d (#100)

0.0.37 (2025-11-15)

  • General: New and more detailed --help (#96)
  • General: Make device_reboot available through jsonrpc (#97)
  • Android: Translate Android API levels to Android release versions in device list (#98)

0.0.36 (2025-11-14)

  • General: Progammatically boot and shutdown emulators and simulators (#95)
  • General: Offline devices need to be booted manually prior to use (#95)

0.0.35 (2025-11-13)

  • General: Support "type", "platform" and "includeOffline" in jsonrpc for 'devices' command (#94)
  • General: Changed "devices --all" to "devices --include-offline" for consistency and clarity (#94)

0.0.34 (2025-11-13)

  • General: Support --type and --platform in list devices command (#81)
  • iOS: List simulators that have been initialized once (they boot fast) in "devices --all" (#81)
  • iOS: Add an icon and a display name for installed webdriveragent (#93)
  • Android: List offline emulators in "devices --all" (#81)

0.0.33 (2025-11-01)

  • General: Fix launching mobilecli using npx on macos after split to arm64/amd64 (#91)

0.0.32 (2025-11-01)

  • General: Use USERPROFILE and LOCALAPPDATA on Windows to locate adb.exe without relying on PATH (#88)

0.0.31 (2025-10-23)

  • Android: CRLF was getting in the way of mjpeg on Windows (#86)

0.0.30 (2025-10-23)

  • General: Do not attempt fetching iOS simulators if not running on macos (#85)
  • iOS: Skip tunnel creation if running on iOS 16.x and below (#84)
  • Android: CRLF was getting in the way of screenshots on Windows (#85)

0.0.29 (2025-10-21)

  • General: Split mac binaries into arm64 and amd64 for smaller packages (06d7e89)

0.0.28 (2025-10-07)

  • General: Statically linked binaries for linux (#79)

0.0.27 (2025-10-05)

  • General: Fix potential zip-split security issue when unpacking wda (#76)
  • iOS: Set MJPEG server to stream at 30 fps instead of default 10 (#78)
  • iOS: Fix buggy 'device info' on an iOS device when wda wasn't running prior (#77)

0.0.26 (2025-10-02)

  • iOS: Added swipe command, use "mobilecli io swipe" (#72)
  • Simulator: Fixed 'mobilecli device info', it requires wda prior (#73)
  • Android: Added swipe command, use "mobilecli io swipe" (#72)

0.0.25 (2025-09-26)

  • General: fixed '--version' on windows and linux distributables (#69)
  • General: renamed 'dump source' to 'dump ui' (#68)
  • General: upgraded golang to 1.24.7 (#66)
  • iOS: support orientation get and set to 'landscape' and 'portrait' (#67)
  • iOS: removed a printf in 'dump ui' that was tainting the json output (#68)
  • Android: support orientation get and set to 'landscape' and 'portrait' (#67)

0.0.24 (2025-09-23)

  • iOS: support longpress (#54)
  • iOS: dump ui hierarchy using wda's /source (#53)
  • iOS: launch wda on different ports, to enable multiple simulators and real devices on the same host (#52)
  • Android: support longpress (#54)
  • Android: dump ui hierarchy using uiautomator (#53)

0.0.23 (2025-09-18)

  • General: all logs moved to --verbose (#48)
  • iOS: fixed "ENTER" io button command (#50)
  • iOS: added version to device list response, for both real devices and simulators (#51)
  • Android: added OS version to device list response (eg "16") (#51)

0.0.22 (2025-09-10)

  • iOS: launch wda on real devices if needed (#45)
  • iOS: automatically detect wda installed device, regardless on bundle identifier (#45)

0.0.21 (2025-09-08)

  • Android: return the avd name if emulator supports (eg 'Pixel 5' instead of 'sdk_gphone64_arm64') (#42)
  • Android: support for POWER and APP_SWITCH buttons (#44)

0.0.20 (2025-09-04)

  • iOS: fixed potential race-condition in waiting for wda installation on simulator (#41)
  • Android: try $HOME/Library/Android if $ANDROID_HOME is not configured (#40)
  • Android: support --scale and --quality for screencapture mjpeg streaming (#39)

0.0.19 (2025-09-03)

  • General: run tests on iOS 16, 17 and 18 simulators upon pull-request (#35)
  • General: upgraded go-quic libraries for security (5d35293)
  • iOS: embedded go-ios as a library, go-ios is no longer required to be installed before (#34)

0.0.18 (2025-08-26)

  • iOS: proper handling and forwarding of port 9100 (#33)
  • Simulator: use localhost:9100 properly for mjpeg streaming (#33)

0.0.17 (2025-08-25)

  • iOS: fix locating go-ios executable when creating tunnel (#32)

0.0.16 (2025-08-25)

  • General: fix zipslip security warning (c21e7f0)
  • General: version command showed 'dev' after refactor of cli package (0bb104f)
  • iOS: check for go-ios path through GO_IOS_PATH env (1465914)

0.0.15 (2025-08-25)

  • General: refactored all commands into "cli" package (8115a787)
  • General: reimplemented all tests into golang, added coverage tests (4390b11)
  • General: better error responses for jsonrpc protocol (b7ca4a8)
  • iOS: automatically start webdriver agent if installed on device (02025dd)
  • iOS: automatically start port forwarding for port 8100 using a dynamic source port (02025dd)
  • iOS: automatically start userland tunnel for iOS 17 (02025dd)
  • iOS: fixed bad parsing of go-ios output if warning was printed (2150f27)
  • iOS: use "ios" and fallback to "go-ios" (2150f27)
  • iOS: support multiple custom gestures to be passed to device (b7ca418)
  • Simulator: automatically donwload webdriveragent for simulator (0dbe361)
  • Simulator: automatically install webdriveragent on simulator if needed (0dbe361)