# multica changelog > Assign issues to Claude Code, Codex, Cursor, and 17 more coding agents like teammates — open-source and self-hostable. - Vendor: multica-ai - Category: AI - Official site: https://multica.ai/ - Tracked by: What's New (https://whatsnew.fyi/product/multica) - Harvested from: GitHub (multica-ai/multica) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v0.4.31 - Date: 2026-08-20 - Version: v0.4.31 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.31 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.31 - **added** — Add Dim (DimCode) ACP runtime for agent - **added** — Add Telegram channel integration - **added** — Add `multica issue timeline` CLI command - **added** — Show billing summary and autopilot quota usage - **added** — Rebuild the plugin system with hook engine - **added** — Add a web-only Desktop download entry to the Help menu - **added** — Add agent integration with skill resources, agent trigger, and mcp transport - **changed** — Rank exact-prefix skill matches first in the / picker - **changed** — Resolve custom issue statuses by category on mobile - **changed** — Sync the status catalog over the realtime channel - **changed** — Merge Reply/Ownership turn modes into one fact-driven workflow - **fixed** — Add completed-task environment retention TTL - **fixed** — Fail fast in production on insecure JWT secret defaults - **fixed** — Upgrade brace-expansion to fix CVE-2026-69152 - **fixed** — Give the timeline's status glyph the custom status's identity - **fixed** — Keep skill cache failures from blocking skill loads - **fixed** — Cancel completed supervisor contexts - **fixed** — Stop leaking dispatch error text through Run now - **fixed** — Label the webhook event-filter add/remove controls - **removed** — Remove unused task message clipping flag ##### Changelog * e1be1625cb3bac1765a0c454f56a2644c9babfb1 MUL-5959: feat(agent): add Dim (DimCode) ACP runtime (#6675) * 8787003cab4a9ac973da777b1ef46d95ee3e6ad7 MUL-6085: fix(daemon): add completed-task environment retention TTL (#6949) * 67c6aa05c4ac5f1fef6d84e2d0099f5aee2d2d1c MUL-6166: feat(telegram): add Telegram channel integration (#6944) * a107570e3bfc4b4aaf6ead1b249356d1b0e8620f MUL-6253: add `multica issue timeline` CLI command (#7285) * 6a249ae5686feba83f590c2791051f88d672fc08 MUL-6330: fix(editor): rank exact-prefix skill matches first in the / picker (#7119) * 722bde9d1818dbe5c49e60a8c57a283712646457 MUL-6344: Show billing summary and autopilot quota usage (#7218) * 659bb41abd609d6dd1727b965950f60571e8ceb3 MUL-6350: rebuild the plugin system (3/4) — hook engine (#7182) * cb6b0c885f423d9467265bc311142bf6ac9cf980 MUL-6396: remove unused task message clipping flag (#7292) * 658b0b7d9f8b3c1444fa160ce67cf7521e0eb5ec MUL-6406: fix(auth): fail fast in production on insecure JWT secret defaults (#7212) * b4bfe083becc82ed2cf7e2f509ab236a21e8e973 MUL-6407: mint UUIDv7 primary keys for append-heavy tables (#7230) * 79d13b6b79f60b41af77640494b1fccf322adb60 MUL-6411: fix: upgrade brace-expansion patched versions (CVE-2026-69152) (#7222) * 4ba9b40d567ee029a5f4c3542e22561c1b310cee MUL-6413: fix(issues): give the timeline's status glyph the custom status's identity (#7231) * 4c007e34eff75860dee2a2887cc635f9f9e72d1e MUL-6414: bound Redis relay stream retention (#7234) * 9573ec22745dab4e615fd1d8c2413624ec6168bb MUL-6422: refactor(settings): strip the duplicated chrome from the issue-status list (#7244) * 0d036ee5aebb38e23793b634dbef7dcff53c35fd MUL-6445: fix(daemon): keep skill cache failures from blocking skill loads (#7277) * fa805238f551e5923b7c7b9ba54a00ceec6c540e MUL-6456: make comment search indexes mutually exclusive (#7288) * 7186cf1b21141df68c46146d02cfae5f8224a7af MUL-6456: retire the issue last activity index (#7296) * e10287cf1bf1e589cfdc0f112bfac18a4e247780 MUL-6457 feat(mobile): resolve custom issue statuses by category (#7286) * 9900e966866a9c145d22387449a43935fc565512 MUL-6458: feat(issue-statuses): sync the status catalog over the realtime channel (#7287) * 49ed7f1151d953c01eb012ce477f6cfef9b4720d MUL-6459: docs: document custom issue statuses (#7284) * abde90ce9f3e7af98ce85332a8c2d4344e6461f3 MUL-6461: fix(channel): cancel completed supervisor contexts (#7281) * bfb1320809ab33ce2240e23aa91caeca52e00e76 MUL-6462: feat(views): add a web-only Desktop download entry to the Help menu (#7291) * cc21d19353f19a3845067bd1842835bb7fcc020b MUL-6463: confirm the promotion that starts an agent run (#7293) * a1d160ee0d76423c53c2244819410e0376d45bd0 MUL-6468: fix(docs): replace dead dimcode.ai link with official Dim CLI docs (#7294) * a12985ab01c60a2e701e60777022fb87aac74c89 MUL-6472: fix(autopilots): stop leaking dispatch error text through Run now (#7311) * 801c671973192a2a4b8c1a4d0722d0a6b0aee7bb chore(assets): convert bitmaps to WebP, dedupe, and gate image size (MUL-6352) (#7149) * f737974b74d265b9307ea2b6b202989ef34b7a1f docs(changelog): add v0.4.31 release entry (2026-08-20) (MUL-6474) (#7314) * 8676e063c2d8aa16abc2bf06125cf11db8e9085a docs(plugins): drop the "never executes plugin code" claim (#7307) * 4bf3c73a150eecdb16d43cffeddd560b8b937f4b feat(plugins): agent integration — skill resources, agent trigger, mcp transport (MUL-6350 PR 4) (#7242) * fc15a297ee1d5a191f05765ad856c41432a54ac0 fix(autopilots): label the webhook event-filter add/remove controls (MUL-6451) (#7304) * 211eaeb91e89055786ac370794cbebc80a885720 fix(build): add Windows executable suffix (#7271) * 1ea40db1c4a4b4041ffd1ad1e5d9d7b59356ca2c fix(build): honor GOOS as a Make variable when naming build outputs (#7309) * e417743279151d260613d752937613318bd13f88 fix(daemon): default completed-task TTL to 14d on Multica Cloud (#7303) * 3268d011722dc406216acb1e839917e7ead44279 fix(daemon): move the in_progress start write into workflow step 3 (MUL-6417 follow-u _[Truncated at 4000 characters — full notes: https://github.com/multica-ai/multica/releases/tag/v0.4.31]_ ### v0.4.30 - Date: 2026-08-19 - Version: v0.4.30 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.30 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.30 - **added** — Show agent names in session list - **added** — Generate the command palette's Pages group from the nav registry - **added** — Add fail-open entitlement policy provider - **added** — Add semantic issue activity timestamps - **added** — Enforce entitlement-backed autopilot quotas - **added** — Custom issue status UI with picker, board, filters, and settings - **added** — Show linked identities to workspace admins in DingTalk - **added** — Add revision-aware concurrency guards for issues - **added** — Support filtering custom properties by no value - **added** — Expose Go pprof on a loopback port - **changed** — Rebuild the plugin system with cleanup, foundations, Action API, Surface, and SDK updates - **changed** — Reduce chat resume query load - **changed** — Refactor i18n to reuse custom_property.none for the no-value filter - **changed** — Make the LLM client retry budget explicit, wired, and validated - **changed** — Generate task message IDs as UUIDv7 - **fixed** — Stop blaming the daemon when the backend is the stale half - **fixed** — Redact secrets from provider command logs - **fixed** — Prevent cross-agent task and workdir contamination - **fixed** — Guard chat rename during IME composition - **fixed** — Drop category headings from the status list - **fixed** — Stop concurrent tasks evicting each other's OpenClaw discovery cache - **fixed** — Give the inbox row's status glyph the custom status's identity - **fixed** — Offer both outcomes on a revision conflict - **fixed** — Scroll to the newly posted comment in both timeline modes - **fixed** — Stop a comment create failing on sibling issue caches - **fixed** — Stop the status filter's category heading crashing the app - **fixed** — Configure Apple team from environment - **fixed** — Unblock the OpenClaw runtime on slow hosts - **fixed** — Support restricted Redis request stores - **fixed** — Add MiniMax Code provider logo - **fixed** — Stop the plugin bridge tests racing the port they wait on - **fixed** — Align private-agent invoke surfaces with the owner-only contract - **security** — Fix CVE-2026-9277 security vulnerability ##### Changelog * 5e99a0597eda164cd355ec1be755908814b949f1 MUL-6264: feat(chat): show agent names in session list (#7087) * 2876b7c8955ea898e0a3e7971630a6e61a8122a1 MUL-6272: generate the command palette's Pages group from the nav registry (#7054) * 5f4ba41d130d91bef1458723db476e5bd8d58cf5 MUL-6323 fix(views): stop blaming the daemon when the backend is the stale half (#7126) * 76a90f602ccec5fb1f88ffa455aa1e190eafb964 MUL-6324: Reduce chat resume query load (#7151) * a35a75ab165a078ac56f88124d6d7d176a5581ef MUL-6341: add fail-open entitlement policy provider (#7148) * 3460f9aeaf3f84df934c59eba125f43e63dbb901 MUL-6342: enforce entitlement-backed autopilot quotas (#7194) * 5d5fe646723d1df131e255195cc518f6d8b3d855 MUL-6343: Add semantic issue activity timestamps (#7193) * 30ef4aa7584072852bfc81c73dc519b10b73ad14 MUL-6350 fix(plugins): retarget the plugin SQL integration test at the surviving schema (#7155) * 6a17c001442da8169f2cbb405be062dac2ee0d43 MUL-6350: rebuild the plugin system (1/4) — cleanup and foundations (#7144) * 97195885fae5e8a69182380e1a002692047348c6 MUL-6350: rebuild the plugin system (2/4) — Action API + Surface + SDK (#7157) * a1cbd7c2efb00213791fa6cd9acb5b3b51b00400 MUL-6354: tighten build and generation guardrails (#7150) * 3c3e77b00c14fc0159870948f1a23af6ea3d37af MUL-6362: redact secrets from provider command logs (#7206) * f9b7bf52ea3e97faff50c9cdf44156da5382e222 MUL-6363: refactor(i18n): reuse custom_property.none for the no-value filter (#7219) * 24d8c521a68a654f94087afe08db0569f1836a49 MUL-6364: make the LLM client retry budget explicit, wired, and validated (#7201) * eb2a94e86099101bb60a41bdbf8dfa7885ce5cc9 MUL-6368: Prevent cross-agent task and workdir contamination (#7205) * 4389b0f0757cbcfa9dd90067cbabd6a029ae96d1 MUL-6387: guard chat rename during IME composition (#7192) * aa6d0dadcf1d83a8eb13141f9cf357f10c93c719 MUL-6390: expose Go pprof on a loopback port (#7200) * 5475a6eae7eac90b7a6a0c6d7c8f02751f2815d3 MUL-6399: fix(issues): drop category headings from the status list (#7217) * d563bfbc08d0ed0670e5ee82d7ec832819871a48 docs(changelog): add v0.4.30 release entry (2026-08-19) (MUL-6403) (#7221) * bb8a04f3a124cfe93f7e784777108f593e008a7f docs(llm): disclose what the server-side LLM layer sends, and test the zero-request opt-out (MUL-6369) (#7199) * c5f00bbf5c61a6567ba27b587c8c45836ba1e031 docs(mobile): document EXPO_APPLE_TEAM_ID for multi-team signing (MUL-6375) (#7196) * e3a40b0b8d7b91241b3efde0bce1331807bfdded feat(MUL-6243): custom issue status UI — picker, board, filters, settings (#7103) * 6377dc26564480159a8931b697fd54637c29b5d4 feat(dingtalk): show linked identities to workspace admins (#7138) * 4b8873df3ac2b2dcb15bdeeda5d27d0843fc671a feat(issues): add revision-aware concurrency guards (#7038) * 66af64b9a6f43639f2ef2581929de0c3583f4905 feat(issues): support filtering custom properties by "no value" (#7156) * c2474e2fe139a711aaa0defb33cc47a1ac1ee365 fix(agents): align private-agent invoke surfaces with the owner-only contract (MUL-6380) (#7202) * 728ba9c58e2fff1a39b261c6eba7673d212fd47c fix(daemon): stop concurrent tasks evicting each other's OpenClaw discovery cache (#7204) * 7e92c58f539447ff09682a22be50b4c7237a1191 fix(db): regenerate DingTalk sqlc output (#7177) * a67bcb1f438314104470e1855c9c5cd56163f797 fix(inbox): give the inbox row's status glyph the custom status's identity (#7214) * 9536d68cc13dce983717481f5a56d023e9a2b070 fix(issues): offer both outcomes on a revision conflict (#7203) * 8d9766d4b0906b367152451a43e4d820abacc8e8 fix(issues): scroll to the newly posted comment in both timeline modes (MUL-6140) * c8048a0c8a4e0528542b697fa5fcc67ea0c45e89 fix(issues): stop a comment create failing on sibling issue caches (MUL-6394) (#7211) * 109b677905419603da7fcdd712c92da8eb4f4dec fix(issues): stop the status filter's category heading crashing the app (#7209) * 44ba031eeb11848f5024eaf4e363bbef8f82c1d5 fix(mobile): configure Apple team from environment (MUL-6375) (#7173) * 4d5a679b9bf417a _[Truncated at 4000 characters — full notes: https://github.com/multica-ai/multica/releases/tag/v0.4.30]_ ### v0.4.29 - Date: 2026-08-18 - Version: v0.4.29 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.29 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.29 - **fixed** — Preserve tasks through runtime network partitions - **fixed** — Surface every in-flight built-in Hermes tool call in agent - **fixed** — Recover terminal delegated task failures - **changed** — Board fetches by category and archive retires without migration in issue-status - **added** — Add MiniMax Code ACP runtime to agent - **fixed** — Let reply turns own the status arc for their own issue in daemon - **fixed** — Stop NUL bytes wedging tasks on complete/messages/cancel in agent tasks - **fixed** — State the run's agent once, not on every prose row in transcript - **fixed** — Bill cache reads in daily and weekly cost charts in usage - **added** — Open Settings with Cmd/Ctrl+, in desktop - **fixed** — Sanitize failure diagnostics in agent tasks - **fixed** — Preserve Pi RPC stdin on Windows in agent - **fixed** — Log lease_gen instead of lease_token in channel - **fixed** — Handle OpenClaw JSON errors on stdout in execenv - **fixed** — Ingest standalone file and audio messages in lark - **fixed** — Show the newest fully-uploaded release on /download in web ##### Changelog * 22db0b0a2c316b7ca3e6f41db01224c6c9994f8d MUL-5651: preserve tasks through runtime network partitions (#7129) * c1755302849896f34446f0795a89d811d4fa444f MUL-5879: fix(agent): surface every in-flight built-in Hermes tool call (#7127) * afd05ca22175530d69af660a900f0059ff4de37f MUL-6063: recover terminal delegated task failures (#6844) * 14c2e4e831e3658fe5df3d06b5f6dfe461ca78df MUL-6243 feat(issue-status): board fetches by category; archive retires without migration (#7084) * de902a4aab8a8f41683203a9e925943bf5add0a2 MUL-6273: feat(agent): add MiniMax Code ACP runtime (#7035) * 212ecfb8dd6531ecd9de47438846d33c1af75b0f MUL-6300: fix(daemon): let reply turns own the status arc for their own issue (#7083) * d6301091e07b5272bd29d4955ab2b7d9f10c7573 MUL-6310 fix(agent tasks): stop NUL bytes wedging tasks on complete/messages/cancel (#7124) * f320af4a5b602169b676e0f957a830a959e727e9 MUL-6333 fix(transcript): state the run's agent once, not on every prose row (#7128) * 5620b7e22d624ed65f456d67d981540161b283f4 MUL-6334 fix(usage): bill cache reads in daily and weekly cost charts (#7134) * c670e05490fa261f223852122cb25a2c30f3e64b docs(changelog): add v0.4.29 release entry (2026-08-18) (MUL-6355) (#7145) * f78c867168afb0eaa45b00337a0f50b5d51a002f docs(tasks): describe the execution log where it actually lives (#7120) * 1b6d42864f94b172f23c843f7ef8dbeedc71e24f feat(desktop): reland open Settings with Cmd/Ctrl+, (MUL-6233) (#7076) * 3dc87b66943a238e0b8c8980fb8885eaa31ec313 fix(agent tasks): sanitize failure diagnostics (#7115) * 0b9dcc6799cc4f3f3ff54a19b927e2d7c7853bf6 fix(agent): preserve Pi RPC stdin on Windows (#7111) * 27de4fb47029e8ccd84807bc39214d49aca27ac5 fix(channel): log lease_gen instead of lease_token (#7140) * 4e10d6805a2bc21b66f72c5b840fa2f60ac359dc fix(execenv): handle OpenClaw JSON errors on stdout (#7133) * 4946f468526c8cecd3b9b562c5882827d260f8d5 fix(lark): ingest standalone file and audio messages (MUL-6198) (#6984) * 51ae68d8b99f665b609ac74ee1700e0f998d31b2 fix(web): show the newest fully-uploaded release on /download (MUL-6313) (#7102) ### v0.4.28 - Date: 2026-08-17 - Version: v0.4.28 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.28 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.28 - **added** — Per-workspace custom issue statuses over 7 canonical categories - **added** — Actor and multi_actor custom property types for members - **added** — Bulk update for skills from source - **fixed** — Keep the workspace singleton across a same-workspace tab swap on desktop - **fixed** — Link update prompt to changelog on desktop - **fixed** — Fail closed on 341 rollback instead of deleting actor properties in migrations ##### Changelog * 446080bd57e167ae479e46a40f514e9911b95388 MUL-6243 feat(issue-status): per-workspace custom issue statuses over 7 canonical categories (#7065) * 9a30c51dacf7e0261d6944dc14446ac830377298 MUL-6286: feat(properties): actor / multi_actor custom property types (members) (#7075) * b946f3a729e5fb85e1f270cdc15cd72999368047 MUL-6290: split views tests onto a dedicated runner (#7072) * 2a643cc7407c50189b14a36e209b4d16efebd65f MUL-6291: stop paying for jsdom in pure-logic frontend suites (#7081) * 38c992ad0a757434fb51584fa34e3bc57d1b78e1 docs(changelog): add v0.4.28 release entry (2026-08-17) (MUL-6305) (#7093) * 2014ae3613bb05e5d260fc47d32cc09e22f540fb feat(skills): bulk update from source (#6930) * f66b0ba6313b503337f3480ff8d0ad95ed60faea fix(desktop): keep the workspace singleton across a same-workspace tab swap (MUL-6303) (#7092) * 21e77f362502a6a529359f9f7993e9b6c84ff287 fix(desktop): link update prompt to changelog (#7088) * 7c2b8f012fb4ef9b8f1e7b56673a000e6dedd154 fix(migrations): fail closed on 341 rollback instead of deleting actor properties (MUL-6305) (#7095) ### v0.4.27 - Date: 2026-08-17 - Version: v0.4.27 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.27 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.27 - **added** — Workspace-level MCP configuration with resolution contract, write-only API, Settings UI, and CLI - **added** — Workspace MCP servers as explicit per-agent assignment - **added** — Plugin skills and hosted MCP connections expansion - **added** — Desktop Settings keyboard shortcut with Cmd/Ctrl+, - **added** — Mobile web app installability - **added** — Workspace share-link invite system - **added** — Distinguish self-references to the current issue in inline mentions - **added** — Link imported skills to their source - **changed** — Rebuild the run trace around steps, lanes, and outcome - **changed** — Name browser tabs after the open workspace page - **changed** — Treat custom runtime fixed_args as the argv prefix - **changed** — Resolve bare identifiers via point lookup instead of full-text search - **changed** — Use Redis for channel WebSocket leases - **fixed** — Tell the brief's reader not to merge stderr into parsed output - **fixed** — Take an unusable agent CLI offline and refuse its triggers - **fixed** — Prevent agent create error flash - **fixed** — Stop page headers stacking a second sidebar toggle - **fixed** — Make quick capture usable on mobile web - **fixed** — Release the drag lock on cancelled drags - **fixed** — Re-apply app config to ios/ on every local iOS build - **fixed** — Support Slack message attachments in chat - **fixed** — Read issue metadata once from issue get and drop the standalone metadata-list step - **fixed** — Add accessible names to bubble menu controls - **fixed** — Preserve HTML attachment tab scroll position across tab switches - **fixed** — Parse tab-separated Antigravity model catalog - **fixed** — Stop the client blanking after the last workspace is deleted - **fixed** — Fail a Pi task when Pi ends the turn on an error without retrying - **fixed** — Settle the run timeline's scrollbars so hovering a bar cannot shake it - **fixed** — Recover auth after transient Desktop startup failures - **fixed** — Cover every concurrent index build with retry cleanup - **security** — Keep Go security patches current - **deprecated** — De-emphasize share-link URLs - **removed** — Revert feature to open Settings with Cmd/Ctrl+, ##### What's Changed * MUL-5421: workspace-level MCP configuration (resolution contract, write-only API, Settings UI, CLI) by @Bohan-J in https://github.com/multica-ai/multica/pull/6961 * MUL-6104: fix(daemon): tell the brief's reader not to merge stderr into parsed output by @seacen in https://github.com/multica-ai/multica/pull/6870 * MUL-6164 feat(runtime): take an unusable agent CLI offline and refuse its triggers with the fix by @Bohan-J in https://github.com/multica-ai/multica/pull/6966 * MUL-6188: docs: link the Multica CLI skill from the README and CLI docs by @Bohan-J in https://github.com/multica-ai/multica/pull/6978 * MUL-5421: make workspace MCP servers an explicit per-agent assignment by @Bohan-J in https://github.com/multica-ai/multica/pull/6976 * MUL-6183: prevent agent create error flash by @forrestchang in https://github.com/multica-ai/multica/pull/7007 * MUL-6218: fix(desktop) stop page headers stacking a second sidebar toggle by @forrestchang in https://github.com/multica-ai/multica/pull/7008 * feat(views): rebuild the run trace around steps, lanes, and outcome by @forrestchang in https://github.com/multica-ai/multica/pull/7011 * feat(web): name browser tabs after the open workspace page (MUL-6222) by @forrestchang in https://github.com/multica-ai/multica/pull/7012 * [MUL-6139] Expand Plugin skills and hosted MCP connections by @forrestchang in https://github.com/multica-ai/multica/pull/6920 * feat(desktop): open Settings with Cmd/Ctrl+, (MUL-6233) by @forrestchang in https://github.com/multica-ai/multica/pull/7022 * fix(views): make quick capture usable on mobile web (MUL-6236) by @forrestchang in https://github.com/multica-ai/multica/pull/7026 * fix(views): release the drag lock on cancelled drags (MUL-6240) by @forrestchang in https://github.com/multica-ai/multica/pull/7027 * feat(web): make the mobile web app installable (MUL-6237) by @forrestchang in https://github.com/multica-ai/multica/pull/7025 * MUL-6206: fix(mobile): re-apply app config to ios/ on every local iOS build by @szainmehdi in https://github.com/multica-ai/multica/pull/6992 * MUL-6193 Support Slack message attachments in chat by @tim-smart in https://github.com/multica-ai/multica/pull/6975 * fix(execenv): read issue metadata once from issue get, drop the standalone metadata-list step (#7016) by @Bohan-J in https://github.com/multica-ai/multica/pull/7042 * test(handler): stop the dashboard fixture finishing before its own window opens (MUL-6103) by @seacen in https://github.com/multica-ai/multica/pull/6871 * MUL-6247: rate limit workspace invitations by @multica-eve in https://github.com/multica-ai/multica/pull/7030 * feat(skills): link imported skills to their source by @gsayer in https://github.com/multica-ai/multica/pull/6928 * MUL-6156: fix(editor): add accessible names to bubble menu controls by @Ryannn41 in https://github.com/multica-ai/multica/pull/6929 * perf(issues): resolve bare identifiers via point lookup instead of full-text search (MUL-6268) by @multica-eve in https://github.com/multica-ai/multica/pull/7053 * MUL-6070 feat(share-link): workspace share-link invite system by @patrickstar179 in https://github.com/multica-ai/multica/pull/6833 * [MUL-6269] Use Redis for channel WebSocket leases by @multica-eve in https://github.com/multica-ai/multica/pull/7055 * MUL-5421: refactor(agents): tighten the MCP tab copy and fix the workspace picker menu by @Bohan-J in https://github.com/multica-ai/multica/pull/7056 * MUL-6260 fix(daemon): treat custom runtime fixed_args as the argv prefix by @Bohan-J in https://github.com/multica-ai/multica/pull/7052 * MUL-5741: fix(desktop): preserve HTML attachment tab scroll position across tab switches by @Frankli9986 in https://github.com/multica-ai/multica/pull/6825 * Fix Node version guidance for contributors by @vicksiyi in https://github.com/multica-ai/multica/pull/7003 * feat(issues): distinguish self-references to the current issue in inline mentions by @bowser-bot in https://github.com/multic _[Truncated at 4000 characters — full notes: https://github.com/multica-ai/multica/releases/tag/v0.4.27]_ ### v0.4.26 - Date: 2026-08-14 - Version: v0.4.26 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.26 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.26 - **added** — Allow configuring workspaces root in daemon - **added** — Add workspace Billing settings UI - **added** — Add Workspace Billing summary/prices proxy and Stripe callback endpoint - **added** — Add worktree database cleanup to dev tools - **added** — Enable dragging blank board area with the left button to pan horizontally - **added** — Add keyboard shortcut for archiving the open notification in inbox - **added** — Add DeepSeek Harness runtime support - **added** — Ship Private Skill Plugin developer loop - **changed** — Make private runtimes owner-only in the API and CLI - **changed** — Preserve name-dispatching agent shims in daemon - **fixed** — Add MULTICA_CODEX_FIRST_TURN_TIMEOUT to raise the first-turn ceiling in codex - **fixed** — Stop stranding daemon task markers in user directories - **fixed** — Diagnose an unrunnable agent CLI instead of leaking exec format error - **fixed** — Left-align page titles and unify page gutters in views - **fixed** — Make unavailable price previews recoverable in billing - **fixed** — Fix Billing UI to display Workspace subscription prices - **fixed** — Prevent duplicate self-assignment work in agent tasks - **fixed** — Preserve idle footer spacing in chat - **fixed** — Allow billing idempotency header in CORS - **fixed** — Stop tab flares biting into neighbour's hover pill in desktop - **fixed** — Stop tab flares printing dark squares under the active tab in desktop ##### Changelog * 698013cedb87abc6a18d9595e020d6bda7cd6ff1 MUL-5771 feat(daemon): allow configuring workspaces root (#6830) * cc8e020f80a733f8b61f6824ba993136519dd6e7 MUL-5852: add workspace Billing settings UI (#6908) * 2d711afdd51e95b8e61c715fd6ce5988417493c8 MUL-5852: 新增 Workspace Billing summary/prices proxy 与 Stripe 回跳落点 (#6912) * e9528c722a3de7398f5ab1836655e9e0e8f85658 MUL-5855: feat(dev): add worktree database cleanup (#6560) * 9ba3a8bdf26864f41fcfa04bdc83d6d3cced0ec9 MUL-5980: drag blank board area with the left button to pan horizontally (#6700) * 3025c380272944d967a198da5194c78571495b5c MUL-6019: fix(codex): add MULTICA_CODEX_FIRST_TURN_TIMEOUT to raise the first-turn ceiling (#6753) * 6db6b235bac3539d7ddb8147be7ad1a44ab18400 MUL-6126: fix(runtime): make private runtimes owner-only in the API and CLI too (#6905) * ceb6c6845c59cc0e6fde452f3dd5d4d1730e699f MUL-6132 fix: stop stranding daemon task markers in user directories (#6917) * 060731c7dfc35427ddedb79e8701c60c71ec853f MUL-6137: fix(daemon): preserve name-dispatching agent shims (#6775) * e3ec3f8b57a3ddf7da06b45c643f0aa931e88b21 MUL-6162 docs: sync landing copy and docs for the DeepSeek Harness runtime (#6940) * f51ee62b53a09c0b2c51d75792998ed1ddeb52f3 MUL-6164 fix(agent): diagnose an unrunnable agent CLI instead of leaking "exec format error" (#6963) * 0d2dc44e366b63ed9c40915a37b127fd2e3a9cf7 MUL-6169 fix(views): left-align page titles and unify page gutters (#6946) * 319f21e3cb2bac86d4211e60f528d48cf97bd59e MUL-6175: Make unavailable price previews recoverable (#6960) * 6806dcbea900ce750edf61827feaeee2453b2018 MUL-6175: 修复 Billing UI 未展示 Workspace 订阅价格 (#6955) * 31645cc51014d294cf782ea20710571fc59c0de7 [MUL-6125] Ship Private Skill Plugin developer loop (#6900) * e6da2071c18a7c1a8f21f3a50749f87b98500cb0 docs(changelog): add v0.4.26 release entry (2026-08-14) (MUL-6185) (#6967) * 16f9f25224a351b87f875a56643d0097a78c49e9 feat(inbox): add a keyboard shortcut for archiving the open notification (#6877) * 4f10a944b136f2aeaa4e8a39a88925d003e66d4f feat(runtime): add DeepSeek Harness support (#6923) * b5a48eca13483c5d65f671557742e9883e5fa670 fix(agent tasks): prevent duplicate self-assignment work (MUL-6168) (#6956) * dd14744051f14448a44d3f0778144e6eeb37e1b1 fix(chat): preserve idle footer spacing (MUL-5854) * 987ac8ec8bb1df06c257760d10ada5506cc024a1 fix(cors): allow billing idempotency header (#6964) * 1ddc3812aa430458398e8b9c7d71719b875463a2 fix(desktop): stop the tab flares biting into a neighbour's hover pill (MUL-6160) (#6942) * a077ace2fdd971dd9f809f179b89779e5754ee99 fix(desktop): stop the tab flares printing dark squares under the active tab (MUL-6143) (#6918) * 19155e41f96cb3aec2355ae1d40da80c00030cdf refactor(prompts): compress duplicate --no-start guidance from #6956 (MUL-6168) (#6971) ### v0.4.25 - Date: 2026-08-13 - Version: v0.4.25 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.25 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.25 - **added** — Allow relocating per-task temp dirs via MULTICA_AGENT_TEMP_BASE - **added** — Integrate Workspace Stripe subscription proxy - **added** — Route Dingtalk groups to different agents - **added** — Enable ACP thinking_level for the hermes provider - **added** — Preview an issue on mention hover - **added** — Complete Plugin V1 execution chain - **added** — Worktree mode for local_directory resources - **added** — Update imported skills from their source - **added** — Pick the local directory execution mode while creating a project - **changed** — Localize runtime activity heatmap - **changed** — Format dates in the UI language, not the browser's - **fixed** — Resolve Windows installer junctions - **fixed** — Give Hermes conversations a session that survives the task - **fixed** — Fix Board assignee avatar interactions - **fixed** — Surface which HERMES_HOME a Hermes task actually read - **fixed** — Preserve task history during runtime GC - **fixed** — Own Codex process trees with a Job Object on Windows - **fixed** — Keep npm .cmd agent entry points launchable on Windows - **fixed** — Use valid bug triage status for autopilots - **fixed** — Make the daemon log path discoverable - **fixed** — Unify active-tab keyline in dark mode ##### Changelog * 254a02a79532fd554ca520b36737bc8fa2f74f98 MUL-5799: feat(daemon): allow relocating per-task temp dirs via MULTICA_AGENT_TEMP_BASE (#6481) * 587fbc5559adf950dd593169a271f9f9948d302f MUL-5852: 接入 Workspace Stripe 订阅代理 (#6886) * 8060aa7277d9c98bdc06c36176f6408bf37e6935 MUL-5947: feat(dingtalk): route groups to different agents (#6660) * 740ebdb8ef8e963cae80951fbb8db356394ffded MUL-5991 feat(agent): enable ACP thinking_level for the hermes provider (jcode) (#6814) * d582dca0621cebb714a98b4d367d0e06c9eb6a1f MUL-6025: fix(daemon): resolve Windows installer junctions (#6802) * 05a01f068ada7121f14ece3b0dd3dc10caf7421e MUL-6040: feat(issues): preview an issue on mention hover (#6785) * 28a7176328e02609adc5d1873035ee1a34d3c62d MUL-6053: fix(daemon): give Hermes conversations a session that survives the task (#6845) * 600c4e5a8cd101e60e1dabb2b0fabbf6bc3fcf3b MUL-6057: fix(i18n): localize runtime activity heatmap (#6812) * d467cc90691587ed00bdaca678475957df62dd3a MUL-6075: complete Plugin V1 execution chain (#6853) * a3dfd2439386cc4675598d9854da5052bfce0fbb MUL-6082: fix Board assignee avatar interactions (#6854) * 85045228a133a69b2df556ae60da3f1919c45914 MUL-6102: fix(daemon): surface which HERMES_HOME a Hermes task actually read (#6892) * 96bf122f2cf602b158cc0649f4dda4e62ab5644d MUL-6107: preserve task history during runtime GC (#6894) * cb8ce085ab68d5fb1df15dd50fc8dcf98a222add MUL-6108: 清理首批冗余数据库索引 (#6878) * e7e01638ad878ac32892bfd3e0fd0835d6c65e77 MUL-6118: fix(agent): own Codex process trees with a Job Object on Windows (#6897) * b5fdbd56f9d5e7276796126c9bd62b772c515875 MUL-6118: fix(daemon): keep npm .cmd agent entry points launchable on Windows (#6895) * 5ed57170bcf4401b42a32c1253e05034652f1368 [MUL-6099] Ship official Plugin V1 product vertical slice (#6869) * b032e0ee38d4d00482be70955868d240a0b2b159 docs(changelog): add v0.4.25 release entry (2026-08-13) (MUL-6131) (#6907) * c9727e6b2bac2ffe0ca1541984144c0f2c63c1fc feat(daemon): worktree mode for local_directory resources (MUL-5707) (#6759) * 147cd8d84f4a3e6bfefc30d56b912b1790cb2e1c feat(skills): update imported skills from their source (#6847) * 940b9adf44b8f801e45ad232c241596185925904 feat(views): pick the local directory execution mode while creating a project (MUL-5707) (#6901) * 6e147b0cf89cb57e0ca159124b7da3d702e9f52f fix(autopilots): use valid bug triage status (MUL-6092) (#6880) * e4ebd41def7478ce18b8e82364bf822c8d0629cc fix(daemon): make the daemon log path discoverable (#6884) * 367e7ee6e8252bbd4f50cd23410cfc737755004c fix(desktop): unify active-tab keyline in dark mode (MUL-6106) * 13706d60d03d62bac07faf7d552985046b0d5c1a fix(i18n): format dates in the UI language, not the browser's (#6841) * ea1ace776fa19413234880ee0bf89504b2f77d48 fix(views): stop telling worktree-mode users their folder is edited in place (MUL-5707) (#6911) * 063698f571220bf402cdf944672d1155584276ca fix: gate worktree mode on a declared capability, not a version string (MUL-5707) (#6904) ### v0.4.24 - Date: 2026-08-12 - Version: v0.4.24 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.24 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.24 - **added** — WeChat agent can send files it produced into the chat - **fixed** — Neutralize links in Slack member issue titles - **added** — Web chat can read back history via multica chat history command - **added** — Daemon identifies itself on /health endpoint - **changed** — Make workspace teardown index-driven, bounded and fenced - **added** — Add bulk edit mode for agent environment variables - **added** — Support pasting environment files for agents - **fixed** — Structure route error feedback context in desktop - **changed** — Update Codex gpt-5.6 model labels - **added** — Add forced-attachment download URL across all storage modes - **fixed** — Normalize MCP approval server shapes in cursor - **fixed** — Reclaim the managed Codex sandbox cache for every task kind in daemon - **changed** — Keep repo checkout responsive during daemon garbage collection - **added** — Reach hover-only row controls on touch in views - **fixed** — Withhold close intent when a PR identifier is ambiguous across workspaces in GitHub - **added** — Romanize Chinese workspace names into a slug in onboarding - **removed** — Remove legacy agent templates - **fixed** — Render Markdown H4-H6 instead of collapsing them to H1 in editor - **fixed** — Make readOpenclawStdout's cut-short decision atomic in agent - **fixed** — Use Lark and Slack marks outside Settings ##### Changelog * 90eadd940a47b55d654a1496b04520ef69a1188c MUL-5905: feat(wecom): send the files an agent produced into the chat (#6604) * 0f8c300dacfa548176ab4624e259865ea4ac7534 MUL-5915: fix(slack): neutralize links in member issue titles (#6799) * 8d292ef7ceaf3461d85a4ba28e99f96a80c8c848 MUL-5963: feat(server): let web chat read back history via `multica chat history` (#6680) * ef60815f5d5bbb942be9c56bc377dfb044adf09b MUL-5974 feat(daemon): let the daemon identify itself on /health (#6783) * c4f0d8cc8c83b78497fbff1e354be195fa6109cf MUL-5999: make workspace teardown index-driven, bounded and fenced (#6754) * 51c1b144b423d216503711e59a238cb34351e77d MUL-6002: feat(agents): add bulk edit mode for agent environment variables (#6818) * 7746cef56bbc523dee15620dbddd8916ff5aac6b MUL-6002: feat(agents): support pasting environment files (#6730) * 7e920d60e7a2db2218d55c7bab0c9a3d0835412f MUL-6010: fix(desktop): structure route error feedback context (#6737) * 7eeaaaa05e3d1ba4f53c1b0f68156763e301cae7 MUL-6015: WS-2: update Codex gpt-5.6 model labels (#6749) * 02e8e6c356b2d96f56b4fe0408490e7c99b32740 MUL-6023 feat(attachments): forced-attachment download URL across all storage modes (#6756) * b904e6b71c02ee6ebad6fa5340d685a8dbdc38f2 MUL-6029: docs(daemon): correct two comments #6604 made false, and enforce the Slack/Lark brief policy (#6771) * 84dc02cd65ffac2ace528134d1e515035f42be10 MUL-6034: fix(cursor): normalize MCP approval server shapes (#6776) * 78c1e24e903e22214966dc8d8383025625b667ae MUL-6038: fix(daemon): reclaim the managed Codex sandbox cache for every task kind (#6794) * d57bfc50ee34ea2b67e94800b009d17bb2c816da MUL-6043: Keep repo checkout responsive during daemon GC (#6803) * d3b6fdae8851adaba4cc4c1579fff113272b6d32 MUL-6045: feat(views): reach hover-only row controls on touch (#6790) * b4692a192dd8c8729603a7f5594b35f7f3f6a656 MUL-6048 fix(github): withhold close intent when a PR identifier is ambiguous across workspaces (#6808) * 176e8c684f99298433a2668fc16403d0759a31f5 MUL-6050: feat(onboarding): romanize Chinese workspace names into a slug (#6823) * 71bd844955be5d012cc62c272ac81ce117f92b8b MUL-6055 refactor(agents): remove legacy agent templates (#6820) * 3a2f9ee53fdde66b233122fa881a6aaa6c8b8637 MUL-6060 fix(editor): render Markdown H4-H6 instead of collapsing them to H1 (#6834) * ad23d1da3e94093924e06e9adf2745e9c312c7ce docs(changelog): add v0.4.24 release entry (2026-08-12) (#6829) * 6e6682539cc7ba02cf21dde3072b973d17e0f515 fix(agent): make readOpenclawStdout's cut-short decision atomic (MUL-6024) (#6765) * 8c0185019738290ed13aac9aed6005f70da20868 fix(agents): use Lark and Slack marks outside Settings too (#6817) * 3ef345b658040b08eea0658e1aa1c0096a68fa91 fix(cli): allow login with stale daemon port env (#6801) * 216c96eb8fa2e03fa6c5842ba61a520973bd094d fix(composer): handle Android compatibility mouse-down (#6789) * 0c69f1f95fd807a75ca119a52862835c569fb0d8 fix(daemon): recover in-turn when a resumed session cannot resolve provider auth (#6798) * 4ef2944967b763d7fadcda7dd77c5c44df706110 fix(markdown): render CJK-adjacent strong emphasis (#6768) * b32cd8c8ac380304e7340ff70a27cf60b0ef54f3 fix(metrics): forbid installation_id as a metric label (MUL-5894) (#6597) * 77f148809ec520966a8dc3ddde67e0fe30bf448e fix(onboarding): stop advertising a WS prefix before a URL exists (#6819) * 2b3920a98ea521a22c8fa2b6d288ad07834a9a8b fix(settings): clarify integration channel sections (#6807) * ce8d80b2e0704a1c93a87c1d7a3ba126cda180a1 fix(settings): give Lark and Slack their own brand marks (#6816) * 5e569fa38ace926d80550aecb94f54949c5ee4f8 fix(workspace): derive new issue prefixes from the slug, editable at create (#6815) ### v0.4.23 - Date: 2026-08-11 - Version: v0.4.23 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.23 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.23 - **added** — Read photos, files and videos that people send to the bot in WeChat Work - **added** — Drive ACP thinking_level from the backend's own configOptions for Reasonix - **added** — Inherit parent's project and assignee when creating a sub-issue - **added** — Browser-style Cmd+[ / Cmd+] history navigation in shortcuts - **changed** — Use DingTalk brand icon for agents - **changed** — Preserve effort for Claude context variants - **changed** — Drop the MULTICA_HERMES_TASK_MEMORY rollback switch - **fixed** — Give Hermes agents memory that survives the task - **fixed** — Reject a cross-workspace project on issue update - **fixed** — Skip media for duplicate issue commands - **fixed** — Reject unknown --profile instead of reporting stopped - **fixed** — Hide empty agent detail menu - **fixed** — Stop workspace delete from hanging on advisory lock 4246 - **fixed** — Deny the Reasonix ask tool per task - **fixed** — Link user Codex skills into codex-home instead of copying them - **fixed** — Bound inline chips so long titles stop breaking prose - **fixed** — Keep Reasonix off the ask tool in unattended tasks - **fixed** — A cancelled run must stop the typing indicator, not leave it spinning - **fixed** — Preserve focus on send and stop in composer - **fixed** — Keep the runtime owner's Reasonix deny rules in a task ##### Changelog * 00e12d34030156b0927a520a3df4253d196129f6 MUL-5906 feat(wecom): read the photos, files and videos people send the bot (#6605) * f26b97e395f5337766f30144c252504a5dfd015a MUL-5932: fix(daemon): give Hermes agents memory that survives the task (#6693) * eb3cd4fe9e720c5efbf863bbb39e63647ef6a8c1 MUL-5951: fix(issues): reject a cross-workspace project on issue update (#6666) * a937710fc746a825eae5e502f28b81be36681dce MUL-5958: 回复人类评论时跳过 assignee 兜底 (#6676) * d317eb3f461cfbf0fef3a868a0d75f0f3aed77de MUL-5966 fix(channels): skip media for duplicate issue commands (#6688) * 4deea5a30a17317ae98b048d8044cc9cca65c59f MUL-5974 fix(cli): reject unknown --profile instead of reporting "stopped" (#6757) * 8cafe1d08c17bd57ad8ea5a60b6cdf929fcd6c87 MUL-5979 fix(views): hide empty agent detail menu (#6696) * 6bce42b84a509a7f5aba4208949e6e4b83f6c574 MUL-5983 fix(workspace): stop workspace delete from hanging on advisory lock 4246 (#6710) * 84a02cc2acb2b21cfa04a58c6adc141c769000da MUL-5991 feat(agent): drive ACP thinking_level from the backend's own configOptions (reasonix first) (#6752) * 807b8706bb91d8083348542f2cc9ea9fec5f2692 MUL-5992 fix(daemon): deny the Reasonix ask tool per task (supersedes #6745) (#6746) * a1da8e536fad972841eca9221374c081ea9f0eb6 MUL-6000 fix(daemon): link user Codex skills into codex-home instead of copying them (#6742) * 59021eb8a6745925527755572f9b6705f2db03f8 MUL-6004 fix(issues): bound inline chips so long titles stop breaking prose (#6744) * dbe55d6bb18b5bb0c4a0755b281e3f8659ad76b6 docs(changelog): add v0.4.23 release entry (2026-08-11) (MUL-6021) (#6758) * 673104d26e2d1f9f1f7030e7e0632670cee70f78 docs(daemon): correct the Hermes overlay's skill-less claim (#6703) * d2f1d23d6e1e5ec5dd5f3a81d119f9adcf7e037f docs(skills): remove implicit reply routing guidance (MUL-6021) (#6763) * 822c6a0b8c0841efa2f5f700b34a89d68a998e7e feat(issues): inherit parent's project and assignee when creating a sub-issue (#6727) * d1e9a2ccb91f01dd8e7adad5805dc34a13508e17 feat(shortcuts): browser-style Cmd+[ / Cmd+] history navigation (#6728) * 8eaa0d229f0f022a249e1aab28b83b2e081819b0 fix(agent): keep Reasonix off the ask tool in unattended tasks (#6745) * 2c7414309612157e687594b840f9fd4116b99a4e fix(agent): preserve effort for Claude context variants (#6748) * 3ebd0b5417eaaf15a2099849aae92085834072ec fix(agents): use DingTalk brand icon (#6692) * d8c41cc79168e229837afb1f3d9a330389ecee61 fix(channels): a cancelled run must stop the typing indicator, not leave it spinning (#6631) * 9c21786f4c3f03ebfdb960021684a8912fa5468e fix(composer): preserve focus on send and stop (#6733) * e0d0b3815342a80460f8a1c66c56ddfc662c7d46 fix(daemon): keep the runtime owner's Reasonix deny rules in a task (MUL-6021) (#6764) * 4345bf567a551e49f8a486578e15e2dbb89e4be5 fix(editor): download web attachments via the signed capability URL (#6713) * 02b73d58749ed180795e808f0020e07ed6be7abb fix(selfhost): forward SMTP_FROM_EMAIL to backend (#6653) * 50cfca6409cc0a1d4381d31b6c40f6e449e4bf38 fix(wecom): pin the wrong-key test, and stop four comments claiming more than the code (#6706) * e519dd9e8b884b3e3ae84b6722b9edc6ae75e5b6 perf(tasks): dedupe agent-status reconciliation on bulk cancel (#6726) * 8e96329196bd67ada89e956745598302b5657036 refactor(daemon): drop the MULTICA_HERMES_TASK_MEMORY rollback switch (#6760) ### v0.4.22 - Date: 2026-08-10 - Version: v0.4.22 - Original notes: https://github.com/multica-ai/multica/releases/tag/v0.4.22 - Permalink: https://whatsnew.fyi/product/multica/releases/v0.4.22 - **removed** — Drop the write-only sidebar_state cookie and align the settings nav trigger - **added** — Support Kimi thinking levels - **changed** — Unify internal link click semantics across all surfaces - **changed** — Project pill quick-clear × and stop remembering the last project - **fixed** — Improve /new and /issue feedback in channels - **fixed** — Answer a duplicate /issue honestly and don't push a web-UI reply into the WeCom room - **fixed** — Ask the engine whether it is an /issue command instead of mirroring it in WeCom - **fixed** — Cancel queued tasks when a session is archived and stop telling non-Slack sessions they have no channel - **fixed** — Fix slash command support in WeCom group - **fixed** — Expand Windows ~\ in the openclaw active config path - **fixed** — Persist direct chat Codex sessions - **added** — Saved issue views V1 - **fixed** — Restore inbox scroll position and stop the highlight re-jump on tab return - **added** — Add oh-my-pi (omp) as a supported agent runtime - **added** — Allow task-scoped daemon status and disk-usage - **changed** — Write Mika's opening on the server instead of running an agent - **added** — Add the MULTICA_WECOM_TRACE operator switch and stop it printing binding tokens - **added** — Classify a refused WeCom handshake the way the credential probe does - **added** — Read the server's verdict on an outbound WeCom send - **added** — Read voice notes which WeCom already transcribes - **added** — Show WeCom's own mark instead of a generic speech bubble ##### Changelog * b15b902d3bc26e10ff9ada9218b3143aa6ba7d08 MUL-5842: fix(ui): drop the write-only sidebar_state cookie and align the settings nav trigger (#6621) * cd9f4147a57dc469328ad7bbd06f1781e0dc8314 MUL-5853 feat(agent): support Kimi thinking levels (#6429) * ad7e621139b56a1b2df6831fcd7de716c1177cbe MUL-5860: unify internal link click semantics across all surfaces (#6667) * 9f2b1c50c1674fb481e0045be420419d196e9281 MUL-5862: project pill quick-clear × + stop remembering the last project (#6574) * 2a19f9ba2c32bc4209ab86c6e4a80d2de9fbb906 MUL-5873 fix(channels): improve /new and /issue feedback (#6578) * cd3c0bb8948e9f091c4dbf5bc8cb8af1c63d09c2 MUL-5888: fix(wecom): answer a duplicate /issue honestly, and don't push a web-UI reply into the room (#6591) * 43f568d1690440bfd3f70781327fed22c7f9fb09 MUL-5890: fix(wecom): ask the engine whether it is an /issue command instead of mirroring it (#6593) * cdf93e4914e99a53ffb9ab98d49bcfe801ce968f MUL-5892 fix(chat): cancel queued tasks when a session is archived, and stop telling non-Slack sessions they have no channel (#6595) * 7509d80cdff013be95e80b240b1ef0463f845216 MUL-5904: fix(wecom): no slash command works in a group at all (#6603) * 93fa120c4c67d1130648856bed99272a5e1fd8c5 MUL-5925 fix(execenv): expand Windows `~\` in the openclaw active config path (#6630) (#6643) * 7c7ed8bf55ca08b2e24345cfc602209cde33fecf MUL-5937 fix(daemon): persist direct chat Codex sessions (#6644) * 984a2c2bffba6dbc717c9f394ea2aaac0168a933 MUL-5954: feat: saved issue views V1 (MUL-4796) (#6516) * 0035345a57bcee8655d91d3965112962f4d9b075 MUL-5973: fix(tabs): restore inbox scroll position and stop the highlight re-jump on tab return (#6690) * 8bd49bba8ffe273da9a6902227bbcdd643873ce1 docs(changelog): add v0.4.22 release entry (2026-08-10) (MUL-5978) (#6698) * f77d03ed736bb1b2f56b70fba3b6b35f2d426a8a docs(wecom): follow the same page_description shape as Slack, Lark and DingTalk (MUL-5883) (#6587) * 3dd128532c0c60d20b5928c36a6140b08556e1c5 feat(agent): add oh-my-pi (omp) as a supported agent runtime (#6514) * 90b3c2cc5258e4f88006e4b0358d18afa3b6e002 feat(cli): allow task-scoped daemon status and disk-usage (MUL-5742) (#6684) * 47f6e970f6a00c3da3a75172e156f9edd75fa380 feat(onboarding): write Mika's opening on the server instead of running an agent (MUL-5827) (#6520) * a4d4444f80833105da74cfbabc1f6ec9869a3324 feat(wecom): add the MULTICA_WECOM_TRACE operator switch (and stop it printing binding tokens) (#6602) * b09abf1798c99b85ee07c5824fba2382a5414fd3 feat(wecom): classify a refused handshake the way the credential probe does (MUL-5895) (#6598) * 0ab271235651fa7130306eafea9ddaf6fcf9ae5d feat(wecom): read the server's verdict on an outbound send (MUL-5887) (#6590) * 611a806507a07e8cd40063ac729b0db09efd62fc feat(wecom): read voice notes, which WeCom already transcribes for us (#6599) * c66bffd72264a04eb1b930b8e01241758595f8a4 feat(wecom): show WeCom's own mark instead of a generic speech bubble (#6585) * 1fe956eb86d95057a88eca277e6939ea281d2a82 feat(wecom): tell a refused handshake apart from an unreachable one, on a dashboard (#6626) * f97db4fc5ac9a2e2d898c29747ea732b8d6dec12 fix(agent): support Pi thinking levels through RPC model discovery (MUL-5924) (#6629) * f3a7fce8d8e72b76f3f58bff649db0cc6b404624 fix(chat): a predecessor's reply must not seal the next message out of its own batch (#6611) * 586a624aa5f846e5ca9dcea17de0819e154f8a5e fix(cli): isolate task profile state (#6407) * 07ada7262dcbe708fa962a91b71a05e9d4faa2d3 fix(issue-views): show the view bar's more-trigger only while tabs overflow (#6682) * c4cd1ebabc6a1d913969d03d259197d27d536f4a fix(lark): three defensive fixes to stored media filenames (#6596) * 080f088ddfcc98c88d05b7da158e72317392daa4 fix(migrations): renumber channel pending_fresh to 271 (#6683) * 985a1fe63200ec64aabbadf684bb39ba805c8ca9 fix(views): add saved-view sort direction (#6689) * 2b35f8017ab3b773e0356e562ecb04e55a7a9bd7 fix(web): validate the browser API base URL (MUL-5922) (#662 _[Truncated at 4000 characters — full notes: https://github.com/multica-ai/multica/releases/tag/v0.4.22]_