Repository navigation
v0.7.23
Fixed
- Qt buttons use stable native AT-SPI actions instead of falling back to pointer clicks.
- Stale semantic targets refresh once within the original app and explicit-window scope. Actions are never replayed after dispatch.
- Short and reverse-DNS app IDs select a scoped accessibility tree. Ambiguous or rejected identities fail closed.
- Editable-text writes use exact full-content readback, including Unicode scalar and UTF-16 offset models. Password contents remain explicitly unverifiable.
- KWin Save/Open dialogs, confirmation prompts and verified interactive transients remain targetable.
- KWin element clicks map frame/client/output geometry at fractional scale. Ambiguous window ownership, unknown desktop visibility, mixed scales and stale pointer dimensions are rejected before input.
- Failed actions return MCP
isError: true. X11 PointerRoot keeps one text dispatch with an explicit monitoring warning.
Security
- Update Tokio to 1.53.3 for RUSTSEC-2026-0386.
- Update Pi/schema dependencies and regenerate the bundled client, including patched Undici, Vitest, Zod, body-parser, fast-uri and ip-address.
Verification and thanks
Local checks include 519 Rust library tests (2 ignored), 33 Pi tests against the real server, all 18 MCP tool schemas, plugin install/tamper checks, nine isolated X11 scenarios, and real GTK native activation plus exact Unicode text readback at 1× and 2× scale.
KDE has geometry and emitted-script fixture coverage here. @sinantux, please verify 0.7.23 on your EndeavourOS/Plasma 150% session and report the results on #281, #282, #283 and #284. Live KDE behavior is not claimed. Thanks for the detailed reports.
Thanks @OnlyHa1bara for the MCP error-result fix in #280, and @JADRT22 for the X11 input-loss reproductions.