Skip to content

Releases: proteus-computer-use/screencap

v0.30.0

Choose a tag to compare

@rutefig rutefig released this 21 Jul 12:31

Added

  • segmentation: Day-diary pipeline — diary block schema with field-scoped protection, fragment consolidation into named threaded blocks, evidence-bound topic bullets and day narrative + read verb, retroactive purge extended to bullets/narrative/diary FTS, diary search index over blocks + bullets, thread rollups with MCP read-only parity
  • daemon: /v0/tasks.query cross-day task verb; irreversible range-delete job; in-vault clips store with clip.create/clip.list/clip.delete; /v0/timeline.day now carries end_status, purge provenance, and store_mounted
  • mcp: Day-first agent tools with deletion parity; search_diary pinned in the exact tool allowlist
  • feedback: In-app feedback relay — Cloud Function relay, CLI feedback send command, source-marker tagging for relayed issues (SCR-281)
  • audio: Bluetooth-aware mic-source selection — input device classification, native capture-rate resolution, prefer_builtin_mic_over_bluetooth config toggle (default on), and capture-time redirect away from Bluetooth (SCR-288)
  • billing: Stripe live-charging cutover support — live-mode readiness gate, Secret-Manager deploy wrapper for billing/signer functions, dry-run count preview + full pagination for the grandfather backfill

Changed

  • brand: Renamed ScreenCap → Screencap across Python, docs, build scripts, PyInstaller spec, and the Homebrew formula
  • onboarding: Finalized $8/$15 launch pricing, retired dead $5/month copy

Fixed

  • privacy: Purge persisted task names on retroactive scrub (SCR-280); persist retroactive-purge intervals so purged app spans can't reach the LLM (SCR-277)
  • segmentation: Carry the committed name across a halt so the live trailing task never flaps to task_N (SCR-278); sanitize block names, cross-process diary lock, halt budget
  • pipeline: Resume quiesce-stopped local finalizes stuck at in_progress (SCR-279)
  • recall: Honest day-recap figures — coverage clamp, encrypted stills, focus time; let day-recap chat answers through the grounding guardrail
  • engine: Capture mic at native rate to stop glitching a concurrent app's audio
  • feedback: Close an email markdown-injection hole, handle expired-retryable state, fix key eviction; apply U0 spike findings from real-workspace Linear API verification
  • review: Harden the GCS upload-target allowlist against dot-segment traversal; harden purge-identity reads and cover disk_full stops; degrade empty-stretch claims when day coverage is incomplete; fix deletion honesty and a fail-closed clip guard; ignore a stale substring query under the Clipped filter; add a backward-compat guard for an unset source-marker label

Screencap macOS app v0.20.0 (Moments task view + day diary)

Choose a tag to compare

@rutefig rutefig released this 21 Jul 13:07

What's new

  • Moments: dedicated task detail view with task-span thumbnails on task rows
  • Days: morning resume card on the Days landing view, surfacing where you left off
  • Day view: narrative + blocks + thread chips + diary search — browse and search a day's activity as a running diary instead of a flat timeline
  • Feedback: in-app feedback sheet with attachments, tagged with a source marker on relayed issues

Fixed

  • Escalate to SIGKILL when a cancelled CLI child ignores SIGTERM
  • Borrow the on-device task name for un-named recording card titles

Under the hood

This release embeds daemon v0.30.0, which brings the day-diary segmentation pipeline (evidence-bound narrative + topic bullets, diary search, retroactive purge coverage), Bluetooth-aware mic-source selection (fixes audio glitches in concurrent meeting apps), the in-app feedback relay, and Stripe live-charging cutover support. Full daemon changelog: CHANGELOG.md.

Install

  1. Download Screencap-0.20.0.dmg below
  2. Open the DMG, drag Screencap to Applications
  3. Open Screencap from Applications — not from the mounted DMG, or App Translocation breaks the app's by-path resolution of its embedded CLI

DMG SHA-256: 275650b83838cf8231f6391295ffd14b71c363e636c86633865f36931504e9f0

Screencap macOS app v0.19.0 (in-app feedback)

Choose a tag to compare

@rutefig rutefig released this 20 Jul 14:40

In-app feedback (SCR-281)

  • New feedback sheet — send a bug report or feature request with attachments straight from the app, with per-kind error copy and success/failure states
  • Menu bar and sidebar entry points for the feedback sheet
  • Feedback is relayed through a Cloud Function into Linear, tagged with an in-app-feedback source marker

