Skip to content

Releases: clawwork-ai/ClawWork

0.0.16

16 May 03:44
0861d49

Choose a tag to compare

🐛 Bug Fixes

  • widen gateway protocol compatibility range by samzong (ea65c56)
  • Use stable base for stable release notes by @samzong in #496

🔧 Build / CI

  • Publish release before Homebrew update by @samzong in #493

📚 Docs

🧹 Chore

  • bump desktop version to 0.0.16 by samzong (0861d49)

Full Changelog: v0.0.15...v0.0.16

0.0.15

10 May 16:38
496354b

Choose a tag to compare

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...
Read more

0.0.15-beta.4

28 Apr 16:49
cca74f2

Choose a tag to compare

0.0.15-beta.4 Pre-release
Pre-release
sudo xattr -rd com.apple.quarantine /Applications/ClawWork.app

✨ Features

  • 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

  • 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
  • Persist assistant media attachments by @samzong in #471

♻️ Refactor

  • Session running indicators now consistently reflect waiting, responding, and tool activity across the desktop UI. by @samzong in #467

🧹 Chore

  • prepare v0.0.15-beta.4 by samzong (cca74f2)

Full Changelog: v0.0.15-beta.3...v0.0.15-beta.4

0.0.15-beta.3

27 Apr 11:54
ab7af4e

Choose a tag to compare

0.0.15-beta.3 Pre-release
Pre-release

What's Changed

  • fix(desktop): show error toast when PairMobileDialog handleGenerate fails by @mvanhorn in #458
  • [Feat] Add resizable team file tree by @samzong in #459
  • [Chore] Remove tray disconnect indicator by @samzong in #460
  • [Fix] Apply model slash commands through session patch by @samzong in #461
  • [Fix] Harden history normalization by @samzong in #462
  • [Feat] Add shared gateway selector by @samzong in #464
  • [Build] Build mac x64 package on Intel runner by @samzong in #465

Full Changelog: v0.0.15-beta.2...v0.0.15-beta.3

0.0.15-beta.2

24 Apr 11:35
5153677

Choose a tag to compare

0.0.15-beta.2 Pre-release
Pre-release
sudo xattr -rd com.apple.quarantine "/Applications/ClawWork.app"

✨ Features

  • 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

🐛 Bug Fixes

  • reject disallowed fields in settings:update instead of silently dropping them by @HiddenPuppy in #449
  • sync isDefault flag when removing default gateway by @HiddenPuppy in #451
  • wrap GatewaysSection IPC handlers in try/finally by @HiddenPuppy in #452

♻️ Refactor

📚 Docs

  • 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

🧹 Chore

  • bump version to v0.0.15-beta.2 by samzong (5153677)

📦 Other

Full Changelog: v0.0.15-beta.1...v0.0.15-beta.2

0.0.15-beta.1

17 Apr 00:38
5e77dfa

Choose a tag to compare

0.0.15-beta.1 Pre-release
Pre-release

✨ 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

🐛 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

♻️ Refactor

  • 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

🔧 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

📚 Docs

  • Add Teams design journey blog post (v0.0.14 retro) by @samzong in #375

🧹 Chore

  • bump version to v0.0.15-beta.1 by samzong (cded8bf)
  • 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

📦 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

👋 New Contributors

Full Changelog: v0.0.14...v0.0.15-beta.1

0.0.14

09 Apr 00:33
cb2c55d

Choose a tag to compare

🔥 Highlights

  • 👥 Teams — Complete team lifecycle: multi-step creation wizard, TEAM.md file format, virtual file tree editor, AI Builder dialog, team chat with room runtime, and TeamsHub Git-native marketplace with one-click install.
  • 🤖 Multi-Agent Orchestration — Ensemble task rooms with conductor/performer model, @ALL mention in chat, agent avatar bar, and subagent event routing via sessions.changed.
  • 🔒 Security Hardening — Gateway credentials encrypted with Electron safeStorage, single instance lock prevents duplicate app windows, and deviceId hidden behind developer mode.
  • WelcomeScreen Redesign — Tab-based agent/team/orchestrate selection with gateway selector, skill config dialog, and Skills management with ClawHub discovery.
  • 🧩 Agent Enhancements — Avatar upload with custom Electron protocol, inline file editing, AI-guided creation, configurable agent descriptions, skills status panel.

