Changelog
- 734ad51 MUL-5774 fix(daemon): isolate Git metadata for Windows Codex checkouts (#6565)
- 3eff254 MUL-5785 fix(agent): return an empty output when a stream-json run has no final text (#6557)
- 73ab498 MUL-5811: fix(squad) derive leader role from wire fields, not instructions text (#6519)
- 2d993a6 MUL-5823 fix(dashboard): count cancelled runs in usage run time (#6518)
- 45027c1 MUL-5824 fix(search): demote cancelled issues and projects below live work (#6515)
- 37e2b07 MUL-5831 fix(agent): fail opencode runs that end on an empty step (#6545)
- 4900a4a MUL-5832: separate directory waits from working signals (#6553)
- 38acf88 MUL-5837 docs(dingtalk): document issue image attachments (#6532)
- d09019c MUL-5839: preserve media in /issue descriptions (#6536)
- 035bd20 MUL-5842: fix(layout): fold inbox and chat to one column below lg (#6543)
- ad2d2eb MUL-5843 fix(agent): stop silently dropping MCP servers on ACP runtimes (#6555)
- 0453cdb MUL-5844 fix(agent): tolerate coarse Kimi wire log mtimes (#6542)
- 9914d51 MUL-5846 fix(agent): stop launching CodeBuddy with MCP disabled (#6556)
- 318d513 MUL-5870: fix(chat): hide channel issue commands from Chat
- 0dfaac2 docs(changelog): add v0.4.21 release entry (2026-08-07) (MUL-5865) (#6575)
- 20a4a8d docs(readme): rebuild the README around a product hook and job-based features (MUL-5812) (#6506)
- 49feb19 docs(wecom): document WeCom as a channel and name its code owners (MUL-5226) (#6549)
- 7a809dd feat(channel): materialize inline media references (MUL-5835) (#6529)
- 545d890 feat(cli): add --compact to issue comment list, adopt it in every agent read command (MUL-5442) (#6546)
- 364462c feat(dashboard): rename Usage to Analytics with Usage / Errors tabs, rework filters and freshness (MUL-5759) (#6508)
- 040bb97 feat(wecom): WeCom (企业微信) smart-bot integration via the Channel engine (MUL-5226) (#5833)
- 3c72214 fix(agent): deliver the OpenCode prompt on stdin, not argv (MUL-5841) (#6552)
- 8d51067 fix(analytics): close pickers and prevent chart label clipping (#6564)
- bee6325 fix(analytics): restore card spacing on the usage tab (#6579)
- d598e7a fix(channels): deliver terminal task failure details (#6534)
- c7a8b16 fix(chat): route settled chat messages through one cache door (MUL-5711) (#6559)
- 882666d fix(runtimes): document QwenPaw and close its frontend drifts (MUL-5828) (#6521)
- 6ca6b27 refactor(daemon): converge multi-thread fan-out cookbook into Comment Formatting pointer (MUL-5825) (#6517)
- 2f5efa3 test(daemon): add fan-out guard anchors for --content-file and inline --content (MUL-5825) (#6544)