v0.15.2
What's Changed
- fix(debug): trace mode creates empty session dirs and overwrites trace.json (#1814) by @bug-ops in #1819
- fix(memory): recreate Qdrant collections on vector dimension mismatch by @bug-ops in #1820
- fix(memory): pass embedding store to EntityResolver in extract_and_store by @bug-ops in #1827
- fix(core): restore JIT tool reference injection after overflow SQLite migration by @bug-ops in #1826
- test(memory): add missing sanitize_guidelines tests for special-token and role-prefix patterns by @bug-ops in #1830
- refactor(acp): centralize ACP session config wiring by @bug-ops in #1834
- feat(memory,core): session summary on shutdown (#1816) by @bug-ops in #1833
- fix(memory): pass provider to EntityResolver in extract_and_store by @bug-ops in #1836
- feat(memory): add conversation_id to compression_guidelines for per-conversation scoping by @bug-ops in #1835
- fix(llm): strip URL path in parse_host_port for Ollama base_url with /v1 suffix by @bug-ops in #1837
- fix(security): redact secrets and paths in compression_failure_pairs before storage by @bug-ops in #1838
- observability(router): add tracing instrumentation to cascade router by @bug-ops in #1843
- feat(memory): add --compression-guidelines CLI flag by @bug-ops in #1844
- feat(tui): add compression guidelines status line and /guidelines command by @bug-ops in #1848
- deps: upgrade rmcp 0.17 → 1.2 by @bug-ops in #1849
- feat(context): fix soft compaction tier rarely firing (#1828) by @bug-ops in #1857
- refactor(features): replace flat feature list with use-case bundles by @bug-ops in #1859
- fix(security): extend compression_failure_pairs redaction to JWT Bearer tokens by @bug-ops in #1860
- feat(security): declarative policy compiler for tool call authorization by @bug-ops in #1870
- feat(security): LLM-based guardrail pre-screener for prompt injection (#1651) by @bug-ops in #1875
- feat(tools): pre-execution action verification plugin hook in tool pipeline (#1630) by @bug-ops in #1881
- feat(skills): malicious skill trust tier enforcement (#1853) by @bug-ops in #1878
- fix(core): fix overflow prefix validation error in read_overflow tool by @bug-ops in #1882
- fix(policy): remove dead PolicyEffect::AllowIf variant by @bug-ops in #1883
- fix(policy): remove env leak and add --trust-level to /policy check by @bug-ops in #1884
- fix(memory): attempt plain-text fallback when session summary times out (#1869) by @bug-ops in #1887
- fix(policy): accept "shell"/"sh" as aliases for "bash" tool_id in policy rules by @bug-ops in #1891
- fix(security): block MCP tools for quarantined skills (#1876) by @bug-ops in #1892
- sec(policy): add symlink boundary check to load_policy_file() by @bug-ops in #1893
- fix(orchestration): mark non-terminal tasks Canceled on scheduler deadlock (#1879) by @bug-ops in #1894
- test(policy): additional coverage for policy_file loading, MAX_RULES boundary, and confirmed allow path by @bug-ops in #1896
- feat(tools): add --init wizard step for pre-execution verifier config (#1880) by @bug-ops in #1897
- test: audit cleanup — remove duplicates, useless tests, add critical coverage by @bug-ops in #1895
- fix(policy): report correct rule count in /policy status when using policy_file by @bug-ops in #1901
- feat(core): context compression — Focus Agent, SWE-Pruner/COMI, SideQuest (#1850, #1851, #1885) by @bug-ops in #1900
- release: v0.15.2 by @bug-ops in #1902
Full Changelog: v0.15.1...v0.15.2