Skip to content

Releases: ForkedInTime/OxideClaw

OxideClaw v0.4.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 17:31

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 in contrib/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/prompt with streamed session/updates, tool-call
    status, session/request_permission for tools the policy marks ask, and
    session/cancel that 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
    adaptive form. The shape is now chosen per model generation, the budget
    is clamped to the API's 1024 ≤ budget < max_tokens window, and
    --thinking disabled sends {"type":"disabled"} instead of an illegal
    zero budget. Verified against the live API on all three generations.
  • /effort is a real parameter. It used to inject a sentence into the
    prompt. It now sets output_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 off clears 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. Binary oxideclaw,
    repo ForkedInTime/OxideClaw (old URLs redirect), release assets
    oxideclaw-*, env vars OXIDECLAW_*, XDG dirs oxideclaw/, shadow refs
    refs/oxideclaw/sessions/, deep-link scheme oxideclaw-cli.
    Compatibility: RUSTYCLAW_* env vars are still read, a rustyclaw/
    XDG directory is moved to oxideclaw/ on first run, and legacy shadow
    refs are moved on startup so /undo history 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 /restore are 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_console was missing from the
    tour); readme-lint no longer counts the browse_done loop 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.
  • Config tool reported the startup model after /model changed it.
  • SDK: a session/start with a cwd that 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/firejail availability 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

Choose a tag to compare

@github-actions github-actions released this 11 Sep 03:43

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

Choose a tag to compare

@github-actions github-actions released this 11 Sep 02:04

What's Changed

Full Changelog: v0.3.0...v0.3.1

RustyClaw v0.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 20:26

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

Choose a tag to compare

@github-actions github-actions released this 12 Apr 03:49

Full Changelog: v0.1.0...v0.2.0