✨ What's New

  • 👥 Teams — Full team lifecycle: creation wizard with edit/delete, team detail view with virtual file tree and inline editor, TEAM.md parser, team install orchestrator, AI Builder dialog, team chat with room runtime, and data model with SQLite persistence by @samzong in #258 #259 #260 #261 #262 #266 #268 #270 #282 #283 #295 #296 #303
  • 🏪 TeamsHub — Git-native marketplace: data layer, browse UI with tab switching, detail view, and one-click install with agent reuse on reinstall by @samzong in #288 #290 #294 #299
  • 🤖 Multi-Agent Orchestration — Ensemble task rooms with native conductor and performer orchestration, @ALL mention, avatar bar, and subagent routing fix by @samzong in #210 #220 #260 #319
  • 🧩 Agent Enhancements — Avatar upload with custom Electron protocol and fallback chain, inline file editing, AI-guided creation dialog, skills status panel, configurable agent description by @samzong in #245 #246 #257 #261 #283
  • Skills & ClawHub — Skills management section with ClawHub discovery and install flow, skill config dialog with disabled filter, skills/config Gateway IPC channels by @samzong in #256 #302 #304 #327
  • WelcomeScreen — Tab-based agent/team/orchestrate selection with extracted gateway selector hook by @samzong in #304, by @HiddenPuppy in #320
  • 📡 System Sessions — Ephemeral OpenClaw channels decoupled from Task/Chat by @samzong in #255
  • 🔒 Security — Encrypt gateway credentials with Electron safeStorage by @samzong in #323, single instance lock by @samzong in #322, hide deviceId behind developer mode by @samzong in #297
  • 📱 PWA — Offline caching, manual update control, GitHub Pages deployment, iOS fullscreen safe-area by @samzong in #205 #207
  • 🔍 Diagnostics — Copy session key and conversation diagnosis runbook by @samzong in #312

🐛 Bug Fixes

  • Fix subagent events not routed — use sessions.changed subscription by @samzong in #319
  • Fix tool call activity excluded from response timeout check by @samzong in #316
  • Fix cachedDeviceId leaked outside store factory closure by @qorexdev in #326
  • Fix inline-block message bubbles causing horizontal scroll by @samzong in #324
  • Fix ensemble flag not persisted/synced between WelcomeScreen and task state by @samzong in #310 #311
  • Fix nested button in FileCard replaced with stretched button pattern by @samzong in #315
  • Fix useEffect scroll replaced with ResizeObserver for reliable auto-scroll by @samzong in #317
  • Fix copy timer in FilePreviewModal not cleaned up on unmount by @qorexdev in #308
  • Fix syncChains entries not cleaned up after sync completes by @qorexdev in #307
  • Fix QR code not regenerated when gateway selection changes by @samzong in #301
  • Fix share-identity toggle not wired in pair mobile dialog by @samzong in #298
  • Fix team chat task created eagerly — deferred until first message sent by @samzong in #295
  • Fix button visual hierarchy across Teams panel by @samzong in #321
  • Catch ws.send() throw after WebSocket close by @mvanhorn in #292
  • Wrap PWA updateTask in readwrite transaction by @mvanhorn in #293
  • Fix hardcoded Copy/Copied strings in FilePreviewModal by @mvanhorn in #291
  • Clean up ChatInput abort reset timer on unmount by @HiddenPuppy in #286
  • Roll back failed agent creation when follow-up update fails by @HiddenPuppy in #264
  • Fix agent edit form name fallback when name is undefined by @samzong in #235
  • Reset hydration cache after local hydration failures by @sablecode in #247
  • Log persistence failures in core stores by @sablecode in #249
  • Preserve error context in core warning paths by @sablecode in #248
  • Log persistence and service errors instead of swallowing by @qorexdev in #309
  • Avoid stale Zustand selector for model and tools catalog by @samzong in #252
  • Add scroll to model selector dropdown when providers overflow by @samzong in #271
  • Log unexpected errors in DB migration instead of swallowing by @samzong in #272
  • Trim auth credentials and URL in test-gateway handler by @samzong in #265
  • Validate sourcePath in artifact:save IPC handler by @samzong in #204
  • PWA iOS fullscreen safe-area for native app feel by @samzong in #207

