Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Apr 05:39
· 649 commits to master since this release
1960a43

OpenClaw Windows Hub v0.5.0

Downloads

  • Installer (x64): OpenClawTray-Setup-x64.exe - Intel/AMD 64-bit
  • Installer (ARM64): OpenClawTray-Setup-arm64.exe - Windows on ARM (Surface, etc.)
  • Portable x64: OpenClawTray-0.5.0-win-x64.zip
  • Portable ARM64: OpenClawTray-0.5.0-win-arm64.zip
  • MSIX x64: OpenClawTray-0.5.0-win-x64.msix - Packaged (camera/mic consent)
  • MSIX ARM64: OpenClawTray-0.5.0-win-arm64.msix - Packaged (camera/mic consent)

Features

  • 🦞 System tray integration with gateway status
  • 🎯 PowerToys Command Palette extension (optional)
  • 🔄 Auto-updates from GitHub Releases
  • ✅ Code-signed with Azure Trusted Signing
  • 📦 MSIX package available for native camera/microphone consent prompts

Requirements

  • Windows 10 version 1903 or later
  • WebView2 Runtime
  • OpenClaw gateway running locally
  • PowerToys (for Command Palette extension)

Quick Start

  1. Run the installer for your architecture (or sideload the MSIX for camera consent)
  2. Optionally enable Command Palette extension during install
  3. Launch from Start Menu or system tray
  4. Right-click tray icon → Settings to configure

