Skip to content

v4.9.3

Choose a tag to compare

@github-actions github-actions released this 14 Oct 10:34
· 30 commits to main since this release
v4.9.3
dcb8570

4.9.3 - 2026-10-14

Highlights: Give manual peekaboo daemon start the same readiness budget as automatic startup and report the real authentication or probe failure instead of a generic timeout, keep agent tool results readable when they contain backslashes or newlines, and harden the MCP wrapper's fatal-error and restart handling.

  • Use the shared 10-second readiness budget for manual daemon startup, preserve authentication and probe failure diagnostics, and honor PEEKABOO_DAEMON_SOCKET consistently across daemon commands without relaxing host trust. Thanks @fry69! #1064.
  • Prevent agent tool results from showing "Invalid JSON result" for fallback messages containing backslashes or newlines. #1068.
  • Shut down the owned MCP server and exit with status 1 after fatal wrapper errors or unhandled rejections, while retaining successful signal-driven shutdown. Thanks @rudycelekli! #1039.
  • Keep repeated MCP wrapper starts from spawning duplicate servers and validate timing options before scheduling, preserving explicit zero delays. Thanks @rudycelekli! #1020, #1021.
  • Classify cooperative and URL cancellation as CANCELLED while preserving existing standardized errors. Thanks @rudycelekli! #1042.
  • Apply error-only log filtering consistently to historical queries and live streams, including with debug verbosity, in both log helpers. Thanks @rudycelekli! #1033.
  • Preserve ordered-list start numbers, honor code-fence delimiters and lengths, and keep emphasis punctuation literal in link destinations and autolinks on the documentation site. Thanks @rudycelekli! #1029, #1028, #1030.
  • Remove unused public PeekabooFoundation symbols (TimeInterval.nanoseconds, performOperation(_:errorContext:), RecoverableError, ErrorRecoveryManager, ErrorRecoveryFailure, and InteractionTargetSelector.Policy.windowCLI); SwiftPM consumers referencing them must drop those references, while no shipped Peekaboo or OpenClaw path used them.
  • Remove unused local release helpers, appcast and tracked release-notes tooling; document hosted publication while preserving terminal/fleet archive and notarization checks.

Verification

Run: https://github.com/openclaw/Peekaboo/actions/runs/38544050540

Verified on macos-15 (arm64), macos-15-intel (x86_64), and macos-26 (arm64).

Toolchain and notarization submissions:

{
  "schemaVersion": 1,
  "repository": "openclaw/Peekaboo",
  "tag": "v4.9.3",
  "commit": "dcb8570efad33c9992241203aff71cc78c1ea376",
  "teamId": "FWJYW4S8P8",
  "authority": "Developer ID Application: OpenClaw Foundation (FWJYW4S8P8)",
  "toolchain": {
    "build": {
      "xcode": "Xcode 27.0\nBuild version 27A266a",
      "swift": "Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)\nTarget: arm64-apple-macosx27.0.0",
      "sdk": "27.0"
    },
    "sign": {
      "xcode": "Xcode 27.0\nBuild version 27A266a",
      "swift": "Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)\nTarget: arm64-apple-macosx27.0.0",
      "sdk": "27.0"
    }
  },
  "submissions": {
    "dmg": "f5500953-8fdf-486b-90a2-d3265ae62d20",
    "app": "45ddf7be-a611-478f-a7fc-6ef17e2c335f",
    "cli": "5b261307-8757-4908-8ed1-f4528f27b394"
  },
  "buildNumber": "4090399",
  "edSignature": "zWt0nEx2TFpOi+oQ1ZdN/Xb7HD1APw/4DoI7IRHvfvkQXr1rmVgnSXskxXvBR6gaXrlaHT1RNCRM3v4yYwF+AQ==",
  "digests": {
    "peekaboo-macos-universal.tar.gz": "ca68e62692316547d4b03035eabc32f76e07fb8291f71285d396adfce0aa2851",
    "Peekaboo-4.9.3.dmg": "a162c9e5a20727f24cc527a07e995dd6a7e17643631108de377df263b97ae1a2",
    "peekaboo-macos-x86_64.tar.gz": "05dbd80c75952c701f20b5a7f03b07732fb5911e7069cfc246cc8d32ef8f63ce",
    "peekaboo-macos-arm64.tar.gz": "730226f8302358666d58889b2b48670ce99959005d468491df6bd639b3f51907",
    "Peekaboo-4.9.3.app.zip": "24320fd1bcb8a94fcefe315bcd55d55ad9c13a3cd4729064b5b0463d53333f45"
  },
  "downloaderEntitlements": {
    "bundle": "Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc",
    "entitlements": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict/>\n</plist>\n"
  }
}

Checksums:

7dd31b95d2cf48de544e5c2e5b8466ee679c34b5e6439f388c087f9e44327421  ASSET-INVENTORY.json
24320fd1bcb8a94fcefe315bcd55d55ad9c13a3cd4729064b5b0463d53333f45  Peekaboo-4.9.3.app.zip
a162c9e5a20727f24cc527a07e995dd6a7e17643631108de377df263b97ae1a2  Peekaboo-4.9.3.dmg
c2ec182dcf85572b82106e734d08cc5aec72a5a148dd2c5605736e2a4612fcbd  RELEASE-NOTES.md
5b0760c6a9e37c247834ddaa7198e02d39c593ae19c507052c0ec2a25f0bcc97  SIGNING-MANIFEST.json
825708cc964238b17fb211ce8c3914b41ef87bfe69d39a063ea2caeb9decded9  appcast-entry.json
78f92cb01a808186c5b0bd57fad0df721c04e528802dd1a9838ca19cf9c88bf0  appcast.xml
730226f8302358666d58889b2b48670ce99959005d468491df6bd639b3f51907  peekaboo-macos-arm64.tar.gz
ca68e62692316547d4b03035eabc32f76e07fb8291f71285d396adfce0aa2851  peekaboo-macos-universal.tar.gz
05dbd80c75952c701f20b5a7f03b07732fb5911e7069cfc246cc8d32ef8f63ce  peekaboo-macos-x86_64.tar.gz
b0322e064d311a8265c48fd736ef520c1db35478f592ebeb1699087e8032be7a  steipete-peekaboo-4.9.3.tgz