snipIT v0.1.1 — capture-flow correctness release
Capture-flow correctness release. No schema, workflow, or security changes from v0.1.0.
Fixed
-
Capture flow — exclude SnipIT's own widget / preview / tray windows from the capture target so they aren't baked into the frame (RAN-15). The v0.1.0 release notes listed this fix prematurely; the change actually ships in v0.1.1 (see RAN-68).
- Adds
Test-IsSelfWindowHandle/Resolve-WindowCaptureTargetpure helpers in the Core region (cross-platform unit-tested). - Maintains a
$script:SelfWindowHandlesregistry; registers the console, hotkey form, floating widget, and preview window when they are created. - Adds
IsWindowVisible/ShowWindowPInvoke +Hide-/Show-OwnSnipITWindowsForCapturehelpers that hide every visible SnipIT-owned hwnd beforeCopyFromScreenand restore them viaSW_SHOWNAafter the snapshot. Wraps the snapshot intry/finallyso a thrown exception still restores chrome. - Wires the helpers into
Show-SmartOverlay,Invoke-FullScreenCapture, andInvoke-WindowCapture. Window capture now consultsResolve-WindowCaptureTargetand falls back to a full virtual-desktop capture (with chrome hidden) when the foreground window is SnipIT.
- Adds
-
Full-screen and window capture — route
Invoke-FullScreenCaptureandInvoke-WindowCapturethroughInvoke-CaptureLoopwith a per-iteration capture factory, so the preview owns / disposes each bitmap and the chrome-hide runs every snapshot. Fixes the use-after-dispose blank/crash on iteration 2+ of the same capture session (RAN-14).
Security
No security-relevant fixes in v0.1.1. The OSS-CLI security stack landed in .github/workflows/security.yml (v0.1.0) is the gating channel for all future fixes; advisories will appear here under each release where they apply, alongside a GHSA link.
Documentation correction
The v0.1.0 GitHub Release body and signed tag annotation incorrectly listed the capture-flow exclusion as shipped under v0.1.0. The underlying commit (bc216cc) existed on the maintainer's local main but was never pushed before the v0.1.0 tag was cut. The v0.1.0 git tag annotation and Release body are immutable per OSPS evidence policy and have not been edited; the CHANGELOG.md [v0.1.0] entry now carries a Correction (2026-04-26) callout pointing readers at this release. v0.1.1 is the authoritative ship of the RAN-15 fix.
Tests
pwsh ./Test-SnipIT.ps1 — 111 / 111 pass (15 RAN-15 capture-target unit tests + 7 RAN-14 capture-loop contract tests + 6 new structural call-site guards + the rest of the suite).
Provenance
- Signed git tag (SSH, ed25519):
v0.1.1 - Tag points at merge commit
7ca91eb - Auto-merged via PR #9, tracked under RAN-68.