Repository navigation
v4.9.3
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_SOCKETconsistently 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
CANCELLEDwhile 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, andInteractionTargetSelector.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