simutil 1.1.0
simutil: ^1.1.0 copied to clipboard
TUI and CLI for launching Android emulators and iOS simulators, with ADB tools, Logcat viewer, and YAML plugins.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased] #
1.1.0 - 2026-10-14 #
Added #
- Android emulators and devices show their Android version (e.g. Android 15), like iOS simulators do.
simutil launch --headlessstarts an emulator or simulator without its window.
Changed #
- ADB tools: pairing with a QR code now works, and pairing with a code connects the device right away.
- The device list updates as soon as a device boots, shuts down, is plugged in or unplugged, instead of refreshing every 10 seconds.
1.0.0 - 2026-10-03 #
Added #
- Command-line mode:
simutil list,launch,shutdown,plugin list/plugin run, andsimutil android …/simutil ios …. Seesimutil --help. simutil schemaprints all commands as JSON for scripts and AI agents (--humanfor readable text).- Update notice: when a new version is out, simutil shows it in the top-right corner and in
simutil version, with a hint to runsimutil upgrade. Turn off withSIMUTIL_NO_UPDATE_CHECK=1. simutil upgradeinstalls the latest version the same way you installed simutil (Homebrew, pub.dev, or the install script).
Changed #
- Device lists load in the background, so the TUI stays responsive.
- For developers: simutil's code is now split into packages (
simutil_core,simutil_adb,simutil_apple,simutil_plugins,simutil_shared). Replacepackage:simutil/services/...imports with them.
Fixed #
- Wireless pairing: after 15 seconds with no results, a hint suggests pressing
mto pair manually (your Wi-Fi may block discovery). - Mistakes in plugin config are now reported instead of silently ignored.
- Windows: settings are saved in your user folder, not the current folder.
simutil plugin runwaits for interactive plugin commands and returns their exit code.- First launch no longer risks losing your theme or plugin settings.
- The "What's New" dialog scrolls on the first arrow press.
0.9.0 - 2026-09-25 #
Fixed #
- Open DeviceHub.app instead of Simulator.app when launching an iOS simulator on Xcode 27+. Older Xcode versions still open Simulator.app.
- Keep booted iOS simulators out of the physical device list.
devicectl list devicesincludes them on Xcode 27, filtered withReality = 'physical'.
0.8.1 - 2026-07-21 #
Fixed #
- Stop resolving Xcode Derived Data under
/when$HOMEis missing; require an explicit home directory and fail clearly instead.
0.8.0 - 2026-07-21 #
0.7.0 - 2026-07-11 #
0.6.2 - 2026-07-08 #
Added #
- Add Linux x64 support to the generated Homebrew formula.
- Add a release install smoke test that verifies packaged binaries before drafting a GitHub Release.
0.6.1 - 2026-07-07 #
Fixed #
- Fix Android ADB discovery on Linux by checking
$HOME/Android/Sdkand falling back toadbonPATHwhen no SDK-managed binary is present. - Stop treating all Android physical devices as fully booted when
adb devices -lreports intermediate states such asunauthorizedoroffline. - Restore SSH terminal and TTY state on Linux after quitting remote sessions.
0.6.0 - 2026-06-26 #
Added #
- Add custom plugin support via the
plugins:section of~/.simutil/settings.yaml: register external shell-command tools (each with one or more commands) and run them from the app withp(plugin → command → execute) or a direct command shortcut, without changing code. - Add
ekey to open~/.simutil/settings.yamlin the OS default editor (macOS, Linux, Windows).
Changed #
- Route plugin availability probes through
CommandExecinstead of callingProcess.rundirectly. - Merge plugin configuration into
~/.simutil/settings.yaml(settings scalars +plugins:section in one file). - Migrate the built-in scrcpy integration to the YAML plugin registry (a default config with scrcpy is generated on first launch).
Fixed #
- Prevent device refresh from hanging forever when a simulator or device lookup stalls.
- Fix
Device.fromJsonreading theosfield from the wrong key, which made deserialization always throw.
0.5.0 - 2026-05-02 #
Changed #
-
Add Windows PowerShell installer command (
install.ps1) to README installation section. -
Refactor Wi-Fi pairing flow to match Android Studio: discover pairing-code endpoints first, require code entry after selecting a discovered device, then resolve and connect to the post-pair ADB connect endpoint.
Fixed #
- Fix text color in dialogs and panels to avoid wrong overlay effect.
0.3.2 - 2026-03-28 #
Fixed #
- Fixed iOS devices discovery when device is not connected.
- Fixed dialogs and panels color