v0.3.6
What's Changed
- fix(test): eliminate env var race in is_disabled tests by @eliothedeman in #201
- ci: add merge_group trigger for merge queue support by @eliothedeman in #202
- chore: bump package versions to v0.3.5 by @eliothedeman in #199
- fix(sandbox): filter audit noise using policy-aware cap matching by @eliothedeman in #200
- docs: clarify agent-agnostic intent and add support matrix by @eliothedeman in #198
- fix: resolve clippy lints by @ecalifornica in #204
- fix(sandbox): add Landlock Refer access right to WRITE capability by @ecalifornica in #205
- Add a TUI for managing Clash policies by @akesling in #209
- feat(sandbox): support localhost-only network policy by @eliothedeman in #192
New Contributors
- @ecalifornica made their first contribution in #204
Full Changelog: v0.3.5...v0.3.6
What's Changed
- Fix plugin build and update Quick Start by @ben-emp in #48
- interactive onboarding by @eliothedeman in #49
- Allow you to rerun in the same linear task by @eliothedeman in #50
- Move the default internal policies to files for easier edit by @eliothedeman in #51
- Replace YAML policy engine with s-expression format and decision tree compiler by @eliothedeman in #53
- Update skill definitions to s-expression syntax and add interactive policy e2e tests by @eliothedeman in #54
- fix: Make clash init idempotent and prevent test binary symlinks by @eliothedeman in #55
- feat: self describing 'commands' subcommand by @eliothedeman in #56
- feat: Enhance clash status with detailed policy breakdown (EMP-102) by @eliothedeman in #57
- feat: clash explain command by @eliothedeman in #58
- cleanup: remove claude shell reference by @eliothedeman in #61
- expert prime when starting linear task by @eliothedeman in #62
- cleanup: rename 'clash policy setup' -> 'clash edit' by @eliothedeman in #60
- feat: Add session and project level policies by @eliothedeman in #63
- bug: Fix
clash initinteraction with mutli layer policies by @eliothedeman in #64 - Learn session-level policy rules from user permission approvals by @eliot-emp in #65
- Refactor policy status display and improve init UX with interactive prompts by @eliot-emp in #66
- Add interactive prompts and styled output for improved UX by @eliot-emp in #67
- Update AGENTS.md for conventional commits by @eliot-emp in #68
- Add cache for cargo deps in ci by @eliothedeman in #69
- feat: Teach claude how to amend it's policy for a session after it asks for permission by @eliothedeman in #70
- chore: Prepare clash for publish to crates.io by @eliothedeman in #71
- fix: exclude stale session policy from CLI commands by @eliothedeman in #72
- improve dev docs by @eliothedeman in #73
- Fix install/bootstrap issues introduced by claude by @eliothedeman in #74
- Ensure clash always has a policy to work from by @eliothedeman in #75
- Better decoration on interactive config builder by @eliothedeman in #76
- refactor: extract long inline strings to files using include_str! by @eliothedeman in #77
- feat: hint Claude when sandbox blocks network access (EMP-127) by @eliothedeman in #78
- refactor: extract main.rs god file into focused modules by @eliothedeman in #79
- Revise project description in README.md by @eliothedeman in #80
- clash policy shell builder by @eliothedeman in #81
- switch to hotline proxy for bug reporting by @ben-emp in #82
- Bump package versions to v0.2.0 by @eliothedeman in #84
- the old plans keep confusing agents if they can't talk to linear by @eliothedeman in #85
- feat(init): install clash plugin from GitHub during clash init by @eliothedeman in #83
- Bump package versions to v0.3.0 by @eliothedeman in #86
- claude/emp 132 by @eliothedeman in #87
- feat(policy): deny all hooks on invalid policy and add validate subcommand (EMP-92) by @eliothedeman in #89
- feat(shell): use diff fragments and cleaner s-expression formatting (EMP-129) by @eliothedeman in #88
- feat(init): prompt user to choose scope instead of assuming both by @eliothedeman in #90
- feat(update): add self-update command and release tooling by @eliothedeman in #91
- feat(init): set permissions.defaultMode during clash init (EMP-137) by @eliothedeman in #92
- Update installation command in README by @eliothedeman in #93
- chore: bump package versions to v0.3.1 by @eliothedeman in #94
- Set env vars in github workflow, cleanup unused graphql files by @benbaarber in #96
- Cleanup linear file and unused function by @benbaarber in #97
- Inline sandbox policies and net-only policies by @benbaarber in #95
- fix(eval): skip env var prefixes when extracting binary name by @eliothedeman in #110
- just work gh by @eliothedeman in #111
- feat(eval): strip transparent prefix commands when extracting binary name by @eliothedeman in #137
- docs: clarify exec rule enforcement scope (#138) by @eliothedeman in #142
- fix(explain): handle "tool" as domain keyword in explain command by @eliothedeman in #143
- feat: add
clash statuslinefor ambient policy visibility by @akesling in #107 - feat(sandbox): domain-level network filtering via HTTP proxy by @eliothedeman in #148
- feat(cli): add --scope and --dry-run flags to clash edit by @eliothedeman in #150
- Allow reading from agent transcript directory via internal policy by @eliothedeman in #149
- chore: bump package versions to v0.3.3 by @eliothedeman in #152
- fix(sandbox): graceful shutdown in proxy send_error to prevent RST race by @eliothedeman in #157
- Automatically create PRs with release script by @eliothedeman in #153
- Ignore claude and clash project directories by @eliothedeman in #159
- feat(cli): collapse builtin rules in status output by @eliothedeman in #163
- refactor(sandbox): rewrite proxy from sync std to async tokio+hyper by @eliothedeman in #169
- feat(cli): add doctor command for setup diagnostics by @eliothedeman in #165
- fix(sandbox): allow temp directory access by default by @eliothedeman in #166
- feat(hooks): add CLASH_DISABLE env var to bypass all hooks by @eliothedeman in #172
- fix: AskUserQuestion auto-approved by (allow (tool)), skipping interactive UI by @od0 in #174
- feat(policy): add :worktree flag for git worktree support by @eliothedeman in #173
- feat(cli): add debug subcommand for policy inspection by @eliothedeman in #175
- feat(init): install statusline by default during clash init by @eliothedeman in #179
- chore: bump package versions to v0.3.4 by @eliothedeman in #180
- clash bug internal net access by @benbaarber in #145
- remove env variable dependency for hotline by @benbaarber in #181
- fix(wizard): include :worktree in human-readable rule descriptions by @eliothedeman in #182
- feat(cli): include git commit hash in version output by @eliothedeman in #183
- ci: add crates.io publish workflow by @eliothedeman in #184
- feat(policy): add version syntax and upgrade command by @eliothedeman in #185
- fix(hooks): passthrough plan mode tools to preserve Claude Code native UI by @eliothedeman in #186
- feat(policy): add path-based matching to network capability rules by @eliothedeman in #188
- fix(dev): isolate clash build in temp dir instead of cargo install by @eliothedeman in #190
- docs: add disable and uninstall instructions by @eliothedeman in #191
- fix(test): eliminate env var race in is_disabled tests by @eliothedeman in #201
- ci: add merge_group trigger for merge queue support by @eliothedeman in #202
- chore: bump package versions to v0.3.5 by @eliothedeman in #199
- fix(sandbox): filter audit noise using policy-aware cap matching by @eliothedeman in #200
- docs: clarify agent-agnostic intent and add support matrix by @eliothedeman in #198
- fix: resolve clippy lints by @ecalifornica in #204
- fix(sandbox): add Landlock Refer access right to WRITE capability by @ecalifornica in #205
- Add a TUI for managing Clash policies by @akesling in #209
- feat(sandbox): support localhost-only network policy by @eliothedeman in #192
New Contributors
- @ben-emp made their first contribution in #48
- @benbaarber made their first contribution in #96
- @akesling made their first contribution in #107
- @od0 made their first contribution in #174
- @ecalifornica made their first contribution in #204
Full Changelog: v0.1.1...v0.3.6