Repository navigation
Releases
shadow v0.5.1
Highlights
Semantic computer use
Ghost’s click and type tools now act through macOS AX, Windows UIA, and Linux AT-SPI, with each input tool returning a via field and a disposition: delivered, verified, retried, or refused. Automatic HID fallback happens only in auto mode and only for ACTION_NOT_SUPPORTED or PLATFORM_NOT_SUPPORTED with NotDelivered and known bounds; other failures return POLICY_DENIED with details.semantic_error. Shadow’s computer-use loop and AX tools use the same semantic path, and a failed step ends the run as blocked while keeping earlier steps.
Element references carry the snapshot id as @:eN and resolve strictly, so a ref from an older or different snapshot fails with STALE_REF or AMBIGUOUS_TARGET instead of matching another element; secure field values are never stored. Ghost tools return a shared GhostError with code, message, delivery, and retry information. ghost-hands enforces key policy and layout-aware keys so unsendable keys fail before posting, and macOS Cmd+A follows the active layout.
Affected packages: shadow
Changelog
shadow@0.5.1
Minor changes
- Shadow's computer use moved to an Effector trait over ghost-eyes and ghost-hands, with semantic CLICK, TYPE_TEXT and SCROLL, STALE_REF window-pid checks and blocked runs on a failed step. The AX tools became a thin adapter over ghost-eyes, ax_click's strategy parameter was removed, and mimicry undo uses the platform undo key. (#956)
Patch changes
- Updated the shadow crate lockfile dependencies. (
527e01f) - Refreshed the shadow app's Rust lockfile to pick up the upgraded and un-yanked crates. (#962)
- The computer-use agent was restructured into act, candidates, effector, input, observe, planners and verify modules, accessibility tools moved under an ax module with click, input, read and system parts, and grounding and mimicry executor code were updated. (
a90a427)
Full changelog: amajorai/ryu@v0.5.0...v0.5.1
Full release notes: docs.ryuhq.com/docs/release-notes/v0.5.1
shadow v0.5.0
Changelog
shadow@0.5.0
Minor changes
- Updated the shadow server in the same change that introduced the Clips quick attach shortcut. (
7c04bdf)
Patch changes
- Merged origin/main into the shadow crate, updating Cargo.lock, Cargo.toml, and the package manifest. (
1903ef3) - Merged origin/main into the shadow app, bringing the branch up to date on the dependency security bumps recorded in its Cargo manifest and lockfile. The .env.example, README, package manifest, frame capture, passive capture modules for calendar, filesystem, git and settings, and the config tests were carried through the merge. (
1438289) - Extended passive capture with calendar, filesystem, git, and settings sources alongside the existing frame capture path. Configuration and its tests were updated to match, and the README and manifests were refreshed. (
974ca98) - Merged origin/main into the shadow app, bringing changes to frame capture, the passive calendar, filesystem, git and settings capture modules, plus configuration and its tests. (
1b4b24f) - Keyframe extraction limits are now constants in capture/frames.rs with unchanged values. Extra watched folders, git repos and the calendar file moved to fsWatch, gitRepos and calendarIcs in passive-capture.json, and the Jev/Laya planner defaults no longer read SHADOW_JEV_URL, SHADOW_JEV_MODEL or SHADOW_LAYA_URL, using the persisted computer-use.json fields instead. (
e76c49f) - Reworked capture paths for audio, input, screen and passive terminal monitoring, along with the capture engine and sealed database. Updated agent runtime and tools, memory, directive and semantic modules, intelligence context and meeting handling, OCR, mimicry procedures and the local server. (
0af1456) - Re-derived the standalone Cargo lock so the shadow build picks up the updated YAML and search dependencies. (
0c6c7a3) - Re-derived the shadow lockfile with the patched crate versions. (
9ea0295) - The shadow app's standalone Cargo.lock was re-derived to match the re-resolved dependency set. (
3970ebe) - Re-derived the standalone Cargo.lock through tools/sync-standalone-locks.sh for wasmtime 48.0.7. (
f0bd07b) - Adjusted the agent prompt builder, runtime, the AX and memory tools, passive terminal capture, and the main entry point. (
1cc077c) - Updated rustls-webpki to 0.103.16 and webpki-roots to 1.0.10 in the shadow lockfile. (
0c10d21) - Updated the shadow app's Cargo.lock as part of merging the bot UI setup change from #782. (
d92c2d6) - Shadow gained a sealed database module and moved its capture, memory, OCR, pattern and video data onto it, with the paths module and server updated. Closed segments keep their capture time when sealed so the history window still applies. (
07be026) - Dropped key codes from input records on every platform via the shared ingest path and applied the Shadow challenge check in the agent runtime and prompt builder. (
784fd89) - Updated the shadow crate's capture engine and audio/clip capture, agent pattern handling, LoRA and model manager intelligence modules, configuration, paths, server, and entry point, with Cargo dependencies adjusted. (
ddf18f0) - Shadow's Rust capture, config, intelligence and server modules were updated for the Agent, Bot and OS rename and the Console naming. (
a01db11) - Touched the capture engine's audio and clip capture, the agent pattern and LoRA/model manager modules, and the config, path, and server wiring. (
cdb7957) - Regenerated the Shadow lockfile with the patched TLS and QUIC dependency versions. (
e98e55a) - Changed the passive terminal capture module and its build configuration, wiring the updated module into Shadow's entry point. (
b1093ab) - Hardened the Shadow terminal spool: history-excluded commands are no longer recorded in bash or zsh, hook steps fail quietly, and appends stop once the drainer PID is gone. Drains retire files before emitting, bound per-line and per-file reads, avoid losing appends that race the rename, and the Windows spool directory gets an owner-only ACL or capture stays off. (
cc492ed) - Terminal-capture hooks now append each command as a JSON line to a 0700 spool file under the data directory instead of POSTing to loopback /ingest with the shared API token; a Shadow thread drains the spool every two seconds and emits on track 9 at the command's own time. Also fixed the zsh hook to record the last command and dropped the per-prompt Start-Job from the PowerShell hook. (
b8a0dab) - Applied the security scan patches to the agent prompt builder and runtime, input capture and the Shadow server, including an exclusive owner-only token-file create and removal of the input-producing AX tools from the activity chat. (
8aa68aa) - A Shadow started by Core without a key on a store that was never sealed now keeps the pre-sealing plaintext formats, reports that it is waiting for a Ryu update, and is sealed by the existing migrations at the first start with a key. A sealed store, or a Shadow started by hand, still refuses writes without a key. (
6f02da2) - Merged the proactive and context intelligence modules and updated the crate's main and server entry points. (
b4f7dfd) - The shadow app now uses ghost_eyes::capture_scratch for raw capture frames, cleans crash orphans at startup and deletes frames left behind by earlier builds. (
8192eb1) - The capture engine now closes and seals an open screen-video segment on the wall clock rather than waiting for the next encoded frame. A segment is sealed once it is an hour old, has been idle for five minutes, or is open while recording is not allowed, and segment names now include seconds so multiple segments in one hour do not collide. (
4feed5f) - A stop request now closes capture before axum drains open connections, so a long SSE stream no longer delays sealing past Core's kill deadline, and a failed ffmpeg trailer still drops handles and seals the segment. Encoders register their open path so the media sweep skips only those and seals a dead process's recent leftovers at once. (
1345e30) - The microphone recorder now refuses to start unless Shadow can seal, buffers PCM in memory and writes each two-minute segment sealed and indexed instead of plaintext WAVs. Video segments only open when Shadow can seal, and stopping capture via /stop or SIGTERM closes and seals the open segment. (
7707012) - Agent pattern files are now written whole-body as encb:v1 through an owner-only temp file, and plaintext files from earlier builds are resealed when the store opens. On macOS, OCR frames now go to Shadow's 0700 scratch directory as 0600 files instead of system temp. (
7d575da) - Episodes, meeting summaries, semantic memory, directives, proactive suggestions and procedures now keep their text as encb:v1 under per-database stores of Shadow's key, with legacy rows sealed on open and text matching moved into Rust. Shadow captures its key before runtime start and reports sealing in /health. (
198809d) - Changed Shadow's path handling, server startup and video module to seal event logs, keyframes and closed media segments, and to sweep legacy or orphaned files at startup. (
0cd6d6d) - Shell hooks now invoke Shadow's own binary through a hidden ingest-shell command that sends via peer_proof::send_with_verified_bearer, and Shadow writes its binary path and actual port into the hooks instead of the hooks posting to a hard-coded 127.0.0.1:3030. (
278f540) - Shadow's main binary and server took the listener-ownership and port-check changes, and the intelligence context and proactive modules were updated alongside the crate manifest and lockfile. (
7494894) - Carried crates/core/crypto into the standalone tree and added the dependency, refreshing the lockfile. (
371898a) - Updated Shadow's intelligence context and proactive modules along with its server and main entrypoint. (
e3a5e18) - Brought activity episodes and proactive suggestions into the retention sweep through new delete_before methods on EpisodeStore and ProactiveStore, pruned with the same cutoff hourly and after a retention change. The sweep now also finalizes abandoned open recording segments and rotates the writer's current hour when it was last written before the cutoff. (
a6a8b48) - The service now runs the history retention sweep at startup and then hourly, replacing the daily keyframe-only loop, and spawns a sweep right after /capture/control saves a retention change. (
e06b0af) - Shadow now creates its api-token exclusively at 0600 instead of writing and then changing permissions; the token stays plaintext because shell hooks read it. (
1f0b58b) - Shadow's /health endpoint now answers a challenge query with hex(HMAC-SHA256(token, ...)) over the supplied nonce, letting clients prove the listener before sending the bearer. (
dd3137e) - Updated the input and screen capture modules as part of the #747 merge. (
e49d1db) - Consolidated Shadow input ingestion into one event-ingest function, drain task, and Windows/macOS throttled mouse-move path, and re-exported Ghost's screen display/frame types instead of redefining them. (
b82a6b1) - Updated the shadow crate's audio and clip capture paths, capture engine, configuration and path handling, plus the agent pattern code and the LoRA and model manager intelligence modules. Manifest, lockfile and README were changed alongside. (
c85b573) - Updated the shadow crate's capture engine and audio and clip capture modules, plus the pattern agent and the LoRA and model manager intelligence modules. The server, paths, and config modules were touched alongside the README and manifest. (
992f5f4) - Updated shadow's audio and clip capture paths, capture engine, and the intelligence modules for LoRA and model management. Config, paths, server, and agent pattern modules changed as well. (
f1cbdf6) - Updated the capture, intelligence, and agent modules covering audio and clip capture, LoRA and mod...
shadow v0.4.0
Highlights
App, plugin, and desktop experience updates
Users now get explicit preview-state disclosure in the Clips, Help Center, ReelFarm, Slides, and Token Table apps, making preview content distinguishable from live data. The ReelFarm studio has been renamed across its manifest, plugin metadata, and UI entry points, with UI copy/state handling updates in ReelFarm's bridge and model layer and Token Table's table copy, plus tests such as export-state.test.ts, bridge.test.ts, model.test.ts, and table-copy.test.ts. Documentation and READMEs were updated, the Studio app appears under its renamed identity across the documentation site and desktop app icons, app documentation pages state their preview state, and the apps index and meta.json were updated.
The Spaces home screen in the desktop app now shows a Space's shared context as a dedicated landing page. Opening a Space brings its shared memory and knowledge sources onto one screen, assembled from the desktop Spaces components in @ryu/blocks, with block tests and a new end-to-end Playwright proof harness with Vite and Playwright configs. A storyboard entry records the redesigned screen, and Spaces RAG documentation was updated.
Affected packages: shadow
Changelog
shadow@0.4.0
Minor changes
- Added a speech history module and server routes so captured speech is stored and served by the shadow service. (
9186090)
Patch changes
- Updated the shadow crate and package manifests to version 0.4.0 for the release train. (
2590c43) - Updated input capture, the capture engine, the mimicry executor and the shadow server. (
fd3adbf)
Full changelog: amajorai/ryu@v0.3.1...v0.4.0
shadow v0.3.1
Changelog
shadow@0.3.1
Patch changes
- Bumped shadow to v0.3.1 in both the Rust crate manifest and package.json. (
5fce483)
Full changelog: amajorai/ryu@v0.3.0...v0.3.1
shadow v0.3.0
v0.3.0
Part of the Ryu release train at v0.3.0.
Ryu as a whole lives at https://github.com/amajorai/ryu.
shadow v0.2.8
v0.2.8
Part of the Ryu release train at v0.2.8.
Ryu as a whole lives at https://github.com/amajorai/ryu.
shadow v0.2.7
v0.2.7
Part of the Ryu release train at v0.2.7.
Ryu as a whole lives at https://github.com/amajorai/ryu.
shadow v0.2.6
v0.2.6
Part of the Ryu release train at v0.2.6.
Ryu as a whole lives at https://github.com/amajorai/ryu.
shadow v0.2.5
v0.2.5
Part of the Ryu release train at v0.2.5.
Ryu as a whole lives at https://github.com/amajorai/ryu.
shadow v0.2.4
Built from commit 15141a8.
Features
- expose webmcp tools to assistant widgets (
de5e0c5) - finalize rooms and web agent surfaces (
42fe2e7) - add active-node model rooms (
3fa3400) - workflows: add read-only dry runs (
bba3bb9) - add Tailcat network backend (
b1f7712) - add job status page overview (
5e9e2a7) - add model rooms state store (
573844b) - export skills from the editor (
467c9b0) - export skills from Store and Library (
b65a1cc) - ask where skills should be installed (
e980b20) - fan default skills out to saved agents (
728df7c) - add skill target install APIs (
70f9818) - distribute complete skills to local agents (
801cd53) - add agent skill target registry (
bdffc36)
Fixes
- release: keep simulator lockfile standalone (
0206e23) - align subscription proration entitlements (
5311f52) - docs: use turbopack for constrained builds (
3e5af7c) - docs: give webpack builder an explicit heap (
e807492) - rooms: embed guest page from tracked source (
6506cd4) - release: package rooms sidecar (
535a020) - harden assistant widget tool states (
642cee7) - release: use current generator for note backfills (
3a21460) - release: add public AI notes backfill (
1e469d8) - release: generate public stable AI notes (
4f279e5) - core: register rooms in test manifests (
4a0ad87) - remove duplicate footer positioning (
84ae794) - workflows: use straight canvas connections (
443bb1e) - update website footer positioning (
be6b816) - mirror: publish rooms backend and ui together (
2b6a544) - distinguish Agent Templates in Marketplace (
478ded3) - mirror: retain rooms backend satellite (
e1e9eb0) - mirror: tolerate manifest-only ui satellites (
61fefb6) - mail: use unauthenticated liveness probe (
9e69a47) - bump host API for skill distribution (
8e42e18) - settle skill target selection races (
11f7d0e) - distribute defaults from active system sync (
fac27cb) - reload skills before remembering targets (
9796d67) - surface unledgered skill recoveries (
e7c6926) - bound skill recovery packages (
4def690) - anchor skill distribution to directory handles (
0b1546f) - harden skill distribution races (
0273e3b) - pin skill agent target source (
e547357)
Documentation
- document skill target distribution (
5228ff4) - document webmcp assistant integrations (
93be446) - simplify README comparison matrices (
84105b9)
Other changes
- marketplace: isolate DOM suites (
15141a8) - v0.2.4 (
afa133a) - rooms: format standalone guest page (
c63cc00) - gateway: wait for audit rows to flush (
8c7e2f8) - align rooms companion with shared UI (
f7d9c33) - web: cover Cloud checkout handoff (
22e3a8a) - Enable Rooms hosting and LAN share origins (
a3e992b) - raise Windows canary heap limit (
1e8c2d2) - stabilize release verification fixtures (
8fbbad5) - raise Island bundler heap limit (
7370e8b) - cover Store skill distribution action (
97fd421) - cover unbraced XDG skill targets (
9b2fdbb)
Full changelog: amajorai/ryu@v0.2.3...v0.2.4