Releases: proteus-computer-use/screencap
Release list
v0.30.0
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.querycross-day task verb; irreversible range-delete job; in-vault clips store withclip.create/clip.list/clip.delete;/v0/timeline.daynow carriesend_status, purge provenance, andstore_mounted - mcp: Day-first agent tools with deletion parity;
search_diarypinned in the exact tool allowlist - feedback: In-app feedback relay — Cloud Function relay, CLI
feedback sendcommand, 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_bluetoothconfig 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_fullstops; 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)
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
- Download
Screencap-0.20.0.dmgbelow - Open the DMG, drag Screencap to Applications
- 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)
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)
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.queryverb, 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.deleteverbs.
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
- Open the DMG.
- Drag ScreenCap to your Applications folder.
- 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)
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
- Download
ScreenCap-0.17.0.dmgbelow. - Open the DMG and drag ScreenCap to Applications.
- 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
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_finalizedevent - 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)
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_progressafter 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_Nlabel 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)
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
- Download
ScreenCap-0.16.0.dmgbelow. - Verify the checksum (optional):
shasum -a 256 -c ScreenCap-0.16.0.dmg.sha256 - 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)
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
- Download
ScreenCap-0.15.1.dmgand open it. - Drag ScreenCap to your Applications folder.
- 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
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_consentgate governing whether masked frames are sent to cloud providers (SCR-272) - daemon:
intelligence.statusverb exposing usable-verdict config facts; per-recording segmentation outcome reason persisted and surfaced ontasks.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