Releases: ForkedInTime/OxideClaw
Releases · ForkedInTime/OxideClaw
Release list
OxideClaw v0.4.0
OxideClaw is the new name of RustyClaw. Rust is iron oxide; the claw stays. Old install links and the old repository URL redirect here, and a 0.3.x binary's update command upgrades straight into 0.4.0 (alias assets are attached).
Install: curl -fsSL https://raw.githubusercontent.com/ForkedInTime/OxideClaw/main/install.sh | bash · brew install ForkedInTime/oxideclaw/oxideclaw · Arch: contrib/aur PKGBUILD.
Added
- BENCHMARKS.md with
scripts/bench.py: reproducible cold-start,
executable-size, and peak-RSS numbers against whatever agents are on
PATH(measured: Claude Code, Codex, Gemini CLI, Goose). - Packaging. Homebrew tap (
brew install ForkedInTime/rustyclaw/rustyclaw)
and an AUR binary package (rustyclaw-bin, files incontrib/aur/), both
pinned to the release assets' SHA-256.scripts/update-packaging.sh vX.Y.Z
refreshes both for a new tag. rustyclaw acp— Agent Client Protocol. RustyClaw can now be the
agent behind Zed, JetBrains, and any ACP client:initialize,
session/new,session/promptwith streamedsession/updates, tool-call
status,session/request_permissionfor tools the policy marks ask, and
session/cancelthat stops a running model stream mid-turn. Built on the
SDK sidecar's session engine; verified live for a full turn and for a
mid-turn cancel.- SDK sessions can be cancelled (
CancelSignal) and report why a turn ended
(TurnEnd).
Fixed
- Extended thinking works on Claude 5 again. The request sent
{"type":"enabled","budget_tokens":N}to every model; Sonnet 5, Opus 5
and Fable 5.1 reject that with a 400, and Haiku 4.5 rejects the newer
adaptiveform. The shape is now chosen per model generation, the budget
is clamped to the API's1024 ≤ budget < max_tokenswindow, and
--thinking disabledsends{"type":"disabled"}instead of an illegal
zero budget. Verified against the live API on all three generations. /effortis a real parameter. It used to inject a sentence into the
prompt. It now setsoutput_config.effort(low|medium|high|max) on
Claude 4.6+ / Claude 5, persists to settings, and falls back to the prompt
nudge only on models without the parameter (Haiku 4.5, Ollama,
OpenAI-compatible)./effort offclears it.
Changed
- Renamed to OxideClaw. The crates.io name
rustyclaw(and several
GitHub projects) belong to other people, so the project is now
OxideClaw: rust is iron oxide, the claw stays. Binaryoxideclaw,
repoForkedInTime/OxideClaw(old URLs redirect), release assets
oxideclaw-*, env varsOXIDECLAW_*, XDG dirsoxideclaw/, shadow refs
refs/oxideclaw/sessions/, deep-link schemeoxideclaw-cli.
Compatibility:RUSTYCLAW_*env vars are still read, arustyclaw/
XDG directory is moved tooxideclaw/on first run, and legacy shadow
refs are moved on startup so/undohistory survives. - README repositioned. RustyClaw is presented as a provider-neutral
coding agent rather than a "Rust port of Claude Code". The comparison
table now names Claude Code, Codewhale, jcode, and claurst and only claims
what each project documents (checked 2026-09-11).
Second verification pass: Codewhale's cloud TTS tool (MiMo, voice clone
on request) and/restoreare now credited; the voice claim is scoped to
local, every-reply, own-voice TTS. - Hooks are documented. README and FEATURES.md describe the eight
lifecycle events, environment variables, exit codes, and JSON output. - README browser tool count is 9 (
browser_consolewas missing from the
tour); readme-lint no longer counts thebrowse_doneloop terminator.
Fixed
- LSP queries no longer pay a full language-server start per call. One
server per (command, project root) is kept for the session. File URIs are
percent-encoded, so paths with spaces resolve. - The browser agent's visible-price signal is live. The last snapshot's
text is kept on the session, so a click on a page showing a price prompts
even when the button text is innocuous. The stagnation detector now keys
on the element acted on, so clicks on different elements that return the
same text are no longer mistaken for a loop. - The code index missed an edit made within the same second as the previous
index (whole-second mtimes); nanosecond mtimes now. Configtool reported the startup model after/modelchanged it.- SDK: a
session/startwith acwdthat is not a directory is refused up
front (invalid_cwd) instead of failing every tool call. - Startup lists spawn worktrees a previous crash left behind, with the merge
or remove command for each. bwrap/firejailavailability is probed once per process, not on every
Bash call. The package-manager probe during plugin install no longer
freezes the TUI.
What's Changed
- refactor(commands): split the 3.8k-line commands/mod.rs into themed handler modules by @ForkedInTime in #37
- tune: close the review's open tunes — LSP cache + URIs, price signal, nanosecond mtimes, cached probes by @ForkedInTime in #36
- refactor(tui): split the 5.9k-line run.rs into run/{plugins,keys,dispatch,input_helpers,api_task} by @ForkedInTime in #38
- docs: reposition README as a provider-neutral agent; document hooks by @ForkedInTime in #39
- docs: credit Codewhale TTS tool and /restore after second verification pass by @ForkedInTime in #40
- fix(api): per-generation thinking shape; /effort sends output_config.effort by @ForkedInTime in #41
- feat: rustyclaw acp — Agent Client Protocol agent over stdio by @ForkedInTime in #42
- feat: Homebrew tap, AUR package files, reproducible benchmarks by @ForkedInTime in #43
- rename: RustyClaw → OxideClaw (v0.4.0) by @ForkedInTime in #44
Full Changelog: v0.3.2...v0.4.0
RustyClaw v0.3.2
What's Changed
- fix(tools): LSP never worked, path traversal in team tools, notebook deny-list bypass (Phase 7) by @ForkedInTime in #28
- chore(tools): remove the cron tools (nothing ever ran the jobs) by @ForkedInTime in #29
- fix(mcp,rag): cap MCP resources/descriptions, time-box server startup, prune deleted files from the index (Phase 8) by @ForkedInTime in #30
- fix(config): project trust for executable settings, safe deep links, honest cost table (Phase 9) by @ForkedInTime in #31
- fix(browser): gate sensitive form fills and the Enter that submits them; stop echoing typed values (Phase 10) by @ForkedInTime in #32
- fix(sdk): protocol version, stale-approval cascade, bounded request lines, char-safe error preview (Phase 11) by @ForkedInTime in #33
- fix: Phases 12–15 — plan mode for sub-agents, current model catalogue, atomic settings, voice fixes by @ForkedInTime in #34
- release: v0.3.2 — code review Phases 7–15 by @ForkedInTime in #35
Full Changelog: v0.3.1...v0.3.2
RustyClaw v0.3.1
What's Changed
- ci: cargo audit gate by @ForkedInTime in #22
- chore: gitignore .playwright-mcp/ by @ForkedInTime in #25
- fix(net): SSRF guard, size caps and URL validation for the web tools (Phase 6) by @ForkedInTime in #23
- fix(permissions): sub-agents, /spawn and -p mode now go through the permission gate (Phase 5) by @ForkedInTime in #24
- style: adopt rustfmt repo-wide + CI gate (X.1) by @ForkedInTime in #26
- release: v0.3.1 — Phase 5 + Phase 6 security fixes by @ForkedInTime in #27
Full Changelog: v0.3.0...v0.3.1
RustyClaw v0.3.0
What's Changed
- chore: audit fixes — Windows install, SDK docs, drop browser scaffolding by @ForkedInTime in #3
- docs: add browser automation to README pitch by @ForkedInTime in #4
- ci: guardrails to keep README claims honest by @ForkedInTime in #5
- feat: autonomous browser agent — /browse, CLI, SDK, voice by @ForkedInTime in #6
- fix(browser): enterprise audit sweep — 10 production-readiness fixes by @ForkedInTime in #7
- feat(browse): wire Step/ApprovalNeeded progress + voice milestones by @ForkedInTime in #8
- fix(browse): CDP page target + approval URL sync by @ForkedInTime in #9
- fix(audit): click URL refresh, approval button-text matching, settings wiring by @ForkedInTime in #10
- fix(audit): enterprise hardening — sandbox, browser, session atomicity by @ForkedInTime in #11
- fix: security boundary hardening, stream/scrollback bounds, SDK-compatible auth by @ForkedInTime in #12
- fix(sandbox): stop claiming strict mode is isolation; gate clippy in CI by @ForkedInTime in #13
- fix: autocommit CAS + prune tie-break, bwrap --new-session, cost estimates, tool schema contract by @ForkedInTime in #14
- fix(security): prefix allow-rules were bypassable by command chaining by @ForkedInTime in #15
- fix(security): symlinks and Grep bypassed the sensitive-path deny-list by @ForkedInTime in #16
- fix(fs): atomic writes, real MultiEdit atomicity, bounded glob results by @ForkedInTime in #17
- fix(session): a torn write no longer destroys the whole conversation by @ForkedInTime in #18
- fix(session): repair unanswered tool_use so a recovered session stays usable by @ForkedInTime in #19
- fix(api): retry 429/5xx with backoff, and stop replaying streamed responses by @ForkedInTime in #20
- release: v0.3.0 — clear 8 dependency advisories, harden self-update by @ForkedInTime in #21
Full Changelog: v0.2.0...v0.3.0
RustyClaw v0.2.0
Full Changelog: v0.1.0...v0.2.0