Peekaboo/CHANGELOG.md
Peter Steinberger 1a5aefeded Prepare for v1.0.0-beta.4 release
- Update CHANGELOG with beta.4 features and fixes
- Add example test script for users
2025-05-25 21:11:31 +02:00

3.3 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.0-beta.3] - 2025-01-21

Added

  • Enhanced image tool to support optional immediate analysis of the captured screenshot by providing a question and provider_config.
    • If a question is given and no path is specified, the image is saved to a temporary location and deleted after analysis.
    • If a question is given, Base64 image data is not returned in the content array; the analysis result becomes the primary payload, alongside image metadata.

Changed

  • Migrated test runner from Jest to Vitest.
  • Updated documentation (README.md, docs/spec.md) to reflect new image tool capabilities.

[1.0.0-beta.2] - Previous Release Date

Fixed

  • (Summarize fixes from beta.2 if known, otherwise remove or mark as TBD)

Added

  • Initial E2E tests for CLI image capture.

[1.0.0-beta.4] - 2025-01-25

Added

  • Comprehensive Swift unit tests for all CLI components
  • Release preparation script with extensive validation checks
  • Swift code linting and formatting with SwiftLint and SwiftFormat
  • Enhanced image tool with blur detection, custom formats (PNG/JPG), and naming patterns
  • Robust error handling for Swift CLI integration

🐛 Fixed

  • Swift CLI integration tests now properly handle error output
  • Fixed Swift code to comply with SwiftLint rules
  • Corrected JSON structure expectations in tests

📚 Changed

  • Updated all dependencies to latest versions
  • Improved test coverage for both TypeScript and Swift code
  • Enhanced release process with automated checks
  • Swift CLI image command: Added --screen-index <Int> option to capture a specific display when --mode screen is used
  • MCP image tool: Now fully supports app_target: "screen:INDEX" by utilizing the Swift CLI's new --screen-index capability

♻️ Changed

  • MCP image tool API significantly simplified:
    • Replaced app, mode, and window_specifier parameters with a single app_target string (e.g., "AppName", "AppName:WINDOW_TITLE:Title", "screen:0").
    • format parameter now includes "data" option to return Base64 PNG data directly. If path is also given with format: "data", file is saved (as PNG) AND data is returned.
    • If path is omitted, image tool now defaults to format: "data" behavior (returns Base64 PNG data).
    • return_data parameter removed (behavior now implied by format and path).
    • provider_config parameter removed. AI provider for analysis (when question is supplied) is now automatically selected from PEEKABOO_AI_PROVIDERS environment variable.
  • Node.js imageToolHandler and buildSwiftCliArgs: Refactored to support the new image tool API and --screen-index.
  • Tests: Unit and Integration tests for the image tool were extensively updated to reflect the API changes and new functionalities.

🐛 Fixed

  • Addressed an issue in src/tools/image.ts where logger.debug() could be called without checking for logger existence (relevant for buildSwiftCliArgs if called in an unexpected context, though typically safe).