What's Changed

  • Security: ExecApprovalPolicy bypass, thread safety, dispose races by @shanselman in #62
  • Refactor: Extract WebSocketClientBase (DRY #63) by @shanselman in #64
  • ci: add NuGet package caching to test job by @shanselman in #67
  • perf: cache JsonSerializerOptions and compiled Regex in WindowsNodeClient by @shanselman in #68
  • chore: quick-win triage — global.json, test tooling, localization tests by @shanselman in #124
  • fix: notification sound + TryParseArgv refactor (closes #91, #92, #71) by @shanselman in #125
  • add zh_tw by @Tim0320 in #100
  • feat: complete french localization by @rundredoffi in #69
  • [Repo Assist] fix: null _gatewayClient after dispose in OnSettingsSaved by @github-actions[bot] in #121
  • [Repo Assist] eng: add .editorconfig to enforce consistent C# code style by @github-actions[bot] in #107
  • [Repo Assist] refactor: remove dead ClassifyNotification method, fix reflection tests by @github-actions[bot] in #98
  • [Repo Assist] refactor: use result.Parameters in DeepLinkHandler instead of re-parsing query by @github-actions[bot] in #108
  • [Repo Assist] refactor: extract ModelFormatting helper; deduplicate FormatTokenCount/FormatCount by @github-actions[bot] in #111
  • [Repo Assist] fix: add operator.write scope to gateway connect handshake (closes #112) by @github-actions[bot] in #113
  • [Repo Assist] fix: add ReDoS timeout to ExecApprovalPolicy glob matching by @github-actions[bot] in #126
  • Bugfix/issue 82 tray menu overflow by @NichUK in #83
  • [Repo Assist] fix: pass UserRules to NotificationCategorizer in OpenClawGatewayClient by @github-actions[bot] in #93
  • [Repo Assist] fix: prevent double PairingStatusChanged fire in hello-ok handler by @github-actions[bot] in #109
  • [Repo Assist] fix: reset node/gateway state on settings save; clear _isPendingApproval on disconnect by @github-actions[bot] in #115
  • [Repo Assist] perf: cache HTML sanitize regex; replace ToLowerInvariant with FrozenDictionary; fix GetRawText double-call by @github-actions[bot] in #105
  • [Repo Assist] perf: eliminate string allocations in ClassifyByKeywords and ClassifyTool by @github-actions[bot] in #101
  • [Repo Assist] perf: skip StringBuilder in single-frame WebSocket receive; fix double payload.ToString() by @github-actions[bot] in #119
  • [Repo Assist] refactor — eliminate ToLowerInvariant allocations in ChannelHealth; use TryGetValue in UpdateTrackedSession by @github-actions[bot] in #118
  • [Repo Assist] docs: add SETUP.md and POWERTOYS.md; fix stale CommandPalette README by @github-actions[bot] in #110
  • Feature/ssh tunnel gateway by @sytone in #117
  • fix: honour PreferStructuredCategories in notification pipeline by @shanselman in #128
  • [Repo Assist] refactor: modernize string operations in GatewayUrlHelper and SettingsData by @github-actions[bot] in #129
  • [Repo Assist] eng: enhance .editorconfig with modern C# idiom preferences by @github-actions[bot] in #130
  • ci: add NuGet cache to build and build-msix CI jobs (closes #135) by @shanselman in #140
  • fix: signature fallback retries connect + SSH tunnel auto-restart (closes #131, #132) by @shanselman in #141
  • [Repo Assist] perf: make ExecApprovalPolicy regex cache thread-safe (ConcurrentDictionary) by @github-actions[bot] in #136
  • [Repo Assist] perf: replace List.Insert(0) with LinkedList.AddFirst in ActivityStreamService by @github-actions[bot] in #137
  • fix: use invariant culture in numeric display formatting by @AlexAlves87 in #158
  • [Repo Assist] test: add MenuSizingHelper unit tests + ShellQuoting edge cases by @github-actions[bot] in #142
  • [Repo Assist] test: add BuildMissingScopeFixCommands and BuildPairingApprovalFixCommands unit tests by @github-actions[bot] in #145
  • [Repo Assist] fix: ClassifyByKeywords recognises CI/CD patterns (ci/ prefix) by @github-actions[bot] in #147
  • [Repo Assist] improve: SettingsData.FromJson null safety + GatewayUrlHelper static array by @github-actions[bot] in #148
  • [Repo Assist] improve: extract FormatAge into ModelFormatting, removing duplicate logic by @github-actions[bot] in #154
  • [Repo Assist] test: expand WindowsNodeClient coverage with 10 new unit tests by @github-actions[bot] in #157
  • [Repo Assist] improve: remove debug scaffolding and double-serialization from WindowsNodeClient by @github-actions[bot] in #150
  • feat: add Dutch (nl-NL) localization for OpenClaw Tray by @PrincNL in #155
  • ci: collect coverage and upload test results in CI by @shanselman in #160
  • fix: handle node pairing approval events safely by @shanselman in #163
  • [Repo Assist] eng: add tests/Directory.Build.props to DRY up shared test project config by @github-actions[bot] in #162
  • [Repo Assist] improve: add GetStringArrayArg helper and expand test coverage by @github-actions[bot] in #161
  • [Repo Assist] refactor: remove write-only _nodes dictionary from OpenClawGatewayClient by @github-actions[bot] in #168
  • [Repo Assist] perf: use ArrayPool(byte) in WebSocketClientBase.SendRawAsync to eliminate per-send heap allocs by @github-actions[bot] in #165
  • test: cover websocket auto-reconnect regression by @shanselman in #169
  • ci: add NuGet cache to build-extension job by @shanselman in #170
  • [Repo Assist] improve: use FrozenDictionary for NotificationCategorizer lookup tables by @github-actions[bot] in #171
  • security: harden system.run against env injection and shell-wrapper bypass by @shanselman in #188
  • [Repo Assist] eng: fix three compiler/analyzer warnings in test suite by @github-actions[bot] in #177
  • [Repo Assist] test: add ParseChannelHealth status-derivation and property-parsing coverage by @github-actions[bot] in #174
  • [Repo Assist] improve: eliminate List(T) allocation in GatewayNodeInfo.DetailText; +2 edge-case tests by @github-actions[bot] in #178
  • [Repo Assist] perf: eliminate List(T) allocation in SessionInfo.RichDisplayText by @github-actions[bot] in #176
  • [Repo Assist] perf: eliminate List(T) allocations in SessionInfo.DisplayText and GetSessionListInternal by @github-actions[bot] in #172
  • [Repo Assist] perf: eliminate List(T) allocation in BuildProviderSummary by @github-actions[bot] in #173
  • [Repo Assist] perf: FrozenSet/FrozenDictionary for ChannelHealth status lookups; eliminate List(T) in GatewayUsageInfo.DisplayText by @github-actions[bot] in #175
  • [Repo Assist] improve: use SearchValues(char) in ShellQuoting.NeedsQuoting for SIMD metachar scan by @github-actions[bot] in #182
  • [Repo Assist] fix: use integer truncation in FormatAge to prevent rounding past display boundaries by @github-actions[bot] in #183
  • [Repo Assist] perf: eliminate LINQ allocations in command execution path by @github-actions[bot] in #185
  • feat: add setup wizard with pairing-aware connection test by @shanselman in #201
  • fix: address WinUI3 code review findings (159 issues) by @shanselman in #203

New Contributors

Full Changelog: v0.4.7...v0.5.0