Skip to content

v0.21.3

Choose a tag to compare

@github-actions github-actions released this 29 May 19:10
· 882 commits to main since this release
Immutable release. Only release title and notes can be modified.

What's Changed

  • fix(tui): add fleet refresh spinner and tracing spans by @bug-ops in #4376
  • feat(memory,subagent): add A* node cap and sub-agent fleet registration by @bug-ops in #4377
  • feat(memory): implement TrajectoryRiskAccumulator and ImplicitConflictDetector by @bug-ops in #4386
  • feat(index): add tracing spans to zeph-index hot-path async fns by @bug-ops in #4393
  • refactor(channels): extract StreamingBuffer and add elicit() stubs to Discord/Slack by @bug-ops in #4398
  • feat(memory): extend SYNAPSE to five-signal retrieval + async consolidation daemon by @bug-ops in #4392
  • fix(memory): correct ephemeral message in bare mode and deduplicate audit types by @bug-ops in #4399
  • fix(channels): enforce chat_id authorization loop in telegram confirm() by @bug-ops in #4403
  • refactor(core,common): rename ShadowEvent to SentinelEvent; extract HTTP middleware by @bug-ops in #4401
  • feat(memory,core): wire TrajectoryRiskAccumulator and add shadow memory metrics by @bug-ops in #4408
  • spec(skills): GoSkills group-structured retrieval — RFC #4219 by @bug-ops in #4410
  • fix(memory): use real access frequency in five_signal consolidation; add tracing spans by @bug-ops in #4414
  • feat(memory): wire five_signal consolidation daemon, Prometheus metrics, and causal goal entity by @bug-ops in #4418
  • fix(a2a,memory): wire ConnectInfo for rate limiting and register ConsolidationHandler by @bug-ops in #4419
  • feat(skills): GoSkills group-structured retrieval and plugin tracing spans by @bug-ops in #4425
  • fix(subagent): bound message history and track hook task handles by @bug-ops in #4429
  • fix(core,memory): wire mage_accumulator config in agent builder; add five_signal SQLite tests by @bug-ops in #4428
  • fix(scheduler,orchestration): fix five_signal cron for long intervals; add missing tracing spans by @bug-ops in #4433
  • fix(runner): restore five_signal_metrics in spawn_metrics_sync_with_five_signal by @bug-ops in #4434
  • fix(skills): rebuild matched_indices after channel allowlist filter in GoSkills by @bug-ops in #4435
  • fix(skills,common): sync matched_indices with active_skills after allowlist filter; consolidate xml_escape by @bug-ops in #4437
  • refactor(a2a,index): pre-hash auth token at startup; add NodeKind and Lang newtypes by @bug-ops in #4438
  • refactor(orchestration,scheduler,tui): architecture cleanup group by @bug-ops in #4440
  • fix(acp): read elicitation_enabled from _meta instead of hardcoding false by @bug-ops in #4441
  • fix(core): wire ShadowMemory into agent loop by @bug-ops in #4443
  • fix(acp): wire IDE-provided MCP servers into do_new_session by @bug-ops in #4444
  • refactor(common,core): tracing spans for http_middleware; replace custom date math with chrono by @bug-ops in #4445
  • spec(skills): AutoSkill-derived self-evolution specifications (6 features) by @bug-ops in #4459
  • spec(acp): update to SDK 0.12.1 / schema 0.13.2 by @bug-ops in #4462
  • fix(acp): read elicitation_timeout_secs from _meta in mcp_bridge by @bug-ops in #4453
  • feat(memory): add MEMTIER five-signal retrieval scoring by @bug-ops in #4463
  • feat(acp): upgrade agent-client-protocol to 0.12.1 and add standard session/delete by @bug-ops in #4464
  • chore(deps): update github-actions by @bug-ops in #4467
  • feat(acp): implement Providers API and Elicitation protocol by @bug-ops in #4473
  • feat(skills): AutoSkill A1+A2 — trace extraction and versioned merging by @bug-ops in #4476
  • chore(deps): update gcr.io/distroless/static-debian12:nonroot docker digest to d093aa3 by @bug-ops in #4465
  • chore(deps): update ghcr.io/bug-ops/zeph:latest docker digest to 0127318 by @bug-ops in #4466
  • chore(deps): update ollama/ollama:latest docker digest to a614923 by @bug-ops in #4468
  • chore(deps): update qdrant/qdrant:v1.18.0 docker digest to b3063c6 by @bug-ops in #4469
  • chore(deps): update rust:1.95-slim docker digest to 5021128 by @bug-ops in #4470
  • chore(deps): update rust crate tokio to 1.52.3 by @bug-ops in #4471
  • chore(deps): refresh cargo lock file by @bug-ops in #4472
  • chore(deps): update opentelemetry to 0.32.0 by @bug-ops in #4477
  • chore(deps): refresh workspace dependencies by @bug-ops in #4478
  • fix(llm): update code for symphonia 0.6 and bech32 0.11 breaking API changes by @bug-ops in #4479
  • fix(mcp): replace unbounded ToolRefreshEvent channel with bounded channel(16) by @bug-ops in #4488
  • fix(memory,skills): mark Docker integration tests as ignored and track trace extraction handle by @bug-ops in #4489
  • feat(skills): AutoSkill A2 — dedup_threshold config + Add/Merge/Discard in miner.rs by @bug-ops in #4499
  • fix(channels): track JoinHandles for Discord gateway and Slack event server by @bug-ops in #4501
  • fix(skills): repair trace_extractor frontmatter and embed provider bugs by @bug-ops in #4503
  • fix(tools,index): replace blocking std::fs with tokio::fs and wire embed_provider by @bug-ops in #4502
  • fix(core): bound trace_extraction shutdown await and preserve DbError type by @bug-ops in #4504
  • test(vault): add AgeVault unit tests and deduplicate sanitizer regex patterns by @bug-ops in #4508
  • feat(skills): AutoSkill A3+A4+A5 — query rewriting, BM25 hybrid retrieval, trigger set indexing by @bug-ops in #4506
  • feat(acp): session/usage reporting and doc(cfg) annotations by @bug-ops in #4522
  • fix(tools,agent-context): replace sync fs with tokio in FileExecutor, dedup box_err by @bug-ops in #4524
  • feat(skills): AutoSkill A6 — periodic heuristic promotion from ERL to full skills (#4452) by @bug-ops in #4523
  • fix(sanitizer): add LLM timeout to QuarantinedSummarizer::extract_facts by @bug-ops in #4526
  • refactor(llm,commands,plugins,sanitizer,skills): add #[non_exhaustive] to extensible pub enums by @bug-ops in #4533
  • fix(scheduler): adversarial policy bypass for list_tasks + #[non_exhaustive] on 17 enums by @bug-ops in #4536
  • fix(skills,memory): AutoSkill A6 — NULL skill_name in promotion scan + blocking I/O in async by @bug-ops in #4535
  • fix(acp,subagent): bound blocking awaits with configurable timeouts by @bug-ops in #4538
  • fix(agent,context): fix heuristic_promotion lifecycle and validate_query_rewrite placement by @bug-ops in #4539
  • docs: add missing pub API doc comments for zeph-common, zeph-db, zeph-context by @bug-ops in #4541
  • fix(runner,llm): track JoinHandle for connect_oauth_deferred + debug log for unknown ThinkingBlock by @bug-ops in #4540
  • refactor(types): replace raw String session_id fields with SessionId newtype by @bug-ops in #4543
  • refactor(llm,orchestration,vault): AtomicU32 confidence, PlanSlug newtype, vault error-path tests by @bug-ops in #4542
  • refactor(config): unify embed_provider to embedding_provider by @bug-ops in #4544
  • refactor: add #[non_exhaustive] to extensible pub enums across all remaining crates by @bug-ops in #4545
  • spec(context): add Context-Adaptive Memory specification (CAM) by @bug-ops in #4546
  • security(scheduler): add RTW-A temporal re-entry defense by @bug-ops in #4548
  • feat(context): add Acon tool-result compression and ARC agent-initiated compaction (#4021, #4020) by @bug-ops in #4554
  • fix(sanitizer): add wildcard arms to non-exhaustive InjectionEnforcementMode match by @bug-ops in #4562
  • feat(mcp,plugins): MCP startup retry backoff, tool timeout override, plugin disable enforcement by @bug-ops in #4568
  • fix(context,plugins): deterministic compression order and async fs (#4558, #4560) by @bug-ops in #4578
  • fix(agent): add shutdown signal to response cache cleanup loop and annotate TUI forwarder handle by @bug-ops in #4581
  • fix(llm,mcp,core): add embed timeout and track JoinHandles in ShadowSentinel by @bug-ops in #4588
  • feat(context,common,config): Context-Adaptive Memory Phase 1 MVP by @bug-ops in #4586
  • fix(llm): retry after BetaHeaderRejected and add o-series max_completion_tokens by @bug-ops in #4591
  • fix(core,memory): add tokio timeout guards to all unprotected embed() call sites by @bug-ops in #4592
  • refactor(mcp,core): add #[non_exhaustive] to extensible pub enums in zeph-mcp by @bug-ops in #4599
  • fix(plugins,core,index): replace blocking fs and add embed timeouts by @bug-ops in #4597
  • fix(context): correct score_end cap, dedup tracing span, remove dead token count by @bug-ops in #4604
  • fix(llm): extend BetaHeaderRejected retry to all claude call paths and cover o2-* models by @bug-ops in #4607
  • fix(plugins): replace blocking std::fs in async add_remote + update A-MAC spec by @bug-ops in #4608
  • feat(mcp,agent): add retry jitter and cancellation smoke test by @bug-ops in #4609
  • refactor(context,llm): remove dead field and deduplicate build_tool_description by @bug-ops in #4610
  • feat(memory,config): make embed timeout configurable in zeph-memory (#4601, #4603) by @bug-ops in #4613
  • fix(build): enable testing feature in zeph-llm dev-dependency by @bug-ops in #4614
  • feat(context,memory): persist ContextFidelity per message for cross-turn floor invariant (#4550) by @bug-ops in #4615
  • refactor: add #[non_exhaustive] to extensible pub enums in feedback, experiments, plugins, skills, tui by @bug-ops in #4616
  • fix(core,agent-context): track JoinHandle, remove lint allow, add #[non_exhaustive] by @bug-ops in #4620
  • fix(bootstrap,project): serialize env-var tests and warn on non-local db lock by @bug-ops in #4621
  • perf(context,memory): binary search truncation and batch fidelity tag updates by @bug-ops in #4624
  • fix(memory): eliminate orphan spawn in maybe_refresh_communities, add CancellationToken guard by @bug-ops in #4629
  • feat(context): CAM Phase 2-C/2-D — LLM compress + embedding semantic scoring by @bug-ops in #4626
  • feat(context,orchestration): wire PAACE lookahead from DAG into ContextAssemblyInput by @bug-ops in #4633
  • perf(context,config): concurrent embed pre-pass and input size caps by @bug-ops in #4634
  • fix(memory): thread CancellationToken from LifecycleState into spawn_graph_extraction by @bug-ops in #4635
  • docs(context): add missing modules to zeph-context lib.rs module index by @bug-ops in #4637
  • fix(context): skip lookahead BFS when fidelity scoring is disabled by @bug-ops in #4641
  • fix(context): wire concurrent embed pre-pass into score_and_apply, add per-embed timeout by @bug-ops in #4643
  • fix(context,memory,llm): track dropped JoinHandles and expose CancellationToken by @bug-ops in #4638
  • docs(cocoon): security/trust model, deferred features, TEE threat model by @bug-ops in #4647
  • spec(parity-claude-code-3918): add specification for Claude Code v2.1.141-v2.1.143 parity gaps by @bug-ops in #4652
  • fix(llm): drain completed JoinSet tasks before cap check in spawn_asi_update by @bug-ops in #4648
  • refactor: add #[non_exhaustive] to remaining extensible pub enums workspace-wide by @bug-ops in #4658
  • release: v0.21.3 by @bug-ops in #4660

Full Changelog: v0.21.2...v0.21.3