Fixed

  • Escalate to SIGKILL when a cancelled CLI child process ignores SIGTERM
  • Harden the GCS upload-target allowlist against dot-segment path traversal
  • Close an email markdown-injection hole in the feedback relay, plus expired-retryable handling and key eviction
  • Honest day-recap figures — coverage clamp, encrypted stills, and focus time now compute correctly

Internal

  • Renamed the macOS app identity from ScreenCap to Screencap (build scripts, PyInstaller spec, Homebrew, docs)

Build info

  • Embedded daemon version: 0.30.0
  • DMG SHA-256: 3aa9bba980c1490fb0b2523b2570736b1a80d368b91f1966148217ef17ef27fc

Install

Download Screencap-0.19.0.dmg, open it, and drag Screencap to Applications. Launch it from Applications — not from the mounted DMG, or App Translocation breaks the app's by-path resolution of its embedded CLI.

ScreenCap macOS app v0.18.0 (Days-first navigation)

Choose a tag to compare

@rutefig rutefig released this 19 Jul 09:37

Tester build. Embedded daemon: 0.29.0.

This release restructures the app around a day-first model — a Days timeline, a cross-day Tasks surface, and range-based Clips/Delete — replacing the old Journal/Library shell.

What's new

Days-first navigation

  • New Days shell + surface: an honest, full-day timeline axis with DST-safe day bounds, day-page date navigation, live refresh, and task highlighting.
  • Replaces the previous Journal and Library views.

Tasks

  • New cross-day Tasks surface backed by a daemon /v0/tasks.query verb, so tasks span multiple days.

Clips & sharing

  • New Clips surface: select a time range on the timeline to clip and share it.
  • Clips are stored inside the encrypted vault, managed by daemon clip.create / clip.list / clip.delete verbs.

Range delete

  • Range-selection mode on the timeline with a Clip / Share / Delete menu.
  • Irreversible range-delete runs as a daemon job with a confirm/progress UX and a "removed by you" band on the timeline, plus deletion-honesty fixes and a fail-closed clip guard.

Citations & agent tools

  • Day + time citations, Review window retitle, and "Inspect" moved to a debug affordance.
  • Day-first agent (MCP) tools with deletion parity, so the local agent works against the new day-first model.

