v0.1.2
⚠️ Security fix — upgrade recommended
This release closes a permission-prompt bypass in the Bash hook (#67). Prior versions emitted an allow decision for every shell command mati did not explicitly deny, which bypassed the agent's permission prompt — with the hooks installed, arbitrary shell commands could run without asking.
Upgrading the binary is the fix — the installed hook scripts just exec mati hook-decide, so no mati init or hook re-install is needed:
cargo install mati --force # or: cargo binstall matiThis release also ships audit-integrity hardening (daemon error-envelope handling, output-before-events ordering, recorded fail-open gaps) and a stable per-machine device_id.
What's Changed
- feat(enforcement): Claude edit-gating + per-actor audit evidence by @ioni-dev in #39
- fix(deps): bump git2 0.20 → 0.21 to resolve RUSTSEC-2026-0183/0184 by @ioni-dev in #40
- feat(sandbox): L3 OS-level sandbox floor for crown-jewel files by @ioni-dev in #41
- Enforcement metrics, immediate gating for un-indexed files, and docs fix by @ioni-dev in #42
- fix(ci): exclude Criterion benches from the nextest test run by @ioni-dev in #43
- Chain integrity verification + concurrency-safe enforcement writes by @ioni-dev in #44
- Close in-repo symlink bypass via canonical-key enforcement fallback (WI-20) by @ioni-dev in #45
- ci: stabilize the chronically-red Ignored integration tests job (WI-21) by @ioni-dev in #46
- docs(readme): mark Extended retention controls as in development by @ioni-dev in #47
- feat(doctor): host-aware enforcement, integrity & freshness health checks by @ioni-dev in #48
- Provable zero-network / zero-telemetry attestation (idea 1.2) by @ioni-dev in #49
- Eval / regression corpus — detection layer (idea 4, P0) by @ioni-dev in #50
- Close read-gate detection bypasses surfaced by the eval corpus by @ioni-dev in #51
- Decision-layer eval corpus +
mati eval --json(idea 4, P1) by @ioni-dev in #52 - Quote-aware tokenizer + multi-file gating: close grep & multi-file read-gate bypasses by @ioni-dev in #53
- Core signed policy-floor bundle verification (idea 1.3, increment 1) by @ioni-dev in #54
- feat(suggest): onboarding import — propose gotcha candidates from CODEOWNERS + markers (idea 2.2) by @ioni-dev in #55
- feat(search): keyword search across the knowledge base — mati search (idea 2.1) by @ioni-dev in #56
- feat(cli): shell completion, config dump, and short aliases (idea 3) by @ioni-dev in #57
- feat(init): propose CODEOWNERS candidates on init (2.2 follow-on) by @ioni-dev in #58
- fix(deps): bump rmcp 1.4.0 + anyhow 1.0.103 (RUSTSEC, fixes red CI) by @ioni-dev in #60
- docs: add suggest/search/completion to the CLI reference by @ioni-dev in #59
- docs: add centered mati logo to the README header by @ioni-dev in #61
- feat: hook scaffold improvements (async logging, timeouts, PostCompact/SubagentStart/Stop) by @ioni-dev in #62
- feat(consult): per-actor consult enforcement + audit attribution by @ioni-dev in #63
- feat(hooks): consult-required globs — neutral per-actor consultation primitive by @ioni-dev in #64
- feat(hooks): distinct floor_consult_required audit reason code (D2) by @ioni-dev in #65
- fix(hooks): pre-edit deny message reflects the actual cause (gotcha vs org mandate) by @ioni-dev in #66
- fix(hooks): close Bash permission-prompt bypass; audit-integrity hardening + stable device_id by @ioni-dev in #67
- release: v0.1.2 (security — Bash permission bypass fix) by @ioni-dev in #68
Full Changelog: v0.1.1...v0.1.2