0.84.0
takahirom/arbigent0.84.0Sep 16, 2026by takahirom
Upgrading?
AI Summary
This release introduces a cross-platform `--device-id` option to select specific devices for runs across Android, iOS simulators, and physical iPhones. It replaces the iOS-only `--ios-real-device-id` and improves device discovery by using `adb devices` for Android while masking sensitive physical iPhone UDIDs.
Key Highlights
- New `--device-id` flag for selecting devices across Android, iOS simulators, and physical iPhones.
- Removal of iOS-specific `--ios-real-device-id` flag and related settings/environment variables.
- Precedence order: flag > environment variable > settings file.
- Strict device matching with detailed logging of the selected device and its source.
- Security update: Physical iPhone UDIDs are now masked in logs and help output.
Breaking Changes
- Removed `--ios-real-device-id` flag.
- Removed `ios-real-device-id` settings key.
- Removed `ARBIGENT_IOS_REAL_DEVICE_ID` environment variable.
- Behavior change: No longer falls back to another device if the requested one is missing; now throws an error.
New Features
- Cross-platform device selection via `--device-id`.
- Environment variable support (`ARBIGENT_DEVICE_ID`).
- Settings file support (`device-id`).
- Enhanced Android discovery using `adb devices`.
- Sensitive data masking for physical iPhone UDIDs.
Full Release Notes
This release adds `--device-id`, one option that picks the device a run uses on Android, iOS simulators and physical iPhones alike, and replaces the iOS-only `--ios-real-device-id`. ## `--device-id` Selects the Device on Every OS (#447) Until now a run took whatever single device it found, and there was no way to name one: ```bash arbigent run --device-id=emulator-5554 # adb serial arbigent run --os=ios --device-id=00008110-XXXXXXXXXXXXXXXX # simulator or iPhone UDID ``` It can also come from `ARBIGENT_DEVICE_ID` or the `device-id` settings key, with the usual precedence: flag > environment variable > settings file. Every run logs which device it picked and where the id came from. The value is matched exactly and Arbigent never falls back to another device when the requested one is missing — running against a different device than the one you named is the failure this option exists to prevent. When several devices are connected and none was requested, that is an error listing the candidates rather than a guess, since discovery order is not stable. A device that adb reports as `unauthorized` or `offline` is listed as attached but is never selected and never counts as an ambiguity, so an unaccepted USB-debugging prompt no longer hides a working emulator. Android discovery now goes through `adb devices` instead of enumerating every device, which also stops one unauthorized phone from taking down a run aimed at another. **Breaking change.** `--ios-real-device-id`, the `ios-real-device-id` settings key and `ARBIGENT_IOS_REAL_DEVICE_ID` are removed. Move the UDID to `--device-id` / `device-id` / `ARBIGENT_DEVICE_ID`; a leftover value is reported as a migration error rather than silently ignored. A physical iPhone's hardware UDID is treated as sensitive: it is masked in `--help` output and never printed in full by Arbigent's own logs and errors. adb serials and simulator UDIDs are printed in full so they can be pasted straight into `--device-id`. ## What's Changed * Add --device-id to select the device a run uses on every OS by @takahirom in https://github.com/takahirom/arbigent/pull/447 **Full Changelog**: https://github.com/takahirom/arbigent/compare/0.83.0...0.84.0
Related Repositories
BreezeAPP 是一款為 Android 和 iOS 平台開發的純手機 AI 應用程式。從 App Store下載,即可在不連網的狀態下享受多項 AI 功能。源碼由聯發創新基地(MediaTek Research)提供。我們旨在推廣兩個概念: 人人都可以在自己的手機上自由選擇並運行不同的LLM - one is free to choose one's own LLM to run on a phone,以及任何app開發者都可以輕鬆寫作創意的純手機AI應用 - any dev can create purely phone-based AI apps easily。
A collective list of free APIs
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Reverse engineer anything with agents, from app behavior down to native binaries.