Skip to content

0.0.15

Choose a tag to compare

@github-actions github-actions released this 10 May 16:38
496354b

ClawWork v0.0.15 release poster

🔥 Highlights

ClawWork v0.0.15 ships 97 PRs with 10 first-time contributors, bringing a sharper OpenClaw desktop workspace for commands, attachments, teams, and artifacts.

  • Dashboard — usage overview, breakdowns, and a 30-day token chart.
  • Live Gateway slash commands — the slash menu now pulls commands from the connected OpenClaw Gateway.
  • Attachments and artifacts — non-image attachments, persisted media, thumbnails, preview drawers, and File Manager filtering.
  • Beta update channel — opt into prerelease builds directly from Settings.
  • Teams polish — resizable team file trees, shared Gateway selection, and persisted team skill bindings.

✨ Features

  • Add Dashboard with usage overview, breakdowns and 30-day token chart by @samzong in #393
  • add engineering deck and refresh product tour by @samzong in #418
  • Support sending non-image attachments (pdf, office docs, zip, text). Attachments are saved locally per task and open with the OS default app on click. Image messages now survive app restarts. by @samzong in #424
  • Slash commands (/) are now sourced live from the connected gateway. Skills and plugin commands appear alongside native commands, with source badges in the menu and dashboard. /think, /fast, and similar options retain their quick-select arg pickers. by @samzong in #429
  • Settings: you can now cancel an in-progress app-update download. The cancel button appears next to the download progress and returns the UI to the "update available" state so you can retry immediately. by @samzong in #441
  • Settings: you can now opt into the Beta update channel from Settings → About. Beta users receive prerelease builds like 0.0.15-beta.1 as well as stable releases; Stable users continue to only see fully released versions. Default is Stable. by @samzong in #444
  • UI: Refreshed default light and dark themes, consolidated to auto / light / dark (legacy theme choices migrate automatically on startup), and grouped left-nav active tasks by Today / Yesterday / Previous 7 Days / Older. by @samzong in #457
  • Team file trees can now be resized to show longer agent names. by @samzong in #459
  • Added a shared gateway selector for the welcome screen and Team Hub install flow. by @samzong in #464
  • Teams now persist and display the skills bound to each team agent. by @samzong in #468
  • File artifacts now show image thumbnails in the file manager and conversation artifact panel, and file previews open in an overlay drawer without shrinking the file grid. by @samzong in #472
  • File Manager now hides stored artifact filenames and supports type filtering for artifact search. by @samzong in #473

