Skip to content

Releases: zeo/capscr

capscr v0.5.56

Choose a tag to compare

@github-actions github-actions released this 09 Sep 01:52

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

Choose a tag to compare

@github-actions github-actions released this 05 Sep 19:46

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 (StackSlot let !Send tags cross thread boundaries), reached through the linux notification path
  • nanoid updated to 3.3.18, fixing GHSA-2v37-7h3g-55p8 (a zero size hung customAlphabet and customRandom); 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

Choose a tag to compare

@github-actions github-actions released this 27 Jul 04:17

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

Choose a tag to compare

@github-actions github-actions released this 26 Jul 23:49

fixed

  • offline setup is signed after its payload is embedded

capscr v0.5.50

Choose a tag to compare

@github-actions github-actions released this 26 Jul 20:34

fixed

  • shared package signing invokes the project-local Tauri signer on clean runners

capscr v0.5.49

Choose a tag to compare

@github-actions github-actions released this 26 Jul 19:57

fixed

  • shared package signing resolves release artifacts from the repository root

capscr v0.5.47

Choose a tag to compare

@github-actions github-actions released this 26 Jul 17:19

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

Choose a tag to compare

@github-actions github-actions released this 26 Jul 06:58

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

Choose a tag to compare

@github-actions github-actions released this 18 Jul 15:35

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 --jump work 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, with capscr --wayland-diag reporting 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

Choose a tag to compare

@github-actions github-actions released this 11 Jul 20:28

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.