Install

  1. Open the DMG.
  2. Drag ScreenCap to your Applications folder.
  3. Open it from Applications — not from the mounted DMG. (Opening from the DMG triggers macOS App Translocation, which breaks the app's by-path resolution of its embedded CLI.)

Checksum

SHA-256 (ScreenCap-0.18.0.dmg) = d60a3c8952f942044f32df508608e621336a2d041b16ac4833ae167af8e153b1

ScreenCap macOS app v0.17.0 (day-strip gap provenance)

Choose a tag to compare

@rutefig rutefig released this 18 Jul 11:08

What's new since v0.16.1

  • Day strip now shows honest, plain-language provenance for empty/gap stretches (not recorded vs. purged vs. store not mounted vs. disk full), with hover and accessibility support.
  • Fixed day-recap chat answers being incorrectly blocked by the grounding guardrail.
  • Hardened purge-identity reads and empty-stretch claims when day coverage is incomplete.
  • Embedded daemon bumped to 0.28.2 (backend support for the above).

Install

  1. Download ScreenCap-0.17.0.dmg below.
  2. Open the DMG and drag ScreenCap to Applications.
  3. Open ScreenCap from Applications (not from the mounted DMG — opening it from the DMG breaks the app's by-path resolution of its embedded CLI due to App Translocation).

Verify

shasum -a 256 -c ScreenCap-0.17.0.dmg.sha256

v0.28.0

Choose a tag to compare

@rutefig rutefig released this 17 Jul 16:04

Added

  • segmentation: Heuristic-first on-device naming pipeline — candidate-window generation with per-window digests, reason-bearing helper envelopes for the on-device arbitrate/name-window/day-summary verbs, a persistent naming cache, and a partial-outcome reason with degradation detail surfaced on tasks.list (SCR-275)

Fixed

  • daemon: Let a stopping engine finish its finalize drain instead of SIGKILLing at the stop deadline (SCR-273)
  • daemon: Carry the frozen destination on a crash-synthesized recording_finalized event
  • segmentation: Stop falsely orphan-flagging event timestamps in the R11 strip and recall aggregate

ScreenCap macOS app v0.16.1 (task-name + privacy-purge fixes)

Choose a tag to compare

@rutefig rutefig released this 17 Jul 17:32

Tester-facing fixes since v0.16.0:

  • Recording cards with no explicit name now borrow the on-device segmentation task name instead of showing blank/generic titles.
  • Fixed local finalize jobs getting stuck at in_progress after a quiesce-triggered stop (SCR-279).
  • Retroactive privacy purges now persist their blocked intervals, so previously-purged app spans can no longer reach the on-device LLM (SCR-277).
  • Fixed the live trailing on-device task name flapping back to a generic task_N label across a halt (SCR-278).
  • Retroactive scrub now also purges persisted task names, not just content (SCR-280).

Embedded daemon version: 0.28.1

Install: download the DMG, drag ScreenCap to Applications, and open it from there (not from the mounted DMG — App Translocation breaks the app's by-path resolution of its embedded CLI).

DMG SHA-256: 52c49505a25b0e9c7cd049f5d0146fa1c9832515ca87e522f26a15e7b7d61f0b

ScreenCap macOS app v0.16.0 (on-device naming pipeline)

Choose a tag to compare

@rutefig rutefig released this 17 Jul 16:19

What's new

  • On-device activity naming, redesigned. A heuristic-first pipeline now names your recording windows on-device before falling back further, with a persistent naming cache — faster and more reliable naming without extra cloud round-trips (SCR-275).
  • Journal now tells you when naming is honest, not perfect. When on-device naming is only partial, or a session ran too long to fully process, the Journal shows that state explicitly instead of a silently-wrong label.

Fixes

  • Stopping a recording no longer risks a hard SIGKILL — the engine now finishes its finalize drain before shutdown (SCR-273).
  • Fixed a rare false "orphan" flag on event timestamps near chunk boundaries during segmentation.

Embedded daemon

This build embeds screencap CLI/daemon v0.28.0.

Install

  1. Download ScreenCap-0.16.0.dmg below.
  2. Verify the checksum (optional): shasum -a 256 -c ScreenCap-0.16.0.dmg.sha256
  3. Open the DMG, drag ScreenCap to Applications, then launch it from there — not from the mounted DMG, or App Translocation will break the app's path resolution of its embedded CLI.

SHA-256: c1c846b7884bfc1551bf86d237f490c5c2727f9ae22c85fc05cedcce0e3c9ec0

ScreenCap macOS app v0.15.1 (recording-flow messaging fixes)

Choose a tag to compare

@rutefig rutefig released this 17 Jul 09:56

Tester build with two fixes to recording-flow messaging.

Fixes

  • The "first recording" hint no longer burns before you see it. The one-shot first-recording beat was being marked as shown even when it never actually surfaced, so the hint could be silently lost for good.
  • Force-stop banner no longer claims a local recording "may not have uploaded." When a recording is interrupted, the daemon now carries the recording's frozen destination on the crash-synthesized finalize event, so local-only recordings get accurate copy instead of the upload-oriented fallback.

Build

  • Embedded daemon: 0.27.1
  • Requires macOS 13.0 or later (Apple Silicon)

Install

  1. Download ScreenCap-0.15.1.dmg and open it.
  2. Drag ScreenCap to your Applications folder.
  3. Open it from Applications — not from the mounted DMG. Launching from the DMG triggers App Translocation, which breaks the app's ability to find its embedded CLI.

Checksum

51efb8142aac90f657ae5ae5ab897166387569981404d2bb79629b72c710c084  ScreenCap-0.15.1.dmg

Verify with shasum -a 256 ScreenCap-0.15.1.dmg.

v0.27.0

Choose a tag to compare

@rutefig rutefig released this 16 Jul 17:35

Added

  • segmentation: Masked-frame evidence channel for cloud intelligence providers — fail-closed masked-still egress producer, frames attached at cloud-bound egress points, Gemini multimodal frame support with graceful omission when a provider can't accept them (SCR-272)
  • consent: Default-off frames_cloud_consent gate governing whether masked frames are sent to cloud providers (SCR-272)
  • daemon: intelligence.status verb exposing usable-verdict config facts; per-recording segmentation outcome reason persisted and surfaced on tasks.list
  • auth: Branded loopback sign-in page with an honest failure state

Changed

  • intelligence: Cloud-task consent is on by default — connecting a provider is treated as the consent

Fixed

  • pipeline: Stop marking local recordings as uploaded
  • engine: Confirm every mute toggle so the HUD can't strand on "Muting…"
  • review: Harden segmentation-outcome read to fail-safe with a code-owned mechanical flag