Repository navigation
Releases: zeo/capscr
Release list
capscr v0.5.56
added
- the editor gains select/move/delete for committed shapes, a freehand pen, crop, rotate and flip (all undoable), shape fill, and adjustable pixelate strength — saving .bmp/.avif/.jxl is refused instead of writing mislabelled bytes, with copy/upload still exporting PNG
- tasks gain an annotate post-action: the shot opens in the editor without saving first, and saving there mints the capture (closing without saving discards it)
- the tray capture menu gains a region-into-editor entry, so a shot can go straight to annotating without a dedicated task
- settings exposes the global post-capture action as an after-capture choice for the titlebar quick captures
fixed
- the global post-capture action speaks the same kebab-case as take_screenshot again, with every historical spelling still loading — titlebar quick captures were rejected by the backend
- save, copy and upload in the editor commit pending text first instead of silently dropping it
- staged annotation saves re-encode to the configured output format instead of writing mislabelled bytes
- pixelate renders in one read-modify-write pass instead of stalling on per-cell reads
capscr v0.5.55
changed
- the hub is restyled: bundled fonts, rounded chrome, reworked title and status bars, and settings fields that stack at narrow widths
fixed
- binding a mouse side button no longer freezes hotkey capture or swallows the button release
- a task hotkey that fails mid-capture no longer leaves the selection overlay stuck
- the hub webview always connects directly, so a system proxy can't black-hole tauri.localhost
- replacing a stored upload password updates the existing vault entry instead of orphaning it, and destination connection tests probe the saved credentials correctly
- unsaved settings and task edits are guarded across tab switches, window close, and tray-driven config reloads
security
- wasmtime updated to 47.0.3, fixing RUSTSEC-2026-0222 (stores could mix up type indices between engines); building from source now needs Rust 1.94+
- event-listener updated to 5.4.2, fixing RUSTSEC-2026-0221 (
StackSlotlet!Sendtags cross thread boundaries), reached through the linux notification path - nanoid updated to 3.3.18, fixing GHSA-2v37-7h3g-55p8 (a zero size hung
customAlphabetandcustomRandom); it is a build-time postcss dependency and never ships in the bundle - a hardening pass over runtime state, trust boundaries, marketplace fetching, and the release pipeline
capscr v0.5.54
fixed
- restored hub sizes are clamped to a DPI-aware 720 by 480 logical-pixel floor and the active monitor work area
capscr v0.5.53
fixed
- offline setup is signed after its payload is embedded
capscr v0.5.50
fixed
- shared package signing invokes the project-local Tauri signer on clean runners
capscr v0.5.49
fixed
- shared package signing resolves release artifacts from the repository root
capscr v0.5.47
fixed
- the hub and editor now fit small high-DPI work areas, restore inside the active monitor, switch to compact navigation when narrow, and expose resize handles on every edge and corner
capscr v0.5.46
changed
- updates now use the shared signed installer; this release carries the one-time bridge from the existing MSI channel
security
- updated the SSH transport to russh 0.62.4, which fixes the current remote denial-of-service advisories; RSA keys are disabled to avoid the unresolved timing side-channel in the Rust RSA implementation
- WebAssembly plugins now get a 64 MiB memory limit by default and can never request more than 256 MiB
- marketplace requests reject HTTPS downgrades, stop after five redirects, and enforce the registry response limit while reading
- plain FTP is disabled because it exposes credentials and captures in transit; existing FTP settings remain visible for migration to SFTP
- clipboard-only captures are no longer retained in history unless the user explicitly enables that setting
- opening a capture in its default Windows editor no longer passes the file path through
cmd.exe
fixed
- fullscreen game capture on Wayland. the wayland still chain now ends in a screencast source, so grabbing a fullscreen game no longer fails when the one-shot screenshot apis return an incomplete frame. this hits KWin on NVIDIA in particular, where a direct-scanned-out fullscreen buffer reads back empty through ScreenShot2 (and therefore through the screenshot portal too). screencast pulls the frame off a pipewire node instead, so it works where the cheaper sources give up. it stays the last resort behind kwin-screenshot2, ext-image-copy, wlr-screencopy, and the screenshot portal, and only trips a one-time source picker (the choice is remembered by restore token after that), so normal desktop captures keep taking the fast path with no prompt.
capscr v0.5.45
added
-
Linux support. capscr now runs on Linux (X11 and Wayland), shipped as deb, rpm, and AppImage packages, with the auto-updater tracking the AppImage and walking deb/rpm installs through their native update. what carries over:
- the whole still-capture pipeline: the freeze-frame selector (region drag, window pick, alt+click color picker, shift aspect snap, ctrl fine-tune, loupe) across every monitor, all capture modes, history, uploads, the editor, and pinning. on X11, KDE, and wlroots the selector picks windows itself; GNOME routes window mode through the portal's own picker
- region GIF and MP4 recording on X11 and Wayland with the same wall-clock playback guarantees as Windows, and system audio off the PulseAudio/PipeWire monitor of the default output
- global hotkeys everywhere: X11 grabs, the GlobalShortcuts portal on Wayland, and an opt-in evdev fallback for sessions with neither; the tray menu and
capscr --jumpwork regardless - Wayland pixels come from the best source the compositor offers (KWin ScreenShot2, ext-image-copy-capture, wlr-screencopy, or the screenshot portal), including sessions running without XWayland; the recording bar and pins stay above other windows via layer-shell or plasma-shell
- upload credentials live in the system keyring (freedesktop Secret Service) instead of on disk; OCR runs through tesseract; copying a capture as a file uses text/uri-list; capture and upload cues play through the system audio stack; the one-click ffmpeg download fetches a static build verified against a pinned sha256
- the few remaining platform boundaries (HDR capture, GNOME keep-above and tray) are listed in
docs/platform-limits.md, withcapscr --wayland-diagreporting which apply to a given session
-
linux CI: the test suite and clippy now run on ubuntu alongside the windows suite, with the capture path exercised against a real X server
-
a copy detected text (OCR) post-action: bind it to a still-capture task and capscr runs OCR on the shot (the built-in Windows engine, tesseract on Linux) and drops the recognized text straight onto your clipboard — no file saved, no editor round-trip. (OCR was already reachable from the history grid; this makes it a one-step capture action.)
-
an optional per-task pre-capture delay: each still-capture task can set its own delay (blank uses the global one), so a timed task for catching a menu or tooltip can sit alongside your instant hotkeys instead of the delay being all-or-nothing.
-
HDR capture on GNOME 50+: fullscreen captures of a monitor running HDR now pull a 10-bit PQ frame off the screencast portal and go through the same tonemap (and optional HDR-preserved PNG) pipeline as Windows, instead of settling for the compositor's 8-bit screenshot; the hdr settings pane and history filter appear on sessions that support it
-
a GNOME companion extension (installable from Settings → general on a GNOME session) that closes the three GNOME gaps at once: window-mode capture picks windows in capscr's own overlay instead of GNOME's portal dialog, the recording bar and pinned screenshots stay above fullscreen windows and land where they should, and a top-bar capture menu stands in for the missing system tray
-
linux recordings show the same blinking red frame around the recorded region as Windows, sitting just outside the captured pixels and passing clicks through; it appears on X11, KDE, wlroots compositors, and GNOME with the companion extension
-
on Plasma 6.7+, the recording control bar is excluded from capture the same way it is on Windows: KWin removes it from screenshots and recordings compositor-side, so it sits below or above the region and tucks inside it when there is no room, never appearing in the frames or fleeing to another monitor
fixed
- a linux recording's first frame no longer catches the region selector mid-teardown (its dim layer and size label could land in frame one); the first grab now waits out the compositor's close animation
- the HDR-preserved PNG post-action actually writes an HDR PNG again: the encoder expected 16-bit pixel data while every capture source delivers packed 10-bit, so it silently fell back to SDR output every time
- pinned screenshots no longer vanish from captures on Plasma 6.6.1+ — KWin started hiding all of a screenshotting app's own windows by default, and capscr now asks it not to, keeping pins in your shots like every other window
- when fast GDI capture fails on Windows, the xcap fallback now resolves the monitor by position instead of an id that the two enumerators never shared
capscr v0.5.44
added
- a copy detected text (OCR) post-action: bind it to a still-capture task and capscr runs the built-in Windows OCR on the shot and drops the recognized text straight onto your clipboard — no file saved, no editor round-trip. (OCR was already reachable from the history grid; this makes it a one-step capture action.)
- an optional per-task pre-capture delay: each still-capture task can set its own delay (blank uses the global one), so a timed task for catching a menu or tooltip can sit alongside your instant hotkeys instead of the delay being all-or-nothing.