Skip to content

Releases: mrdushidush/claudette

v0.12.0

14 Jun 17:33

Choose a tag to compare

What's Changed

  • fix(edit): no-op guard + loop-breaker for repeat block edits by @mrdushidush in #77
  • chore: legacy-audit cuts (typewriter, bench, antipatterns, cto, sub-agents, sentinel9) by @mrdushidush in #78
  • feat(cli): colored unified-diff preview on the edit permission gate by @mrdushidush in #79
  • chore(release): v0.12.0 by @mrdushidush in #80

Full Changelog: v0.11.0...v0.12.0

v0.11.0

14 Jun 08:00

Choose a tag to compare

What's Changed

  • fix(tests): write_file allow-tests pin workspace env + assert location by @mrdushidush in #59
  • feat(repl): live activity indicator (thinking / running spinner) by @mrdushidush in #60
  • feat(repo_map): compact outline output + steer to grep/glob by @mrdushidush in #62
  • fix(tests): pin openai_compat in default chat-body test by @mrdushidush in #64
  • fix(tools): raise file-size cap to 1MB; flag oversized grep skips by @mrdushidush in #65
  • docs(bash): Windows shell guidance in tool description by @mrdushidush in #66
  • feat(semantic_grep): filter stop-words in tokenizer by @mrdushidush in #67
  • feat(cli): single-keypress y to approve danger prompt by @mrdushidush in #68
  • feat(repo_map): C# definitions in mode=map by @mrdushidush in #69
  • feat(shell): refuse destructive git that would discard uncommitted work by @mrdushidush in #70
  • feat: grep_search count_only mode for total match counts by @mrdushidush in #71
  • chore(grep_search): align count_only schema indentation by @mrdushidush in #72
  • feat(read_file): tail=N to read the last N lines by @mrdushidush in #73
  • fix(apply_diff): anchor line-trim reindent on the first line, not the block minimum by @mrdushidush in #74
  • feat(repo_map): Java definitions in mode=map by @mrdushidush in #75
  • chore(release): v0.11.0 by @mrdushidush in #76

Full Changelog: v0.10.0...v0.11.0

v0.10.0

11 Jun 22:44
eadb88f

Choose a tag to compare

What's Changed

  • ci(deps): bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #49
  • deps(deps): bump the cargo-minor-and-patch group with 3 updates by @dependabot[bot] in #50
  • feat(semantic_grep): identifier-aware tokenizer (split camelCase) by @mrdushidush in #53
  • fix(safety): re-validate /undo restore paths + collision-free note filenames by @mrdushidush in #52
  • feat(repo_map): extract Ruby definitions in mode=map by @mrdushidush in #54
  • feat(grep_search): optional glob file filter by @mrdushidush in #55
  • feat(runtime): graceful iteration-cap landing + budget nudge by @mrdushidush in #56
  • feat(tools): near-miss diagnostics for apply_diff/edit_file not-found by @mrdushidush in #57
  • chore(release): v0.10.0 by @mrdushidush in #58

Full Changelog: v0.9.0...v0.10.0

v0.9.0

07 Jun 21:52
3cd608c

Choose a tag to compare

What's Changed

  • feat(egress): prove the air-gap in CI + close web_fetch redirect SSRF by @mrdushidush in #40
  • feat(api): stream SSE on the OpenAI-compat (LM Studio) path by @mrdushidush in #41
  • feat(tui): prompt for DangerFullAccess tools instead of silently denying by @mrdushidush in #42
  • feat(doctor+startup): first-run remediation + VRAM-aware brain picker by @mrdushidush in #43
  • feat(safety): action transcript + /undo + trash for destructive ops by @mrdushidush in #44
  • fix(api): case-insensitive SSE Content-Type detection + pin test by @mrdushidush in #45
  • feat(repo_map): add mode=refs - exhaustive deduped reference scan by @mrdushidush in #46
  • fix(undo): never clobber newer content on restore (roast critical) by @mrdushidush in #47
  • release: v0.9.0 — production-readiness pass by @mrdushidush in #48

Full Changelog: v0.8.9...v0.9.0

v0.8.9

03 Jun 21:28
f7d1e99

Choose a tag to compare

What's Changed

  • feat(offline): enforce the air-gap with --offline / CLAUDETTE_OFFLINE by @mrdushidush in #39

Full Changelog: v0.8.8...v0.8.9

v0.8.8

03 Jun 19:53
5178127

Choose a tag to compare

What's Changed

  • Forge trust (review gate + real build/test) + bulletproof onboarding (doctor toolchains + quickstart) by @mrdushidush in #37
  • chore(release): v0.8.8 by @mrdushidush in #38

Full Changelog: v0.8.7...v0.8.8

v0.8.7

03 Jun 17:49
c9bc468

Choose a tag to compare

What's Changed

  • Harden 2026-05-31 roast #24#28 + fix daily-driver create-file routing by @mrdushidush in #33
  • Steer exhaustive enumeration — close the model-bound search gap (I-series 2/6→6/6) by @mrdushidush in #34
  • Revert #34 enumeration nudge (no battery benefit; keep base prompt lean) by @mrdushidush in #35
  • chore: remove dead/vestigial code (-1.7k lines) + release v0.8.7 by @mrdushidush in #36

Full Changelog: v0.8.6...v0.8.7

v0.8.6

02 Jun 13:52

Choose a tag to compare

v0.8.6 — security & correctness hardening

Remediation of the 2026-06-02 multi-agent roast (GitHub / crates.io / local code). No breaking API changes.

🔒 Security

  • Credential read denylist — the read tools refuse ~/.ssh, ~/.aws, ~/.gnupg, ~/.config/gcloud, ~/.claudette/secrets, and *.pem / *.key / *.token files, so a prompt-injected model can't read keys to exfiltrate them (override: CLAUDETTE_ALLOW_SECRET_READS=1).
  • SSRF guard on web_fetch — blocks loopback / RFC1918 / link-local targets incl. the 169.254.169.254 cloud-metadata endpoint, resolving hostnames too (override: CLAUDETTE_WEB_FETCH_ALLOW_PRIVATE=1).
  • Network egress now prompts by default (web_fetch, tg_send), closing the silent read → exfiltrate chain. CLAUDETTE_AUTO_APPROVE still passes them through.
  • git_checkout rejects --prefixed targets (option-injection).

🐛 Fixed

  • CRLF / byte-boundary cluster (#26): correct byte offsets in codet fuzzy-match, apply_patch preserves the file's line endings (no more CRLF→LF whole-file diffs), and char-boundary-safe slicing in recall / doctor / URL-probe (no more panic=abort crashes on >8 KB multibyte input).
  • Forge brownfield (#23): mission_submit accepts an already-committed tree, making the clone → edit → PR happy-path satisfiable.

🔧 Internal

  • Release pipeline is idempotent and the GitHub Release is decoupled from cargo publish — a crates.io hiccup no longer silently drops the prebuilt binaries.
  • cargo audit replaces the deprecated Node-20 audit action.
  • crates.io metadata + README accuracy fixes; bench/tui::typewriter scaffolds feature-gated.

Full details: CHANGELOG

v0.8.5

31 May 10:54
b11d455

Choose a tag to compare

What's Changed

  • chore: relicense to MIT OR Apache-2.0 (dual) (v0.8.5) by @mrdushidush in #30

Full Changelog: v0.8.4...v0.8.5

v0.8.4

31 May 10:13
b0c31b4

Choose a tag to compare

What's Changed

  • docs: fix benchmark denominator — pull incomplete qwen3.6-27b from ranked table (v0.8.4) by @mrdushidush in #22

Full Changelog: v0.8.3...v0.8.4