Skip to content

winuse 0.2.5

Choose a tag to compare

@straygizmo straygizmo released this 30 Oct 02:01
· 11 commits to main since this release

winuse 0.2.5 answers the second round of feedback from driving Java Swing apps: get_table can skip the column header and tells a read failure from an empty cell, and the Java tree says when it may be incomplete for a reason other than the node limit.

Changes

  • get_table without the header. include_header: false never reads the column header (no bridge call, nothing in the result or the log) and rows holds data rows only. The result always carries column_count, so max_rows: 0, include_header: false returns the table size alone.
  • Read failure vs. empty cell. A cell the Java Access Bridge (or UIA) could not hand out or describe is null instead of "", and unreadable_cells counts them. An empty cell stays "", so a caller that decides on a cell value no longer mistakes a failed read for a blank.
  • Depth limit. get_ui_tree on a Java window reports depth_limit_reached: true when an element at max_depth had children that were not walked. A leaf at the limit does not set it.
  • Unreadable children. Children the bridge gave no handle or no context info for were already skipped; get_ui_tree now reports unreadable_nodes: n and the server logs a warning. Together with node_limit_reached these fields say when an element that exists may be missing from the tree; treat "element absent" as unknown while any of them is set.

Scenarios recorded with 0.2.4 replay unchanged. The one behaviour change for existing clients: a get_table cell that fails to read is null where it used to be "".

Install

  1. Install the .NET 10 runtime (or SDK).
  2. Unzip winuse-0.2.5-win-x64.zip into a folder.
  3. Register with Claude Code: claude mcp add winuse -- <folder>\winuse.exe --mcp
  4. Set JEV_API_KEY, or CLOUDFLARE_ACCOUNT_ID and CLOUDFLARE_API_TOKEN, as user environment variables, then run winuse doctor.

Upgrading: unzip over the previous folder; no settings change.

Known issues

  • The new fields are verified against a fake bridge in the test suite, not yet on a live Swing app with a failing bridge call.

Full changelog: CHANGELOG.md