Releases: bug-ops/zeph
Releases · bug-ops/zeph
v0.11.4
What's Changed
- feat: external skill management with install, remove, verify, and trust CLI by @bug-ops in #684
- feat: support arbitrary vault keys for skill API authentication by @bug-ops in #685
- feat(zeph-skills): align SKILL.md parser with agentskills.io spec by @bug-ops in #690
- feat(zeph-skills): validate skill file references and sanitize untrusted body content by @bug-ops in #691
- refactor(zeph-skills): rename requires-secrets to x-requires-secrets vendor extension by @bug-ops in #693
- refactor(zeph-skills): lazy resource loading per progressive disclosure spec by @bug-ops in #692
- feat(zeph-core): add spinner status indicators for long-running operations by @bug-ops in #701
- Add crates.io publishing metadata to all workspace crates by @bug-ops in #702
- release: v0.11.4 by @bug-ops in #703
- fix: move migrations into zeph-memory for crates.io publishing by @bug-ops in #704
Full Changelog: v0.11.3...v0.11.4
v0.11.3
What's Changed
- feat(tools): harden shell command detection against bypass vectors by @bug-ops in #668
- perf(core): optimize agent hot path across 9 subsystems by @bug-ops in #669
- feat(mcp): security hardening — command allowlist and env var validation by @bug-ops in #670
- refactor(llm): clean up provider layer — fix leak, deduplicate, optimize by @bug-ops in #671
- feat(security): mitigate SSRF and information leakage by @bug-ops in #672
- refactor(memory): extract generic EmbeddingRegistry by @bug-ops in #673
- refactor(http): consolidate HTTP client creation with default_client() by @bug-ops in #674
- refactor(core): decompose agent module into focused submodules by @bug-ops in #675
- refactor: replace anyhow with typed errors in library crates by @bug-ops in #676
- refactor: box Image variant and erase ToolExecutor generic from Agent by @bug-ops in #677
- feat: TUI remote connection to daemon via A2A protocol by @bug-ops in #679
- test: improve coverage for security-critical and core modules by @bug-ops in #680
- release: v0.11.3 by @bug-ops in #681
Full Changelog: v0.11.2...v0.11.3
v0.11.2
What's Changed
- docs: restructure documentation around user journey by @bug-ops in #609
- fix(memory): add wait(true) to Qdrant upsert and delete operations by @bug-ops in #611
- feat(build): expand full feature set and enable for release builds by @bug-ops in #610
- feat(config): per-sub-provider base_url/embedding_model in orchestrator by @bug-ops in #612
- fix(vault): use default vault dir for age key/path fallback by @bug-ops in #613
- fix(tui): prevent event reader thread termination on mouse events by @bug-ops in #614
- refactor(channels): replace rustyline with crossterm for CLI input by @bug-ops in #615
- feat(stt): add base_url and language support for local whisper servers by @bug-ops in #616
- release: v0.11.2 by @bug-ops in #617
Full Changelog: v0.11.1...v0.11.2
v0.11.1
What's Changed
- fix(cli): restore --vault, --vault-key, --vault-path flags after clap migration by @bug-ops in #589
- feat(tui): add command palette with read-only agent management commands by @bug-ops in #599
- feat(cli): add orchestrator provider to init wizard by @bug-ops in #601
- feat(vault): implement vault CLI subcommands and fix init wizard flow by @bug-ops in #602
- feat(tui): add @-triggered fuzzy file picker in input by @bug-ops in #603
- feat(tui): make markdown links clickable via OSC 8 hyperlinks by @bug-ops in #606
- feat(scheduler): add auto-update check via GitHub Releases API by @bug-ops in #605
- feat(cli): add persistent input history with rustyline by @bug-ops in #607
- release: v0.11.1 by @bug-ops in #608
Full Changelog: v0.11.0...v0.11.1
v0.11.0
What's Changed
- fix(ci): replace oraclelinux base image with debian bookworm-slim by @bug-ops in #532
- feat(tui): clickable hyperlinks via OSC 8 by @bug-ops in #530
- feat(tui): add keybinding help popup on ? in normal mode by @bug-ops in #533
- docs(docker): add Trivy vulnerability scanning section by @bug-ops in #536
- fix(core): strip schema metadata and fix doom loop detection for native tool calls by @bug-ops in #534
- feat: add cancel/abort for in-flight LLM requests and tool executions by @bug-ops in #538
- feat(tui): edit queued messages before LLM processing by @bug-ops in #535
- chore: consolidate Docker files into docker/ directory by @bug-ops in #539
- refactor(tools): typed deserialization for tool call params by @bug-ops in #540
- feat(llm): add structured output with chat_typed and Extractor by @bug-ops in #541
- feat(memory): extract VectorStore trait abstraction by @bug-ops in #554
- feat(tui): add comprehensive test automation infrastructure by @bug-ops in #555
- feat(tui): word-jump and line-jump cursor navigation by @bug-ops in #557
- feat(core): add pipeline module with Step trait, builder, and combinators by @bug-ops in #556
- feat(core): structured intent classification via Extractor by @bug-ops in #559
- feat(memory): document loaders, text splitter, and ingestion pipeline by @bug-ops in #558
- feat(llm): audio input support with SpeechToText trait and Whisper backend by @bug-ops in #561
- feat: add interactive configuration wizard and clap CLI by @bug-ops in #560
- feat(channels): Telegram voice message support and STT bootstrap wiring by @bug-ops in #562
- feat(channels): Slack audio file upload handling by @bug-ops in #564
- feat: add installation script and CI release improvements by @bug-ops in #565
- feat: integrate structured output into core workflows by @bug-ops in #563
- feat(llm): local Whisper backend via candle for offline STT by @bug-ops in #566
- feat(core): STT env overrides and audio documentation finalization by @bug-ops in #568
- fix(tui): resolve UI freezes during streaming and tool execution by @bug-ops in #570
- feat(llm): vision (image input) support across all providers by @bug-ops in #569
- release: v0.11.0 by @bug-ops in #571
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
- feat: architecture improvements, performance optimizations, security hardening (M24) by @bug-ops in #417
- refactor: remove P generic from Agent, SemanticMemory, CodeRetriever (M24) by @bug-ops in #423
- feat: skill trust levels and quarantine system (M25) by @bug-ops in #424
- refactor: extract bootstrap/AppBuilder from main.rs (M24) by @bug-ops in #425
- fix: resolve tui feature gate compilation errors by @bug-ops in #435
- feat: smart tool output filtering for token savings (M26) by @bug-ops in #437
- refactor: remove 8 lightweight feature gates, make always-on (M26) by @bug-ops in #438
- feat: token savings tracking and metrics (M26) by @bug-ops in #445
- fix: periodic tick for TUI metrics refresh by @bug-ops in #453
- feat: output filter architecture improvements (M26.1) by @bug-ops in #452
- feat: display filter metrics in TUI dashboard by @bug-ops in #454
- feat: per-tool inline filter stats in CLI chat by @bug-ops in #473
- TUI: syntax-highlighted diff view for write/edit tool output by @bug-ops in #455
- fix: propagate filter_stats to TUI metrics in native tool path by @bug-ops in #480
- feat: compact/detailed tool output toggle in TUI chat by @bug-ops in #479
- fix: handle compound shell commands in output filter matchers by @bug-ops in #481
- fix: propagate token metrics in native tool_use path by @bug-ops in #482
- fix: show inline filter stats based on char savings, not line count by @bug-ops in #483
- fix: recognize native tool_result format in TUI history loader by @bug-ops in #484
- feat: parallel execution of native tool_use calls by @bug-ops in #486
- fix: send tool output and diff atomically in native tool_use path by @bug-ops in #498
- feat(tui): add config option to hide message source labels by @bug-ops in #505
- feat(skills): add GitHub CLI skill by @bug-ops in #507
- fix: display diff for native tool_use file edits in TUI by @bug-ops in #508
- fix: skip duplicate send_tool_output for shell-streamed tools by @bug-ops in #516
- fix(tui): clear status spinner after warmup completes by @bug-ops in #517
- release: v0.10.0 by @bug-ops in #519
Full Changelog: v0.9.9...v0.10.0
v0.9.9
What's Changed
- build(deps): bump actions/upload-pages-artifact from 3 to 4 in the github-actions group by @dependabot[bot] in #361
- build(deps): bump futures-core from 0.3.31 to 0.3.32 in the rust-minor-patch group by @dependabot[bot] in #362
- feat: autonomy levels and channel allowlisting by @bug-ops in #384
- feat: hybrid memory search with FTS5 + vector merge by @bug-ops in #385
- feat: CompatibleProvider and RouterProvider for LLM flexibility by @bug-ops in #386
- feat: OpenTelemetry export and CostTracker (M21) by @bug-ops in #387
- feat: HTTP gateway, daemon supervisor, cron scheduler (M22) by @bug-ops in #388
- feat: Discord and Slack channel adapters (M23) by @bug-ops in #389
- release: prepare v0.9.9 by @bug-ops in #390
Full Changelog: v0.9.8...v0.9.9
v0.9.8
What's Changed
- fix: add catch-all Allow rule to legacy permission policy by @bug-ops in #334
- feat: native tool_use for Claude and OpenAI providers by @bug-ops in #335
- M21: Token optimization -- prompt caching, local summarization, context pruning by @bug-ops in #341
- fix: replace underline with highlight color for TUI headings by @bug-ops in #342
- fix: implement execute_tool_call for WebScrapeExecutor by @bug-ops in #343
- feat: syntax highlighting for TUI code blocks via tree-sitter by @bug-ops in #353
- OpenAI prompt caching: parse and report cached token usage by @bug-ops in #352
- refactor: consolidate SQLite migrations into root directory by @bug-ops in #354
- feat: graceful shutdown on Ctrl-C with MCP cleanup by @bug-ops in #359
- release: v0.9.8 by @bug-ops in #360
Full Changelog: v0.9.7...v0.9.8
v0.9.7
What's Changed
- bump rmcp 0.15, toml 1.0, uuid 1.21 by @bug-ops in #296
- refactor: generic recv_optional helper by @bug-ops in #301
- refactor: remove TuiError, use ChannelError directly by @bug-ops in #302
- refactor: delegate_provider! macro for AnyProvider dispatch by @bug-ops in #303
- refactor: extract QdrantOps shared helper by @bug-ops in #304
- clean up deny.toml license warnings by @bug-ops in #312
- expand secret redaction patterns for Google and GitLab tokens by @bug-ops in #320
- implement TTL-based eviction for A2A rate limiter by @bug-ops in #321
- remove sqlx MySQL support to eliminate RSA transitive vulnerability by @bug-ops in #324
- add SSRF protection and security documentation for MCP client by @bug-ops in #323
- add canonical path validation to skill loader by @bug-ops in #322
- detect relative path traversal in shell sandbox by @bug-ops in #325
- perf: replace tokio full features with explicit list by @bug-ops in #326
- perf: concurrent skill embedding with buffer_unordered by @bug-ops in #327
- perf: replace chars().count() / 4 with len() / 3 in token estimation by @bug-ops in #328
- perf: pre-allocate string in compact_context by @bug-ops in #329
- perf: parallelize context preparation with try_join! by @bug-ops in #331
- perf: add criterion benchmarks for hot paths by @bug-ops in #330
- release: v0.9.7 by @bug-ops in #333
Full Changelog: v0.9.6...v0.9.7
v0.9.6
What's Changed
- refactor(tools): schemars-based tool registry, invocation hints by @bug-ops in #267
- refactor(core): decompose agent.rs into module directory by @bug-ops in #276
- refactor: migrate library crates from anyhow to thiserror by @bug-ops in #277
- refactor: deduplicate Qdrant helper, decompose config/sqlite/orchestrator by @bug-ops in #278
- refactor: move CliChannel, add newtype IDs, restrict visibility by @bug-ops in #279
- refactor: re-export hygiene, remove unused dep by @bug-ops in #281
- refactor: EmbedFuture dedup, granular tokio, MessageKind enum by @bug-ops in #291
- refactor: Channel typed errors, agent streaming/persistence extraction by @bug-ops in #292
- refactor: remove anyhow from channels, group agent fields, gate qdrant by @bug-ops in #294
- refactor: replace anyhow with typed AgentError in agent module by @bug-ops in #295
Full Changelog: v0.9.5...v0.9.6