🐛 Bug Fixes

  • Standardize errorCode in PWA gateway not-connected responses by @Qorex in #325
  • log update check failures by @nightcityblade in #348
  • log about section IPC failures by @nightcityblade in #349
  • handle IPC load failures in mention flows by @nightcityblade in #350
  • remove stable ref dependency from popover effect by @nightcityblade in #351
  • guard initial file browser artifact load by @nightcityblade in #352
  • handle startup IPC failures in app shell by @nightcityblade in #353
  • replace hardcoded English strings in useTraySync with i18n… by @luchuanjia in #366
  • log persistence errors instead of silently swallowing (#216) by @luchuanjia in #367
  • guard FileBrowser search against stale out-of-order response… by @luchuanjia in #368
  • allowlist http(s) schemes in shell.openExternal to prevent… by @kenwoodjw in #369
  • centralize renderer settings state by @HiddenPuppy in #372
  • Consolidate redundant map iterations in MentionPicker by @mvanhorn in #373
  • add .catch() handlers to IPC calls in Settings sections by @Hamzaa6296 in #376
  • Race condition in FileBrowser search: stale results from out-of-order responses by @mvanhorn in #378
  • add payload size cap + per-event rate limiting to debug:renderer-event by @xyaz1313 in #414
  • Clean up orphan artifact files when DB insert fails by @JasmineLCY in #415
  • Hard-code renderer domain in debug:renderer-event handler by @JasmineLCY in #416
  • Fixed a bug where sending messages in a newly created team could fail with "Failed to initialize team coordinator" when the gateway agent catalog had not finished loading. by @JasmineLCY in #420
  • Fix: Stop the spurious "Agent not responding" system message from appearing after fast (<30s) agent replies. by @samzong in #430
  • Add ad-hoc fallback when mac notarization fails by @samzong in #440
  • [Fix] DevTools keyboard shortcut (Cmd+Alt+I / Ctrl+Shift+I / F12) now works in packaged builds when Developer Mode is enabled in Settings → About. by @samzong in #442
  • reject disallowed fields in settings:update instead of silently dropping them by @HiddenPuppy in #449
  • normalize IPv6 addresses in isPrivateIPv6 before private-range check by @mvanhorn in #450
  • sync isDefault flag when removing default gateway by @HiddenPuppy in #451
  • wrap GatewaysSection IPC handlers in try/finally by @HiddenPuppy in #452
  • persist deviceId on first call when no config exists by @HiddenPuppy in #454
  • show error toast when PairMobileDialog handleGenerate fails by @mvanhorn in #458
  • Fixed model and thinking slash commands so they update the session instead of being sent as chat messages. by @samzong in #461
  • Harden history normalization by @samzong in #462
  • Replace silent-swallow .catch in AgentsSection avatar paths by @mvanhorn in #463
  • Fixed pasted multiline user messages rendering with right-aligned text. by @samzong in #466
  • writeConfig is now atomic with write-temp-then-rename by @HiddenPuppy in #470
  • Persist assistant media attachments by @samzong in #471
  • log fs.watch errors instead of silently swallowing them (#387) by @HiddenPuppy in #474
  • return boolean from watchFolder instead of silently dropping when cap is reached (#388) by @HiddenPuppy in #475
  • apply hidden-file filter at all depths by @mvanhorn in #476
  • use URL pathname for extension detection in autoExtractArtifacts (#389) by @HiddenPuppy in #477
  • Fix OpenClaw media attachments so gateway-relative images load when ClawWork and OpenClaw run from different locations. by @samzong in #478
  • buffer events before initDebugLogger and replay on init (#412) by @SAY-5 in #481
  • Handle fetchAgentMeta failure and floating Promise.all in AgentsSection by @mvanhorn in #483
  • Harden initConductor against prompt injection in user task and agent catalog by @mvanhorn in #484
  • Toast notifications now appear in the top-right corner and include a clearer dismiss button. by @samzong in #488
  • replace appendFileSync with persistent WriteStream (#410) by @HiddenPuppy in #489
  • pin DNS resolution in safeFetch to close DNS rebinding TOCTOU (#405) by @HiddenPuppy in #490

♻️ Refactor

  • type ssrf lookup mock by samzong (5b19850)
  • extract navActiveClass helper to deduplicate LeftNav styles by @reverb256 in #355
  • Remove trivial UI useMemo calls by @HiddenPuppy in #356
  • Split voice input hook responsibilities by @HiddenPuppy in #357
  • extract duplicate mention tabs array in ChatInput by @reverb256 in #361
  • extract repeated typeof IPC guard checks in useContextFolders by @reverb256 in #362
  • extract SelectionTag component from ChatInput by @reverb256 in #364
  • split gateway bootstrap hook by @HiddenPuppy in #370
  • add unified gateway registry to ui-store by @reverb256 in #371
  • Extract TeamCardShell from TeamCard and TeamHubCard by @Hamzaa6296 in #377
  • unify ChatContentBlock with RawContentBlock by @mvanhorn in #379
  • Extract ToolCallSummary and reuse in streaming view by @samzong in #419
  • Refresh ClawWork's visual signature and screen-reader support: prune accumulated decorative drift (ambient orb animation, cyan-green accent gradient, banned border-left color stripes, bouncy spring easing, triple-layer glow, shell noise texture) and complete accessible labels on every icon-only button across sidebar, composer, settings, teams, and scheduler. PWA chat input touch targets now meet WCAG 2.2 AA (44×44). No feature changes. by @samzong in #422
  • Add Layer 3 DB-asserting e2e business paths by @samzong in #437
  • update keynote by @samzong in #455
  • Session running indicators now consistently reflect waiting, responding, and tool activity across the desktop UI. by @samzong in #467

🔧 Build / CI

  • Release maintainers can now run pnpm release-notes <tag> to generate a categorized release notes draft from merged PR metadata. A new publish-release-notes CI job runs the same generator on every tag push, saves the draft to the workflow summary and a downloadable artifact, and populates the GitHub Release body only when it is empty — existing hand-written notes are never overwritten. by @samzong in #421
  • Add aggregation gate for CI required status checks by @samzong in #425
  • Tighten CI: zero-warning lint + Test core step by @samzong in #426
  • Typecheck test files via tsconfig.test.json by @samzong in #427
  • Expand check-architecture from 1 rule to 4 by @samzong in #428
  • Upgrade action runtimes to Node 24 and enable Dependabot by @samzong in #431
  • Add secret-scan gate with gitleaks CLI by @samzong in #432
  • Build mac x64 package on Intel runner by @samzong in #465
  • Default CI bot merges to squash by @samzong in #482

📚 Docs

  • Add Teams design journey blog post (v0.0.14 retro) by @samzong in #375
  • Add zh/zh-TW/ja/ko README translations and dedupe English README by @samzong in #447
  • add next multi-runtime control plane post by @samzong in #456
  • Add Discord community badge by @samzong in #480

🧹 Chore

  • prepare v0.0.15 by samzong (496354b)
  • prepare v0.0.15-beta.4 by samzong (cca74f2)
  • bump version to v0.0.15-beta.1 by samzong (cded8bf)
  • bump version to v0.0.15-beta.2 by samzong (5153677)
  • bump version to v0.0.15-beta.3 by samzong (ab7af4e)
  • bump wzshiming/gh-ci-bot from 1.4.0 to 1.5.0 in the actions group by @app/dependabot in #433
  • bump actions/upload-pages-artifact from 3 to 5 by @app/dependabot in #434
  • bump actions/upload-artifact from 5 to 7 by @app/dependabot in #435
  • bump actions/checkout from 4 to 6 by @app/dependabot in #436
  • bump actions/setup-node from 5 to 6 by @app/dependabot in #439
  • Removed the tray warning indicator for disconnected gateways. by @samzong in #460
  • add reviewer routing by @samzong in #479

📦 Other

  • fix team database init by @afox666 in #380
  • Security: Unbounded base64 decode in inbox save can cause memory/disk exhaustion by @tomaioo in #443
  • Fix/394 add gateway empty workspace by @HiddenPuppy in #446

👋 New Contributors

Full Changelog: v0.0.14...v0.0.15