Skip to content

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 14 Mar 02:43
· 2075 commits to main since this release

What's Changed

  • refactor(core): architecture improvements for maintainability and testability by @bug-ops in #1526
  • refactor: Phase 2 architecture improvements — deduplication and file splits by @bug-ops in #1527
  • feat(config): add migrate-config command by @bug-ops in #1528
  • fix(tools): enforce shell blocklist before permission policy check by @bug-ops in #1529
  • fix(lsp): use file_path parameter for mcpls 0.3.4 compatibility by @bug-ops in #1537
  • fix(init): generate mcpls.toml config instead of unsupported --workspace-root flag by @bug-ops in #1540
  • fix(acp): use file_path parameter for mcpls tool calls by @bug-ops in #1539
  • fix(lsp): fix hover-on-read hook — strip cat-n prefix and correct MCP param by @bug-ops in #1541
  • chore(deps): document upstream blocker for RUSTSEC-2025-0134 by @bug-ops in #1542
  • chore(deps): bump quinn-proto from 0.11.13 to 0.11.14 in the cargo group across 1 directory by @dependabot[bot] in #1543
  • fix(tools): SEC-001..004 tool execution hardening by @bug-ops in #1546
  • fix(tools): skip permission policy for MCP/LSP tools in Supervised mode by @bug-ops in #1547
  • feat(memory): share single QdrantOps instance across all subsystems by @bug-ops in #1549
  • fix(tools): handle ConfirmationRequired in native tool path and fix MCP tools in Supervised mode by @bug-ops in #1548
  • perf(tools): restore parallel native tool execution with selective retry by @bug-ops in #1550
  • feat(index): hybrid tree-sitter + LSP code understanding (#1551) by @bug-ops in #1555
  • fix(zeph-llm): use max_completion_tokens for GPT-5 OpenAI requests by @bug-ops in #1559
  • feat(debug-dump): include request metadata in debug dumps (#1485) by @bug-ops in #1560
  • fix(openai): handle null assistant content in tool calls by @bug-ops in #1562
  • Fix issue 1563 by @bug-ops in #1564
  • Preserve requested working directory when starting ACP sessions by @bug-ops in #1567
  • Cap Claude cache-control blocks to four by @bug-ops in #1568
  • Resolve issue 1569 in Zeph by @bug-ops in #1571
  • Fix issue 1570 by @bug-ops in #1572
  • fix(acp): log startup runtime paths by @bug-ops in #1580
  • Normalize legacy runtime defaults by @bug-ops in #1582
  • Track shared ACP models and preserve session defaults by @bug-ops in #1583
  • Fix regression reported in issue 1579 by @bug-ops in #1584
  • Add ACP readiness probes and notifications by @bug-ops in #1585
  • Track MCP server connectivity for MCP LSP provider by @bug-ops in #1586
  • Refactor Zeph ACP agent for Send+Sync LSP runtime by @bug-ops in #1587
  • Add debug tracing to LSP diagnostics and hover hooks by @bug-ops in #1588
  • #1557 by @bug-ops in #1589
  • Enable ACP auto-start when configured by @bug-ops in #1590
  • Fix issue 1556 agent configuration across toolchain by @bug-ops in #1591
  • fix(scheduler): initialize scheduler in ACP mode by @bug-ops in #1602
  • fix(search_code): use relative paths to prevent path redaction in CLI display by @bug-ops in #1604
  • feat(gemini): Gemini provider Phase 1 — basic generateContent chat by @bug-ops in #1605
  • feat(orchestration): typed ConcurrencyLimit error, edge-case tests, cancel token by @bug-ops in #1606
  • fix(lsp-hooks): add McpCaller trait and regression tests for parameter names (#1538) by @bug-ops in #1615
  • feat(orchestration): allow /plan cancel delivery during run_scheduler_loop by @bug-ops in #1616
  • feat(gemini): Phase 2 -- SSE streaming support by @bug-ops in #1617
  • fix(orchestration): exponential backoff in DagScheduler when concurrency limit hit by @bug-ops in #1620
  • perf(memory): stream edge list in chunks during community detection by @bug-ops in #1621
  • refactor(orchestrator): downgrade noisy fallback log to debug by @bug-ops in #1622
  • test(tools): add execute_confirmed + blocklist regression test by @bug-ops in #1623
  • docs: update for changes since v0.14.3 by @bug-ops in #1631
  • fix(orchestration): prevent DagScheduler deadlock on concurrency exhaustion (#1619) by @bug-ops in #1624
  • feat(scheduler): accept standard 5-field cron expressions by @bug-ops in #1632
  • feat(gemini): Phase 3 -- tool use / function calling by @bug-ops in #1635
  • fix(acp): apply graph memory config to ACP sessions by @bug-ops in #1645
  • feat(memory): add debug logging to SemanticMemory search pipeline by @bug-ops in #1644
  • feat(scheduler): add list_tasks tool and /scheduler list slash command by @bug-ops in #1648
  • feat(gemini): Phase 4 -- vision / multimodal (inlineData) by @bug-ops in #1655
  • fix(acp): apply document RAG and graph memory config to ACP sessions by @bug-ops in #1653
  • feat(router): add debug logging for provider selection decisions by @bug-ops in #1657
  • feat(gemini): document SSE functionCall gap with TODO for Phase 4 by @bug-ops in #1660
  • feat(gemini): document parse_tool_response single-candidate limitation by @bug-ops in #1662
  • feat(llm): update Opus 4.6 thinking to use effort parameter GA by @bug-ops in #1663
  • feat(gemini): Phase 5 -- embeddings (embedContent) by @bug-ops in #1664
  • fix(gemini): depth counter in inline_refs_inner only decrements on $ref resolution by @bug-ops in #1665
  • fix(acp): wire anomaly detector and orchestration config into ACP sessions by @bug-ops in #1667
  • fix(llm): normalize JSON schema for OpenAI strict mode in chat_typed (#1656) by @bug-ops in #1670
  • chore(llm): replace retired Claude 3 model IDs and add deprecation warning by @bug-ops in #1671
  • fix(acp): forward /scheduler, /graph, /plan slash commands to agent loop by @bug-ops in #1675
  • feat(gemini): omit parameters field for no-parameter tools by @bug-ops in #1674
  • fix(memory): prioritize word count over snake_case in HeuristicRouter by @bug-ops in #1676
  • fix(memory): wire semantic ranking options from config into SemanticMemory by @bug-ops in #1678
  • fix(acp): invert slash command routing to allowlist approach by @bug-ops in #1679
  • fix(tools): record anomaly outcomes in native tool_use path by @bug-ops in #1681
  • fix(llm): omit parameters field for no-param tools in OpenAI strict mode by @bug-ops in #1682
  • feat(llm): support Claude 1M token context window beta header by @bug-ops in #1684
  • feat(gemini): Phase 6 - list models + remote discovery by @bug-ops in #1688
  • fix(acp): emit flush after non-LLM slash commands to unblock session/prompt by @bug-ops in #1689
  • feat(scheduler): cancel sub-agents on channel close and shutdown signal by @bug-ops in #1692
  • feat(orchestration): count tasks completed before cancellation in metrics by @bug-ops in #1690
  • test(agent): add COV-03 scheduler-loop integration test for non-cancel message queuing by @bug-ops in #1699
  • test(gemini): add missing uppercase_types tests for number/boolean/array/null by @bug-ops in #1700
  • feat(llm): Claude server-side compaction API (compact-2026-01-12 beta) by @bug-ops in #1696
  • fix(llm): graceful degradation when compact-2026-01-12 beta header is rejected by @bug-ops in #1701
  • test(gemini): add missing schema conversion edge case tests by @bug-ops in #1702
  • deps: update clap 4.5→4.6, tempfile 3.26→3.27, tracing-subscriber 0.3.22→0.3.23 by @bug-ops in #1704
  • fix(skills): consolidate EmbedUnsupported warnings into single summary by @bug-ops in #1703
  • fix(llm): correct ContextManagement serialization for Claude server compaction API by @bug-ops in #1709
  • feat(llm): Gemini thinking_level/thinking_budget support for flash-thinking models by @bug-ops in #1710
  • feat(zeph-core): intra-turn parallel tool dispatch via dependency DAG (LLMCompiler) by @bug-ops in #1712
  • fix(skills): collate EmbedUnsupported warnings into single info log by @bug-ops in #1711
  • fix(llm): extend is_compact_beta_rejection() to catch context_management 400s by @bug-ops in #1716
  • fix(llm): disable server_compaction for Haiku models with WARN by @bug-ops in #1717
  • perf(orchestration): parallel task dispatch in DagScheduler by @bug-ops in #1718
  • feat(memory): tiered context compaction — soft at 70%, hard at 90% (#1338) by @bug-ops in #1720
  • feat(llm): cascade routing — try cheap provider first, escalate on degenerate output by @bug-ops in #1721
  • fix(llm): remove top-level type field from ContextManagement by @bug-ops in #1726
  • test(zeph-core): integration test for ConfirmationRequired dependency propagation (#1713) by @bug-ops in #1725
  • fix(core): prevent context compaction loop when budget too tight (#1708) by @bug-ops in #1727
  • release: v0.15.0 by @bug-ops in #1728

Full Changelog: v0.14.3...v0.15.0