# Changelog

## [v0.0.30] - 2026-05-20
### Other
- Remove tapClickableParent from tapOn schema — redundant with auto-escalation ([#2248](https://github.com/kaeawc/auto-mobile/issues/2248))

## [v0.0.29] - 2026-05-20
### Other
- SelectAllText accessibility-service path crashes: AdbExecutor passed to AdbClientFactory consumer ([#2231](https://github.com/kaeawc/auto-mobile/issues/2231))
- InputText accessibility-service path crashes: AdbExecutor passed to AdbClientFactory consumer ([#2229](https://github.com/kaeawc/auto-mobile/issues/2229))
- ImeAction accessibility-service path crashes: AdbExecutor passed to AdbClientFactory consumer ([#2230](https://github.com/kaeawc/auto-mobile/issues/2230))
- PinchOn accessibility-service path crashes: AdbExecutor passed to AdbClientFactory consumer ([#2228](https://github.com/kaeawc/auto-mobile/issues/2228))
- Daemon WebSocket observation-stream setup crashes: AdbExecutor passed to AdbClientFactory consumer ([#2224](https://github.com/kaeawc/auto-mobile/issues/2224))
- ClearText accessibility-service path crashes: AdbExecutor passed to AdbClientFactory consumer ([#2226](https://github.com/kaeawc/auto-mobile/issues/2226))
- ExecuteGesture accessibility-service path crashes: AdbExecutor passed to AdbClientFactory consumer ([#2225](https://github.com/kaeawc/auto-mobile/issues/2225))
- Clipboard accessibility-service path crashes: AdbExecutor passed to AdbClientFactory consumer ([#2227](https://github.com/kaeawc/auto-mobile/issues/2227))
- Add runtime shape guard to *CtrlProxyClient.getInstance() factories ([#2223](https://github.com/kaeawc/auto-mobile/issues/2223))
- observe waitFor screenshot loop: Operation cancelled every ~130ms until session heartbeat timeout ([#2216](https://github.com/kaeawc/auto-mobile/issues/2216))
- Navigation screenshot path passes undefined platform causing 'Unsupported platform' error ([#2215](https://github.com/kaeawc/auto-mobile/issues/2215))
- PerformanceAudit crashes with 'J.create is not a function' in 0.0.28 build ([#2214](https://github.com/kaeawc/auto-mobile/issues/2214))

## [v0.0.28] - 2026-05-19
### Added
- feat: Android emulator telephony and SMS simulation ([#1579](https://github.com/kaeawc/auto-mobile/issues/1579)) (android)
- iOS: Implement ScreenCaptureKit simulator window capture ([#1096](https://github.com/kaeawc/auto-mobile/issues/1096)) (ios)
- iOS: Implement Swift helper for AVFoundation device capture ([#1095](https://github.com/kaeawc/auto-mobile/issues/1095)) (ios)
### Changed
- refactor: extract test helper for CommandHandlerTests boilerplate ([#1879](https://github.com/kaeawc/auto-mobile/issues/1879)) (ios, testing)

## [v0.0.27] - 2026-05-18
### Added
- IDE Plugin: Display exported YAML in Record Test UX after finishing ([#1073](https://github.com/kaeawc/auto-mobile/issues/1073)) (intellij plugin)
- epic: detect image/media loading via network and view hierarchy correlation ([#1015](https://github.com/kaeawc/auto-mobile/issues/1015)) (android, research, ai)
- feat: correlate network requests with media views for loading detection ([#1014](https://github.com/kaeawc/auto-mobile/issues/1014)) (android, ai)
- Extend focus navigation to handle scroll-then-focus for off-screen elements ([#472](https://github.com/kaeawc/auto-mobile/issues/472)) (android, a11y)
### Changed
- refactor: extract sendCommand helper to eliminate WebSocket delegate boilerplate ([#1880](https://github.com/kaeawc/auto-mobile/issues/1880))
- Chore: Test multi-device execution ([#764](https://github.com/kaeawc/auto-mobile/issues/764))
### Other
- PlanMigrator: notification.timeout → awaitTimeout ([#2120](https://github.com/kaeawc/auto-mobile/issues/2120))
- Plan execution ADB contention: skip screenshots and cancel orphaned jobs ([#2119](https://github.com/kaeawc/auto-mobile/issues/2119))
- Tap resilience: ghost tap detection and pre-tap stability ([#2118](https://github.com/kaeawc/auto-mobile/issues/2118))
- No way to configure accessibility service flags at runtime ([#2099](https://github.com/kaeawc/auto-mobile/issues/2099))
- Reduce ADB overhead during plan execution ([#2098](https://github.com/kaeawc/auto-mobile/issues/2098))
- Stability failures with remote emulators and long-running tool calls ([#2097](https://github.com/kaeawc/auto-mobile/issues/2097))
- Tapping notifications inside collapsed Android groups opens app generically instead of deep-linking ([#2096](https://github.com/kaeawc/auto-mobile/issues/2096))
- Ghost taps - touch events fail to register regardless of input method ([#2081](https://github.com/kaeawc/auto-mobile/issues/2081))
- ADB pipe congestion from event-driven hierarchy broadcasts causes off-screen bounds ([#2080](https://github.com/kaeawc/auto-mobile/issues/2080))
- No way to opt into observe step capture from CI without modifying test code ([#1973](https://github.com/kaeawc/auto-mobile/issues/1973))
- executePlan timeout too short for long UI plans - premature Operation cancelled in CI ([#1972](https://github.com/kaeawc/auto-mobile/issues/1972))
- No MCP tool for setting Android SCHEDULE_EXACT_ALARM app op ([#1967](https://github.com/kaeawc/auto-mobile/issues/1967))
- No MCP tool for toggling Android Do Not Disturb policy access ([#1966](https://github.com/kaeawc/auto-mobile/issues/1966))
- executePlan silently continues past observe waitFor timeout instead of failing the step ([#1963](https://github.com/kaeawc/auto-mobile/issues/1963))
- tapOn diagnostics lost when surfaced through executePlan - no visibility into tap mechanics ([#1961](https://github.com/kaeawc/auto-mobile/issues/1961))
- Android screenrecord produces corrupt/truncated video files on stop ([#1960](https://github.com/kaeawc/auto-mobile/issues/1960))
- Support segmented video recording to chain multiple screenrecord sessions past the 180-second Android cap ([#1959](https://github.com/kaeawc/auto-mobile/issues/1959))
- No way to capture per-step observe snapshots for CI debugging ([#1958](https://github.com/kaeawc/auto-mobile/issues/1958))
- No opt-in mechanism for pre-tap element stability verification ([#1950](https://github.com/kaeawc/auto-mobile/issues/1950))
- Navigation screenshots add constant I/O pressure to CI emulators ([#1947](https://github.com/kaeawc/auto-mobile/issues/1947))
- Queued MCP forward requests burn timeout budget while waiting in serialization queue ([#1946](https://github.com/kaeawc/auto-mobile/issues/1946))
- HTTP server requestTimeout kills long plans + id:unknown error responses cause silent hangs ([#1944](https://github.com/kaeawc/auto-mobile/issues/1944))
- executePlan MCP timeout too short - premature Operation cancelled ([#1943](https://github.com/kaeawc/auto-mobile/issues/1943))
- Streamable HTTP SSE auto-reconnect triggers 409 session teardown ([#1942](https://github.com/kaeawc/auto-mobile/issues/1942))
- Concurrent MCP socket forwards corrupt shared HTTP session ([#1939](https://github.com/kaeawc/auto-mobile/issues/1939))
- Create Homebrew formula for AutoMobile ([#978](https://github.com/kaeawc/auto-mobile/issues/978)) (release engineering, env)

## [v0.0.26] - 2026-05-06
### Other
- WebSocket timeout cascade causes daemon blindness after slow hierarchy extraction ([#2079](https://github.com/kaeawc/auto-mobile/issues/2079))

## [v0.0.25] - 2026-05-06
### Other
- Daemon mode ignores CLI flags (dismiss-keyboard, no-ui-perf, etc.) ([#2065](https://github.com/kaeawc/auto-mobile/issues/2065))

## [v0.0.24] - 2026-05-01
### Other
- observe returns iOS hierarchy despite setActiveDevice to Android emulator ([#2053](https://github.com/kaeawc/auto-mobile/issues/2053))
- ensureConnected should check if target simulator is still booted before relaunching CtrlProxy ([#2052](https://github.com/kaeawc/auto-mobile/issues/2052))

## [v0.0.23] - 2026-04-30
### Other
- No changes.

## [v0.0.22] - 2026-04-30
### Other
- No changes.

## [v0.0.21] - 2026-04-30
### Other
- No changes.

## [v0.0.20] - 2026-04-29
### Other
- No changes.

## [v0.0.19] - 2026-04-29
### Other
- Daemon leaks unix-domain socket FDs; accepted peers never closed (backpressure + keepalive gap) ([#2008](https://github.com/kaeawc/auto-mobile/issues/2008))
- CI cannot configure daemon flags without pre-starting manually - no JUnit runner integration ([#1971](https://github.com/kaeawc/auto-mobile/issues/1971))
- No way to programmatically close the notification shade - pressButton "back" is fragile ([#1969](https://github.com/kaeawc/auto-mobile/issues/1969))
- No MCP tool for granting Android runtime permissions - permission dialogs block CI tests ([#1965](https://github.com/kaeawc/auto-mobile/issues/1965))
- observe waitFor matches wrong element in lists - no way to scope by container ([#1962](https://github.com/kaeawc/auto-mobile/issues/1962))
- No screen state captured when executePlan step fails - blind debugging in CI ([#1957](https://github.com/kaeawc/auto-mobile/issues/1957))
- tapOn silently taps stale coordinates when accessibility tree changes between observe and tap ([#1948](https://github.com/kaeawc/auto-mobile/issues/1948))
- Emulator crash leaves active sessions hanging until full MCP timeout ([#1945](https://github.com/kaeawc/auto-mobile/issues/1945))
- ECONNREFUSED on daemon MCP hop due to IPv4/IPv6 mismatch on Linux CI ([#1938](https://github.com/kaeawc/auto-mobile/issues/1938))
- Add AutoMobileAPI protocol and default implementation for dependency injection ([#1937](https://github.com/kaeawc/auto-mobile/issues/1937))
- Add delegate-based network recording API as primary integration path ([#1936](https://github.com/kaeawc/auto-mobile/issues/1936))
- Add configuration options to disable crash/signal handler subsystems ([#1935](https://github.com/kaeawc/auto-mobile/issues/1935))
- Add AutoMobileSDK product to root Package.swift for SPM consumers ([#1934](https://github.com/kaeawc/auto-mobile/issues/1934))
- iOS SDK walker: surface visual properties for pure SwiftUI shapes via CALayer introspection ([#1926](https://github.com/kaeawc/auto-mobile/issues/1926))

## [v0.0.18] - 2026-04-17
### Other
- iOS: text entry fails despite focused UITextField with react native ([#1925](https://github.com/kaeawc/auto-mobile/issues/1925))

## [v0.0.17] - 2026-04-16
### Added
- startDevice: accept generic parameters and return/boot matching device ([#1887](https://github.com/kaeawc/auto-mobile/issues/1887))
- Add resource for installed app metadata (version, build number) ([#1886](https://github.com/kaeawc/auto-mobile/issues/1886))
- Support iOS app installation in installApp ([#1885](https://github.com/kaeawc/auto-mobile/issues/1885)) (ios)
- Add uninstallApp tool ([#1884](https://github.com/kaeawc/auto-mobile/issues/1884))

## [v0.0.16] - 2026-04-03
### Added
- IDE Plugin: Implement screen stream display in Layout Inspector ([#1033](https://github.com/kaeawc/auto-mobile/issues/1033)) (android, ios)
- Server: Implement screen stream receiver and relay to IDE plugins ([#1032](https://github.com/kaeawc/auto-mobile/issues/1032))
- Feature: iOS UserDefaults Inspection and Management ([#1022](https://github.com/kaeawc/auto-mobile/issues/1022)) (ios, devxp, testing)
- feat: identify media-displaying views in hierarchy by class and role ([#1013](https://github.com/kaeawc/auto-mobile/issues/1013)) (android, a11y)
- feat: Android version matrix testing in CI ([#835](https://github.com/kaeawc/auto-mobile/issues/835)) (android, ci, testing)
### Changed
- Dead Code Detection: Threshold Exceeded ([#1648](https://github.com/kaeawc/auto-mobile/issues/1648)) (automated, dead-code)
### Fixed
- tapOn fails to match text with Unicode curly apostrophe (U+2019) ([#1798](https://github.com/kaeawc/auto-mobile/issues/1798)) (ios)
- Daemon disconnect cascade causes 6GB+ log flood and crash-restart loop ([#1773](https://github.com/kaeawc/auto-mobile/issues/1773))
### Other
- iOS: Add rotate support via CtrlProxy ([#1859](https://github.com/kaeawc/auto-mobile/issues/1859))
- iOS: Add systemTray support via CtrlProxy ([#1858](https://github.com/kaeawc/auto-mobile/issues/1858))
- iOS: Add recentApps support via CtrlProxy ([#1857](https://github.com/kaeawc/auto-mobile/issues/1857))
- iOS inputText fails with dismissKeyboard enabled: isDismissKeyboardAfterInputEnabled is not a function ([#1840](https://github.com/kaeawc/auto-mobile/issues/1840))
- setActiveDevice should allow launchApp when both platforms are connected ([#1839](https://github.com/kaeawc/auto-mobile/issues/1839))
- inputText: should not require dismissKeyboard, default to false ([#1836](https://github.com/kaeawc/auto-mobile/issues/1836))
- tapOn: error message when 'action' is omitted is unclear ([#1835](https://github.com/kaeawc/auto-mobile/issues/1835))
- Auto-disable stylus handwriting on Android emulators ([#1834](https://github.com/kaeawc/auto-mobile/issues/1834))
- CtrlProxy iOS broken on Xcode 26: checksum mismatch + simctl spawn failure ([#1833](https://github.com/kaeawc/auto-mobile/issues/1833))
- startDevice returns generic DEVICE_NOT_FOUND when AVD userdata is corrupt ([#1672](https://github.com/kaeawc/auto-mobile/issues/1672))
- feat: iOS simulator live locale changes (SpringBoard restart + AppleLanguages) ([#1613](https://github.com/kaeawc/auto-mobile/issues/1613))
- test: increase Android test coverage for changeLocalization ([#1612](https://github.com/kaeawc/auto-mobile/issues/1612))
- feat: add setCalendarSystem MCP tool (rename to calendar) ([#1611](https://github.com/kaeawc/auto-mobile/issues/1611))
- bug: `doctor --ios` always fails with "undefined is not an object (evaluating '...runtimes.filter')" on Xcode 26.2 ([#1448](https://github.com/kaeawc/auto-mobile/issues/1448))
- ci: run JUnitRunner emulator tests on macOS/Windows/Linux matrix ([#959](https://github.com/kaeawc/auto-mobile/issues/959)) (android, ci, testing)

## [v0.0.15] - 2026-03-26
### Other
- No changes.

## [v0.0.14] - 2026-03-26
### Added
- feat: implement iOS clipboard operations (get/copy/paste/clear) ([#1501](https://github.com/kaeawc/auto-mobile/issues/1501)) (ios)
- feat: add boomerang support to VoiceOverSwipeExecutor ([#1451](https://github.com/kaeawc/auto-mobile/issues/1451)) (ios, a11y)
- feat: VoiceOver Phase 4 — documentation, example scripts, and parity review ([#1366](https://github.com/kaeawc/auto-mobile/issues/1366)) (documentation, ios, a11y)
- feat: VoiceOver Phase 3 — accessibility focus tracking and rotor support ([#1365](https://github.com/kaeawc/auto-mobile/issues/1365)) (ios, a11y)
- feat: VoiceOver Phase 2 — adapt tapOn and swipeOn for VoiceOver gestures ([#1364](https://github.com/kaeawc/auto-mobile/issues/1364)) (ios, a11y)
- feat: VoiceOver Phase 1 — detection via UIAccessibility.isVoiceOverRunning ([#1363](https://github.com/kaeawc/auto-mobile/issues/1363)) (ios, a11y)
- feat: AutoMobileBiometrics.overrideResult() SDK hook for deterministic biometric testing ([#1362](https://github.com/kaeawc/auto-mobile/issues/1362)) (android, ios, testing)
- feat: expand vision fallback to support element search in swipeOn, pinchOn, dragAndDrop ([#1361](https://github.com/kaeawc/auto-mobile/issues/1361)) (android, ios, ai)
- feat: add accessibility MCP tool to enable/disable TalkBack and VoiceOver ([#1360](https://github.com/kaeawc/auto-mobile/issues/1360)) (android, ios, a11y)
- feat: TalkBack Phase 4 — accessibility focus tracking in observations and polish ([#1359](https://github.com/kaeawc/auto-mobile/issues/1359)) (documentation, android, a11y)
- feat: TalkBack Phase 3 — adapt swipeOn to use two-finger swipe and accessibility scroll actions ([#1358](https://github.com/kaeawc/auto-mobile/issues/1358)) (android, a11y)
- feat: TalkBack Phase 2 — adapt tapOn to use ACTION_CLICK when TalkBack is enabled ([#1357](https://github.com/kaeawc/auto-mobile/issues/1357)) (android, a11y)
- feat: capture and expose network request logs for media correlation ([#1012](https://github.com/kaeawc/auto-mobile/issues/1012)) (android)
- feat(ios): Code signing configuration UI in Xcode Companion app ([#914](https://github.com/kaeawc/auto-mobile/issues/914)) (ios)
- Implement automated mitmproxy certificate installation for Android ([#465](https://github.com/kaeawc/auto-mobile/issues/465)) (android, chore)
- Research mitmproxy integration architecture for automated certificate trust ([#464](https://github.com/kaeawc/auto-mobile/issues/464)) (android, research)
- Xcode companion app: menu bar mode for quick access ([#407](https://github.com/kaeawc/auto-mobile/issues/407)) (ios, devxp)
- Xcode companion app: execution log and error view ([#406](https://github.com/kaeawc/auto-mobile/issues/406)) (ios, devxp)
- Xcode companion app: feature flag toggles ([#405](https://github.com/kaeawc/auto-mobile/issues/405)) (ios, devxp)
- Xcode companion app: performance/timing history view ([#404](https://github.com/kaeawc/auto-mobile/issues/404)) (ios, devxp)
- Xcode companion app: navigation graph rendering view ([#403](https://github.com/kaeawc/auto-mobile/issues/403)) (ios, devxp)
- iOS Managed Apple IDs/profiles: detect restrictions + document test plan guidance ([#365](https://github.com/kaeawc/auto-mobile/issues/365)) (ios, devxp)
- iOS Managed App Configuration: surface policy-driven failures + guidance ([#364](https://github.com/kaeawc/auto-mobile/issues/364)) (ios, devxp)
- Xcode Source Editor Extension: plan template/run/open commands ([#362](https://github.com/kaeawc/auto-mobile/issues/362)) (ios, devxp)
- Xcode companion app: test recording flow + plan generation ([#361](https://github.com/kaeawc/auto-mobile/issues/361)) (ios, devxp)
- Xcode companion app: MCP transport selection + dev server discovery ([#359](https://github.com/kaeawc/auto-mobile/issues/359)) (ios, devxp)
- Xcode companion app: scaffold macOS app + MCP connection shell ([#358](https://github.com/kaeawc/auto-mobile/issues/358)) (ios, devxp)
- IDE plugin: sandbox testing and runIde validation ([#259](https://github.com/kaeawc/auto-mobile/issues/259)) (devxp, intellij plugin)
- IDE plugin: backwards compatibility + matrix testing ([#245](https://github.com/kaeawc/auto-mobile/issues/245)) (release engineering, testing, intellij plugin)
- Add iOS support for accessibility audit mode ([#103](https://github.com/kaeawc/auto-mobile/issues/103)) (ios, a11y)
- mitmproxy network call inspection ([#34](https://github.com/kaeawc/auto-mobile/issues/34))
### Changed
- chore: extend lychee link checking to cover CONTRIBUTING.md and root markdown files ([#1457](https://github.com/kaeawc/auto-mobile/issues/1457)) (ci, devxp)
- chore: fix CONTRIBUTING.md dead link to local-development.md ([#1456](https://github.com/kaeawc/auto-mobile/issues/1456)) (documentation, dead-code)
- chore: add git-lfs setup to hot-reload dev environment bootstrap ([#1455](https://github.com/kaeawc/auto-mobile/issues/1455)) (devxp)
- Dead Code Detection: Threshold Exceeded ([#1369](https://github.com/kaeawc/auto-mobile/issues/1369)) (automated, dead-code)
- refactor: rename XCTestServiceApp to CtrlProxy and ios directory to control-proxy ([#1356](https://github.com/kaeawc/auto-mobile/issues/1356)) (ios)
- refactor: rename AccessibilityService to CtrlProxy and gradle subproject to control-proxy ([#1355](https://github.com/kaeawc/auto-mobile/issues/1355)) (android)
- chore: remove demoMode MCP tool ([#1352](https://github.com/kaeawc/auto-mobile/issues/1352)) (dead-code)
- refactor: replace rawViewHierarchy tool with raw flag on observe ([#1351](https://github.com/kaeawc/auto-mobile/issues/1351)) (dead-code)
- chore: remove MCP HTTP transport ([#1350](https://github.com/kaeawc/auto-mobile/issues/1350)) (dead-code)
- Dead Code Detection: Threshold Exceeded ([#1293](https://github.com/kaeawc/auto-mobile/issues/1293)) (automated, dead-code)
- Tighten XcodeExtension signing once .appex exists ([#921](https://github.com/kaeawc/auto-mobile/issues/921)) (ios)
### Fixed
- Startup benchmark flake: FIFO stderr line truncation drops STARTUP_BENCHMARK prefix ([#1563](https://github.com/kaeawc/auto-mobile/issues/1563)) (performance, testing)
- App view hierarchy disappears when keyboard/EditText is focused ([#1488](https://github.com/kaeawc/auto-mobile/issues/1488)) (android)
- bug: CtrlProxy reboots multiple times per minute in hot reload and normal MCP use ([#1354](https://github.com/kaeawc/auto-mobile/issues/1354)) (ios)
- bug: hot reload reboots iOS simulator unexpectedly ([#1353](https://github.com/kaeawc/auto-mobile/issues/1353)) (ios, devxp)
### Other
- feat: iOS simulator support for changeLocalization tool ([#1578](https://github.com/kaeawc/auto-mobile/issues/1578))
- Install Fails without SSH Configured ([#1559](https://github.com/kaeawc/auto-mobile/issues/1559))
- research: iOS accessibility scroll action equivalent to Android scroll_forward/scroll_backward ([#1452](https://github.com/kaeawc/auto-mobile/issues/1452)) (ios, a11y, research)
- test: add unit tests for VoiceOverSwipeExecutor ([#1450](https://github.com/kaeawc/auto-mobile/issues/1450)) (ios, a11y, testing)
- Release: sign + notarize macOS companion app ([#375](https://github.com/kaeawc/auto-mobile/issues/375)) (ios, release engineering, devxp)
- CI: add macOS job for Xcode companion app + Source Editor Extension build ([#373](https://github.com/kaeawc/auto-mobile/issues/373)) (ios, ci)

## [v0.0.13] - 2026-02-13
### Other
- Add CI checks for host control Docker scripts across macOS/Linux/Windows ([#981](https://github.com/kaeawc/auto-mobile/issues/981)) (ci, env)
- Publish to official MCP registry ([#26](https://github.com/kaeawc/auto-mobile/issues/26)) (release engineering)
- Publish AutoMobile on Docker Hub ([#25](https://github.com/kaeawc/auto-mobile/issues/25)) (release engineering)

## [v0.0.12] - 2026-02-11
### Other
- No changes.

## [v0.0.11] - 2026-02-11
### Added
- IDE plugin: always use active (white) toolbar icon ([#1214](https://github.com/kaeawc/auto-mobile/issues/1214)) (intellij plugin)
- Remove feature flag for video test recording ([#1203](https://github.com/kaeawc/auto-mobile/issues/1203)) (video)
- IDE plugin: show 'Device Disconnected' when observed device becomes unavailable ([#1202](https://github.com/kaeawc/auto-mobile/issues/1202)) (intellij plugin)
- IDE Plugin: Add full-window FileEditor mode for dashboard ([#1167](https://github.com/kaeawc/auto-mobile/issues/1167)) (intellij plugin)
- feat: iOS version matrix testing in CI ([#836](https://github.com/kaeawc/auto-mobile/issues/836)) (ios, ci, testing)
- Support custom accessibility rules ([#104](https://github.com/kaeawc/auto-mobile/issues/104)) (devxp, a11y)
### Changed
- refactor: ViewHierarchy has near-clone findFocusedElement / findAccessibilityFocusedElement ([#1191](https://github.com/kaeawc/auto-mobile/issues/1191))
- refactor: UIStateExtractor reimplements ElementParser traversal and property extraction ([#1190](https://github.com/kaeawc/auto-mobile/issues/1190))
- refactor: BugReport.traverseNode() reimplements ElementParser inline ([#1189](https://github.com/kaeawc/auto-mobile/issues/1189))
- refactor: DebugSearch reimplements ElementParser, TextMatcher, and ElementFinder inline ([#1188](https://github.com/kaeawc/auto-mobile/issues/1188))
- chore: upgrade GitHub Actions upload-artifact and download-artifact to v4.6+ ([#1158](https://github.com/kaeawc/auto-mobile/issues/1158)) (ci)
- Dead Code Detection: Threshold Exceeded ([#1143](https://github.com/kaeawc/auto-mobile/issues/1143)) (automated, dead-code)
### Fixed
- IDE plugin: device disconnected notification is too aggressive ([#1244](https://github.com/kaeawc/auto-mobile/issues/1244)) (intellij plugin)
- iOS: toggle switch tap does not trigger view hierarchy or screenshot update ([#1227](https://github.com/kaeawc/auto-mobile/issues/1227))
- bug: IDE plugin settings page fails to load feature flags with MCP error -32603 ([#1213](https://github.com/kaeawc/auto-mobile/issues/1213)) (intellij plugin)
- Bug: IDE plugin crashes with IllegalArgumentException when opening test plan YAML file ([#1205](https://github.com/kaeawc/auto-mobile/issues/1205)) (intellij plugin)
- Bug: failing JUnit Runner test does not produce a failing JUnit test result ([#1204](https://github.com/kaeawc/auto-mobile/issues/1204)) (testing)
- iOS: Unable to observe system permission dialogs in view hierarchy ([#1147](https://github.com/kaeawc/auto-mobile/issues/1147)) (ios)
### Other
- CI: add Xcode 26 to iOS build and test matrix ([#1207](https://github.com/kaeawc/auto-mobile/issues/1207)) (ios, ci)
- CI: auto-retry iOS jobs when no simulator runtimes are installed on macOS runner ([#1206](https://github.com/kaeawc/auto-mobile/issues/1206)) (ios, ci)
- CI: add macOS job for iOS Accessibility Bridge build + XCTest runner tests ([#372](https://github.com/kaeawc/auto-mobile/issues/372)) (ios, ci)
- Publish AutoMobile Android SDK on Maven Central ([#122](https://github.com/kaeawc/auto-mobile/issues/122)) (android, ci, release engineering)
- Publish AutoMobile JUnitRunner Library ([#121](https://github.com/kaeawc/auto-mobile/issues/121)) (android, ci, release engineering, testing)

## [v0.0.10] - 2026-02-06
### Added
- Support custom accessibility rules ([#104](https://github.com/kaeawc/auto-mobile/issues/104)) (devxp, a11y)
### Other
- chore: upgrade GitHub Actions upload-artifact and download-artifact to v4.6+ ([#1158](https://github.com/kaeawc/auto-mobile/issues/1158))
- Publish AutoMobile Android SDK on Maven Central ([#122](https://github.com/kaeawc/auto-mobile/issues/122)) (android, ci, release engineering)
- Publish AutoMobile JUnitRunner Library ([#121](https://github.com/kaeawc/auto-mobile/issues/121)) (android, ci, release engineering, testing)

## [v0.0.9] - 2026-02-04
### Added
- Test Runners: Cascade MCP tool failures to JUnitRunner/XCTestRunner via executePlan response ([#1078](https://github.com/kaeawc/auto-mobile/issues/1078)) (android, ios, testing)
- IDE Plugin: Add Cancel button to Record Test entry screen ([#1075](https://github.com/kaeawc/auto-mobile/issues/1075)) (intellij plugin)
- IDE Plugin: Add 'Refine' button to simplify exported test plans with AI ([#1074](https://github.com/kaeawc/auto-mobile/issues/1074)) (intellij plugin, ai)
- IDE Plugin: Merge Exploratory Test into Record Test UX ([#1072](https://github.com/kaeawc/auto-mobile/issues/1072)) (intellij plugin)
- IDE Plugin: Expose startTestRecording MCP tool ([#1071](https://github.com/kaeawc/auto-mobile/issues/1071)) (intellij plugin)
- IDE Plugin: Expose exportPlan MCP tool for Finish Recording ([#1070](https://github.com/kaeawc/auto-mobile/issues/1070)) (intellij plugin)
- [IDE Plugin] Wire up StreamingFailuresDataSource for real-time failure updates ([#1066](https://github.com/kaeawc/auto-mobile/issues/1066)) (intellij plugin)
- [SDK] Add handled exceptions API for non-fatal error reporting ([#1065](https://github.com/kaeawc/auto-mobile/issues/1065)) (android)
- [IDE Plugin] Implement RealStorageDataSource for key-value storage inspection ([#1064](https://github.com/kaeawc/auto-mobile/issues/1064)) (intellij plugin)
- [MCP Server] Add storage inspection tools and Unix socket push channel for key-value data ([#1063](https://github.com/kaeawc/auto-mobile/issues/1063))
- [AccessibilityService] Add WebSocket message types for storage data and real-time sync ([#1062](https://github.com/kaeawc/auto-mobile/issues/1062)) (android)
- [SDK] Add SharedPreferences/DataStore reading API for key-value storage inspection ([#1061](https://github.com/kaeawc/auto-mobile/issues/1061)) (android)
- Live performance data for currently selected app ([#1060](https://github.com/kaeawc/auto-mobile/issues/1060)) (performance, intellij plugin)
- Navigation Graph should only accept named nodes ([#1059](https://github.com/kaeawc/auto-mobile/issues/1059))
- Navigation Graph Fog Mode ([#1058](https://github.com/kaeawc/auto-mobile/issues/1058))
- Research: iOS real-time screen streaming options ([#1034](https://github.com/kaeawc/auto-mobile/issues/1034)) (ios, research)
- Android: Implement video server JAR (VirtualDisplay + MediaCodec) ([#1031](https://github.com/kaeawc/auto-mobile/issues/1031)) (android)
- Research: Android real-time screen streaming architecture (MediaProjection/MediaCodec) ([#1030](https://github.com/kaeawc/auto-mobile/issues/1030)) (research)
- Feature: Android SharedPreferences Inspection and Management ([#1021](https://github.com/kaeawc/auto-mobile/issues/1021)) (android, devxp, testing)
- Feature: Crash and ANR Monitoring via ADB, simctl, and AccessibilityService ([#1020](https://github.com/kaeawc/auto-mobile/issues/1020)) (android, ios, devxp, testing)
- Feature: Database Inspection and Management for Android AutoMobile SDK ([#1019](https://github.com/kaeawc/auto-mobile/issues/1019)) (android, devxp, testing)
- feat(mcp): add setUI tool for declarative form field population ([#986](https://github.com/kaeawc/auto-mobile/issues/986)) (android, ai)
- IDE plugin: Compose charting for performance timelines ([#306](https://github.com/kaeawc/auto-mobile/issues/306)) (android, intellij plugin)
- IDE Plugin: Display recent performance debug data ([#283](https://github.com/kaeawc/auto-mobile/issues/283)) (android, performance, intellij plugin)
- IDE plugin: MCP resource viewer UI ([#255](https://github.com/kaeawc/auto-mobile/issues/255)) (intellij plugin)
- IDE plugin: add source mapping support ([#247](https://github.com/kaeawc/auto-mobile/issues/247)) (intellij plugin)
### Changed
- refactor: move src/features/observe/accessibility/ to src/features/observe/android/ ([#1123](https://github.com/kaeawc/auto-mobile/issues/1123)) (android)
- refactor: consolidate screenshot utilities ([#1121](https://github.com/kaeawc/auto-mobile/issues/1121))
- refactor: decompose SwipeOn - extract overlay detection and scroll-until ([#1120](https://github.com/kaeawc/auto-mobile/issues/1120)) (android)
- refactor: decompose ViewHierarchy - separate screenshot handling ([#1119](https://github.com/kaeawc/auto-mobile/issues/1119)) (android)
- refactor: decompose TapOnElement - extract focus navigation ([#1118](https://github.com/kaeawc/auto-mobile/issues/1118)) (android)
- refactor: replace getInstance() singletons with constructor injection ([#1117](https://github.com/kaeawc/auto-mobile/issues/1117))
- refactor: add interfaces for ObserveScreen, Window, AwaitIdle ([#1116](https://github.com/kaeawc/auto-mobile/issues/1116))
- refactor: decompose XCTestServiceClient using delegate pattern ([#1115](https://github.com/kaeawc/auto-mobile/issues/1115)) (ios)
- refactor: migrate raw setTimeout/setInterval to Timer interface ([#1114](https://github.com/kaeawc/auto-mobile/issues/1114))
- refactor: replace inline retry logic with DefaultRetryExecutor ([#1113](https://github.com/kaeawc/auto-mobile/issues/1113))
- refactor: consolidate ad-hoc caches to use TTLCache ([#1112](https://github.com/kaeawc/auto-mobile/issues/1112))
- Decompose Explore.ts (1870 lines) ([#1108](https://github.com/kaeawc/auto-mobile/issues/1108))
- Decompose AccessibilityServiceClient.ts (4652 lines) ([#1107](https://github.com/kaeawc/auto-mobile/issues/1107)) (android)
- Migrate remaining AdbClient instantiations to AdbClientFactory ([#1106](https://github.com/kaeawc/auto-mobile/issues/1106)) (android)
- Dead Code Detection: Threshold Exceeded ([#1027](https://github.com/kaeawc/auto-mobile/issues/1027)) (automated, dead-code)
### Fixed
- pressButton should properly await fresh view hierarchy before returning observation ([#1051](https://github.com/kaeawc/auto-mobile/issues/1051))
### Other
- perf: explore queueMicrotask optimization for FakeTimer ([#1130](https://github.com/kaeawc/auto-mobile/issues/1130)) (devxp, performance)
- Navigation nodes should preserve aspect ratio instead of cropping screenshots ([#1052](https://github.com/kaeawc/auto-mobile/issues/1052)) (android, devxp, intellij plugin)
- Research: DevXP for work profile app install tracking ([#754](https://github.com/kaeawc/auto-mobile/issues/754)) (android, devxp, research)

## [v0.0.8] - 2026-01-24
### Added
- View hierarchy contains duplicate elements from merged sources ([#999](https://github.com/kaeawc/auto-mobile/issues/999)) (performance)
- criticalSection: accept normalized params in nested steps ([#960](https://github.com/kaeawc/auto-mobile/issues/960))
- Abstract other macOS CLI tools through host control daemon ([#932](https://github.com/kaeawc/auto-mobile/issues/932)) (ios, env)
- Abstract xcodebuild commands through host control daemon for Docker support ([#931](https://github.com/kaeawc/auto-mobile/issues/931)) (ios, env)
- Abstract simctl commands through host control daemon for Docker support ([#930](https://github.com/kaeawc/auto-mobile/issues/930)) (ios, env)
- feat(ios): Xcode provisioning profile integration for physical device deployment ([#913](https://github.com/kaeawc/auto-mobile/issues/913)) (ios)
- feat(ios): Add iproxy port forwarding lifecycle management for physical devices ([#912](https://github.com/kaeawc/auto-mobile/issues/912)) (ios)
- feat(ios): download XCTestService.ipa from GitHub releases instead of building from source ([#906](https://github.com/kaeawc/auto-mobile/issues/906)) (ios, release engineering, devxp)
- Automatic wakefulness check and unlock on Android emulator boot ([#879](https://github.com/kaeawc/auto-mobile/issues/879)) (android, devxp)
- feat: streamlined development workflow for iOS XCTestService updates ([#878](https://github.com/kaeawc/auto-mobile/issues/878)) (ios, devxp)
- iOS: Interactive installer with Xcode/simulator validation ([#871](https://github.com/kaeawc/auto-mobile/issues/871)) (ios)
- iOS: Doctor tool for iOS dependency verification ([#869](https://github.com/kaeawc/auto-mobile/issues/869)) (ios)
- iOS: MCP resources for simulator sessions and installed apps ([#868](https://github.com/kaeawc/auto-mobile/issues/868)) (ios)
- iOS: Parallel multi-simulator test orchestration ([#867](https://github.com/kaeawc/auto-mobile/issues/867)) (ios)
- iOS: Session context for multi-simulator tool execution ([#866](https://github.com/kaeawc/auto-mobile/issues/866)) (ios)
- iOS: Multi-simulator session allocation in daemon ([#865](https://github.com/kaeawc/auto-mobile/issues/865)) (ios)
- iOS: Integrate visual highlights with bug report generation ([#864](https://github.com/kaeawc/auto-mobile/issues/864)) (ios)
- iOS: Integrate visual highlights with video recording ([#863](https://github.com/kaeawc/auto-mobile/issues/863)) (ios, video)
- iOS: MCP tool for visual highlighting during debugging ([#862](https://github.com/kaeawc/auto-mobile/issues/862)) (ios)
- iOS: WebSocket commands for visual highlight control ([#861](https://github.com/kaeawc/auto-mobile/issues/861)) (ios)
- iOS: Visual highlight overlay for XCTest service ([#860](https://github.com/kaeawc/auto-mobile/issues/860)) (ios)
- iOS: Expose navigation graph as MCP resource ([#859](https://github.com/kaeawc/auto-mobile/issues/859)) (ios)
- iOS: Implement identifyInteractions tool ([#858](https://github.com/kaeawc/auto-mobile/issues/858)) (ios)
- iOS: Implement explore tool for automatic app discovery ([#857](https://github.com/kaeawc/auto-mobile/issues/857)) (ios)
- iOS: Navigation graph building and exploration ([#856](https://github.com/kaeawc/auto-mobile/issues/856)) (ios)
- iOS: MCP tools and resources for video recording ([#855](https://github.com/kaeawc/auto-mobile/issues/855)) (ios, video)
- iOS: Integrate video recordings with FFmpeg post-processing ([#854](https://github.com/kaeawc/auto-mobile/issues/854)) (ios, video)
- iOS: Video recording capture backend using simctl ([#853](https://github.com/kaeawc/auto-mobile/issues/853)) (ios, video)
- iOS: Add comprehensive tests for simulator snapshot feature ([#852](https://github.com/kaeawc/auto-mobile/issues/852)) (ios, testing)
- iOS: Implement simulator snapshot restore ([#851](https://github.com/kaeawc/auto-mobile/issues/851)) (ios)
- iOS: Implement simulator snapshot capture using simctl ([#850](https://github.com/kaeawc/auto-mobile/issues/850)) (ios)
- feat: built-in Claude plugin for marketplace distribution with AutoMobile skills ([#848](https://github.com/kaeawc/auto-mobile/issues/848)) (release engineering, devxp)
- feat: optimize CLAUDE.md for progressive disclosure and automatic validation updates ([#847](https://github.com/kaeawc/auto-mobile/issues/847)) (documentation, devxp, ai)
- feat: simplify MCP tool schema - move selector id/text to top-level parameters ([#845](https://github.com/kaeawc/auto-mobile/issues/845)) (devxp)
- feat: seamless release workflow - consolidate bump version and changelog into single Release workflow ([#844](https://github.com/kaeawc/auto-mobile/issues/844)) (ci, release engineering)
- feat: automatically match target device light/dark mode to host system settings ([#837](https://github.com/kaeawc/auto-mobile/issues/837)) (android, ios, devxp)
- feat: harden regex parsing for device data ([#834](https://github.com/kaeawc/auto-mobile/issues/834)) (android, ios)
- feat: streamlined development workflow for Android/iOS embedded service updates ([#831](https://github.com/kaeawc/auto-mobile/issues/831)) (android, ios, devxp)
- ci: only run iOS CI checks when iOS or TypeScript code changes ([#829](https://github.com/kaeawc/auto-mobile/issues/829)) (ios, ci, devxp)
- ci: only run Android CI checks when Android or TypeScript code changes ([#828](https://github.com/kaeawc/auto-mobile/issues/828)) (android, ci, devxp)
- MCP resource URIs are confusing and inconsistent ([#804](https://github.com/kaeawc/auto-mobile/issues/804)) (devxp)
- Integrate focus-based navigation into tapOn tool (transparent to MCP consumers) ([#471](https://github.com/kaeawc/auto-mobile/issues/471)) (android, a11y)
- Set up release keystore for production builds ([#431](https://github.com/kaeawc/auto-mobile/issues/431)) (android, ci, release engineering)
- Validation: implement all_fast_validate_checks.sh aggregator ([#371](https://github.com/kaeawc/auto-mobile/issues/371)) (ci, devxp)
- `doctor`: iOS checks for missing companion app + download link ([#363](https://github.com/kaeawc/auto-mobile/issues/363)) (ios, devxp)
- XCTest Runner: timing capture + publish timing history ([#356](https://github.com/kaeawc/auto-mobile/issues/356)) (ios, testing)
- XCTest Runner: implement AutoMobileTestCase + plan executor ([#355](https://github.com/kaeawc/auto-mobile/issues/355)) (ios, testing)
- Daemon: add iOS simulator discovery + session allocation ([#354](https://github.com/kaeawc/auto-mobile/issues/354)) (ios, devxp)
- simctl integration: status bar demo mode configuration ([#352](https://github.com/kaeawc/auto-mobile/issues/352)) (ios)
- simctl integration: app install/launch/terminate + capability reporting ([#351](https://github.com/kaeawc/auto-mobile/issues/351)) (ios)
- simctl integration: simulator lifecycle management ([#350](https://github.com/kaeawc/auto-mobile/issues/350)) (ios)
- AXe automation layer: coordinate translation + gesture injection ([#349](https://github.com/kaeawc/auto-mobile/issues/349)) (ios)
- AXe automation layer: MCP tool handlers + WebSocket client ([#348](https://github.com/kaeawc/auto-mobile/issues/348)) (ios)
- Accessibility Bridge: emit view hierarchy change events over WebSocket ([#347](https://github.com/kaeawc/auto-mobile/issues/347)) (ios)
- Accessibility Bridge: implement element lookup + bounds + focus state ([#346](https://github.com/kaeawc/auto-mobile/issues/346)) (ios)
- IDE plugin: real-time performance streaming + cache ([#305](https://github.com/kaeawc/auto-mobile/issues/305)) (android, performance, intellij plugin)
- Enhanced contrast detection for gradients and overlays ([#102](https://github.com/kaeawc/auto-mobile/issues/102)) (a11y)
### Changed
- Upgrade json-schema-validator to 3.0.0 (requires Jackson 3 migration) ([#967](https://github.com/kaeawc/auto-mobile/issues/967)) (android, dependencies)
- Remove unused kotlinx-datetime dependency ([#966](https://github.com/kaeawc/auto-mobile/issues/966)) (android, dependencies)
- Remove p99 from MCP Tool Throughput Benchmarks ([#950](https://github.com/kaeawc/auto-mobile/issues/950)) (performance)
- Improving TypeScript dead code detection ([#946](https://github.com/kaeawc/auto-mobile/issues/946)) (devxp, dead-code)
- Dead Code Detection: Threshold Exceeded ([#939](https://github.com/kaeawc/auto-mobile/issues/939)) (automated, dead-code)
- Reduce slow wakeAndUnlock unit tests (<100ms) ([#919](https://github.com/kaeawc/auto-mobile/issues/919)) (testing)
- chore: remove checkForeground parallel mode - single dumpsys is 12.9x faster ([#872](https://github.com/kaeawc/auto-mobile/issues/872)) (android, performance)
- chore: cleanup top-level leftover planning markdown files ([#849](https://github.com/kaeawc/auto-mobile/issues/849)) (documentation)
- chore: set up GitHub Sponsors for project donations ([#846](https://github.com/kaeawc/auto-mobile/issues/846))
- chore: update changelog for v0.0.7 release ([#843](https://github.com/kaeawc/auto-mobile/issues/843)) (documentation, release engineering)
- chore: set up release key signing for iOS libraries ([#842](https://github.com/kaeawc/auto-mobile/issues/842)) (ios, release engineering)
- chore: set up Dependabot for iOS Swift Package Manager dependencies ([#841](https://github.com/kaeawc/auto-mobile/issues/841)) (ios, dependencies)
- chore: set up Dependabot for Android Gradle dependencies ([#840](https://github.com/kaeawc/auto-mobile/issues/840)) (android, dependencies)
- chore: update Python/uv dependencies in /scripts/github ([#839](https://github.com/kaeawc/auto-mobile/issues/839)) (dependencies, python:uv)
- chore: update TypeScript dependencies - research major version upgrades ([#838](https://github.com/kaeawc/auto-mobile/issues/838)) (dependencies)
- docs: clean up and organize documentation ([#830](https://github.com/kaeawc/auto-mobile/issues/830)) (documentation)
- Chore: Test notification triggering ([#765](https://github.com/kaeawc/auto-mobile/issues/765))
### Fixed
- MCP startup benchmark sometimes hangs without reasonable timeout ([#1002](https://github.com/kaeawc/auto-mobile/issues/1002)) (ci, performance)
- setActiveDevice does not single out iOS simulators for observe ([#1001](https://github.com/kaeawc/auto-mobile/issues/1001)) (ios)
- rawViewHierarchy tool doesn't support iOS ([#1000](https://github.com/kaeawc/auto-mobile/issues/1000)) (ios)
- iOS: Cannot detect or launch system apps (Settings, Fitness, etc.) ([#984](https://github.com/kaeawc/auto-mobile/issues/984)) (ios)
- iOS: Home button press and homeScreen tool not working ([#983](https://github.com/kaeawc/auto-mobile/issues/983)) (ios)
- MCP tools/list fails due to tapOn schema using union type at root ([#973](https://github.com/kaeawc/auto-mobile/issues/973)) (ai)
- Security: Update qs to fix arrayLimit bypass DoS vulnerability ([#964](https://github.com/kaeawc/auto-mobile/issues/964)) (dependencies)
- Security: Update @modelcontextprotocol/sdk to fix ReDoS vulnerability ([#963](https://github.com/kaeawc/auto-mobile/issues/963)) (dependencies)
- Security: Update hono to fix JWT Middleware algorithm confusion ([#962](https://github.com/kaeawc/auto-mobile/issues/962)) (dependencies)
- Security: Update hono to fix JWK Auth Middleware JWT algorithm confusion ([#961](https://github.com/kaeawc/auto-mobile/issues/961)) (dependencies)
- Handle corrupted migrations in daemon startup ([#947](https://github.com/kaeawc/auto-mobile/issues/947))
- bug: hot reload development workflow not working ([#832](https://github.com/kaeawc/auto-mobile/issues/832)) (devxp)
- Bug: Auto-generated bump versions PR does not trigger CI workflows ([#812](https://github.com/kaeawc/auto-mobile/issues/812)) (ci, release engineering)
- Upgrade Bun to 1.3.6 to fix CI segmentation fault crashes ([#811](https://github.com/kaeawc/auto-mobile/issues/811)) (ci, dependencies)
- Accessibility service state detection issues after automatic setup ([#801](https://github.com/kaeawc/auto-mobile/issues/801)) (android, a11y)
- Prevent automated changelog PR from erroring on fork origin ([#793](https://github.com/kaeawc/auto-mobile/issues/793)) (ci, release engineering)
- Fallback to uiautomator when AccessibilityWindowInfo.root returns null for active window ([#775](https://github.com/kaeawc/auto-mobile/issues/775)) (android, a11y)
### Other
- docs: add reveal/collapse wrappers for demos to reduce page distraction ([#987](https://github.com/kaeawc/auto-mobile/issues/987)) (documentation)
- Add CI checks for host control docker scripts across macOS/Linux/Windows ([#980](https://github.com/kaeawc/auto-mobile/issues/980))
- ci: run TypeScript Node build/test on macOS/Windows/Linux matrix ([#958](https://github.com/kaeawc/auto-mobile/issues/958)) (ci, testing)
- ci: run interactive installer on macOS/Windows/Linux matrix ([#957](https://github.com/kaeawc/auto-mobile/issues/957)) (ci, release engineering, testing)
- Add recorded GIF demo to interactive install script documentation ([#953](https://github.com/kaeawc/auto-mobile/issues/953)) (documentation)
- AGP 9.0 bump fails due to org.jetbrains.kotlin.android plugin ([#896](https://github.com/kaeawc/auto-mobile/issues/896)) (android, ci, automated, dependencies)
- Dependabot Android PRs fail CI due to missing signing secrets ([#895](https://github.com/kaeawc/auto-mobile/issues/895)) (android, ci, automated, dependencies)
- iOS: First-run path documentation from setup to first task ([#870](https://github.com/kaeawc/auto-mobile/issues/870)) (documentation, ios)
- chore: research slim Docker image for Android emulator management ([#833](https://github.com/kaeawc/auto-mobile/issues/833)) (android, env, research)
- Codex setup missing in install docs ([#825](https://github.com/kaeawc/auto-mobile/issues/825)) (documentation, ai)
- Explore automatic retry for flaky emulator tests in CI ([#808](https://github.com/kaeawc/auto-mobile/issues/808)) (flaky test, ci, research)
- Benchmark NPM Unpacked Size ([#796](https://github.com/kaeawc/auto-mobile/issues/796)) (release engineering, research)
- Reduce NPM Unpacked Size ([#795](https://github.com/kaeawc/auto-mobile/issues/795)) (release engineering, performance)
- Accessibility Bridge distribution without App Store ([#376](https://github.com/kaeawc/auto-mobile/issues/376)) (ios, release engineering)
- CI: audit workflows to keep Linux for non-iOS checks and macOS only where required ([#374](https://github.com/kaeawc/auto-mobile/issues/374)) (ios, ci, devxp)
- XCTest Runner: configuration via env vars + sample test target docs ([#357](https://github.com/kaeawc/auto-mobile/issues/357)) (documentation, ios, testing)
- Run AutoMobile self tests on Emulator.wtf ([#77](https://github.com/kaeawc/auto-mobile/issues/77)) (android, ci, testing)
- iOS ViewHierarchy WebSocket Accessibility Service/App ([#33](https://github.com/kaeawc/auto-mobile/issues/33)) (ios)

## [0.0.7] - 2026-01-15
### Added
- Add configurable fade animation for highlights (1-5 second duration) ([#656](https://github.com/kaeawc/auto-mobile/issues/656)) (android, devxp)
- Add smooth ink-line path drawing for freehand annotations ([#655](https://github.com/kaeawc/auto-mobile/issues/655)) (android, devxp)
- Add runtime permission handling for drawing overlays ([#654](https://github.com/kaeawc/auto-mobile/issues/654)) (android, devxp)
- Integrate visual highlights with video recording for reproduction videos ([#653](https://github.com/kaeawc/auto-mobile/issues/653)) (devxp)
- Integrate visual highlights with bug report generation ([#652](https://github.com/kaeawc/auto-mobile/issues/652)) (devxp)
- Add MCP tool for visual highlighting during debugging ([#651](https://github.com/kaeawc/auto-mobile/issues/651)) (devxp)
- Add Node.js client for visual highlight control ([#650](https://github.com/kaeawc/auto-mobile/issues/650)) (devxp)
- Add WebSocket commands for controlling visual highlights ([#649](https://github.com/kaeawc/auto-mobile/issues/649)) (devxp)
- Add drawing API for shapes in AccessibilityService overlay ([#648](https://github.com/kaeawc/auto-mobile/issues/648)) (android, devxp)
- Add cmdline-tools installation to doctor MCP tool ([#620](https://github.com/kaeawc/auto-mobile/issues/620)) (android, devxp, ai)
- Detect Homebrew avdmanager when system images are in $ANDROID_HOME ([#619](https://github.com/kaeawc/auto-mobile/issues/619)) (android, devxp)
- Detect old avdmanager with JAXB error and provide helpful message ([#618](https://github.com/kaeawc/auto-mobile/issues/618)) (android, devxp)
- Add Device Owner/Device Admin setup for advanced operations and CA certificate management ([#615](https://github.com/kaeawc/auto-mobile/issues/615)) (android, devxp)
- Complete implementation of Last Screenshot MCP resource ([#613](https://github.com/kaeawc/auto-mobile/issues/613))
- Feature: Enable element search across both main hierarchy and window hierarchies in tapOn/interaction tools ([#543](https://github.com/kaeawc/auto-mobile/issues/543)) (android)
- Feature: Keep screen awake on physical devices during automation ([#536](https://github.com/kaeawc/auto-mobile/issues/536)) (android)
- Implement Android AccessibilityService clipboard operations ([#500](https://github.com/kaeawc/auto-mobile/issues/500)) (android)
- Implement focus path calculation and navigation engine ([#470](https://github.com/kaeawc/auto-mobile/issues/470)) (android, a11y)
- Implement focus position tracking and accessibility tree traversal ([#469](https://github.com/kaeawc/auto-mobile/issues/469)) (android, a11y)
- Design focus-based navigation algorithm for TalkBack element targeting ([#468](https://github.com/kaeawc/auto-mobile/issues/468)) (android, a11y, research)
- Implement network traffic capture MCP tools with mitmproxy ([#466](https://github.com/kaeawc/auto-mobile/issues/466)) (android)
- Implement postNotification MCP tool with SDK hook and cmd notification fallback ([#463](https://github.com/kaeawc/auto-mobile/issues/463)) (android)
- Implement setNetworkState MCP tool for Wi-Fi/cellular/airplane mode control ([#462](https://github.com/kaeawc/auto-mobile/issues/462)) (android)
- Implement clipboard MCP tool with ADB and helper APK fallback ([#461](https://github.com/kaeawc/auto-mobile/issues/461)) (android)
- Implement biometricAuth MCP tool with emulator fingerprint support ([#460](https://github.com/kaeawc/auto-mobile/issues/460)) (android, research)
- Add accessibility focus tracking to observations ([#459](https://github.com/kaeawc/auto-mobile/issues/459)) (android, a11y)
- Adapt swipeOn tool for TalkBack using two-finger swipe and scroll actions ([#458](https://github.com/kaeawc/auto-mobile/issues/458)) (android, a11y)
- Adapt tapOn tool for TalkBack mode using ACTION_CLICK ([#457](https://github.com/kaeawc/auto-mobile/issues/457)) (android, a11y)
- Implement TalkBack auto-detection and infrastructure ([#456](https://github.com/kaeawc/auto-mobile/issues/456)) (android, a11y)
- Add capability detection for settings-based accessibility toggle ([#409](https://github.com/kaeawc/auto-mobile/issues/409)) (android, devxp)
- Implement adb settings-based accessibility service toggle ([#408](https://github.com/kaeawc/auto-mobile/issues/408)) (android, devxp)
- Add optional device labels to device-scoped tool calls ([#388](https://github.com/kaeawc/auto-mobile/issues/388)) (android)
- Block MCP tool calls during executePlan ([#330](https://github.com/kaeawc/auto-mobile/issues/330)) (devxp)
- Video recording: Android + iOS capture backends ([#326](https://github.com/kaeawc/auto-mobile/issues/326)) (android, ios, video)
- Video recording: MCP tools/resources + CLI config ([#324](https://github.com/kaeawc/auto-mobile/issues/324)) (devxp, video)
- Video recording: core service + archive retention ([#323](https://github.com/kaeawc/auto-mobile/issues/323)) (video)
- Interactive install script with gum + animated AutoMobile logo ([#322](https://github.com/kaeawc/auto-mobile/issues/322)) (env, devxp)
- Implement hybrid iOS automation architecture ([#319](https://github.com/kaeawc/auto-mobile/issues/319)) (ios)
- Feature Request: Implement pinch-to-zoom gesture in accessibility service ([#264](https://github.com/kaeawc/auto-mobile/issues/264)) (android, a11y)
- IDE plugin: MCP feature flags UI ([#256](https://github.com/kaeawc/auto-mobile/issues/256)) (intellij plugin)
- IDE plugin: navigation graph rendering ([#253](https://github.com/kaeawc/auto-mobile/issues/253)) (intellij plugin)
- IDE plugin: Unix socket transport for MCP attachment ([#252](https://github.com/kaeawc/auto-mobile/issues/252)) (intellij plugin)
- Explore scrollToward/contentDirection for swipeOn semantics ([#249](https://github.com/kaeawc/auto-mobile/issues/249)) (android, devxp)
- IDE plugin: support TCP/HTTP transport for bun dev mode ([#246](https://github.com/kaeawc/auto-mobile/issues/246)) (devxp, intellij plugin)
- Add visual fallback for selected-state detection ([#242](https://github.com/kaeawc/auto-mobile/issues/242)) (android, devxp, ai)
- Add identifyInteractions MCP tool to suggest available actions ([#224](https://github.com/kaeawc/auto-mobile/issues/224)) (android)
- Add dry run mode for explore tool call ([#223](https://github.com/kaeawc/auto-mobile/issues/223)) (android)
- Allow whitelisting navigation graph nodes and edge tool calls ([#222](https://github.com/kaeawc/auto-mobile/issues/222)) (android)
- Add await element option to tapOn for waiting on next UI state ([#219](https://github.com/kaeawc/auto-mobile/issues/219)) (android)
- Support tapOn for non-unique text within a specific container ([#211](https://github.com/kaeawc/auto-mobile/issues/211)) (android)
- Cancel in-progress MCP commands when AI agent or JUnitRunner disconnects ([#204](https://github.com/kaeawc/auto-mobile/issues/204)) (android, devxp)
- startDevice should error if AVD already running ([#176](https://github.com/kaeawc/auto-mobile/issues/176)) (devxp)
- openSystemTray should avoid redundant swipe when tray already open ([#173](https://github.com/kaeawc/auto-mobile/issues/173)) (android, devxp)
- Add retry mechanism for transient CI failures (Maven 403, network issues) ([#172](https://github.com/kaeawc/auto-mobile/issues/172)) (ci, devxp)
- MCP Resource: Installed Apps per Device ([#163](https://github.com/kaeawc/auto-mobile/issues/163)) (android)
- MCP Resource: Connected Devices ([#162](https://github.com/kaeawc/auto-mobile/issues/162)) (devxp)
- MCP Resource: Available Emulators/Simulators List ([#161](https://github.com/kaeawc/auto-mobile/issues/161)) (devxp)
- Doctor Tool for Onboarding and Diagnosis ([#160](https://github.com/kaeawc/auto-mobile/issues/160)) (devxp)
- Expose tool call history as MCP resource ([#130](https://github.com/kaeawc/auto-mobile/issues/130)) (devxp)
- Expose navigation graph nodes as individual MCP resources ([#129](https://github.com/kaeawc/auto-mobile/issues/129))
- Expose navigation graph as MCP resource for IntelliJ plugin ([#128](https://github.com/kaeawc/auto-mobile/issues/128)) (android, intellij plugin)
- Expose internal debugging as MCP resource ([#127](https://github.com/kaeawc/auto-mobile/issues/127)) (devxp)
- Include Debug Information in MCP Tool Error Responses ([#108](https://github.com/kaeawc/auto-mobile/issues/108))
- Back stack awareness ([#78](https://github.com/kaeawc/auto-mobile/issues/78))
- IntelliJ IDE plugin ([#67](https://github.com/kaeawc/auto-mobile/issues/67)) (android, devxp)
- Permission Audit & Capability Inventory (auditPermissions) ([#59](https://github.com/kaeawc/auto-mobile/issues/59))
- Sensitive Data Exposure Scanner (scanDataLeakage) ([#57](https://github.com/kaeawc/auto-mobile/issues/57))
- Element Search Fallbacks ([#54](https://github.com/kaeawc/auto-mobile/issues/54))
- TalkBack Navigation Simulator (simulateTalkBack) ([#53](https://github.com/kaeawc/auto-mobile/issues/53))
- Dark Mode Consistency Checker ([#50](https://github.com/kaeawc/auto-mobile/issues/50))
- Locale & System Configuration Manager ([#49](https://github.com/kaeawc/auto-mobile/issues/49))
- Battery & Charging State Simulator ([#48](https://github.com/kaeawc/auto-mobile/issues/48))
- Sensor Simulation Framework ([#47](https://github.com/kaeawc/auto-mobile/issues/47))
- Live Interactive Element Inspector ([#43](https://github.com/kaeawc/auto-mobile/issues/43))
- HTTP Request Mocking & Recording (mockNetwork) ([#42](https://github.com/kaeawc/auto-mobile/issues/42))
- Network Condition Simulator (simulateNetworkCondition) ([#41](https://github.com/kaeawc/auto-mobile/issues/41))
- ANR Risk Detector (profileAnrRisk) ([#39](https://github.com/kaeawc/auto-mobile/issues/39))
- Navigation graph: Handle bottom sheets, popups, and dialogs ([#28](https://github.com/kaeawc/auto-mobile/issues/28))
- Navigation graph: Handle scroll position as UI state ([#27](https://github.com/kaeawc/auto-mobile/issues/27))
- Retain and Reuse Navigation ([#10](https://github.com/kaeawc/auto-mobile/issues/10))
- clipboard get action returns empty string after successful copy operation ([#778](https://github.com/kaeawc/auto-mobile/issues/778))
- systemTray find with both title AND body criteria always fails to find notifications ([#777](https://github.com/kaeawc/auto-mobile/issues/777))
- Tool registration regression: interaction tools silently failed to register ([#745](https://github.com/kaeawc/auto-mobile/issues/745)) (ai)
- dragAndDrop schema allows empty selectors; runtime rejects ([#686](https://github.com/kaeawc/auto-mobile/issues/686)) (devxp)
- dragAndDrop should check accessibility service availability (enabled + installed) ([#681](https://github.com/kaeawc/auto-mobile/issues/681)) (android, a11y)
- Android drag requests never execute; dragAndDrop always times out ([#680](https://github.com/kaeawc/auto-mobile/issues/680)) (android, a11y)
- Preserve double-tap behavior in TalkBack mode ([#672](https://github.com/kaeawc/auto-mobile/issues/672)) (android, a11y)
- Dead code detection job fails with 'Argument list too long' when issue count is high ([#641](https://github.com/kaeawc/auto-mobile/issues/641)) (ci, devxp)
- Navigation graph MCP resources remain empty after active app observation ([#614](https://github.com/kaeawc/auto-mobile/issues/614))
- AutoMobile fails to detect installed Android system images ([#612](https://github.com/kaeawc/auto-mobile/issues/612)) (android, env)
- Material3 navigation text labels missing from accessibility hierarchy due to sibling occlusion bug ([#591](https://github.com/kaeawc/auto-mobile/issues/591))
- installApp MCP tool fails with 'adb: unknown command dump' ([#587](https://github.com/kaeawc/auto-mobile/issues/587)) (android)
- MCP observe responses are excessively large due to unfiltered data ([#539](https://github.com/kaeawc/auto-mobile/issues/539)) (ai)
- IDE plugin: AutoMobile tool window ignores IntelliJ theme ([#335](https://github.com/kaeawc/auto-mobile/issues/335)) (android, intellij plugin)
- swipeOn direction parameter causes AI agents to swipe opposite of intended direction ([#226](https://github.com/kaeawc/auto-mobile/issues/226)) (android, devxp)
- swipeOn tool description causes AI agents to swipe on screen instead of targeting lists ([#225](https://github.com/kaeawc/auto-mobile/issues/225)) (android, devxp)
- Selected state not correctly interpreted from view hierarchy ([#213](https://github.com/kaeawc/auto-mobile/issues/213)) (android)
- Git state becomes dirty from .mcp.json and .gitignore changes on branch/worktree checkout ([#212](https://github.com/kaeawc/auto-mobile/issues/212)) (devxp)
- Stale view hierarchy returned to AI agents after interactions ([#205](https://github.com/kaeawc/auto-mobile/issues/205)) (android, devxp)
- MCP client fails to connect at startup with handshaking error ([#186](https://github.com/kaeawc/auto-mobile/issues/186)) (env, devxp)
- AutoMobile CLI hangs and doesn't exit after executePlan completes ([#109](https://github.com/kaeawc/auto-mobile/issues/109))
- Large MCP response warning on Accessibility Service websocket timeout ([#86](https://github.com/kaeawc/auto-mobile/issues/86)) (devxp)
- Observe call happening right after an action that should have included observation ([#66](https://github.com/kaeawc/auto-mobile/issues/66))
- Add stub listDevices MCP tool ([#781](https://github.com/kaeawc/auto-mobile/issues/781)) (devxp, ai)
- Add stub listApps MCP tool ([#780](https://github.com/kaeawc/auto-mobile/issues/780)) (devxp, ai)
- Add keyboard MCP tool with open/close/detect actions ([#779](https://github.com/kaeawc/auto-mobile/issues/779)) (devxp, ai)
- Google Weather app filtered out from listApps MCP resource ([#715](https://github.com/kaeawc/auto-mobile/issues/715))
- Accessibility service filters out Android home launcher widgets from view hierarchy ([#714](https://github.com/kaeawc/auto-mobile/issues/714))
- Make identifyInteractions a debug-only MCP tool ([#673](https://github.com/kaeawc/auto-mobile/issues/673))
- Add polling support to tapOn action with searchUntil parameter ([#662](https://github.com/kaeawc/auto-mobile/issues/662))
- Add optional waitFor parameter to observe MCP tool ([#658](https://github.com/kaeawc/auto-mobile/issues/658))
- Add overlay window capability to AccessibilityService ([#647](https://github.com/kaeawc/auto-mobile/issues/647))
- tapOn should use parent clickable element when matched element is not clickable ([#646](https://github.com/kaeawc/auto-mobile/issues/646))
- swipeOn container selection should avoid overlaying clickable elements ([#645](https://github.com/kaeawc/auto-mobile/issues/645))
- Playground app: Add accessibility semantics to navigation components ([#571](https://github.com/kaeawc/auto-mobile/issues/571))
- Research TalkBack/VoiceOver MCP tool behavior and create design doc ([#430](https://github.com/kaeawc/auto-mobile/issues/430)) (a11y, research)
- Experiment: Toggle AutoMobile accessibility service via adb settings ([#384](https://github.com/kaeawc/auto-mobile/issues/384)) (android, a11y, research)
- Feature Request: Implement drag-and-drop gesture and MCP tool call ([#265](https://github.com/kaeawc/auto-mobile/issues/265))
- swipeOn tool needs better container parameter schema, docs, examples ([#263](https://github.com/kaeawc/auto-mobile/issues/263))
- tapOn tool needs better container parameter schema, docs, examples and validation ([#262](https://github.com/kaeawc/auto-mobile/issues/262))
- explore should stay within current foreground app ([#174](https://github.com/kaeawc/auto-mobile/issues/174))
- [Android] Automatic Work Profile adaptation ([#35](https://github.com/kaeawc/auto-mobile/issues/35)) (android)
- Debug Interactions ([#11](https://github.com/kaeawc/auto-mobile/issues/11))
- Retain Navigation in Memory ([#9](https://github.com/kaeawc/auto-mobile/issues/9))
- Android Library SDK ([#8](https://github.com/kaeawc/auto-mobile/issues/8))
- Android WebSocket server ([#7](https://github.com/kaeawc/auto-mobile/issues/7))
- Dockerize AutoMobile ([#5](https://github.com/kaeawc/auto-mobile/issues/5)) (env)
- Database for memory and settings ([#2](https://github.com/kaeawc/auto-mobile/issues/2))
- Rewrite internals with interfaces ([#1](https://github.com/kaeawc/auto-mobile/issues/1))
### Changed
- Cache installed apps list in SQLite and update via package broadcast receivers ([#750](https://github.com/kaeawc/auto-mobile/issues/750)) (performance)
- Optimize observe: Make screenshot capture async/non-blocking ([#749](https://github.com/kaeawc/auto-mobile/issues/749)) (performance)
- Optimize launchApp: Run detectTargetUser and checkInstalled in parallel ([#748](https://github.com/kaeawc/auto-mobile/issues/748)) (performance)
- Add strict 'exactly one' selector enforcement to swipeOn.lookFor ([#740](https://github.com/kaeawc/auto-mobile/issues/740)) (android, testing, chore)
- Add strict 'exactly one' selector enforcement to pinchOn container ([#739](https://github.com/kaeawc/auto-mobile/issues/739)) (android, testing, chore)
- Add strict 'exactly one' selector enforcement to tapOn tool ([#738](https://github.com/kaeawc/auto-mobile/issues/738)) (android, testing, chore)
- Clean up MCP response message when searchUntil doesn't need to poll ([#700](https://github.com/kaeawc/auto-mobile/issues/700))
- Add toolResults parsing in AutoMobilePlanExecutor for JUnitRunner ([#697](https://github.com/kaeawc/auto-mobile/issues/697)) (android, testing)
- Create Kotlin serialization data classes for tool results in :test-plan-validation ([#696](https://github.com/kaeawc/auto-mobile/issues/696)) (android, testing)
- Enhance tapOn response to include selectedElement metadata ([#694](https://github.com/kaeawc/auto-mobile/issues/694)) (android, testing)
- Add selectionStrategy parameter to tapOn tool ([#693](https://github.com/kaeawc/auto-mobile/issues/693)) (android, testing)
- Add boomerang field to swipeOn for dry-run gesture testing ([#675](https://github.com/kaeawc/auto-mobile/issues/675)) (devxp, ai)
- Convert listApps to MCP resource with query support to reduce context usage ([#674](https://github.com/kaeawc/auto-mobile/issues/674)) (devxp, ai)
- Optimize Docker publish job cache export settings to reduce build time by ~60% ([#640](https://github.com/kaeawc/auto-mobile/issues/640)) (ci, performance)
- Improve error output in startup benchmark script ([#639](https://github.com/kaeawc/auto-mobile/issues/639)) (ci, performance)
- Convert daemon management tools to unix socket requests ([#608](https://github.com/kaeawc/auto-mobile/issues/608)) (ai)
- Merge enableDemoMode and disableDemoMode into unified demoMode tool ([#605](https://github.com/kaeawc/auto-mobile/issues/605)) (ai)
- Merge localization tools into unified changeLocalization tool ([#604](https://github.com/kaeawc/auto-mobile/issues/604)) (ai)
- Restrict executePlan and criticalSection tools to daemon mode only ([#603](https://github.com/kaeawc/auto-mobile/issues/603)) (ai)
- Refactor deviceSnapshot MCP tools ([#601](https://github.com/kaeawc/auto-mobile/issues/601)) (ai)
- Move test recording from MCP tools to unix socket interface ([#600](https://github.com/kaeawc/auto-mobile/issues/600)) (ai)
- Refactor MCP video recording tools ([#596](https://github.com/kaeawc/auto-mobile/issues/596)) (ai)
- Evolve MCP tool call openSystemTray ([#595](https://github.com/kaeawc/auto-mobile/issues/595)) (ai)
- Move identifyInteractions and getNavigationGraph to debug-only tools ([#594](https://github.com/kaeawc/auto-mobile/issues/594)) (ai)
- Validate accessibility service version compatibility even when skipAccessibilityDownload is true ([#580](https://github.com/kaeawc/auto-mobile/issues/580)) (android)
- Consolidate MCP benchmark PR comments into a single unified comment ([#576](https://github.com/kaeawc/auto-mobile/issues/576)) (ci, devxp)
- Optimize accessibility service setup: rename skipAccessibilitySetup to skipAccessibilityDownload ([#570](https://github.com/kaeawc/auto-mobile/issues/570)) (performance)
- Feature: Merge window hierarchies into main hierarchy for unified view ([#544](https://github.com/kaeawc/auto-mobile/issues/544)) (android)
- Write integration tests for AccessibilityService focus tracking ([#533](https://github.com/kaeawc/auto-mobile/issues/533)) (android, a11y, testing)
- Write unit tests for AccessibilityFocusTracker ([#532](https://github.com/kaeawc/auto-mobile/issues/532)) (testing)
- Implement dead code detection for TypeScript ([#518](https://github.com/kaeawc/auto-mobile/issues/518)) (ci, devxp, testing)
- Memory leak detection and profiling for TypeScript MCP server ([#512](https://github.com/kaeawc/auto-mobile/issues/512)) (performance, testing)
- Additional performance benchmarks: observe latency, device boot, test plan execution ([#510](https://github.com/kaeawc/auto-mobile/issues/510)) (performance, testing)
- Implement MCP server and daemon startup time benchmark ([#509](https://github.com/kaeawc/auto-mobile/issues/509)) (devxp, performance, testing)
- Implement MCP tool call throughput benchmark ([#508](https://github.com/kaeawc/auto-mobile/issues/508)) (performance, testing)
- Add comprehensive tests for device snapshot feature ([#506](https://github.com/kaeawc/auto-mobile/issues/506)) (testing)
- Implement full app data backup and restore for ADB snapshots ([#505](https://github.com/kaeawc/auto-mobile/issues/505)) (android, testing)
- Refactor: Convert all 'java' directories to 'kotlin' in Android project structure ([#504](https://github.com/kaeawc/auto-mobile/issues/504)) (android, chore)
- CI: Cache Android system images to reduce emulator test setup time from 11+ min to <1 min ([#497](https://github.com/kaeawc/auto-mobile/issues/497)) (android, ci, devxp, performance)
- IDE plugin: YAML autocomplete for test plan files ([#493](https://github.com/kaeawc/auto-mobile/issues/493)) (devxp, intellij plugin)
- CI: Split IDE Plugin validation into separate Build and Test jobs ([#486](https://github.com/kaeawc/auto-mobile/issues/486)) (ci, intellij plugin)
- 'On Merge' workflow should require all jobs to pass before publishing to Docker Hub ([#475](https://github.com/kaeawc/auto-mobile/issues/475)) (ci, release engineering)
- Change explore tool to navigate known graph instead of building it ([#445](https://github.com/kaeawc/auto-mobile/issues/445)) (devxp)
- Skip long-running CI jobs for documentation-only PRs ([#438](https://github.com/kaeawc/auto-mobile/issues/438)) (documentation, ci, devxp, performance)
- Skip CI checks for accessibility service SHA256 update PRs ([#437](https://github.com/kaeawc/auto-mobile/issues/437)) (ci, performance, chore)
- Optimize MCP tools context usage to reduce token consumption ([#434](https://github.com/kaeawc/auto-mobile/issues/434)) (devxp, performance, ai)
- Update accessibility setup flow to prefer settings-based toggle ([#410](https://github.com/kaeawc/auto-mobile/issues/410)) (android, devxp)
- executePlan schema: multi-device + criticalSection ([#392](https://github.com/kaeawc/auto-mobile/issues/392)) (devxp, testing)
- JUnitRunner/Daemon: allocate devices for plan labels ([#391](https://github.com/kaeawc/auto-mobile/issues/391)) (android, testing)
- executePlan: multi-device labels + implicit parallelism ([#390](https://github.com/kaeawc/auto-mobile/issues/390)) (android, testing)
- Add criticalSection tool call for serialized multi-device steps ([#389](https://github.com/kaeawc/auto-mobile/issues/389)) (android, testing)
- IDE plugin: test plan YAML linting ([#387](https://github.com/kaeawc/auto-mobile/issues/387)) (devxp, intellij plugin)
- Validate executePlan YAML on read/author ([#386](https://github.com/kaeawc/auto-mobile/issues/386)) (devxp, testing)
- Add YAML validation across repo ([#385](https://github.com/kaeawc/auto-mobile/issues/385)) (devxp, testing)
- Validation: add XML auto-format/fix script ([#370](https://github.com/kaeawc/auto-mobile/issues/370)) (ci, devxp)
- Validation: add shell script auto-fix via shfmt ([#369](https://github.com/kaeawc/auto-mobile/issues/369)) (ci, devxp)
- Validation: add TypeScript test validation script ([#368](https://github.com/kaeawc/auto-mobile/issues/368)) (ci, devxp, testing)
- Validation: add TypeScript build validation script ([#367](https://github.com/kaeawc/auto-mobile/issues/367)) (ci, devxp)
- Validation: add ESLint validation + auto-fix scripts ([#366](https://github.com/kaeawc/auto-mobile/issues/366)) (ci, devxp)
- Xcode companion app: core UI surfaces (nav graph, performance, feature flags, logs) ([#360](https://github.com/kaeawc/auto-mobile/issues/360)) (ios, devxp)
- Accessibility Bridge distribution: bundle vs on-demand download/caching ([#353](https://github.com/kaeawc/auto-mobile/issues/353)) (ios, release engineering)
- Feature: enforce MCP context thresholds via benchmark script ([#339](https://github.com/kaeawc/auto-mobile/issues/339)) (devxp, performance)
- Feature: estimate MCP context usage (tools, resources, operations) ([#338](https://github.com/kaeawc/auto-mobile/issues/338)) (devxp, performance)
- Recorded test plan migrations + MCP versioning ([#331](https://github.com/kaeawc/auto-mobile/issues/331)) (devxp)
- IDE plugin: migrate all UX to Jewel + Compose ([#328](https://github.com/kaeawc/auto-mobile/issues/328)) (android, intellij plugin)
- Add curl-based interactive installer entrypoint in README + docs/install ([#327](https://github.com/kaeawc/auto-mobile/issues/327)) (documentation, env, devxp)
- Video recording: FFmpeg backend with hardware acceleration (macOS/Linux) ([#325](https://github.com/kaeawc/auto-mobile/issues/325)) (performance, video)
- Add AutoMobile tests/plans for Playground docs/using demos ([#321](https://github.com/kaeawc/auto-mobile/issues/321)) (android, testing)
- Playground app: add demo flows for docs/using workflows ([#320](https://github.com/kaeawc/auto-mobile/issues/320)) (android, devxp)
- IDE plugin: add test recording and YAML plan generation ([#318](https://github.com/kaeawc/auto-mobile/issues/318)) (android, intellij plugin)
- Add MCP resources for test timings and performance results ([#317](https://github.com/kaeawc/auto-mobile/issues/317)) (performance)
- Feature: Extract Android 'Displayed' time metrics from logcat for startup profiling ([#311](https://github.com/kaeawc/auto-mobile/issues/311)) (android, performance)
- IDE Plugin: Display recent UI performance results ([#282](https://github.com/kaeawc/auto-mobile/issues/282)) (android, performance, intellij plugin)
- IDE Plugin: Display historical test timing data for visual analysis ([#281](https://github.com/kaeawc/auto-mobile/issues/281)) (android, performance, testing, intellij plugin)
- JUnitRunner: Use historical test timing to optimize execution order ([#280](https://github.com/kaeawc/auto-mobile/issues/280)) (android, testing)
- MCP Daemon: Provide historical test timing to JUnitRunner on startup ([#279](https://github.com/kaeawc/auto-mobile/issues/279)) (android, testing)
- MCP Daemon: Record test execution timing in SQLite database ([#278](https://github.com/kaeawc/auto-mobile/issues/278)) (testing)
- Rely on view hierarchy updates for navigation destination instead of SDK navigation events ([#277](https://github.com/kaeawc/auto-mobile/issues/277)) (android)
- Add GHA workflow to update CHANGELOG from issues since last tag ([#274](https://github.com/kaeawc/auto-mobile/issues/274)) (release engineering)
- Add manually triggered GHA workflow for version bumping ([#273](https://github.com/kaeawc/auto-mobile/issues/273)) (release engineering)
- Track historical accuracy of predictive UI state ([#221](https://github.com/kaeawc/auto-mobile/issues/221)) (android, performance)
- Add predictive UI state to observations based on navigation graph ([#220](https://github.com/kaeawc/auto-mobile/issues/220)) (android, performance)
- Start test recording via in-app overlay or accessibility service shortcut ([#218](https://github.com/kaeawc/auto-mobile/issues/218)) (android)
- Auto-update accessibility service APK SHA256 via PR when source changes ([#217](https://github.com/kaeawc/auto-mobile/issues/217)) (android, ci, release engineering)
- Enable AccessibilityService to filter out views completely hidden by overlays ([#214](https://github.com/kaeawc/auto-mobile/issues/214)) (android, performance)
- Track Compose recomposition counts in observation results ([#202](https://github.com/kaeawc/auto-mobile/issues/202)) (android, devxp, performance)
- Auto-detect and upgrade accessibility service APK when SHA mismatch ([#199](https://github.com/kaeawc/auto-mobile/issues/199)) (android, release engineering, devxp)
- Add Codex MCP client installation docs ([#184](https://github.com/kaeawc/auto-mobile/issues/184)) (documentation, devxp)
- Revamp Hot Reload Development Workflow ([#164](https://github.com/kaeawc/auto-mobile/issues/164)) (devxp)
- Session State Management to Reduce Required Tool Parameters ([#159](https://github.com/kaeawc/auto-mobile/issues/159)) (devxp)
- Dynamic MCP Tool Loading via Workflow-Based Selection ([#158](https://github.com/kaeawc/auto-mobile/issues/158)) (devxp)
- Test parallel execution across multiple devices ([#151](https://github.com/kaeawc/auto-mobile/issues/151)) (testing)
- Update core tools to respect sessionUuid for device targeting ([#150](https://github.com/kaeawc/auto-mobile/issues/150)) (testing)
- Integrate session context into tool execution ([#149](https://github.com/kaeawc/auto-mobile/issues/149)) (testing)
- Update CLI to accept --session-uuid parameter ([#148](https://github.com/kaeawc/auto-mobile/issues/148)) (testing)
- Add daemon commands for device/session queries ([#147](https://github.com/kaeawc/auto-mobile/issues/147)) (testing)
- Make UI stability thresholds configurable ([#138](https://github.com/kaeawc/auto-mobile/issues/138)) (performance)
- Analyze and prevent JUnitRunner test pollution ([#134](https://github.com/kaeawc/auto-mobile/issues/134)) (android, devxp, testing)
- CI: Run Playground Automobile tests on emulator ([#132](https://github.com/kaeawc/auto-mobile/issues/132)) (android, ci, testing)
- Expose latest observation as MCP resource ([#131](https://github.com/kaeawc/auto-mobile/issues/131)) (devxp)
- CI: Auto-install accessibility APK for JUnitRunner emulator tests ([#126](https://github.com/kaeawc/auto-mobile/issues/126)) (ci, performance)
- MCP Server Daemon for CLI ([#125](https://github.com/kaeawc/auto-mobile/issues/125)) (performance, testing)
- Optimize accessibility audit performance with contrast caching ([#105](https://github.com/kaeawc/auto-mobile/issues/105)) (performance, a11y)
- Add comprehensive unit tests for accessibility audit checks ([#101](https://github.com/kaeawc/auto-mobile/issues/101)) (devxp, a11y)
- Add ESLint rule to prevent .js extensions in TypeScript imports ([#90](https://github.com/kaeawc/auto-mobile/issues/90)) (devxp)
- Touch latency testing implementation ([#85](https://github.com/kaeawc/auto-mobile/issues/85)) (devxp, performance)
- Migrate test runner from Mocha to Bun's built-in test runner ([#81](https://github.com/kaeawc/auto-mobile/issues/81)) (ci, devxp)
- Natural Language Test Commands ([#56](https://github.com/kaeawc/auto-mobile/issues/56))
- Navigation Graph Test Coverage and Recommendations ([#55](https://github.com/kaeawc/auto-mobile/issues/55)) (testing)
- --accessibility-audit mode where WCAG violations fail tests ([#52](https://github.com/kaeawc/auto-mobile/issues/52))
- Flaky Test Detection & Quarantine ([#51](https://github.com/kaeawc/auto-mobile/issues/51))
- Device State Snapshot & Restore ([#46](https://github.com/kaeawc/auto-mobile/issues/46)) (devxp, performance)
- Test Recording & Playback with Smart Locators ([#45](https://github.com/kaeawc/auto-mobile/issues/45))
- Parallel Multi-Device Test Orchestration ([#44](https://github.com/kaeawc/auto-mobile/issues/44))
- Visual Regression Testing (compareScreenshot) ([#40](https://github.com/kaeawc/auto-mobile/issues/40))
- --mem-perf-audit mode where leaks, excessive GC, memory pressure, etc fail tests ([#38](https://github.com/kaeawc/auto-mobile/issues/38))
- App Startup Performance Analyzer (profileAppStartup) ([#37](https://github.com/kaeawc/auto-mobile/issues/37))
- --ui-perf-audit mode where jank and poor FPS fail tests ([#36](https://github.com/kaeawc/auto-mobile/issues/36))
- Consolidate scroll, swipeOnScreen, and swipeOnElement into swipeOn ([#30](https://github.com/kaeawc/auto-mobile/issues/30))
- Create monkeyNavigate tool for efficient graph exploration ([#29](https://github.com/kaeawc/auto-mobile/issues/29))
- systemTray find returns cached observation instead of system tray when tray is closed ([#776](https://github.com/kaeawc/auto-mobile/issues/776)) (android)
- gfxinfo not reaching stability after launchApp for simple UX ([#699](https://github.com/kaeawc/auto-mobile/issues/699)) (performance)
- Test plan/IDE validator doesn't validate dragAndDrop params ([#687](https://github.com/kaeawc/auto-mobile/issues/687)) (devxp, intellij plugin)
- dragAndDrop uses stale cached hierarchy (can drag wrong coords) ([#684](https://github.com/kaeawc/auto-mobile/issues/684)) (android)
- dragAndDrop uses fixed 5s timeout; long gestures always fail ([#683](https://github.com/kaeawc/auto-mobile/issues/683)) (android, performance, a11y)
- dragAndDrop dropDelay default mismatch with schema/docs ([#682](https://github.com/kaeawc/auto-mobile/issues/682)) (documentation)
- MCP Startup Benchmark PR comment has mangled output with escaped newlines ([#575](https://github.com/kaeawc/auto-mobile/issues/575)) (ci, devxp)
- AccessibilityService: Hierarchy optimization removes clickable elements with text labels ([#572](https://github.com/kaeawc/auto-mobile/issues/572)) (android)
- JUnit runner + MCP daemon parallel execution completely broken (3 critical bugs) ([#541](https://github.com/kaeawc/auto-mobile/issues/541)) (android, testing, ai)
- CI: Android Emulator Tests Failing Due to Disk Space Exhaustion ([#522](https://github.com/kaeawc/auto-mobile/issues/522)) (android, ci)
- 3 JUnit Runner emulator tests are skipped due to missing test plan file ([#473](https://github.com/kaeawc/auto-mobile/issues/473)) (android, testing)
- GitHub Actions runner: No space left on device during Docker Hub publish ([#435](https://github.com/kaeawc/auto-mobile/issues/435)) (ci, release engineering, env)
- Build Docker Image CI failing: MCP stdio protocol ENOENT /workspace/src/db/migrations ([#382](https://github.com/kaeawc/auto-mobile/issues/382)) (ci, env)
- Update Changelog workflow should use AUTO_MOBILE_PR_TOKEN for PRs ([#297](https://github.com/kaeawc/auto-mobile/issues/297)) (ci, release engineering)
- Bump Versions workflow fails because ripgrep is missing ([#296](https://github.com/kaeawc/auto-mobile/issues/296)) (ci, release engineering)
- Flaky ClockAppAutoMobileTest fails to reach MCP server in CI ([#257](https://github.com/kaeawc/auto-mobile/issues/257)) (flaky test, testing)
- listApps returns all system apps for every profile, causing huge MCP response ([#215](https://github.com/kaeawc/auto-mobile/issues/215)) (android, performance)
- Improve long press implementation and add playground testing areas ([#203](https://github.com/kaeawc/auto-mobile/issues/203)) (android, testing)
- Flaky accessibility-service WebSocketServerIntegrationTest in CI ([#197](https://github.com/kaeawc/auto-mobile/issues/197)) (android, flaky test, ci, testing)
- Navigation tests fail with Robolectric OnBackPressedDispatcher incompatibility ([#190](https://github.com/kaeawc/auto-mobile/issues/190)) (android, ci)
- Playground emulator tests fail: koog-agents dependency classloading issue ([#189](https://github.com/kaeawc/auto-mobile/issues/189)) (android, ci, testing)
- CI: Android emulator tests failing with shell exit code 1 ([#156](https://github.com/kaeawc/auto-mobile/issues/156)) (android)
- JUnit Runner Emulator Tests failing with shell syntax error ([#140](https://github.com/kaeawc/auto-mobile/issues/140)) (android, ci)
- Migrate from better-sqlite3 to bun:sqlite for Bun compatibility ([#118](https://github.com/kaeawc/auto-mobile/issues/118)) (enhancement)
- JUnit Runner: Test Timeout When Running Multiple Tests Together ([#107](https://github.com/kaeawc/auto-mobile/issues/107))
- PluginException: TestPlanInspection shortName mismatch ([#768](https://github.com/kaeawc/auto-mobile/issues/768))
- Chore: Test clipboard tool ([#767](https://github.com/kaeawc/auto-mobile/issues/767))
- Chore: Test system tray lookFor ([#766](https://github.com/kaeawc/auto-mobile/issues/766))
- Chore: Test biometrics stubbing ([#763](https://github.com/kaeawc/auto-mobile/issues/763))
- Chore: Test takeScreenshot fallback tool ([#762](https://github.com/kaeawc/auto-mobile/issues/762))
- Add unit tests for accessibility APK download/verification paths ([#730](https://github.com/kaeawc/auto-mobile/issues/730)) (android, testing)
- Harden accessibility APK download (HTTP status + curl fallback + integrity check) ([#729](https://github.com/kaeawc/auto-mobile/issues/729)) (android, release engineering, env)
- Use unique, OS-portable temp path for accessibility APK download ([#728](https://github.com/kaeawc/auto-mobile/issues/728)) (android, release engineering, env)
- APK download fails on macOS due to sha256sum dependency ([#727](https://github.com/kaeawc/auto-mobile/issues/727)) (android, release engineering, env)
- Add tests for occlusion filtering behavior ([#719](https://github.com/kaeawc/auto-mobile/issues/719)) (android, performance, testing)
- Update tool-definitions.json for tapOn selectionStrategy and selectedElement ([#695](https://github.com/kaeawc/auto-mobile/issues/695)) (documentation, android, testing)
- Add dragAndDrop test coverage; fakes/interface lack requestDrag ([#685](https://github.com/kaeawc/auto-mobile/issues/685)) (devxp, testing)
- Research effectiveness of current navigation graph implementation ([#676](https://github.com/kaeawc/auto-mobile/issues/676)) (documentation, research)
- Enhancement: Hybrid hierarchy combining accessibility service + UIAutomator for apps with poor accessibility ([#588](https://github.com/kaeawc/auto-mobile/issues/588))
- Change accessibility service SHA256 update to run daily instead of on every main merge ([#577](https://github.com/kaeawc/auto-mobile/issues/577))
- CI: bun pm trust heapdump exits 1 in memory leak detection ([#569](https://github.com/kaeawc/auto-mobile/issues/569))
- CI failures after #562: native addon build errors ([#568](https://github.com/kaeawc/auto-mobile/issues/568))
- Standardize naming convention: auto-mobile for Maven artifacts, automobile for package names ([#540](https://github.com/kaeawc/auto-mobile/issues/540)) (android, release engineering, chore)
- Build and deploy AccessibilityService APK with focus tracking ([#534](https://github.com/kaeawc/auto-mobile/issues/534)) (android, devxp)
- CI: Optimize Android emulator test daemon warmup (currently ~90s overhead) ([#527](https://github.com/kaeawc/auto-mobile/issues/527)) (android, ci, devxp, performance)
- Memory leak detection and profiling for IntelliJ IDE Plugin ([#515](https://github.com/kaeawc/auto-mobile/issues/515)) (devxp, performance, testing, intellij plugin)
- Memory leak detection and profiling for JUnitRunner library ([#514](https://github.com/kaeawc/auto-mobile/issues/514)) (android, performance, testing)
- Memory leak detection and profiling for Android AccessibilityService ([#513](https://github.com/kaeawc/auto-mobile/issues/513)) (android, performance, a11y, testing)
- Validate and test VM snapshot emulator console commands ([#507](https://github.com/kaeawc/auto-mobile/issues/507)) (android, testing, research)
- End-to-end testing for clipboard MCP tool ([#501](https://github.com/kaeawc/auto-mobile/issues/501)) (testing)
- Refactor gradle modules: extract shared test plan validation into android/test-plan-validation ([#492](https://github.com/kaeawc/auto-mobile/issues/492))
- Standardize environment variable naming: AUTOMOBILE_ vs AUTO_MOBILE_ prefix ([#483](https://github.com/kaeawc/auto-mobile/issues/483)) (documentation, env, devxp, chore)
- Optimize slow TypeScript unit tests (35 files exceed 100ms) ([#481](https://github.com/kaeawc/auto-mobile/issues/481)) (performance, testing)
- Add Gradle test report patterns to root .gitignore ([#476](https://github.com/kaeawc/auto-mobile/issues/476)) (android, testing, chore)
- Optimize Android emulator test job runtime and reduce flakiness ([#446](https://github.com/kaeawc/auto-mobile/issues/446)) (android, flaky test, ci, performance)
- Enable auto-merge on accessibility service update PR ([#436](https://github.com/kaeawc/auto-mobile/issues/436)) (ci, devxp, chore)
- Document settings-based accessibility toggle ([#412](https://github.com/kaeawc/auto-mobile/issues/412)) (documentation, devxp)
- Test settings-based accessibility toggle on API 29 & 35 ([#411](https://github.com/kaeawc/auto-mobile/issues/411)) (android, devxp, testing)
- Research: validate Android design-doc experiments with adb ([#393](https://github.com/kaeawc/auto-mobile/issues/393)) (android, research)
- Clarify bug reproduction doc with snapshot and MCP action links ([#345](https://github.com/kaeawc/auto-mobile/issues/345)) (documentation)
- Link test recording and YAML plan workflow from user docs ([#344](https://github.com/kaeawc/auto-mobile/issues/344)) (documentation, android)
- Call out accessibility service enablement in install/usage docs ([#343](https://github.com/kaeawc/auto-mobile/issues/343)) (documentation, android)
- Add decision guide for MCP vs IDE plugin vs JUnitRunner vs SDK ([#342](https://github.com/kaeawc/auto-mobile/issues/342)) (documentation, android)
- Add Android first-run path from device setup to a concrete task ([#341](https://github.com/kaeawc/auto-mobile/issues/341)) (documentation, android)
- Review docs/ directory for accuracy and add implementation citations ([#276](https://github.com/kaeawc/auto-mobile/issues/276)) (documentation)
- Setup Trusted Publishing for npm packages with GitHub Actions ([#275](https://github.com/kaeawc/auto-mobile/issues/275)) (release engineering)
- Refactor Tap and Long Press tabs into unified screen with real-time duration tracking ([#266](https://github.com/kaeawc/auto-mobile/issues/266))
- Optimize JUnitRunner heartbeat mechanism for faster daemon timeout detection ([#232](https://github.com/kaeawc/auto-mobile/issues/232)) (android, devxp, performance, testing)
- Docker Hub publish job fails: missing bun installation ([#188](https://github.com/kaeawc/auto-mobile/issues/188)) (ci, release engineering, env, devxp)
- Phase 3b: JUnitRunner Direct Socket IPC (170ms/test optimization) ([#145](https://github.com/kaeawc/auto-mobile/issues/145)) (android, performance, testing)
- Optimize JUnitRunner performance based on #133 research ([#135](https://github.com/kaeawc/auto-mobile/issues/135)) (android, ci, devxp, performance)
- Analyze and optimize JUnitRunner performance bottlenecks ([#133](https://github.com/kaeawc/auto-mobile/issues/133)) (ci, performance)
- Performance Research, Analysis, and Upgrade of Emulator CI jobs ([#123](https://github.com/kaeawc/auto-mobile/issues/123)) (android, ci, performance)
- Register Maven central namespace ([#120](https://github.com/kaeawc/auto-mobile/issues/120)) (android, release engineering)
- Enable JUnit Runner tests in GitHub Actions CI ([#110](https://github.com/kaeawc/auto-mobile/issues/110)) (android, ci, devxp)
- Improve Android user profile parsing to use structured data instead of regex ([#106](https://github.com/kaeawc/auto-mobile/issues/106)) (android, devxp)
- Run Android AutoMobile self tests on an Android Emulator in GHA ([#94](https://github.com/kaeawc/auto-mobile/issues/94)) (ci, devxp)
- Android CI Perf Improvements ([#93](https://github.com/kaeawc/auto-mobile/issues/93)) (ci, devxp, performance)
- Rename monkeyNav MCP tool call to explore ([#80](https://github.com/kaeawc/auto-mobile/issues/80)) (devxp)
- Migrate from pnpm to bun for peak performance ([#79](https://github.com/kaeawc/auto-mobile/issues/79)) (ci, devxp)
- Convert from npm to pnpm ([#63](https://github.com/kaeawc/auto-mobile/issues/63))
- Skip Docker CI if Dockerfiles and package.json did not change ([#62](https://github.com/kaeawc/auto-mobile/issues/62))
- Document Claude Code installation and usage ([#31](https://github.com/kaeawc/auto-mobile/issues/31)) (documentation)
- Publish scoped package on NPM ([#19](https://github.com/kaeawc/auto-mobile/issues/19)) (release engineering)
### Fixed
- Bug: Duplicate/embedded observe in launchApp causing bloated MCP responses ([#751](https://github.com/kaeawc/auto-mobile/issues/751)) (performance)
- Fix swipeOn coordinate calculation and overlay detection bugs ([#722](https://github.com/kaeawc/auto-mobile/issues/722))
- Bug: swipeOn with lookFor scrolls in wrong direction repeatedly ([#671](https://github.com/kaeawc/auto-mobile/issues/671)) (android)
- Fix: Taps via accessibility service were being interpreted as long presses ([#666](https://github.com/kaeawc/auto-mobile/issues/666)) (android)
- Bug: launchApp not correctly observing app state after launch ([#537](https://github.com/kaeawc/auto-mobile/issues/537)) (android)
- Bug: tapOn schema validation error - container field expects object but receives string ([#535](https://github.com/kaeawc/auto-mobile/issues/535))
- Flaky test: planExecutionLock 'allows MCP tool calls when no plan is executing' times out in CI ([#482](https://github.com/kaeawc/auto-mobile/issues/482)) (flaky test, ci, testing)
- Fix Android emulator CI job failures - 13m wasted on bugs, Gradle times out ([#447](https://github.com/kaeawc/auto-mobile/issues/447)) (android, ci)
- Regression: JUnitRunner tests only using 1 device instead of device pool ([#444](https://github.com/kaeawc/auto-mobile/issues/444)) (testing)
- Bug: AutoMobile incorrectly identifies system notification permission dialog as permission controller ([#402](https://github.com/kaeawc/auto-mobile/issues/402))
- Bug: Work profile apps fail observation due to hardcoded u0 user profile in regex patterns ([#314](https://github.com/kaeawc/auto-mobile/issues/314)) (android)
- Fix FakeAccessibilityServiceManager interface import path ([#731](https://github.com/kaeawc/auto-mobile/issues/731)) (android, testing)
- Flaky test: Session Lifecycle with Device Reuse sometimes returns different device ([#548](https://github.com/kaeawc/auto-mobile/issues/548)) (flaky test, ci, testing)
- Fix MonkeyNavigate integration test timeouts ([#73](https://github.com/kaeawc/auto-mobile/issues/73))
- Flaky test: AccessibilityServiceClient WebSocket connection failure handling ([#72](https://github.com/kaeawc/auto-mobile/issues/72)) (flaky test)
- Flaky test: AccessibilityServiceClient WebSocket connection failure timeout ([#68](https://github.com/kaeawc/auto-mobile/issues/68)) (flaky test)
### Deprecated
- Enhance devices resource with pool status and deprecate listDevices tool ([#606](https://github.com/kaeawc/auto-mobile/issues/606)) (ai)
### Removed
- Remove deprecated listApps MCP tool ([#713](https://github.com/kaeawc/auto-mobile/issues/713))
- Remove daemon_available_devices tool and forward usage to listDevices ([#607](https://github.com/kaeawc/auto-mobile/issues/607)) (ai)
- Remove listSnapshots tool - create automobile:snapshots resource instead ([#602](https://github.com/kaeawc/auto-mobile/issues/602)) (ai)
- Remove listPerformanceAuditResults MCP tool ([#599](https://github.com/kaeawc/auto-mobile/issues/599)) (ai)
- Remove getTestTimings tool ([#598](https://github.com/kaeawc/auto-mobile/issues/598)) (ai)
- Remove listVideoRecordings tool - already exposed via automobile:video/archive resource ([#597](https://github.com/kaeawc/auto-mobile/issues/597)) (ai)
- Remove duplicate 'Publish Docker Image' workflow - Docker publishing already handled by 'On Merge' workflow ([#474](https://github.com/kaeawc/auto-mobile/issues/474)) (ci, release engineering, chore)
- Remove KotlinPoet and automated test authoring references ([#200](https://github.com/kaeawc/auto-mobile/issues/200)) (documentation, android)
- Remove installPlatformDependencies now that AutoMobile is dockerized ([#177](https://github.com/kaeawc/auto-mobile/issues/177))
- Remove getAllConfigs/setDeviceMode/resetConfig MCP tool calls ([#175](https://github.com/kaeawc/auto-mobile/issues/175))
- Delete source mapping and automatic test authoring ([#4](https://github.com/kaeawc/auto-mobile/issues/4))
- Delete iOS implementation ([#3](https://github.com/kaeawc/auto-mobile/issues/3))
### Security
- Deep Link Security Validator (validateDeepLinkSecurity) ([#58](https://github.com/kaeawc/auto-mobile/issues/58))
- Security: Insecure temporary file creation in daemon manager ([#157](https://github.com/kaeawc/auto-mobile/issues/157))
- CodeQL check failing in CI ([#141](https://github.com/kaeawc/auto-mobile/issues/141)) (ci)

## [0.0.6] - Unreleased
### Changed
- Placeholder: started fork; release notes not recorded.

## [0.0.5] - 2025-07-22
### Added
- Add ADB command auto retry

### Changed
- Improve view hierarchy search for elements with auto retry
- Refactor ConfigurationManager

### Fixed
- Test authoring fixes

## [0.0.4] - 2025-07-08
### Added
- Automate Accessibility Service install and enablement on first ADB command for a device
- Check APK SHA256 before installing
- Allow element search to restrict to specific containers in the view hierarchy

### Changed
- Increase accessibility node inspection for better view hierarchy data
- Filter unnecessary view hierarchy data to reduce observe payloads
- Parallelize and cache observation and idling steps
- Refactor BaseVisualChange
- Reduce tool calls to make it easier for agents to determine tool call selection

## [0.0.3] - 2025-07-08
### Added
- Automate Accessibility Service install and enablement
- Check APK SHA256 before installing
- Allow element search to restrict to specific containers in the view hierarchy

### Changed
- Increase accessibility node inspection for better view hierarchy data
- Filter unnecessary view hierarchy data to reduce observe payloads
- Parallelize and cache observation and idling steps
- Refactor BaseVisualChange
- Reduce tool calls to make it easier for agents to determine tool call selection

## [0.0.2] - 2025-07-01
### Added
- Accessibility service with availability checks
- Active window caching
- Device session management

### Changed
- Improved docs for setup and installation
- More test coverage

## [0.0.1] - 2025-06-24
### Added
- Initial release
