Releases: christopherkarani/ryk
Releases · christopherkarani/ryk
Release list
ryk v0.2.20
What's Changed
- fix(sandbox): grant grok ~/.grok/config.toml after Seatbelt attach by @christopherkarani in #195
- fix(sandbox): grant grok ~/.grok/auth.json after Seatbelt attach by @christopherkarani in #196
- fix(hook): document that pi is not a hook host by @christopherkarani in #200
- fix(sandbox): pass Claude --help, not leftover -- --help by @christopherkarani in #202
- fix(cli): one-click ryk grok reaches agent by @christopherkarani in #348
- fix(cli): stop suggesting hook for unknown commands by @christopherkarani in #350
- fix(install): drop leftover homework after curl / ryk update by @christopherkarani in #351
- fix(cli): drop leftover first-run jargon from ryk start by @christopherkarani in #358
- fix(cli): mention grok and pi honestly in plugin --help by @christopherkarani in #353
- fix(cli): env --help exits 0 and names eval verbs by @christopherkarani in #356
- fix(cli): policy explain with no args prints usage by @christopherkarani in #355
- fix(intercept): transfer staging buffers before upsert by @christopherkarani in #382
- fix(cli): init --quiet is silent and next is ryk doctor by @christopherkarani in #352
- fix(cli): replay --tui on a pipe falls back to linear by @christopherkarani in #354
- perf(p0): cold-hook allow-once single-pass, policy mtime cache, lazy packs by @christopherkarani in #449
- docs: Wave 2 AI-slop hygiene for changelog, CLI reference, and locale READMEs by @christopherkarani in #349
- docs: adversarial triage handoffs + agent kickoff packs for open UX issues by @christopherkarani in #223
- fix(mem): P1 ownership leaks and unbounded session growth by @christopherkarani in #450
- fix(install): treat a valid ryk binary as overwrite-safe by @christopherkarani in #357
- fix(sandbox): grant grok ~/.grok/active_sessions.lock after Seatbelt attach by @christopherkarani in #222
- perf(dashboard): single-pass session enrich + retain helper by @christopherkarani in #452
- fix(mcp): deinit ParsedMessage once after sampling handle by @christopherkarani in #454
- fix(mcp): errdefer addFinding dual-dupe on OOM by @christopherkarani in #468
- fix(mcp): errdefer inspectTool name/description dual-dupe by @christopherkarani in #469
- chore: scrub AI-slop chat docs and dangling plan cites by @christopherkarani in #344
- fix(cli): empty-host start must not say Verify passed by @christopherkarani in #478
- fix(mcp): dupe metadata-gate reason before freeing the old one by @christopherkarani in #467
- fix(feed): skip global events.jsonl fsync on the hook path (#395) by @christopherkarani in #464
- fix(cli): warn when hosts hard-block ask with no resume (#311) by @christopherkarani in #455
- fix(shell): skip duplicate pack-scan candidates (#396) by @christopherkarani in #457
- fix(feed): parse dashboard JSONL with a typed record (#402) by @christopherkarani in #458
- fix(cli): cache pack enablement by config mtime (#392) by @christopherkarani in #459
- fix(hook): skip workspace walk on informational Hermes events (#398) by @christopherkarani in #461
- fix(shell): cache merged allowlists by file stamp (#391) by @christopherkarani in #460
- test(shell): lock P001 single-pass allow-once consume (#404) by @christopherkarani in #462
- fix(shell): embed default-pack gzip for hook inflate (#397) by @christopherkarani in #463
- fix(audit): fdatasync events.jsonl without dropping durability (#394) by @christopherkarani in #465
- fix(cli): doctor --fix rebinds Pi/Grok test-binary hooks by @christopherkarani in #475
- fix: fail-closed evaluate on bad policy; wrap missing Grok ryk by @christopherkarani in #456
- perf(eval): allow-once one-load + store mtime caches by @christopherkarani in #477
- perf(hook): discover stat + informational walk + plugin sticky attest by @christopherkarani in #476
- fix(hosts): permit residual ask so coding agents can work by @christopherkarani in #479
- test(hosts): isolate residual-ask tests from live CI env by @christopherkarani in #482
- fix(hook): errdefer prompt redaction field/reason dupes (#364) by @christopherkarani in #474
- fix(mem): close remaining OOM and error-path ownership holes by @christopherkarani in #481
- refactor: HookResponse.take after #481 OOM ownership by @christopherkarani in #485
- refactor(cli): drop leftover start picker index after #481 by @christopherkarani in #487
- fix(cli): remove Codex/Claude plugin dirs on stop (#345) by @christopherkarani in #486
- fix(mem): OOM ownership on network deny, license, structural, redteam by @christopherkarani in #488
- fix(intercept): staged-entry ownership on delete/write paths by @christopherkarani in #490
- fix(hosts): leftover unused ask is permit on Grok and OpenClaw by @christopherkarani in #489
- fix(hosts): permit leftover unused ask on Grok and OpenClaw by @christopherkarani in #491
- fix(mem): doctor row ownership, tui alts free, gateway audit cap by @christopherkarani in #497
- fix(decide): errdefer prompt redaction field/reason dupes (#366) by @christopherkarani in #473
- fix(cli): clearer run/history/mcp trust messages by @christopherkarani in #499
- fix(intercept): deep-copy provider gateway audit snapshots (#386) by @christopherkarani in #494
- fix(cli): Grok doctor health requires the fail-closed wrapper by @christopherkarani in #484
- perf(scripts): collapse sibling zig build process re-entries by @christopherkarani in #483
- fix(audit): detect Slack/Stripe/HF/GitLab/SAS token shapes (#330) by @christopherkarani in #470
- feat(hook): per-user Zig hook-serve for warm multi-host decisions by @christopherkarani in #480
Full Changelog: v0.2.19...v0.2.20
ryk v0.2.19
What's Changed
- Put core_engine on the real test gates by @christopherkarani in #140
- fix(opencode): show ryk host in vanilla OpenCode TUI by @christopherkarani in #141
- Peel shell_eval into cwd, synth, and fm siblings by @christopherkarani in #143
- fix(cli): expand env-node shebang so ryk pi survives OS sandbox attach by @christopherkarani in #142
- fix(pi): stop TUI crashes on decision cards and sandbox mkdir EPERM by @christopherkarani in #156
- fix(start): Claude smoke, probe smokes, leftover hosts by @christopherkarani in #158
- fix(opencode): show TUI toast when ryk blocks a command by @christopherkarani in #157
- fix(mcp): close notifications/ prefix fail-open in the policy proxy by @christopherkarani in #160
- fix(agent-hook): fail closed on empty stdin for bare ryk by @christopherkarani in #159
- fix: Windows doctor panic and ryk run AccessDenied (#147) by @christopherkarani in #148
- fix(security): ignore allow-once store unless OS sandbox is active by @christopherkarani in #161
- fix(security): realpath-reject workspace-planted user allowlist.toml by @christopherkarani in #151
- fix: deny force-equivalent git push on classify and shell_engine by @christopherkarani in #152
- Expand hook host matrix to all 8 supported envelopes by @christopherkarani in #162
- fix(cli): rebase #150 glanceable surface onto current main by @christopherkarani in #163
- perf(hook): cheaper hot path without a 5ms SLA by @christopherkarani in #164
- docs: real OpenCode deny GIF on the README hero by @christopherkarani in #165
- fix(ryk-pi): borderless blocked-command cards (no untested Box) by @christopherkarani in #167
- fix: force-push Why points at fast-forward git push, not lease by @christopherkarani in #178
- fix: launch Hermes under ryk; honor RYK_BIN/PATH source-build discovery by @christopherkarani in #173
- fix(cli): override only top-level policy mode on ryk init by @christopherkarani in #179
- perf: strip ReleaseSafe ryk and DCE product DebugAllocator by @christopherkarani in #184
- chore: move Mac FM steward Swift source to ryk-fm-steward by @christopherkarani in #183
- perf: gzip-embed oracle packs and inflate fail-closed by @christopherkarani in #185
- fix(windows): open audit log for resync by @onatozmenn in #186
- perf: slim PCRE2 without UCD and add -Dhttp TLS omit by @christopherkarani in #188
- perf: split TUI barrel so -Dtui=false drops vaxis by @christopherkarani in #187
- fix: unblock Linux CI gates and drop billed macOS runners by @christopherkarani in #190
- fix(ux): say Session, not Always, for TTY ask (#146) by @christopherkarani in #191
- fix(hook): list grok in
ryk hook --helpby @christopherkarani in #192 - fix: ryk start banner names written policy posture (#144) by @christopherkarani in #193
- refactor(cli): rename rust_visibility to feed_visibility by @christopherkarani in #182
- docs: P4 binary-size measurement — flags-only, no ryk-dev split by @christopherkarani in #189
- Add honest localhost Terminal view (supersedes #154) by @christopherkarani in #168
New Contributors
- @onatozmenn made their first contribution in #186
Full Changelog: v0.2.18...v0.2.19
ryk v0.2.18
[0.2.18] - 2026-08-14
Version numbers are back on 0.x. ryk is still under active development and does not have a 1.x compatibility promise. This is the same product line as 1.2.17, not a feature rollback.
Install (macOS / Linux):
curl -fsSL https://rykanv.com/install | shPin this release with RYK_VERSION=0.2.18.
What's Changed
- fix: P0 security audit 2026-08-12 (shell truncation, allow-once, RYK_OPERATOR, audit redaction, hash-chain fork) by @christopherkarani in #129
- fix: P1 security audit 2026-08-12 (shim audit gap, hook fail-open, MCP passthrough, protection copy, telemetry opt-in, DNS rebind) by @christopherkarani in #130
- fix: close OS sandbox audit gaps by @christopherkarani in #132
- fix: harden secret redaction boundaries by @christopherkarani in #133
- fix(opencode): flat showToast for OpenCode 1.18 toast UI by @christopherkarani in #127
- chore: repo hygiene Wave 0–1 by @christopherkarani in #128
- docs: state Windows is wrapper/hook grade with no OS sandbox by @christopherkarani in #137
- feat: sign release checksums and refuse unverifiable installs by @christopherkarani in #136
- feat: make the Homebrew channel live (P2-2) by @christopherkarani in #135
- feat: Door A — eliminate coding-agent deadlocks (P2-1) by @christopherkarani in #134
- fix: close leftover 2026-08-12 audit medium-tail holes by @christopherkarani in #138
Full Changelog: v1.2.17...v0.2.18
ryk v1.2.17
What's Changed
- fix(opencode): find product ryk under HOME + short toast path by @christopherkarani in #125
- fix(install): seed user policy so agents work after curl install by @christopherkarani in #126
Full Changelog: v1.2.16...v1.2.17
ryk v1.2.16
[1.2.16] - 2026-08-11
What's Changed
- fix(plugin): upgrade managed OpenCode plugins on update/install by @christopherkarani in #123
- chore(release): sync packaging manifests and stage them on cut
Full Changelog: v1.2.15...v1.2.16
ryk v1.2.15
[1.2.15] - 2026-08-11
Fixed
- Make decide allow fixtures hermetic on clean checkouts so release gates no longer depend on workspace/user policy state.
Notes
- Built and published locally (GitHub Actions billing unavailable).
- Curl installer channel remains the only public publish path.
ryk v1.2.14
What's Changed
- feat(cli): day-one install reliability + coding-agent DCG defaults by @christopherkarani in #116
Full Changelog: v1.2.13...v1.2.14
ryk v1.2.13
What's Changed
- feat(agents): unattended Hermes/OpenClaw setup and health by @christopherkarani in #115
Full Changelog: v1.2.12...v1.2.13
ryk v1.2.12
Full Changelog: v1.2.11...v1.2.12
ryk v1.2.11
What's Changed
- Fix release resume state quoting by @christopherkarani in #114
Full Changelog: v1.2.10...v1.2.11