Repository navigation
4.9.5 - 2026-10-16
Highlights: Let unsigned source builds such as Homebrew core's peekaboo formula run commands in-process immediately instead of waiting on or aborting at daemons they cannot trust, with an explicit same-binary daemon opt-in; stop starting daemons that a granted Peekaboo.app host would outrank; and keep see and multi-app quit outcomes accurate.
- Fall back to in-process execution immediately when an unsigned source build (such as Homebrew core's
peekabooformula) meets a daemon it cannot trust, instead of waiting out daemon startup or aborting, and add an explicitPEEKABOO_ALLOW_UNSIGNED_DAEMON=1opt-in that lets such a build trust only its own exact-binary daemon; release-signed builds ignore it. Thanks @fry69! #1089, #1064. - Skip auto-starting an on-demand daemon when a granted Peekaboo.app bridge host would be selected anyway, avoiding the daemon's startup wait and an idle permission-less daemon; lifecycle commands, snapshot-owned actions and explicit sockets still start it. #1082, follow-up to #1073.
- Declare route-specific Accessibility and Event Synthesizing needs for
type,paste,press/hotkey,window,menuandmenubar, so hosts that explicitly lack them are skipped while grant-free routes and unknown host reports keep working. #1088. - Stop reporting complete Accessibility observations as incomplete when an app declines an inapplicable child attribute, such as Calculator's Help search field after a menu opens; preserve readable children and genuine read-failure warnings. Thanks @jandubois! #1094.
- Keep a multi-application
app quitcancelled after a suspected no-op reported as a no-op instead of a partial change that asks callers to recover a side effect. Thanks @SebTardif! #1098. - Stop shipping the CI runner's Swift toolchain directory as an
LC_RPATHin released CLI binaries, and fail release builds that carry any non-system absolute rpath. #1099. - Show macOS 27's renamed "Device Control and Data Access" Settings row in
axorc permissionsguidance by updating AXorcist. openclaw/AXorcist#102. - Render indented code fences, nested and wrapped list items, and parentheses inside link URLs correctly on the documentation site. Thanks @rudycelekli! #1084, #1085, #1086.
- Update Service Lifecycle to 2.13.0; Swift 6.2 builds select the same runtime code. #1097.
Verification
Run: https://github.com/openclaw/Peekaboo/actions/runs/38988332485
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.5",
"commit": "260fc35320d6c350af503338b944d68311e2bebb",
"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": "e9528edd-fbf4-4ada-8d06-7593d1f62f21",
"app": "c002dfaa-810a-4f48-a7e2-9dd77b12e1a5",
"cli": "df67cfd1-f999-4229-9f1f-1c53bf4f6889"
},
"buildNumber": "4090599",
"edSignature": "rLKDDZhUJm9nbNw06Pijy0AKIz2P1FNW3qUM2hs4DyWwkbs2jrQtwre781E05/w/m89aCb1s0DJHfXHSdVpVDg==",
"digests": {
"peekaboo-macos-universal.tar.gz": "0b0ef566de644b9281d817b13c1ac306e8ce75458ad9a4aa13d341eaa114893c",
"Peekaboo-4.9.5.app.zip": "d176301b0ef4b695c11cbdb8c0bdbbc71f47f866f76c734ddad8343ab5f93e38",
"Peekaboo-4.9.5.dmg": "f92f0047a1f0e60b7586dea1f83dcfd8e3f1bf42c34bb026f4fc1b0d9efedc77",
"peekaboo-macos-x86_64.tar.gz": "0d3aaf6f45d2980b973b213f05ad3af826968368127872e6d2d6a40057193faf",
"peekaboo-macos-arm64.tar.gz": "2f435c736459a3d30279835038fc7e67028875be837f467c87521ea14da3a9ee"
},
"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:
9948e589b3603fd00edc5781e7dc3d0a273f210afa51f52cf3b193c936f25f78 ASSET-INVENTORY.json
d176301b0ef4b695c11cbdb8c0bdbbc71f47f866f76c734ddad8343ab5f93e38 Peekaboo-4.9.5.app.zip
f92f0047a1f0e60b7586dea1f83dcfd8e3f1bf42c34bb026f4fc1b0d9efedc77 Peekaboo-4.9.5.dmg
73ef0d207f30700f12112c5a8546f79ab5592ac62a51c6b51dd51d44245014ec RELEASE-NOTES.md
d419bc1890bc9ac4adde56d06067ca115979e5204d3d715f1dcfc615ae224797 SIGNING-MANIFEST.json
a513efb2a8cd002d78b170ca0ad58e1ab6141247b460d2d5fdf398020ef653cb appcast-entry.json
20ec5ca3e98b0b935e783ff1e6c6375ecf41c2e9fe7535318bb73bf8309c9757 appcast.xml
2f435c736459a3d30279835038fc7e67028875be837f467c87521ea14da3a9ee peekaboo-macos-arm64.tar.gz
0b0ef566de644b9281d817b13c1ac306e8ce75458ad9a4aa13d341eaa114893c peekaboo-macos-universal.tar.gz
0d3aaf6f45d2980b973b213f05ad3af826968368127872e6d2d6a40057193faf peekaboo-macos-x86_64.tar.gz
bbb73e5bb90935bf9f461bd617f214367481b8ceeda656e53017e6d7c65e6663 steipete-peekaboo-4.9.5.tgz