chore(release): prepare 3.5.0

This commit is contained in:
Peter Steinberger 2026-06-12 00:45:49 -07:00
parent 64a4bd6184
commit e183cd15fb
No known key found for this signature in database
13 changed files with 45 additions and 39 deletions

View File

@ -5,17 +5,17 @@ All notable changes to Peekaboo CLI will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
### Fixed
- Bridge hosts now use atomic lease-backed socket ownership and bounded nonblocking transport, keep Peekaboo.app and the reusable daemon on distinct paths while preserving the healthy app's TCC-backed fallback, preserve lifecycle settings while migrating legacy daemons, prevent MCP from hosting a bridge listener, safely recover stale sockets, and release abandoned client connections instead of wedging. Thanks @Artifact-LV for #184.
## [3.4.2] - 2026-06-12
## [3.5.0] - 2026-06-12
### Added
- `peekaboo agent` now supports explicit Claude Fable 5 (`claude-fable-5`) selection with 1M context and 128K max output while keeping Anthropic defaults on Opus 4.8 for zero-retention compatibility.
### Changed
- Agent runs now honor the saved `agent.temperature` and `agent.maxTokens` values shared by the CLI and macOS Settings UI, clamp them to each provider's capabilities, infer Fable limits through compatible providers, and omit unsupported sampling parameters for GPT-5 and current Anthropic reasoning models.
- Project, issue, build, release, and app About links now use the canonical `openclaw/Peekaboo` repository.
### Fixed
- Bridge hosts now use atomic lease-backed socket ownership and bounded nonblocking transport, keep Peekaboo.app and the reusable daemon on distinct paths while preserving the healthy app's TCC-backed fallback, preserve lifecycle settings while migrating legacy daemons, prevent MCP from hosting a bridge listener, safely recover stale sockets, and release abandoned client connections instead of wedging. Thanks @Artifact-LV for #184.
- Legacy screen and area capture now fails with a permission or native capture error instead of returning wallpaper-only/redacted pixels from background sessions. Thanks @VishalJ99 for #185.
## [3.4.1] - 2026-06-10

View File

@ -7,9 +7,9 @@
<key>CFBundleName</key>
<string>Peekaboo</string>
<key>CFBundleShortVersionString</key>
<string>3.1.1</string>
<string>3.5.0</string>
<key>CFBundleVersion</key>
<string>3.1.1</string>
<string>3.5.0</string>
<key>LSMinimumSystemVersion</key>
<string>15.0</string>
<key>LSUIElement</key>
@ -23,6 +23,6 @@
<key>NSScreenCaptureUsageDescription</key>
<string>Peekaboo needs screen recording permission to capture screenshots and analyze window content.</string>
<key>PeekabooVersionDisplayString</key>
<string>Peekaboo 3.1.1</string>
<string>Peekaboo 3.5.0</string>
</dict>
</plist>

View File

@ -1,3 +1,3 @@
{
"version": "3.4.2"
"version": "3.5.0"
}

View File

@ -11,9 +11,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.1.1</string>
<string>3.5.0</string>
<key>CFBundleVersion</key>
<string>3.1.1</string>
<string>3.5.0</string>
<key>LSMinimumSystemVersion</key>
<string>13.0</string>
<key>NSMainStoryboardFile</key>

View File

@ -319,7 +319,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 15.0;
MARKETING_VERSION = 3.4.2;
MARKETING_VERSION = 3.5.0;
PRODUCT_BUNDLE_IDENTIFIER = boo.peekaboo.mac.debug;
PRODUCT_NAME = "$(TARGET_NAME)";
REGISTER_APP_GROUPS = YES;
@ -359,7 +359,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 15.0;
MARKETING_VERSION = 3.4.2;
MARKETING_VERSION = 3.5.0;
PRODUCT_BUNDLE_IDENTIFIER = boo.peekaboo.mac;
PRODUCT_NAME = "$(TARGET_NAME)";
REGISTER_APP_GROUPS = YES;

View File

@ -278,7 +278,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 3.4.2;
MARKETING_VERSION = 3.5.0;
PRODUCT_BUNDLE_IDENTIFIER = boo.peekaboo.inspector;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
@ -306,7 +306,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 3.4.2;
MARKETING_VERSION = 3.5.0;
PRODUCT_BUNDLE_IDENTIFIER = boo.peekaboo.inspector;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;

View File

