Skip to content

v0.21.4

Choose a tag to compare

@github-actions github-actions released this 05 Jun 22:16
Immutable release. Only release title and notes can be modified.

What's Changed

  • refactor(context): make embed and compress timeouts configurable in FidelityConfig by @bug-ops in #4664
  • refactor(config): strengthen config type safety by @bug-ops in #4665
  • feat(core): persist LLM provider override parameters per channel session by @bug-ops in #4668
  • feat(plugins): add --plugin-url ephemeral session-scoped plugin loading by @bug-ops in #4669
  • refactor(context): extract embed_prepass_dyn to eliminate inline duplication by @bug-ops in #4670
  • fix(config): validate embed/compress timeouts and correct stale section refs by @bug-ops in #4671
  • fix(plugins): tar-slip protection in add_remote and .bundled marker stripping in ephemeral plugins by @bug-ops in #4676
  • spec(worktree-subsystem): add specification for native worktree subsystem by @bug-ops in #4677
  • feat(tui): cocoon balance opt-in and Ctrl+R prompt history reverse-search by @bug-ops in #4678
  • feat(plugins): support multiple --plugin-url values and add PluginName newtype by @bug-ops in #4680
  • feat(subagent): enforce transitive constraint propagation across delegation chains by @bug-ops in #4681
  • chore(parity): Goose v1.34–v1.35 competitive parity assessment by @bug-ops in #4688
  • feat(worktree-subsystem): add native worktree isolation for background sub-agents by @bug-ops in #4692
  • feat(security): add Stage-2 LLM semantic scan for third-party skills by @bug-ops in #4696
  • feat(memory): Benna-Fusi multi-timescale SYNAPSE edges and MemORAI adaptive retrieval by @bug-ops in #4697
  • spec(durable-execution): native durable execution layer (zeph-durable, spec 064) by @bug-ops in #4708
  • fix(subagent): apply constraint propagation in resume() and add #[non_exhaustive] (#4690, #4693, #4694) by @bug-ops in #4700
  • feat(skills): recursive nested skill discovery and egress attribution by @bug-ops in #4710
  • fix(a2a): remove dead eviction_task field from AppState by @bug-ops in #4715
  • fix(worktree): propagate config errors and ensure cleanup on early exit (#4701, #4702) by @bug-ops in #4720
  • fix(skills): enforce fail-closed semantic scan provider validation by @bug-ops in #4721
  • fix(tools): redact URLs in scrape audit log and fix IPI tracing span by @bug-ops in #4730
  • fix(memory): propagate configured Benna-Fusi rates through extract_and_store by @bug-ops in #4722
  • fix: add #[non_exhaustive] to ChannelError, sanitizer errors, SubAgentError by @bug-ops in #4737
  • fix(agent-pipeline): add #[non_exhaustive] to error enums (#4717, #4718, #4719) by @bug-ops in #4742
  • fix(memory,tools): propagate LLM edge confidence and fix tracing span by @bug-ops in #4745
  • fix(channels): handle Discord API 429 rate-limit responses with retry by @bug-ops in #4746
  • fix(llm): add #[non_exhaustive] to LLM enums, SSE buffer caps, Ollama HTTP timeout by @bug-ops in #4744
  • fix: add #[non_exhaustive] to public enums in context, db, vault, bench by @bug-ops in #4748
  • fix(security): add dispatch auth guard and complete URL redaction by @bug-ops in #4751
  • fix(acp,feedback,core): non_exhaustive enums, judge_provider config, spawn_blocking by @bug-ops in #4756
  • fix(sanitizer): add U+2060 to UNICODE_BYPASS_RE and wire CausalIpiConfig.provider by @bug-ops in #4757
  • feat(skills): concurrent scan with buffer_unordered(4) and extension manifest parser by @bug-ops in #4758
  • fix(commands): add requires_auth guard to Advanced/Debugging handlers by @bug-ops in #4762
  • refactor: add #[non_exhaustive] to remaining pub enums (workspace sweep) by @bug-ops in #4759
  • chore(deps): update github-actions by @bug-ops in #4766
  • chore(deps): update busybox docker tag to v1.38 by @bug-ops in #4772
  • chore(deps): update prom/prometheus docker tag to v3.12.0 by @bug-ops in #4773
  • chore(deps): update debian:bookworm-slim docker digest to 0104b33 by @bug-ops in #4764
  • chore(deps): update ghcr.io/bug-ops/zeph:latest docker digest to 013be93 by @bug-ops in #4765
  • chore(deps): update rust docker tag to v1.96 by @bug-ops in #4774
  • chore(deps): update busybox:1.37-musl docker digest to 222ad6d by @bug-ops in #4763
  • chore(deps): update rust:1.95-slim docker digest to e14e873 by @bug-ops in #4767
  • chore(deps): update qdrant/qdrant docker tag to v1.18.1 by @bug-ops in #4769
  • chore(deps): update opentelemetry to 0.32.1 by @bug-ops in #4768
  • chore(deps): refresh cargo lock file by @bug-ops in #4776
  • chore(deps): update serde to 1.0.150 by @bug-ops in #4771
  • chore(deps): update rust crate rubato to v3 by @bug-ops in #4775
  • chore(deps): update rust-minor-patch by @bug-ops in #4770
  • fix(bootstrap): restore three-level judge_provider fallback chain by @bug-ops in #4780
  • feat(worktree): make DefaultGitRunner timeout configurable via WorktreeConfig by @bug-ops in #4784
  • fix(core): handle unknown ChatResponse variant gracefully in tier_loop by @bug-ops in #4786
  • fix(tracing): replace span.enter() across .await with .instrument() by @bug-ops in #4788
  • fix(tracing): replace span.enter() across .await with .instrument(span) by @bug-ops in #4795
  • fix(memory,scheduler): use distinct display strings for Sqlx and Db error variants by @bug-ops in #4797
  • fix(sanitizer): extend UNICODE_BYPASS_RE to cover BIDI, soft hyphen, TAGS block (#4760) by @bug-ops in #4802
  • fix(config): fix migrate_worktree_config false-positive idempotency guard by @bug-ops in #4803
  • fix(llm): context_window for o-series models and openai_post helper by @bug-ops in #4811
  • refactor(orchestration): extract init_common and add graph_dirty checkpoint by @bug-ops in #4809
  • refactor(config): extract section_header_present helper and fix CRLF in worktree migration guards by @bug-ops in #4812
  • refactor(errors): align sqlx error display string to "sqlx error: {0}" by @bug-ops in #4816
  • perf(tracing): add #[tracing::instrument] to agent-context and agent-persistence hot paths by @bug-ops in #4821
  • feat(llm): configurable SSE buffer caps and profiling tracing coverage by @bug-ops in #4823
  • fix(tracing): replace EnteredSpan-across-.await with .instrument() in zeph-agent-context by @bug-ops in #4825
  • refactor(tracing): add #[tracing::instrument] to hot-path async fns in index, commands, subagent by @bug-ops in #4826
  • fix(orchestration): set graph_dirty in inject_tasks and record_predicate_outcome; add tracing spans to memory recall and zeph-db by @bug-ops in #4831
  • refactor(tracing): add #[tracing::instrument] to channels, orchestration, and llm hot paths by @bug-ops in #4833
  • fix(tracing): replace EnteredSpan-across-.await with .instrument() in zeph-context by @bug-ops in #4834
  • fix(tracing): replace EnteredSpan-across-.await with .instrument() in zeph-memory by @bug-ops in #4844
  • fix(plugins): replace blocking std::fs reads with tokio::fs in add_remote_ephemeral by @bug-ops in #4845
  • fix(orchestration): set graph_dirty on all terminal transitions; instrument PlanCache by @bug-ops in #4848
  • feat(init): add worktree isolation step to --init wizard (#4656) by @bug-ops in #4847
  • refactor(acp): add #[tracing::instrument] to permission check and HTTP transport handlers by @bug-ops in #4851
  • refactor(tracing): add #[tracing::instrument] to channels, skills, and mcp hot paths by @bug-ops in #4852
  • perf(experiments): parallelize Phase 1 subject calls in Evaluator by @bug-ops in #4853
  • refactor(llm,config): extract HTTP error mapper and move embedding helpers by @bug-ops in #4858
  • test(memory): add tests for deep_reasoning_query_conditioned + fix judge_model doc by @bug-ops in #4862
  • refactor(skills): extract shared MERGE_SYSTEM_PROMPT and build_merge_messages by @bug-ops in #4861
  • refactor(mcp,channels): fix tracing span naming and add telegram instrumentation by @bug-ops in #4864
  • refactor(agent-tools,db): replace send_stop_hint with StopHint enum; fix sql! import guards by @bug-ops in #4863
  • release: v0.21.4 by @bug-ops in #4871

Full Changelog: v0.21.3...v0.21.4