🔧 Engineering

  • Extract duplicated message-merge logic in syncFromGateway by @HiddenPuppy in #254
  • Extract WelcomeScreen gateway selector hook by @HiddenPuppy in #320
  • Use type guard instead of manual cast for PromiseSettledResult by @wiliyam in #250
  • Add updatePending/setPending actions to task-store by @luchuanjia in #318
  • Add file-reader truncation test for large files by @ronak-create in #284
  • Remove renderer shim re-exports by @samzong in #203
  • Deterministic i18n key sorting to reduce merge conflicts by @samzong in #267
  • Replace real file I/O with fs mocks in file-reader test by @samzong in #289
  • Fix knip false positives by updating schema to v6 by @samzong in #287
  • Unify team detail view layout with info card by @samzong in #296
  • Remove emoji from agent update path, add model info and file set wiring by @samzong in #238
  • Website overhaul: CSS variables, merged GitHub API, routing fixes by @samzong in #208

🎉 New Contributors

Full Changelog: v0.0.13...v0.0.14

v0.0.14-beta.1

07 Apr 10:58
68736a0

Choose a tag to compare

v0.0.14-beta.1 Pre-release
Pre-release

What's New

  • Teams — Full team lifecycle: creation wizard, detail view with virtual file tree, inline editor, agent description, and room runtime wiring (#258 #262 #266 #268 #270 #282 #283)
  • TeamsHub — Git-native marketplace with data layer, browse UI, detail view, and one-click install (#288 #290 #294)
  • Multi-Agent Orchestration — Ensemble task rooms with conductor/performer model, @ALL mention, and avatar bar (#210 #220 #260)
  • Agent Enhancements — Avatar upload, inline file editing, AI-guided creation dialog, skills status panel (#245 #246 #261 #218)
  • System Sessions — Ephemeral OpenClaw channels decoupled from Task/Chat (#255)
  • Skills & Config IPC — Wire skills.install, skills.update, skills.bins and config.* Gateway channels (#256)

Bug Fixes

  • Catch ws.send() throw after WebSocket close (#292) by @mvanhorn
  • Wrap PWA updateTask in readwrite transaction (#293) by @mvanhorn
  • Fix hardcoded Copy/Copied strings in FilePreviewModal (#291) by @mvanhorn
  • Clean up ChatInput abort reset timer on unmount (#286) by @HiddenPuppy
  • Roll back failed agent creation when follow-up update fails (#264) by @HiddenPuppy
  • Reset hydration cache after local hydration failures (#247) by @sablecode
  • Log persistence failures in core stores (#249) by @sablecode
  • Preserve error context in core warning paths (#248) by @sablecode
  • Trim auth credentials and URL in test-gateway handler (#265)
  • Log unexpected errors in DB migration instead of swallowing (#272)
  • Add scroll to model selector dropdown when providers overflow (#271)
  • Avoid stale Zustand selector for model and tools catalog (#252)

Engineering

  • Extract duplicated message-merge logic in syncFromGateway (#254) by @HiddenPuppy
  • Use type guard instead of manual cast for PromiseSettledResult (#250) by @wiliyam
  • Add file-reader truncation test for large files (#284) by @ronak-create
  • Deterministic i18n key sorting to reduce merge conflicts (#267)
  • Replace real file I/O with fs mocks in file-reader test (#289)
  • Fix knip false positives by updating schema to v6 (#287)

New Contributors 🎉

Welcome to our first community contributors!

  • @HiddenPuppy (Jerome Xu) — 3 PRs: bug fixes and code cleanup
  • @mvanhorn (Matt Van Horn) — 3 PRs: WebSocket, PWA, and i18n fixes
  • @sablecode (Sable) — 3 PRs: error handling and resilience improvements
  • @wiliyam — 1 PR: type safety improvement
  • @ronak-create (ronak parmar) — 1 PR: test coverage

Full Changelog: v0.0.13...v0.0.14-beta.1

0.0.13

27 Mar 13:56
165872e

Choose a tag to compare

🔥 Highlights

  • 📱 ClawWork on your phone — Brand-new PWA mobile companion with a native chat experience, swipe gestures, and seamless QR pairing that keeps your desktop connected.
  • 🐧 Linux support — First-class Linux builds ship starting this release — AppImage and deb for x64.
  • Visual refresh — Glass panels, glow accents, and ambient gradients give the entire app a polished new look while respecting reduced-motion preferences.
  • 🔒 Security hardening — Four fixes close a private key leak, an SSRF bypass, a TOCTOU race, and a path traversal vector in the artifact handler.

✨ What's New

  • 📱 PWA mobile companion — Brand-new mobile web app with native iOS chat experience: OLED dark theme, edge-swipe gestures, drag-to-dismiss bottom sheets, settings panel with 8-language selector, and QR pairing with independent device identity — your desktop stays connected when a phone joins. by @samzong in #183

  • 🎨 Premium design system — Glass surfaces, 3-layer glow effects, ambient gradient orbs, display typography (Instrument Serif), extended motion presets, and CI enforcement rules. All with dark + light theme coverage, prefers-reduced-motion respect, and @supports fallbacks. by @samzong in #200 #201

  • 🐧 Linux desktop builds — AppImage (portable) and deb (Ubuntu/Debian) packages for x64, fully integrated into the CI/CD release pipeline. by @samzong in #174

🔒 Security

  • Removed private key exposure and raw IPC backdoor from the renderer preload bridge — neither surface had any renderer consumers by @samzong in #184
  • Production-grade SSRF guard with numeric IPv4/IPv6 range checks and DNS pre-resolution, replacing the string-prefix check that missed all RFC 1918 ranges by @samzong in #189
  • Eliminated TOCTOU race in context file path validation by merging validate + read into a single fd-centric atomic operation by @samzong in #185
  • Fixed path traversal vector in artifact handler — replaced naive url.replace('file://', '') with fileURLToPath() by @samzong in #194

🐛 Bug Fixes

  • Fixed macOS crash on dock re-open — IPC handlers registered inside createWindow() threw on second invocation; centralized window lifecycle via window-manager module by @samzong in #195
  • Fixed PWA status bar color not updating when switching between dark and light themes by @samzong in #192
  • Fixed invisible text in Gateway debug log caused by undefined --text-tertiary CSS variable by @samzong in #193
  • Fixed per-token forced reflow during streaming — replaced scrollToBottom on every token with ResizeObserver; fixed Virtuoso dual scroll context by @samzong in #196
  • Fixed PWA client version stuck at hardcoded 0.1.0 — now injected from package.json at build time by @samzong in #191
  • Fixed PWA i18n gaps — en.json is now the authoritative superset, all defaultValue anti-patterns eliminated, Gateway debug log fully translated across 8 languages by @samzong in #199

🔧 Engineering

  • Extracted @clawwork/core package with port-based dependency injection — stores, session sync, gateway dispatching, and protocol parsing are now platform-agnostic, enabling future PWA code sharing by @samzong in #178
  • Extracted chat composer service into @clawwork/core — split the 1655-line ChatInput.tsx god component into 9 focused modules by @samzong in #180
  • Added knip for dead code detection, removed 52 dead code items, added Renovate for automated dependency updates and vitest coverage by @samzong in #176
  • Extracted BottomSheet primitive from 3 PWA components, fixing 3 accessibility bugs and adding body scroll lock by @samzong in #186
  • Extracted useOverlay hook — unified portal rendering, ref-counted scroll lock, inert support, and prefers-reduced-motion for all overlays by @samzong in #198
  • Extracted useFocusTrap hook from DrawerLayout and AgentSelector by @samzong in #190
  • Extracted client registry and eliminated composerBridge monkey-patching hack by @samzong in #188
  • Replaced manual base64 encode/decode with ES2025 Uint8Array.toBase64() platform API by @samzong in #197
  • PWA polish: removed type lies (! non-null assertions), dead tsconfig paths, added IndexedDB migration guard, reduced edge-swipe dead zone by @samzong in #187

📖 Docs

  • Keynote: full 8-language translations and dark/light theme toggle by @samzong in #182
  • Keynote slide polish and toolchain integration focus by @samzong in #179
  • Fixed SPA fallback for GitHub Pages keynote routes by @samzong in #175

📥 Download

Platform File
🍎 macOS Apple Silicon ClawWork-0.0.13-mac-arm64.dmg
🍎 macOS Intel ClawWork-0.0.13-mac-x64.dmg
🪟 Windows x64 ClawWork-0.0.13-win-x64.exe
🐧 Linux x64 (AppImage) ClawWork-0.0.13-linux-x86_64.AppImage
🐧 Linux x64 (deb) ClawWork-0.0.13-linux-amd64.deb

macOS: App is signed and notarized — opens normally on first launch.

Windows: If SmartScreen warns "unrecognized app", click More info → Run anyway.

Linux: AppImage requires chmod +x before first run. deb installs via sudo dpkg -i.

🙏 Contributors

We welcome more contributors — come help make ClawWork better → Contributing Guide

Full Changelog: v0.0.12...v0.0.13

Dev Build (main@165872e)

27 Mar 12:36
165872e

Choose a tag to compare

Pre-release

Automated dev build from main branch.

Commit: 165872e
Date: 2026-03-27 20:29:31 +0800
Message: chore(desktop): bump version to v0.0.13

This is a development build and may be unstable. For stable releases, see the latest release.