Releases: ioni-dev/mati
Release list
v0.1.6
Full Changelog: v0.1.5...v0.1.6
v0.1.5
What's Changed
- docs: note that Claude Code project hooks require folder trust by @ioni-dev in #73
- docs: reference Global Workspace research by @ioni-dev in #74
- Make the daemon the sole store owner; fix MCP store mismatch and sandbox errors by @ioni-dev in #76
- Add a local policy engine by @ioni-dev in #75
- Bump crossbeam-epoch to 0.9.20 (RUSTSEC-2026-0204) by @ioni-dev in #78
- Expose policy telemetry reads over MCP (mem_query modes) by @ioni-dev in #77
- Normalize gotcha affected_files on every write path by @ioni-dev in #79
- Re-key gotchas onto renamed paths at init by @ioni-dev in #80
- Detect gotcha content drift since last confirmation by @ioni-dev in #81
- Make three stated invariants executable by @ioni-dev in #82
- Count consultations, not ReceiptMinted events by @ioni-dev in #83
- Close enforcement recording gaps and unify repo-root resolution by @ioni-dev in #84
- Measure busy-daemon shutdown; set explicit supervisor stop timeout by @ioni-dev in #85
- Serialize output_regression daemon spawns by @ioni-dev in #86
- Count every unread seq in chain verification, not every gap by @ioni-dev in #87
- Fix chain-verify skip/deletion attribution and explain co-change liveness by @ioni-dev in #88
- init: surface the resolved repo root for a subpath by @ioni-dev in #89
- docs(architecture): fix repo-layout and CLI drift against code by @ioni-dev in #90
- docs(claude): add policy:* to durability and namespacing lists by @ioni-dev in #91
- Resource protection: gate deletes/moves + pathless verbs (
mati protect/mati guard) by @ioni-dev in #92 - Fix broken intra-doc links failing the doc gate by @ioni-dev in #93
- Add resource-protection acceptance smoke (Claude + Codex) by @ioni-dev in #94
- Bump version to 0.1.4 by @ioni-dev in #95
- docs: expand trademark policy with owner, marks, and contact by @ioni-dev in #96
- Record subagent lineage on enforcement events (F5 recording half) by @ioni-dev in #97
- Gate gotcha confirm behind an elicitation prompt by @ioni-dev in #98
- Record confirm basis and bound the elicitation by @ioni-dev in #99
- feat(session): harvest subagent summaries into recent_session by @ioni-dev in #100
- test(sandbox): assert Plane 3 floor holds with no mati process by @ioni-dev in #102
- feat(enforcement): record subagent presence as a hash-chained event by @ioni-dev in #101
- feat(stats): show subagent spawns in the enforcement section by @ioni-dev in #103
- fix(stats): count enforcement events from the current second by @ioni-dev in #104
- fix(init): seed stats/stale cache after the last knowledge write by @ioni-dev in #105
- docs: correct auto_memory.rs tree comment by @ioni-dev in #106
- feat(doctor): surface confirmed gotchas that cannot gate by @ioni-dev in #107
- feat(doctor): flag confirmed gotchas that cannot gate on quality by @ioni-dev in #108
- test(enforcement): expect schema_version 3, not stale v2 by @ioni-dev in #109
- fix(deps): bump h2 to 0.4.18 for RUSTSEC-2026-0258 by @ioni-dev in #110
- chore(deps): adopt rmcp 3.1.4 (from 1.4.0) by @ioni-dev in #111
- feat(mcp): make server/discover cacheable (F7) by @ioni-dev in #112
- feat(mcp): make tools/list cacheable (F7) by @ioni-dev in #113
- Record nested subagent lineage (F5) by @ioni-dev in #114
- Relicense to Apache-2.0 by @ioni-dev in #115
- Require DCO sign-off on contributions by @ioni-dev in #116
- Soften DCO wording (no enforcement app) by @ioni-dev in #117
- Shrink always-on agent context to ~370 tokens by @ioni-dev in #118
- Clarify device_id rationale (persistence vs UUID version) by @ioni-dev in #119
- Release hygiene: strip vendored keys, shrink crate, add community files by @ioni-dev in #120
- Fix crate exclude: keep embedded eval fixtures by @ioni-dev in #121
- Upload install.sh as a release asset by @ioni-dev in #122
- feat(policy): content + action axes — deny_if, require, file_read, CommandObserved by @ioni-dev in #123
- Complete the Tier 1 lockdown and state the measured claim by @ioni-dev in #124
Full Changelog: v0.1.3...v0.1.5
v0.1.3
What's Changed
- fix(tests): stop unit tests polluting the real ~/.mati (MATI_HOME override) by @ioni-dev in #69
- test(hygiene): isolate integration tests off the real ~/.mati by @ioni-dev in #70
- Fix binstall prebuilt resolution and doctor false drift on graph edges by @ioni-dev in #71
- release: v0.1.3 (binstall prebuilt fix + doctor drift false positive) by @ioni-dev in #72
Full Changelog: v0.1.2...v0.1.3
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
v0.1.1
Full Changelog: https://github.com/ioni-dev/mati/commits/v0.1.1