Highlights
Protocol integrity. The server no longer writes to stdout, which on the default stdio transport is the JSON-RPC channel. Tree traversal was printing every word of every editable control it encountered, interleaving plain text into the framing the client parses (#359).
Reliability under load. Snapshot and WaitFor tree capture is now size-bounded to prevent hangs and oversized output (#353), the UIA watchdog self-heals after repeated COM failures (#334), and a corrupted comtypes.gen cache from concurrent generation is now handled (#358).
Multi-monitor. Display captures are aligned correctly, annotated captures stay within screenshot bounds, and a structured per-monitor display inventory was added (#303, #329).
Added
- Structured per-monitor display inventory by @zengfanfan in #329
- Explicit-start drag support for
Moveby @zengfanfan in #328 WINDOWS_MCP_WATCHDOGswitch to disable the UIA watchdog by @mvanhorn in #333- Strict executable launch by @zengfanfan in #335
Fixed
- Stop writing to stdout, which carries the stdio JSON-RPC protocol by @Jeomon in #359
- Corrupted
comtypes.gencache from concurrent generation by @pranco388 in #358 - Report missing startup dependencies instead of exiting with a bare traceback by @dgonick in #355
- Bound Snapshot/WaitFor tree capture size to prevent hangs and oversized output by @Veloflott in #353
- Self-healing UIA watchdog reconnect on repeated COM failures by @Jeomon in #334
- Multi-monitor snapshot annotations by @sposer and @ackinul in #303
- Raise on failure so
isError=trueon the MCP wire by @sanjibani in #300 - Retry
get_active_windowon transient empty UIA results by @Austin519 in #294 - Paste long text via clipboard to avoid SendKeys scan-code race by @Austin519 in #293
- Guard auth banner against non-UTF-8 stdout by @Austin519 in #292
- Reject invalid input boolean values by @zengfanfan in #330
- Reject invalid
WaitFortiming values by @zengfanfan in #336
Tests & CI
- Unit test workflow for pull requests by @JezaChen in #343
- Repair broken isError-compliance regression test by @JezaChen in #341
Docs
- Add Autohand Code MCP setup by @igorcosta in #325
Maintenance
- Dependency updates by @temotskipa in #307, #311, #337
- Packaging metadata resynced:
manifest.jsonandserver.json's package entry had drifted two releases behindpyproject.toml - Routine automated dependency bumps
Contributors
Thank you to everyone who contributed between v0.8.2 and v0.8.5:
New contributors
@Austin519, @sposer, @sanjibani, @igorcosta, @zengfanfan, @Veloflott, @dgonick and @pranco388 made their first contributions in this release. Welcome, and thank you.
Full Changelog: v0.8.2...v0.8.5