v0.4.30
Added 10
- Show agent names in session list
- Generate the command palette's Pages group from the nav registry
- Add fail-open entitlement policy provider
- Add semantic issue activity timestamps
- Enforce entitlement-backed autopilot quotas
- Custom issue status UI with picker, board, filters, and settings
- Show linked identities to workspace admins in DingTalk
- Add revision-aware concurrency guards for issues
- Support filtering custom properties by no value
- Expose Go pprof on a loopback port
Changed 5
- Rebuild the plugin system with cleanup, foundations, Action API, Surface, and SDK updates
- Reduce chat resume query load
- Refactor i18n to reuse custom_property.none for the no-value filter
- Make the LLM client retry budget explicit, wired, and validated
- Generate task message IDs as UUIDv7
Fixed 17
- Stop blaming the daemon when the backend is the stale half
- Redact secrets from provider command logs
- Prevent cross-agent task and workdir contamination
- Guard chat rename during IME composition
- Drop category headings from the status list
- Stop concurrent tasks evicting each other's OpenClaw discovery cache
- Give the inbox row's status glyph the custom status's identity
- Offer both outcomes on a revision conflict
- Scroll to the newly posted comment in both timeline modes
- Stop a comment create failing on sibling issue caches
- Stop the status filter's category heading crashing the app
- Configure Apple team from environment
- Unblock the OpenClaw runtime on slow hosts
- Support restricted Redis request stores
- Add MiniMax Code provider logo
- Stop the plugin bridge tests racing the port they wait on
- Align private-agent invoke surfaces with the owner-only contract
Security 1
- Fix CVE-2026-9277 security vulnerability
From multica
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)
- 4d5a679b9bf417a35027e6787443d2b4bee1e414 fix(openclaw): unblock the OpenClaw runtime on slow hosts (MUL-6321) (#7142)
- ec8027cbc66cf389a2f11379f7560c7c8c2bdfc0 fix(runtime): support restricted Redis request stores (#7179)
- b55322d938f297471bef074c5d9c922517210895 fix(runtimes): add MiniMax Code provider logo (#7171)
- b4137fc5b5ff7b929e4a42a3c5864b6b1dd3b2b7 fix(views): stop the plugin bridge tests racing the port they wait on (#7210)
- 4c1c8709c3010b18a7c88073f27c95f16e7ac394 fix: CVE-2026-9277 security vulnerability (#7187)
- 4040345e09d058d5f79891c7c4d023bdc0a1461c perf(ci): path-filter the backend jobs to skip irrelevant PRs (MUL-6389) (#7198)
- ea07a291387abdcff2a4286ddfb3f07a0bdc4932 perf(db): generate task message IDs as UUIDv7 (#7220)
- 41ddf6c0a1bc22ba256852442f43d5ff1990a073 refactor(frontend): drop dead UI components and phantom deps, add knip (MUL-6353) (#7147)
- 877a71568f6d5d9375fdaa36414f4c9189144652 test(server): add internal/testutil and migrate the eight heaviest handler suites (MUL-6361) (#7160)