Repository navigation
v4.9.2
4.9.2 - 2026-10-12
Highlights: Create CLI child-process pipes close-on-exec with Swift Subprocess 1.0.1 so they no longer leak into other children, build signed and notarized releases on GitHub Actions behind an approval gate, and keep local notarization working on congested uplinks with a parallel Notary API upload fallback.
- Update Swift Subprocess to 1.0.1 for close-on-exec pipe handling and single-owner output-descriptor cleanup in CLI child processes, preserving the Swift 6.2 and macOS baselines.
- Add an approval-gated GitHub Actions release path for signed and notarized universal app, DMG, CLI, npm, and Homebrew deliverables, with independent artifact verification and an appcast closeout PR.
- Fall back to parallel Notary REST uploads for terminal-qualification notarization when API-key notarization hits a notarytool transport failure, with explicit transport selection, bounded retries, and unchanged artifact verification.
Verification
Run: https://github.com/openclaw/Peekaboo/actions/runs/38304250943
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.2",
"commit": "959665e5f59358da5b15ddb726970d3e022efd41",
"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": "485b935b-6df0-45bc-90f7-a6891457c11e",
"app": "0caf939e-e36e-45b8-b517-c2c5f813a4c9",
"cli": "592fc773-253a-472f-adf8-73ae541dac96"
},
"buildNumber": "4090299",
"edSignature": "H1pvP9DbOfoAERsTSTA0J66wb2t3nUxeg93anz2elCBvNWel3rv5KQFrmk3yyLCnOz1/kOOwTHMFIGxAPHPyDQ==",
"digests": {
"peekaboo-macos-universal.tar.gz": "ed45d3a9b83cdc26a1cc8ef158f2b1258a6539d68ed63c8f6efb410ece0c1043",
"Peekaboo-4.9.2.dmg": "b752f86d1b2b97321236906afb020676b92869511b790a6d5c87611e53fdbc0a",
"peekaboo-macos-x86_64.tar.gz": "08ac8a14a146456cc08c7842a120bbd735d18174ae536b8645dc89a06abb2fec",
"peekaboo-macos-arm64.tar.gz": "d0679fdccab7295261add8be4880a7ba0f87a8e6e1aa0fec1d21c6c98c79f448",
"Peekaboo-4.9.2.app.zip": "4988c2a653363a67d461be3165ab64ca4ad890783e463f47b5c1bc93b171ecb1"
},
"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:
841d47a120a82adfc36fc9e69f652866111989ca57b294469b1ab2f2ab27de9c ASSET-INVENTORY.json
4988c2a653363a67d461be3165ab64ca4ad890783e463f47b5c1bc93b171ecb1 Peekaboo-4.9.2.app.zip
b752f86d1b2b97321236906afb020676b92869511b790a6d5c87611e53fdbc0a Peekaboo-4.9.2.dmg
584a0867920376445562cc0ceab691f397b7606c952298ff946121e3ca5fffdc RELEASE-NOTES.md
138d481ff77f468b8a28fbce02fb5f059e1851074b0e9e666d01dc2b7a0e4fd2 SIGNING-MANIFEST.json
7d6eef87658e5e4f9e6b16ffb8c539292f14df6603e12eef34543dba2f5293e4 appcast-entry.json
abbfa88464116ddf0f6b5f3da783c06404124c902927773c4e6dec8ccf5c2199 appcast.xml
d0679fdccab7295261add8be4880a7ba0f87a8e6e1aa0fec1d21c6c98c79f448 peekaboo-macos-arm64.tar.gz
ed45d3a9b83cdc26a1cc8ef158f2b1258a6539d68ed63c8f6efb410ece0c1043 peekaboo-macos-universal.tar.gz
08ac8a14a146456cc08c7842a120bbd735d18174ae536b8645dc89a06abb2fec peekaboo-macos-x86_64.tar.gz
523bf913b80111c096519fa0c571d45321577306de5f65a571d3e90b2c56e6f0 steipete-peekaboo-4.9.2.tgz