@ -291,7 +291,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 15.0;
MARKETING_VERSION = 3.4.2;
MARKETING_VERSION = 3.5.0;
PRODUCT_BUNDLE_IDENTIFIER = boo.peekaboo.playground.debug;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@ -338,7 +338,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 15.0;
MARKETING_VERSION = 3.4.2;
MARKETING_VERSION = 3.5.0;
PRODUCT_BUNDLE_IDENTIFIER = boo.peekaboo.playground;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";

View File

@ -1,16 +1,16 @@
# Changelog
## Unreleased
### Fixed
- Bridge hosts now use atomic lease-backed socket ownership and bounded nonblocking transport, keep Peekaboo.app and the reusable daemon on distinct paths while preserving the healthy app's TCC-backed fallback, preserve lifecycle settings while migrating legacy daemons, prevent MCP from hosting a bridge listener, safely recover stale sockets, and release abandoned client connections instead of wedging. Thanks @Artifact-LV for #184.
## [3.4.2] - 2026-06-12
## [3.5.0] - 2026-06-12
### Added
- `peekaboo agent` now supports explicit Claude Fable 5 (`claude-fable-5`) selection with 1M context and 128K max output while keeping Anthropic defaults on Opus 4.8 for zero-retention compatibility.
### Changed
- Agent runs now honor the saved `agent.temperature` and `agent.maxTokens` values shared by the CLI and macOS Settings UI, clamp them to each provider's capabilities, infer Fable limits through compatible providers, and omit unsupported sampling parameters for GPT-5 and current Anthropic reasoning models.
- Project, issue, build, release, and app About links now use the canonical `openclaw/Peekaboo` repository.
### Fixed
- Bridge hosts now use atomic lease-backed socket ownership and bounded nonblocking transport, keep Peekaboo.app and the reusable daemon on distinct paths while preserving the healthy app's TCC-backed fallback, preserve lifecycle settings while migrating legacy daemons, prevent MCP from hosting a bridge listener, safely recover stale sockets, and release abandoned client connections instead of wedging. Thanks @Artifact-LV for #184.
- Legacy screen and area capture now fails with a permission or native capture error instead of returning wallpaper-only/redacted pixels from background sessions. Thanks @VishalJ99 for #185.
## [3.4.1] - 2026-06-10

View File

@ -1,5 +1,5 @@
enum PeekabooMCPVersion {
static let serverName = "peekaboo-mcp"
static let current = "3.4.2"
static let current = "3.5.0"
static let banner = "Peekaboo MCP \(current)"
}

View File

