Skip to content

AI Workbench v1.11.0

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Aug 16:04

AI Workbench v1.11.0

What's Changed

Mouse clicks now reach the application running inside a pane.

Fixed

  • [FIX] Clicks reach Claude Code and lazygit. Claude Code's "Jump to bottom
    (click)" button did nothing in the workbench — and so did every other
    clickable element in Claude Code and lazygit. v0.96.0 taught the workbench to
    forward the mouse wheel to an inner application that enables mouse tracking,
    but buttons were never forwarded: a left click was consumed locally for focus
    and text selection, so the ESC [ <0;col;row M report the application waits
    for was never sent. Press, drag and release are now routed the same way the
    wheel already was — if the inner application requested mouse tracking
    (DECSET 1000/1002/1003), the event goes to it; otherwise nothing changes and
    the local selection keeps working as before. The press captures the pane, so
    a drag that leaves the pane still reports to the application that received it,
    and the protocol mode is respected (no release reports to an X10-mode app, no
    motion reports without 1002/1003).

Changed

  • [CHG] In mouse-aware panes the mouse belongs to the application. Where an
    inner application tracks the mouse, the workbench no longer starts its own
    text selection — Claude Code marks text itself, and that selection was what
    the workbench had been overriding all along. Panes without mouse tracking —
    a plain shell, the preview pane — are untouched: click and drag still selects
    and copies to the clipboard exactly as before.

Security

  • [ADD] Self-update now verifies release signatures (SEC-01 Half 2 — finding
    closed).
    Archives have been signed in CI since v1.6.0, but the client
    installed whatever GitHub served: a compromised release asset would have
    installed itself on every machine at the next auto-update.
    src/update/install.rs now embeds signing/ai-workbench-pub.bin as
    RELEASE_PUBLIC_KEY and passes it to both Update::configure() chains, so
    self_update rejects any archive that is unsigned or signed with another
    key. The published v1.10.1 asset was verified against the committed key
    before enabling this, confirming binary and CI use the same key. Two
    consequences: signing is now mandatory in the release workflow (missing
    ZIPSIGN_PRIVATE_KEY fails the job instead of publishing an uninstallable
    release), and --update-to targets must be v1.6.0 or newer, since
    earlier releases predate signing.
  • [FIX] SECURITY-NOTES.md no longer reports two fixed issues as open.
    "Shell Fallback in Dependency Probe" and "Predictable Temp File Path" were
    still listed as (MEDIUM — open) although both were closed in v0.90.0 —
    the shell fallback is gone from dependency_checker.rs, and
    pdf_export.rs:130 uses tempfile::Builder…tempfile_in() with O_EXCL.
    Both moved to "Closed Findings" with the verifying evidence.

Internal

  • [CHG] portable-pty 0.8.1 → 0.9.0, which drops the serial crate
    (unmaintained since 2017, RUSTSEC-2017-0008) in favour of serial2 and
    pulls nix up to 0.28. No source change was required. Removes the only
    cargo audit warning that reached the project through a direct dependency.
  • encode_mouse_button_event() and mode_reports() in src/terminal.rs
    (pure, unit-tested) next to the existing encode_wheel_event();
    PseudoTerminal::send_mouse_button() writes them past write_input() so the
    scrollback position survives, as send_mouse_wheel() already did.
  • App::forward_mouse_button() / App::pty_pane_rect() in src/app/mouse.rs,
    new App::pty_mouse_capture: Option<PaneId> field.
  • wheel_coords_in_pane() renamed to pane_cell_coords() — it now serves
    buttons as well as the wheel.
  • 267 unit + 3 CLI tests pass (+4).

Downloads

Platform Architecture Download
Linux x64 ai-workbench-x86_64-unknown-linux-gnu.tar.gz
Linux ARM64 ai-workbench-aarch64-unknown-linux-gnu.tar.gz
macOS Apple Silicon (M1/M2/M3/M4) ai-workbench-aarch64-apple-darwin.tar.gz
macOS Intel ai-workbench-x86_64-apple-darwin.tar.gz
Windows x64 ai-workbench-x86_64-pc-windows-msvc.zip
Windows ARM64 ai-workbench-aarch64-pc-windows-msvc.zip

Installation

Homebrew (macOS / Linux):

brew install eqms/ai-workbench/ai-workbench

Unix (Linux/macOS):

# Download and extract
tar xzf ai-workbench-*.tar.gz
chmod +x ai-workbench
./ai-workbench

Windows:

# Extract zip and run
Expand-Archive ai-workbench-*.zip -DestinationPath .
.\ai-workbench.exe

Auto-Update

AI Workbench includes built-in auto-update functionality. Updates are checked automatically on startup.

See README for full documentation.