This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+14 more
Summary
AI summaryPackage name changed from unscoped relay to scoped @jcast90/relay and several legacy references removed.
Full changelog
0.1.0 - 2026-04-22
First public OSS release. Everything below was done under the OSS-01..23 hardening +
launch-prep push; there was no prior tagged release, so this is the initial one.
Added
- OSS-05 — CLI / TUI / GUI parity for rewind, plan-approval, and PR-status
surfaces. All three dashboards read the same~/.relay/state. - OSS-06 — Streaming tool-use parity. CLI inline activity during a stream;
TUI renders a stacked view of in-flight calls. - OSS-07 — Docs + onboarding pass.
rly welcomescaffolds
~/.relay/config.envfrom a template; README MCP-tool list corrected. - OSS-09 — Test infrastructure.
harness-dataunit tests; CI gains a
dedicated integration tier alongside the scripted tier on every PR. - OSS-10 — Cross-platform terminal-tab spawn. macOS (
osascript), Linux
($TERMINALprobe with fallback chain), and Windows (wt.exe→powershell
→cmd); no-supported-terminal fallback posts a system channel entry. - OSS-16 — README tagline refresh + docs sync.
- OSS-20 — Release pipeline: Changesets-driven versioning with a Cargo sync
script,.github/workflows/release.ymlthat (when enabled via
NPM_PUBLISH_ENABLED, see OSS-21 below) publishes to npm + always builds
per-OS GUI artifacts (macOS.dmg, Linux.AppImage+.deb, Windows
.msi) + cuts a GitHub Release onv*tags.install.shgained a preflight
that checks fornode >= 20,pnpm,cargo, and the Linux Tauri system
libraries. - OSS-22 — Pre-announce polish:
rly --helpexpanded to cover all wired
commands (grouped by area);.github/ISSUE_TEMPLATE/config.ymlroutes
security reports; phantomdocs/cloud-execution.mdreference removed;
prettieradded todevDependenciesfor fresh-clonepnpm format:check. - OSS-23 — GitHub repo metadata (description, homepage, 10 topics);
private vulnerability reporting enabled; Discussions enabled.
Changed
- OSS-01 — Rewind hardening. JSON injection resistance, rollback integrity,
mid-stream abort handling, orphan-ref cleanup, expanded tests. - OSS-02 — Tauri IPC hardening.
run_clienforces a strict command
allowlist; IDs are validated; activity-cap pre-append prevents GUI memory
growth. - OSS-03 — Subprocess env whitelist + MCP non-loopback hard-stop. Child
processes get a scrubbed env by default (ANTHROPIC_API_KEY,GITHUB_TOKEN,
AWS creds, anything matchingSECRET_NAME_PATTERNstripped).rly serve
refuses non-loopback binds without a token unless
--allow-unauthenticated-remoteis passed. - OSS-04 — Surface silent observability failures. Sinks that fail now
surface through the system channel. - OSS-08 — Wire-or-delete cleanup. Removed unreachable pod-executor code,
stalecrosslinkReposdead code, and dropped the orphaned
@kubernetes/client-nodedependency. - OSS-14 — Package correctness: moved
zodto runtime deps (fresh
npm install --omit=devnow works), tightened.env*gitignore patterns,
and shipped the first top-levelrly --help(expanded further in OSS-22). - OSS-18 — Prettier reset +
pnpm format:checkblocking in CI.prettier
added todevDependenciesso fresh clones get a cleanformat:checkout of
the box.
Security
- OSS-15 — Purged personal references from committed files.
- OSS-17 — Security polish. Config files written by
install.share
chmod 600on creation;~/.relay/config.envpermissions preserved on
re-install. - OSS-21 — Launch-blocker fixes surfaced during OSS-01..20 review.
Fixed
- OSS-11 — Flaky-test stabilization: orchestrator tests now consistently
run under scripted mode regardless of the host shell'sHARNESS_LIVEvalue. - OSS-21 — Second flake pass on
verification-override-feed.test.tsand
the orchestrator-v2 channel-mirror assertions: replaced single-snapshot
reads of the channel feed / board with a short polling helper so
atomic-rename visibility on Linux CI can't race the assertion.
Infrastructure
- OSS-13 — CI stabilization:
rust-checknow installs Tauri system libs
and runs the fullcargo test --workspace. - OSS-19 — Removed all legacy
agent-harnessreferences (bin alias,
~/.agent-harnessauto-migration,AGENT_HARNESS_*env fallbacks, doc
mentions).rlyis the sole CLI;~/.relay/is the sole data path. - OSS-21 — Launch-blocker triage:
- Storage:
HARNESS_STORE=postgresno longer throws. The factory warns
once and falls back to the file backend so old docs / scripts don't
crash. ThePostgresHarnessStoresource stays in-tree as a stub for
the Roadmap (multi-agent coordination viaLISTEN/NOTIFY) — it is no
longer claimed as a shipping backend anywhere in docs. - npm: package name changed from unscoped
relayto@jcast90/relay
(bothrelayandrlywere taken on npm). Scope is permanent. - Release pipeline:
release-npmis now gated on the repo variable
NPM_PUBLISH_ENABLEDso the job is a safe no-op until an admin
explicitly enables it.release-guiandrelease-githubno longer
depend onrelease-npm— GUI bundles and the GitHub Release ship on
every tag regardless of npm publish state.
- Storage:
Breaking Changes
- npm package renamed from unscoped `relay` to scoped `@jcast90/relay`
- Removed all legacy `agent-harness` references (bin alias, `~/.agent-harness` auto‑migration, `AGENT_HARNESS_*` env fallbacks, and related documentation)
Security Fixes
- Config files written by `install.sh` are now created with `chmod 600` permissions
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Relay
Local-first orchestrator that runs inside your existing Claude or Codex CLI via MCP; classifies a request, decomposes it into tickets with a dependency DAG, dispatches across one or more repos, and supervises with live PR tracking + approval gates. CLI, TUI (ratatui), and GUI (Tauri)
Related context
Related tools
Beta — feedback welcome: [email protected]