Releases: mrdushidush/claudette
Releases · mrdushidush/claudette
v0.12.0
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
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
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
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
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
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
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
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/*.tokenfiles, 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. the169.254.169.254cloud-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_APPROVEstill passes them through. git_checkoutrejects--prefixed targets (option-injection).
🐛 Fixed
- CRLF / byte-boundary cluster (#26): correct byte offsets in codet fuzzy-match,
apply_patchpreserves the file's line endings (no more CRLF→LF whole-file diffs), and char-boundary-safe slicing in recall / doctor / URL-probe (no morepanic=abortcrashes on >8 KB multibyte input). - Forge brownfield (#23):
mission_submitaccepts 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 auditreplaces the deprecated Node-20 audit action.- crates.io metadata + README accuracy fixes;
bench/tui::typewriterscaffolds feature-gated.
Full details: CHANGELOG
v0.8.5
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
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