diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a6d447..6950124 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.6] - 2026-08-05 + ### Fixed - Native X11 coordinate clicks now use one supervised `xdotool mousemove -- X Y click --repeat N BUTTON` command after the @@ -405,7 +407,8 @@ pages; also bumps the MCP server's advertised version string to match. - Validated against GNOME 50.1 on Wayland (Ubuntu 25.10). - KDE / Sway / Hyprland untested — see README support matrix. -[Unreleased]: https://github.com/agent-sh/computer-use-linux/compare/v0.4.5...HEAD +[Unreleased]: https://github.com/agent-sh/computer-use-linux/compare/v0.4.6...HEAD +[0.4.6]: https://github.com/agent-sh/computer-use-linux/compare/v0.4.5...v0.4.6 [0.4.5]: https://github.com/agent-sh/computer-use-linux/compare/v0.4.4...v0.4.5 [0.4.4]: https://github.com/agent-sh/computer-use-linux/compare/v0.4.3...v0.4.4 [0.4.3]: https://github.com/agent-sh/computer-use-linux/compare/v0.4.2...v0.4.3 diff --git a/Cargo.lock b/Cargo.lock index f288cab..1cb96ac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -313,7 +313,7 @@ dependencies = [ [[package]] name = "computer-use-linux" -version = "0.4.5" +version = "0.4.6" dependencies = [ "anyhow", "atspi", diff --git a/Cargo.toml b/Cargo.toml index c67fdae..4805351 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "computer-use-linux" -version = "0.4.5" +version = "0.4.6" edition = "2021" authors = ["Avi Fenesh "] license = "MIT" diff --git a/package.json b/package.json index fe81dc9..4322803 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@agent-sh/computer-use-linux", - "version": "0.4.5", + "version": "0.4.6", "description": "Linux desktop-control MCP server: AT-SPI accessibility trees, Wayland/X11 input, screenshots, and compositor window targeting.", "license": "MIT", "type": "commonjs", diff --git a/src/server.rs b/src/server.rs index d6756aa..de7a8b1 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1689,7 +1689,7 @@ impl ComputerUseLinux { // The rmcp tool_handler macro only accepts a string literal here, so this // can't be env!("CARGO_PKG_VERSION"); the MCP safety check (CI) fails the // build if it drifts from the Cargo version. - version = "0.4.5", + version = "0.4.6", instructions = "Begin every turn that uses Computer Use by calling get_app_state. If diagnostics report disabled GNOME accessibility, call setup_accessibility before asking the user to retry. Use list_windows/focused_window before targeted keyboard input. If diagnostics report windowing.can_list_windows=false on GNOME, call setup_window_targeting to install the optional GNOME Shell extension backend, then ask the user to log out and back in if the setup report says a shell reload is required. This Linux backend can capture size-bounded screenshots through GNOME Shell or XDG Desktop Portal, read AT-SPI trees with action/value metadata, invoke native AT-SPI actions, set AT-SPI values or editable text, list/focus compositor windows through registered Linux window backends when the session permits it, attach best-effort terminal tty/process metadata to terminal windows, send coordinate or element-targeted click/scroll/drag input through the Wayland remote desktop portal when available, and send layout-safe literal type_text through KDE clipboard integration on Plasma Wayland or through portal keysyms on other Wayland sessions before falling back to ydotool. Screenshot results include width/height for the returned image plus coordinate_width/coordinate_height and scale for desktop coordinate conversion; request more detail with max_width, max_height, max_bytes, format=jpeg, quality, or a smaller target/crop instead of relying on unbounded screenshots. Tools with readOnlyHint=false may mutate local desktop or application state; hosts should require approval for actions that can submit, delete, send, purchase, or overwrite data. For element-targeted actions, prefer element_index from the latest get_app_state result; click, perform_action, and set_value can also use semantic role/name/text/states selectors when the target is unique. type_text and press_key accept optional window_id, pid, app_id, wm_class, title, tty, terminal_pid, terminal_command, or terminal_cwd selectors and refuse targeted input if focus cannot be verified. After targeted keyboard input, results append focused-element feedback from AT-SPI (role, name, editable) and warn when no editable element holds focus — treat that warning as the input not landing. Screenshot, click, and input results warn when the target window or coordinate is partially or fully off-screen; use move_window/resize_window (GNOME Shell extension backend) to bring a window fully on-screen before retrying. scroll accepts the same window targeting and relative coordinates as click. get_app_state returns a compact readiness block by default; pass verbose=true for the full diagnostics dump. Electron apps expose no AT-SPI tree unless launched with --force-renderer-accessibility." )] impl ServerHandler for ComputerUseLinux {}