Skip to content

v4.9.7

Choose a tag to compare

@github-actions github-actions released this 23 Oct 22:07
· 26 commits to main since this release
v4.9.7
5639e70

4.9.7 - 2026-10-23

Highlights: Report window close through the daemon as closed when an app keeps the closed window alive; let see observe Chrome windows whose titles carry the app name or are elided; close apps that re-exec themselves with --foreground; and keep the Mac chat, menu bar and Inspector accurate.

  • Report window close through the daemon or Bridge as closed when the app keeps the closed NSWindow alive, instead of exiting 1 with an indeterminate postcondition: the Bridge readback now applies the same exact-window Accessibility presence check as the in-process path. Thanks @goutamadwant! #1131, fixes #1129.
  • Let peekaboo see observe Chrome and other apps whose Accessibility window title appends the application name or whose WindowServer title is middle-elided, instead of failing with "inconsistent response evidence: window-context window title". Thanks @L1uYun! #1130.
  • Close windows of apps that re-exec themselves with window close --foreground, whose frontmost PID AppKit reports as -1. Thanks @SebTardif! #1124.
  • Classify Dock separators and the Trash from their Accessibility subroles, so peekaboo dock list hides separators unless --include-all is passed, reports included separators as separator instead of blank unknown items, and identifies a localized Trash (such as "Papierkorb") as trash. #1120.
  • Use the Mac app's saved Vision model for image analysis even when its provider does not report vision support (OpenRouter, OpenAI-compatible, LM Studio and many Ollama models), surfacing the provider's error instead of silently switching models. Thanks @SebTardif! #1127.
  • Keep the Mac chat's streaming answer together when you queue a follow-up, and keep Retry on the prompt that failed. Thanks @SebTardif! #1126.
  • Show a failed Mac agent tool as failed, not completed, in the menu bar, while cancelled tools stay cancelled. Thanks @SebTardif! #1134.
  • Highlight the Inspector control in the front window under the pointer, including floating panels and popup items past their window, instead of the smallest control anywhere on screen; windows of untracked apps such as the Dock now stop the hover from reaching what they cover. Thanks @SebTardif! #1133.
  • Place Inspector highlight boxes on the correct display when a display does not start at the primary display's origin. Thanks @SebTardif! #1132.
  • Restore source builds after the pinned MCP Swift SDK commit became unreachable upstream when its pull request branch was rebased. #1135.
  • Remove the unused public DialogError.inputSuppressedUnderTests case from PeekabooAutomationKit along with the dead test-only dialog typing hook that threw it; release builds could never throw it, so only SwiftPM consumers that switch over every DialogError case need to drop that branch. #1123.

Verification

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

Verified on xcode-27: arm64, x86_64 under Rosetta, and an independent arm64 runtime audit.

Toolchain and notarization submissions:

{
  "schemaVersion": 1,
  "repository": "openclaw/Peekaboo",
  "tag": "v4.9.7",
  "commit": "5639e70501010ca9dcae5f594a0b57dd69e9b395",
  "teamId": "FWJYW4S8P8",
  "authority": "Developer ID Application: OpenClaw Foundation (FWJYW4S8P8)",
  "toolchain": {
    "build": {
      "xcode": "Xcode 27.1\nBuild version 27A9275",
      "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.1\nBuild version 27A9275",
      "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": "49e56865-83ab-4a68-a853-2c9d11c3e7f4",
    "app": "9d527509-3080-4750-9d24-b79476b87508",
    "cli": "b1f7cf90-ea21-4cfb-aa05-15942105d24f"
  },
  "buildNumber": "4090799",
  "edSignature": "J63yDO9tcaY8hjhMx79PCcl5RoaKBdnYK6/dPD8+3S4XLtyrBMJ6te4LVIg5I7UMJTBB+azoNN8cqeKyuCDlCg==",
  "digests": {
    "Peekaboo-4.9.7.app.zip": "ad87379580bdc9a2d96a62f1d3db7545b18306f8fcd96d1b50b4eee033959ed0",
    "peekaboo-macos-universal.tar.gz": "8a4136b9efd4c3a5591840375b024009a3cfb1b5fe994f62268cc755fb37744c",
    "Peekaboo-4.9.7.dmg": "7af21a490c4ff57a183557935cef54a01ce75cc24e515fdf51a3d831cb2573bb",
    "peekaboo-macos-x86_64.tar.gz": "b9abefba42b23fda37e1c682e2493a6aa403b6c72b0eefa9773bea517960cb58",
    "peekaboo-macos-arm64.tar.gz": "147a81a9b31c1b7b7bd5f720674ad7de71951698138d379679678a9ccfdd0a38"
  },
  "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:

59febb752aa646a1c9203c9ee33dad7b12f6e1b2e7b5a6e22fa469db7031b719  ASSET-INVENTORY.json
ad87379580bdc9a2d96a62f1d3db7545b18306f8fcd96d1b50b4eee033959ed0  Peekaboo-4.9.7.app.zip
7af21a490c4ff57a183557935cef54a01ce75cc24e515fdf51a3d831cb2573bb  Peekaboo-4.9.7.dmg
7f4b6d1998f735e77485b7111575cac92126f30cf5fd4a5ccf79b80d3d5604e6  RELEASE-NOTES.md
1bb0e451a75669c1916430539baae091779ae5f3ab5a044ff19c34361ae8dc4c  SIGNING-MANIFEST.json
4657d87e137bb4a66ceeb143b8b3b4bc0842b012b17458cc4eaabb16254b54bf  appcast-entry.json
827ceaa347ac07ec90e223b71090107304804ace54fa9149d84bfeda9af53e0a  appcast.xml
147a81a9b31c1b7b7bd5f720674ad7de71951698138d379679678a9ccfdd0a38  peekaboo-macos-arm64.tar.gz
8a4136b9efd4c3a5591840375b024009a3cfb1b5fe994f62268cc755fb37744c  peekaboo-macos-universal.tar.gz
b9abefba42b23fda37e1c682e2493a6aa403b6c72b0eefa9773bea517960cb58  peekaboo-macos-x86_64.tar.gz
b87fd98c8d2e99ed7d2d904a609503c484131bdd944cea45cc6974fab92b9bd7  steipete-peekaboo-4.9.7.tgz

npm

  • Package: @steipete/peekaboo@4.9.7 (latest)
  • Tarball: https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-4.9.7.tgz
  • Integrity: sha512-JMGqx1jsHMLGyPfG769aAj1ZE5xbG6iHKi/9QWnlEfUX0zGDnX2YwBWRcZSSlWvGLsJ/l+Ocgg1kh7sq1ga5vQ==; the registry tarball is byte-identical to the steipete-peekaboo-4.9.7.tgz asset listed in checksums.txt.
  • Homebrew: openclaw/homebrew-tap formula updated to v4.9.7, with arm64 and x86_64 checksums matching the release assets.