CHANGELOG-next.md
The first patch release on top of the v0.7.x workspace foundation. v0.7.4 lands a clean-room Matrix rewrite, a Mozilla Fluent i18n pipeline with multi-locale docs, a ground-up rewrite of the CLI/TUI onboarding flow, recovers the WeChat iLink Bot channel. Around 110 commits from 36 contributors covering channels, providers, web dashboard, security, and developer experience.
Multi-locale docs and i18n pipeline — A Mozilla Fluent-based i18n pipeline now drives a multi-locale mdBook, alongside a comprehensive docs overhaul (#5788). Header links point at the upstream repo (#6124) and the CNAME is preserved on every Pages deploy (#6142).
Onboarding clean-slate rewrite — zeroclaw onboard is now schema-driven,
idempotent, and DRY (#5960). It picks up a generic OpenAI-compatible /v1/models
fallback for unknown providers (#6056) and uses container-aware URLs for local AI
providers running in Docker (#5552).
Session management surface — New SessionResetTool, SessionDeleteTool, and
SessionsCurrentTool give the agent first-class control over its own sessions
(#5696, #6033). The gateway gained a session abort endpoint with incremental streaming
persistence (#5705).
WeChat iLink Bot channel recovered — The previously reverted iLink Bot
integration is back, ported to current trait surfaces (#6130). request_approval()
is now implemented across Discord, Slack, Signal, Matrix, and WhatsApp.
Voice foundation — A new Vad trait and VoiceEvent protocol land behind a
gateway-voice-duplex feature flag, paving the way for live voice channels (#5942).
PostgreSQL memory backend — Memory can now be persisted to PostgreSQL via a new
memory-postgres backend.
Matrix channel rewritten — A clean-room reimplementation on matrix-rust-sdk 0.16
replaces the long-running patch pile. E2EE auto-verification of allowed_users is
preserved, and the channel is markedly simpler to operate (#6112).
gateway and tui-onboarding from agent-runtime, so each can be
compiled without dragging in the full agent loop (#5735).SessionBackend trait gained clear_messages() for O(1) session reset (#5900) and
get_session_metadata(key) for typed metadata access (#6043).main.rs into zeroclaw_hardware::wizard for
reuse outside the binary (#6041).glob_search and content_search
(#5772); session validation now uses typed errors (#6135).prune_history Phase 1 now treats mixed-protection tool groups as atomic, preventing
partial pruning that left the conversation in an invalid state (#5828).tool_result blocks on session load and on compaction (#5853).runtime.kind = "native" (#5904).runtime.kind is detected for memcg availability at daemon startup (#5906).extra_body passthrough for arbitrary request params (#5623); the
upstream stream task is now aborted when the consumer drops the stream (#5830).temperature for Opus 4.7, matching the model's API contract
(#6144).google_workspace schema (#5975).strip_native_tool_messages now coalesces adjacent assistant turns (#5829).matrix-rust-sdk 0.16 replacing the prior
long-running patch series (#6112).strict_mention_in_thread option lets you require an @-mention even in
threads where the agent has previously replied (#5992).mention_only config option for IRC channels (#5998).request_approval now forwards the
message_thread_id (#5970); auto-injected topic-root reply context is skipped in
forum topics (#5969).defaultModel resolves from config and is null when unconfigured (#6013);
tool output formatting corrected (#6035); INFO logs suppressed and missing ACP spec
protocol implemented (#5c81d4e).request_approval() implemented across
the channel set, unblocking approval-gated tool flows on every supported chat
platform.mention_only config wired through (#5848).SessionResetTool and SessionDeleteTool for in-agent session management (#5696).SessionsCurrentTool exposes the active session identity (#6033).image-gen-fal WASM plugin added as the fal.ai Flux reference plugin (#5921).skill capability (#6141).Vad trait and VoiceEvent protocol behind the gateway-voice-duplex feature
flag (#5942).memory-postgres.is_user_autosave_key detector identifies per-turn user message keys (#5631), and
these keys are now skipped in every memory context path (#5632).pack bin (#6181).localStorage across page reloads (#5641).Vec<String> fields are now exposed via zeroclaw config get/set/list (#5950),
including JSON-array syntax in config set (#0e9b9c2).providers.fallback is preserved through load/save (#6099) and
mirrored under the canonical fallback key (#321e96f).ws_connect_with_proxy path (#5794).[skill] TOML sections may now contain prompts (#5972)./v1/models fallback for unknown providers (#6056).setup.bat issues fixed (#6137)./api/channels route added (#6069).deliver_announcement returns Err when no delivery handler is registered (#5827).curl | bash (#5968).cargo test unbroken; self-update target triples added (#6050).cargo update and deny.toml audit (2026-04-27) (#6152).rustls-webpki updated to v0.103.13; unfixable v0.102.8 copy ignored (#6011).rand; picomatch ReDoS fixed; wasmtime and glib ignores
documented (#5971).rand bumped from 0.10.0 to 0.10.1 (#5713).postcss bumped from 8.5.6 to 8.5.10 in /web (#6084).| Area | Fix |
|---|---|
| Tauri desktop | Install rustls crypto provider to prevent crash (#5997); replace PNG-as-ICO with a real Windows ICO to unblock Win11 builds (#5966) |
| Telegram | Forward message_thread_id in request_approval (#5970); skip auto-injected topic-root reply context in forum topics (#5969) |
| Skills (config) | Allow prompts inside [skill] TOML section (#5972) |
| Providers | Gemini/OpenRouter tool-call compatibility + google_workspace schema clarity (#5975); MiniMax native tool calling enabled (#6027); Bedrock omits temperature for Opus 4.7 (#6144); Groq native tools disabled where misbehaving (#5848); coalesce adjacent assistant turns in strip_native_tool_messages (#5829); abort OpenRouter stream task when consumer drops (#5830) |
| CI | nextest now runs across all workspace crates (#6197); CNAME persisted on every Pages deploy (#6142) |
| Bulk revert recovery | Recover 4 small fixes lost in bulk revert c3ff635 (#6169) |
| Runtime | Align tool-call text preservation test (#6204); detect memcg availability at daemon startup (#5906); self-heal orphaned tool_result blocks on load + compact (#5853); register skill tools and apply excluded filter in gateway path (#5774); drop redundant narration push before AssistantToolCalls (#6093); unbreak pre-existing test failures on master (#6108); respect runtime.kind = "native" in sandbox auto-detection (#5904) |
| Infrastructure | SQLite FTS UPDATE trigger for sessions_fts (#5985) |
| xtask | Resolve real mdbook binary, avoid xtask self-spawn (#6171) |
| Web | Dashboard bug-fix bundle (#6161); guard array-returning API helpers (#6162); persist WebSocket session ID across reloads (#5641) |
| Memory | Add closing tag to memory context in cron and daemon (#3b24f81); skip user autosave keys in all memory context paths (#5632) |
| Gateway | Enable tool support in webhook endpoint (#6080); add missing /api/channels route (#6069); emit token usage from webhook handler (#5793) |
| Channels (ACP) | Resolve defaultModel from config (#6013); correct tool output formatting (#6035); suppress INFO logs and implement missing ACP spec protocol (#5c81d4e) |
| Channels (Feishu) | Wire mention_only config (#5848) |
| Config | Preserve providers.fallback through load/save (#6099); mirror provider entry under canonical fallback key (#321e96f); preserve WebSocket buffer in non-proxy path (#5794); parse JSON array syntax in config set for Vec<String> fields (#0e9b9c2) |
| Cron | Prevent memory snowball accumulation in agent jobs (#5817); return Err when no delivery handler registered (#5827) |
| Multimodal | Harden image-marker parser against non-path payloads (#5864) |
| Tools | Multiply embedding score by 100 before percent formatting (#5857) |
| Shell | Skip expansion guard when all commands allowed (#5773) |
| Onboarding | Use container-aware URLs for local AI providers (#5552) |
| Docs | mdBook header links point to upstream repo (#6124) |
| Install | Prompt for pre-built vs source, default to pre-built on `curl |
| Docker | Include web dashboard in release image (#5996) and Dockerfile.debian local-dev image (#6025) |
| Windows | Fix setup.bat issues (#6137); unbreak cargo test and add self-update target triples (#6050) |
| rag-pdf | Unbreak --features rag-pdf end-to-end and restore Windows tests (#6076) |
| Security | rustls-webpki v0.103.13 (#6011); rand patches + picomatch ReDoS (#5971); cargo update + deny.toml audit (#6152) |
Full diff: git log v0.7.3..v0.7.4 --oneline