Release history
droidrun releases
Automate your mobile devices with natural language commands - an LLM agnostic mobile Agent
All releases
42 shown
Bug fix release. - restore Android full portal state fetching - bump version to 0.5.7
- iOS portal is expected to honor the caller-provided /state timeout budget
- Android state fetching behavior is unchanged
- Removed automatic client-side retry logic for iOS state fetching; Droidrun now makes a single 4-second request attempt
- iOS state requests now use single 4-second timeout via GET /state?timeout=4 parameter
Full changelog
v0.5.6 tightens iOS state fetching by switching Droidrun to a single 4-second /state request with no client-side retry.
Highlights
- Droidrun now requests iOS state with
GET /state?timeout=4 - iOS state fetches use a single 4-second budget instead of retrying
- Reduced long-tail delays when the iOS UI is loading or transitioning
- Updated iOS driver documentation to reflect the new timeout behavior
Behavior Changes
- iOS state retrieval is now one attempt only; Droidrun no longer retries on the client side
- The iOS portal is expected to honor the caller-provided
/statetimeout budget - Android state fetching behavior is unchanged
- iOS portal state: use `/state` endpoint instead of removed `/state_full`
- iOS `open_app` now requires exact bundle identifiers
- iOS `/state_full` endpoint removed
- Improved iOS accessibility tree parsing and screen-state normalization
- iOS text input now supports `clear=True` parameter
- Localhost auto-discovery for iOS portal connections
Full changelog
v0.5.5 improves iOS support across the stack, including better portal discovery, more reliable UI state parsing, and cleaner platform-aware agent behavior.
Highlights
- Improved iOS portal connection flow with localhost auto-discovery
- Switched iOS to the unified
/stateendpoint - Better iOS accessibility tree parsing and screen-state normalization
- iOS text input now supports
clear=True - Platform-aware prompts and tool registration for Android and iOS
- Cleaner phone state display when app/package information is missing
Behavior Changes
- On iOS,
open_appnow opens apps by exact bundle identifier - CLI iOS commands can auto-discover the portal when
--deviceis omitted - Portal state retrieval now uses
/stateinstead of/state_full
Documentation
- Updated iOS setup instructions to reflect the real Xcode UI test workflow
- Refreshed iOS driver documentation and supported feature list
Internal Improvements
- Consolidated standard tool registration into a single registry builder
- Improved state retry logging and telemetry accuracy
- Propagated platform information through shared agent state and prompts
## What's Changed * feat: add user config system with migrations
## What's Changed * Pin langfuse to version 3.9.0 from uv.lock
- Code checker utility for safe code execution
- Terminal UI improvements
Full changelog
What's Changed
- Check the device before setting up the keyboard in adb.py by @FarhadMohseni in https://github.com/droidrun/droidrun/pull/244
- fix: add missing 'clear' parameter for type action by @evelyn252 in https://github.com/droidrun/droidrun/pull/239
- Terminal UI by @HemantKumar01 in https://github.com/droidrun/droidrun/pull/245
- feat: add code checker utility for safe code execution by @johnmalek312 in https://github.com/droidrun/droidrun/pull/249
New Contributors
- @FarhadMohseni made their first contribution in https://github.com/droidrun/droidrun/pull/244
- @evelyn252 made their first contribution in https://github.com/droidrun/droidrun/pull/239
Full Changelog: https://github.com/droidrun/droidrun/compare/v0.4.18...v0.4.19
- MobileRunTools: implements press_key and global_action
Full changelog
What's Changed
- DRO-722: implement press_key + global_action for MobileRunTools by @Timo972 in https://github.com/droidrun/droidrun/pull/240
- feat: make portal client backward compatible with both result and dat… by @RasulOs in https://github.com/droidrun/droidrun/pull/243
Full Changelog: https://github.com/droidrun/droidrun/compare/v0.4.17...v0.4.18
- Stealth ADB swipes with velocity profiling and micro-jitter
- MobileRunTools implementation
- Improved input_text failure detection and reporting in StealthAdbTools
Full changelog
What's Changed
- feat: enhance stealth ADB swipes with velocity profiling and micro-jitter by @johnmalek312 in https://github.com/droidrun/droidrun/pull/234
- fix: properly detect and report input_text failures in StealthAdbTools by @johnmalek312 in https://github.com/droidrun/droidrun/pull/237
- DRO-722: implement mobileruntools by @Timo972 in https://github.com/droidrun/droidrun/pull/238
Full Changelog: https://github.com/droidrun/droidrun/compare/v0.4.16...v0.4.17
- Langfuse screenshot uploads and vision flag support
Full changelog
What's Changed
- feat: add langfuse screenshot uploads and vision flag by @RasulOs in https://github.com/droidrun/droidrun/pull/217
- fix(cli): ensure package config exists for programmatic usage by @RasulOs in https://github.com/droidrun/droidrun/pull/221
- Partial llms field. by @bibhuti-ssh in https://github.com/droidrun/droidrun/pull/222
- chore: bump version to 0.4.14 by @RasulOs in https://github.com/droidrun/droidrun/pull/230
Full Changelog: https://github.com/droidrun/droidrun/compare/v0.4.13...v0.4.14
Fixed credential manager, moved a11y filtering logic to the python sdk
## What's Changed * Feature/docker * migration docs , multi lingual and minor fix
- Option to save GIF trajectories
- usage.py now counts thinking and tools tokens
Full changelog
What's Changed
- async and bug fixes by @johnmalek312 in https://github.com/droidrun/droidrun/pull/209
- Update usage.py to include counting thinking and tools tokens by @Mariozada in https://github.com/droidrun/droidrun/pull/208
- Added an option to save GIF trajectories by @Mariozada in https://github.com/droidrun/droidrun/pull/211
- llm parameter resulting in the following exception by @debugactiveprocess in https://github.com/droidrun/droidrun/pull/210
New Contributors
- @debugactiveprocess made their first contribution in https://github.com/droidrun/droidrun/pull/210
Full Changelog: https://github.com/droidrun/droidrun/compare/v0.4.3...v0.4.4
- Cloud link in CLI
Full changelog
What's Changed
- [DRO-471] cloud link in CLI by @HemantKumar01 in https://github.com/droidrun/droidrun/pull/207
- [Fix:] Multiple Success/Failure CLI logging. by @bibhuti-ssh in https://github.com/droidrun/droidrun/pull/201
- [Fix:] droidrun setup apkutils version mismatch
Full Changelog: https://github.com/droidrun/droidrun/compare/v0.4.2...v0.4.3
## What's Changed * Ip Adress Fix * fix: bump adbutils and apkutils
- Structured Output Support with Pydantic model results
- Credential Manager for seamless app authentication
- Custom Tools for extending agent capabilities
Full changelog
What's Changed
Droidrun v4 introduces a multi-agent system:
DroidAgent - Main coordinator orchestrating execution flow
ManagerAgent - High-level planning and strategic decision making
ExecutorAgent - Action execution specialist for device interactions
CodeActAgent - Direct execution agent that generates and runs Python code
ScripterAgent - Off-device computation handler for data processing
Introduced features
- Structured Output Support for getting the result in a Pydantic model
- AppCards for App-Specific Guidance so the agent has more context for apps
- Credential Manager for seamless login into apps
- Custom Tools so you can write and add your own tools to the agent
- jinja2Template Engine support for system Prompts
Big thanks to all contributors for making droidrun more reliable and flexible for developers!❤️
- llama-index-llms-anthropic must be pinned to version < 0.9.0 when using llama-index-core 0.13.6
- Context state storing and subworkflows updated for compatibility with new llama-index versions
- Memory window limit to manage context window usage
Full changelog
Dep lock and llama index update fix
What's Changed
- Fix for issue #172: retry handling for Anthropic by @ruthgrace in https://github.com/droidrun/droidrun/pull/173
- llama-index-llms-anthropic must be < 0.9.0 to work with llama-index-core 0.13.6 by @ruthgrace in https://github.com/droidrun/droidrun/pull/174
- Add memory window limit by @RasulOs in https://github.com/droidrun/droidrun/pull/168
- fixed context state storing and subworkflows for new llama index version by @sleynsol in https://github.com/droidrun/droidrun/pull/176
New Contributors
- @ruthgrace made their first contribution in https://github.com/droidrun/droidrun/pull/173
- @RasulOs made their first contribution in https://github.com/droidrun/droidrun/pull/168
Full Changelog: https://github.com/droidrun/droidrun/compare/v0.3.8...v0.3.9
## What's Changed * unify ui state with the portal * Update quickstart.mdx * less deps with extras
- Token usage tracking per-request
- Accessibility tree recording
- TCP communication stability
Breaking change: result.reason renamed to result.output.
Major refactor of Android phone state retrieval requires new Portal APK v0.3.0.
- Reflection step for iterative agent improvement
- Enhanced logging and tracing
- 63% AndroidWorld Benchmark success rate