@ -2,14 +2,14 @@
![Peekaboo Banner](assets/peekaboo.png)
[![npm package](https://img.shields.io/badge/npm_package-3.4.2-brightgreen?logo=npm&logoColor=white&style=flat-square)](https://www.npmjs.com/package/@steipete/peekaboo)
[![npm package](https://img.shields.io/badge/npm_package-3.5.0-brightgreen?logo=npm&logoColor=white&style=flat-square)](https://www.npmjs.com/package/@steipete/peekaboo)
[![License: MIT](https://img.shields.io/badge/License-MIT-ffd60a?style=flat-square)](https://opensource.org/licenses/MIT)
[![macOS 15.0+ (Sequoia)](https://img.shields.io/badge/macOS-15.0%2B_(Sequoia)-0078d7?logo=apple&logoColor=white&style=flat-square)](https://www.apple.com/macos/)
[![Swift 6.2](https://img.shields.io/badge/Swift-6.2-F05138?logo=swift&logoColor=white&style=flat-square)](https://swift.org/)
[![node >=22](https://img.shields.io/badge/node-%3E%3D22.0.0-2ea44f?logo=node.js&logoColor=white&style=flat-square)](https://nodejs.org/)
[![Download macOS](https://img.shields.io/badge/Download-macOS-000000?logo=apple&logoColor=white&style=flat-square)](https://github.com/steipete/peekaboo/releases/latest)
[![Download macOS](https://img.shields.io/badge/Download-macOS-000000?logo=apple&logoColor=white&style=flat-square)](https://github.com/openclaw/Peekaboo/releases/latest)
[![Homebrew](https://img.shields.io/badge/Homebrew-steipete%2Ftap-b28f62?logo=homebrew&logoColor=white&style=flat-square)](https://github.com/steipete/homebrew-tap)
[![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-0088cc?style=flat-square)](https://deepwiki.com/steipete/peekaboo)
[![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-0088cc?style=flat-square)](https://deepwiki.com/openclaw/Peekaboo)
Peekaboo brings high-fidelity screen capture, AI analysis, and complete GUI automation to macOS. Version 3 adds native agent flows and multi-screen automation across the CLI and MCP server.
@ -20,7 +20,9 @@ Peekaboo brings high-fidelity screen capture, AI analysis, and complete GUI auto
- Direct accessibility tools for settable values and named actions (`set-value`, `perform-action`).
- Menu and menubar discovery with structured JSON; no clicks required.
- Multi-provider AI through Tachikoma, including hosted, local, and OpenAI-/Anthropic-compatible providers.
- Claude Fable 5 support with 1M context and a 128K output ceiling; saved temperature/max-token settings are shared by the app and CLI and clamped to each model's capabilities.
- MCP server for Codex, Claude Code, and Cursor plus a native CLI; the same tools in both.
- Warm daemon and Peekaboo.app Bridge hosts for permission-bound automation, with distinct lease-owned sockets and local fallback.
- Configurable, testable workflows with reproducible sessions and strict typing.
- Requires macOS Screen Recording + Accessibility permissions (see [docs/permissions.md](docs/permissions.md)).
@ -143,6 +145,8 @@ Peekaboo's provider list changes with Tachikoma and the tested model catalog. Se
Google Gemini, MiniMax, Ollama, LM Studio, and compatible custom endpoints.
Set providers via `PEEKABOO_AI_PROVIDERS` or `peekaboo config add`.
Agent generation settings live under `agent.temperature` and `agent.maxTokens` in `~/.peekaboo/config.json`; the
macOS Settings UI reads and writes the same values.
## Learn more
- Command reference: [docs/commands/](docs/commands/)

View File

@ -1,6 +1,6 @@
{
"name": "@steipete/peekaboo",
"version": "3.4.2",
"version": "3.5.0",
"description": "macOS automation MCP server with screen capture, UI interaction, and AI analysis",
"private": false,
"type": "module",
@ -63,14 +63,14 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/steipete/peekaboo.git"
"url": "git+https://github.com/openclaw/Peekaboo.git"
},
"author": "Peter Steinberger <steipete@gmail.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/steipete/peekaboo/issues"
"url": "https://github.com/openclaw/Peekaboo/issues"
},
"homepage": "https://github.com/steipete/peekaboo#readme",
"homepage": "https://github.com/openclaw/Peekaboo#readme",
"keywords": [
"mcp",
"model-context-protocol",

View File

@ -1,10 +1,12 @@
## [3.1.1] - 2026-05-11
## [3.5.0] - 2026-06-12
### Added
- `peekaboo image --path -` now writes a single captured image to stdout for shell pipelines.
- The npm package now allows Intel Macs when shipping the universal CLI binary.
- `peekaboo agent` now supports explicit Claude Fable 5 (`claude-fable-5`) selection with 1M context and 128K max output while keeping Anthropic defaults on Opus 4.8 for zero-retention compatibility.
### Changed
- Agent runs now honor the saved `agent.temperature` and `agent.maxTokens` values shared by the CLI and macOS Settings UI, clamp them to each provider's capabilities, infer Fable limits through compatible providers, and omit unsupported sampling parameters for GPT-5 and current Anthropic reasoning models.
- Project, issue, build, release, and app About links now use the canonical `openclaw/Peekaboo` repository.
### Fixed
- Agent tool schemas now preserve MCP `anyOf`/`oneOf` parameters so Gemini no longer rejects `peekaboo agent` requests with orphan `required` entries. Thanks @bcharleson for #125.
- The macOS app release script now fails if the packaged app is missing its main executable and preserves the AppleEvents entitlement when re-signing.
- `peekaboo see --capture-engine cg` now keeps frontmost/window captures on the CoreGraphics path instead of falling through to `SCScreenshotManager`.
- Bridge hosts now use atomic lease-backed socket ownership and bounded nonblocking transport, keep Peekaboo.app and the reusable daemon on distinct paths while preserving the healthy app's TCC-backed fallback, preserve lifecycle settings while migrating legacy daemons, prevent MCP from hosting a bridge listener, safely recover stale sockets, and release abandoned client connections instead of wedging. Thanks @Artifact-LV for #184.
- Legacy screen and area capture now fails with a permission or native capture error instead of returning wallpaper-only/redacted pixels from background sessions. Thanks @VishalJ99 for #185.

View File

@ -1,3 +1,3 @@
{
"version": "3.4.2"
"version": "3.5.0"
}