Week of November 2, 2026

Cua Driver
- Cua Driver 0.39.0Full details on GitHub
- Cua Driver 0.40.1Full details on GitHub
- Cua Driver 0.40.2Full details on GitHub
- Cua Driver 0.40.5Full details on GitHub
- Cua Driver 0.40.6Full details on GitHub
- Cua Driver 0.41.0Full details on GitHub
- Cua Driver 0.41.1Full details on GitHub
- Cua Driver 0.41.2Full details on GitHub
- Cua Driver 0.41.3Full details on GitHub
- Cua Driver 0.43.2Full details on GitHub
- Cua Driver 0.44.0Full details on GitHub
Features
- Compat gateways for E2B and Daytona, Hetzner as your own cloud, the elastic pool, cua share and the public relay — #5778.
- Let macOS actions skip the post-action window-change wait — #6033.
- Add JPEG screenshots to get_window_state and encode from raw pixels — #6042.
- Plain, upright agent cursor by default; effects and marks opt-in — #6142.
- Add a niri compositor adapter for Linux Wayland — #6209.
- Cursor floats while moving, soft halo, lean/heading rotation modes — #6325.
- Fast path with act-time target guards, behind a default-off flag (CUA-3102) — #6332.
- Opt-in refusal of ungranted macOS Automation scripting — #5777.
- Capture embedded startup diagnostics — #3281.
- Add cua-driver test to check a new install end to end (CUA-3660) — #6765.
- Capture the KWin desktop through ScreenShot2 behind kwin-capture — #6890.
- Write the KWin desktop entry for the install that owns the CLI — #6836.
Fixes
- Keys for a popup an MPX click opened go through the master keyboard of the session that clicked — #5652.
- The macOS WindowServer health check treats any app-bundle host as bundled — #5680.
- Guard Space-free background window enumeration — #5712.
- Stabilize the known flaky release-gate tests — #5538.
- Build client-kind SDK constructors without rebuilding the driver — #5896.
- Give the DOM-click baseline readback a longer budget — #5918.
- Remove zero-caller macOS drag and AXValue helpers — #5962.
- Remove zero-caller input, portal screencast, sway and overlay functions — #5958.
- Inline identical refusal forwarders — #5963.
- Delete zero-caller API in cua-driver-core and cua-driver — #5815.
- Refuse Windows Chromium clicks from a minimized-window snapshot — #5686.
- Treat Windows elements read while minimized as stale on resolver-routed clicks — #6049.
- Remove dead macOS active-Space helper and single-use snapshot wrapper — #6094.
- Drop the unused test-only capture registry action API — #6114.
- Share overlay query reads across Linux and Windows — #6117.
- Locate Finder by name on macOS — #5390.
- Map Wayland punctuation shortcut keys — #4811.
- Restore Windows cursor after foreground window clicks — #5772.
- Honor modifiers during Windows drags — #5667.
- Await synthetic smooth-scroll readback — #4602.
- Share the keyring history key provider in cua-driver-core — #5895.
- Resolve Windows press_key characters on the target's layout — #6201.
- Deliver libei pointer input to secondary monitors — #5853.
- Report denied Linux portal screenshots instead of falling back to X11 — #6124.
- Share the DevTools /json/version probe across browser adapters — #6098.
- Report the current frontmost app on macOS without the overlay — #6182.
- Name current snapshots on a token-only refusal, and refuse a bare row a re-read orphaned — #6259.
- Stop the Linux focus restore when the saved window is gone — #5596.
- Count only the returned elements in an elements diff read — #5649.
- Never borrow keycode 8 for a Linux text character — #5595.
- A file write on the Cua Volume mount no longer fails after the file is in place — #6322.
- Draw the GNOME helper cursor's tip on the click point — #6344.
- Stop the X11 agent cursor splitting in two while it moves — #6343.
- Quarantine the linux-kvm concurrent flake, fix the TCC seed lock and the Windows portmap pick — #6365.
- Restore the X11 active window by bouncing the core focus when only the WM's record moved — #5651.
- Record KDE Wayland desktops through the portal ScreenCast — #6361.
- Scope bounded launch_app to resources.apps launch grants — #5690.
- Paint the macOS cursor overlay as a region, not a full-screen frame — #5650.
- Expose legacy macOS page fallback — #5590.
- Collapse daemon-proxy spawn and test the macOS proxy path — #5812.
- Stop unit tests mutating the process environment — #6417.
- Keep browser refusal codes through protected scope attestation — #5573.
- List bound tabs in the order the browser reports them — #5527.
- Tell picom's damage lag from a torn frame in the X11 overlay test — #6431.
- Report a sent but unanswered AT-SPI option pick as may-have-landed — #6445.
- Time the batch pause test on a paused clock — #6453.
- Treat a niri focus read-back the deadline cut off as unconfirmed — #6436.
- Stamp the window-local point on macOS 27 background clicks — #5492.
- Stop the Node runtime leaking a libuv handle per future poll — #5691.
- Keep browser attestation off the renderer while a dialog is open — #5524.
- Index disabled macOS controls and report enabled: false — #5635.
- Remove stale screenshot tool references — #2317.
- Return from a dom_event click when its handler opens a dialog — #5621.
- Clear clippy -D warnings on main — #6461.
- Bind every sdk test socket under a short /tmp dir — #6466.
- Force embedded mode in the SDK in-process loader tests — #6485.
- Normalize list_windows z-index parity — #2172.
- Detect Hyprland input internals instead of pinning 0.56.2 — #6495.
- Refuse with 'did not verify' when cosign cannot start in install.ps1 — #6483.
- Add SPDX headers to cua-driver sources (CUA-3388) — #6516.
- Treat niri workspace read-backs the cleanup deadline cut off as unconfirmed — #6520.
- Keep a full budget for each dom_event click readback — #6519.
- Initialize recording hooks for embedded platform registries — #5785.
- Keep cua-driver-core clippy-clean without default features — #6543.
- Raise own-process windows on the AppKit main queue (CUA-3309) — #6559.
- Return from a trusted browser click when its handler opens a dialog — #6562.
- Windows type_text posts UTF-16 units in order and repairs dropped tails (CUA-3122) — #6341.
- Refuse disabled macOS controls on every token writer — #6503.
- Start the composited X11 overlay test's reads once its desktop is on screen — #6512.
- Refuse MCP requests before initialize on HTTP and envelope transports — #6743.
- Keep polling macOS grants after the permissions gate times out — #6739.
- Keep idle-end launch ownership only until a terminal end — #6738.
- Keep a macOS sheet's own id for focus and snapshot scope — #6758.
- Restore the prior X11 foreground after foreground type_text — #6768.
- Keep a session's last use on its lifecycle record — #6773.
- Restore the Windows foreground only after typed input drained — #6779.
- Finalize the previous recording when a new one starts — #6794.
- One macOS focus arbiter decides every activation undo — #6803.
- Report a timed-out capture worker to the next caller — #6809.
- Commit or roll back browser setup explicitly — #6808.
- Hold every tool route on runtime admission while permissions are pending — #6802.
- Admit per-pid state-capture workers in one critical section — #6807.
- Name the no-window case in turn evidence (fixes Linux release gate) — #6839.
- Retry perception resolve after extension lock contention — #6844.
- Sweep orphaned extension staging and clean it on every refusal — #6845.
- Report macOS opened-window identity per action — #6928.
- Type exact text on the active keyboard layout or refuse it — #6827.
- Name the dialog that blocks keys and how to reach a spreadsheet cell (CUA-3763) — #6937.
- Clear portal-input clippy lints in platform-linux — #6940.
- Renumber Linux list_windows z_index after its filters — #6938.
- Call Text Input Sources only with the thread affinity macOS requires (CUA-3763) — #6939.
- Cover foreground activation enabling a macOS AppKit control — #6947.
Performance
- Build the tool contract manifest once per process — #5977.
- Batch macOS type_text key events and stop polling a field that never changes — #6884.
- Batch type_text key events on Windows and Linux — #6892.
Thanks to @AlexFalher, @BhaveshY, @CMGS, @Faraclas, @Iflaqbhat, @Katechnology, @MankhongGarden, @ShadyElsharnoby, @abonneth, @astrovm, @ayagmar, @chrisohearn, @cristicretu, @dry, @factory-ain3sh, @gakonst, @jhugman, @kurtguenther, @lidge-jun, @louistiti, @lucasfdale, @nick-inkeep, @philipljh, @sahiljagtap08, @shellwen, @skap3214, @sly321-pixel, @smraikai, @stanley50z, @will-bogusz, @ymqy for contributing.

Lume
- Lume 0.7.0Full details on GitHub
Features
- Add
lume cpfor host↔guest file transfer — #4896. - Compat gateways for E2B and Daytona, Hetzner as your own cloud, the elastic pool, cua share and the public relay — #5778.
- Install source builds as lume-local, beside the released lume — #5804.
- Ask first, CI runners, TCP shares, secure networks and the phone app, behind experiments — #6355.
Fixes
- Stop a VM in lume serve without ending the server — #4662.
- Preserve legacy multipart disk bytes during assembly — #4714.
- Preserve background service during updates — #4337.
- Shell-escape remote command arguments in lume ssh (#3879) — #3911.
- Refuse a macOS guest start at the host's macOS guest limit — #3958.
- Report a VM stopped once its guest stops on its own — #4853.
- Pull parameterized OCI tar disk parts — #5192.
- Print VM details as labeled fields in terminals — #5358.
- Verify VM owner before stopping — #5611.
- Reach macOS VMs over vsock, not Local Network or VPN routes (CUA-3139) — #6380.
Thanks to @0xABAN, @Iflaqbhat, @cooleryu, @coygeek, @jmgilman, @lorenzozanee, @shobhitagnihotri69, @zpv for contributing.
Get every update: follow with RSS.