Changelog

HyprCapture

Release history of the HyprCapture screenshot and screen recording plugin for Hyprland. Each version tag names the plugin version followed by the Hyprland release it was built for.

  1. 0.5.0

    LatestHyprland 0.57.0v0.5.0-v0.57.0

    Hyprland 0.57, on-demand saving and smooth selection on large outputs

    Hyprland 0.57

    • Targets the latest official Hyprland release, v0.57.0. For Hyprland's development main, use the hyprland-master branch.
    • The plugin refuses to load when the Hyprland headers it was built with do not match the running compositor; rebuild it for that compositor (hyprpm update).

    New

    • Save individual captures on demand (#40): Save in the thumbnail menu, a quick Copy/Save row on unsaved thumbnails, and an editor Save button when automatic saving is off. open, open_editor and quick accept { save = ..., clipboard = ... } to override the defaults for one capture.

    Performance

    • Dragging a region selection repaints only the area around the selection, so selecting stays smooth on 6K and other large outputs.
    • The editor layers SDR annotations over an immutable FP16 HDR backdrop and no longer converts the full frame on every interaction.

    Fixed

    • Fullscreen window captures no longer include borders and shadows.
    • The real background stays under fully transparent windows, and background-sampling decorations stay out of offscreen window captures (#34).
    • Scrolling captures keep sticky panels, release stale ones, and no longer repeat or stall on fixed bottom overlays.
    • The HDR overlay's first frame appears in HDR instead of flashing SDR.
    • A config reload no longer drops the rule that keeps compositor animations off the capture overlay.
    • hyprctl reload full-reset keeps HyprCapture's Lua functions and options.
    • Captures no longer advance or dirty the live blur state of the monitor being captured.
    • With render:use_shader_blur_blend, a real-background window capture reports the blurred background as unavailable instead of saving an unblurred one.
    • Recording intermediates are kept when APNG conversion fails, and pointer focus survives touchpad scroll gestures.
    Release notes for v0.5.0-v0.57.0 on GitHubCompare with v0.4.2-0.56.2
  2. 0.4.2

    Hyprland 0.56.2v0.4.2-0.56.2

    Window highlights follow Hymission thumbnails

    Fixed

    • In window and fusion modes, hovering a window inside Hymission Overview or Stage now brightens its thumbnail instead of the window's original position, using the same clipped rounded shape as the outline.
    Release notes for v0.4.2-0.56.2 on GitHubCompare with v0.4.1-0.56.2
  3. 0.4.1

    Hyprland 0.56.2v0.4.1-0.56.2

    Session-lock safety, sturdier scrolling captures, and faster HDR overlays

    Security

    • Locking the session now stops HyprCapture from observing or redirecting input: every input hook, dispatcher and Lua entry yields to the lock screen, scrolling sessions are aborted without moving pointer focus, open selection and editor helpers close, and active recordings are stopped and saved. Nothing resumes after unlocking.

    Fixed

    • Scrolling screenshots handle animated and fixed page elements: motion is estimated from several regions, seams avoid changing areas, and uncertain frames keep the existing result instead of corrupting it.
    • Window highlights in the editor are clipped to the window's rounded frame.

    Faster

    • HDR backdrop conversion no longer delays the overlay's first paint.
    Release notes for v0.4.1-0.56.2 on GitHubCompare with v0.4.0-0.56.2
  4. 0.4.0

    Hyprland 0.56.2v0.4.0-0.56.2

    HDR screenshots with gain-map HEIC, native HDR editing, and Omarchy installation

    HDR screenshots and editing

    • Capture fullscreen, regions, windows and scrolling screenshots on HDR outputs without discarding their linear floating-point pixels; mixed HDR/SDR captures keep the HDR foreground.
    • Native color-managed HDR previews in the overlay, in-place editor and thumbnails, with an SDR fallback when the required Wayland protocols or 10-bit buffers are unavailable.
    • Save HDR HEIC with an SDR base and an ISO 21496-1 gain map: HDR viewers show extended highlights, other viewers show the SDR base. Transparent backgrounds and annotations stay in the export.
    • Switch between SDR and HDR, optionally save an SDR PNG alongside the HEIC, and choose HDR or SDR for clipboard and drag output. The control appears only while a display has HDR output enabled.
    • Adjust annotation HDR gain with native HDR color previews; gain is preserved across SDR switches.

    Editor and capture

    • Fusion mode is now the default: drag anywhere to capture a region, click a window to capture it, or click the background to capture the monitor. Set fusion_mode = false for the separate modes.
    • Notifications now use the desktop notification service by default (notification_backend = "system"); errors still use the Hyprland overlay.
    • Improved text editing, matching hue and HDR-gain slider indicators, and more responsive strokes while HDR previews update.
    • Scrolling screenshots keep pointer focus through touchpad motion, and capturing real backgrounds no longer conflicts with Hymission hooks.

    Recording

    • Convert HDR, wide-gamut and ICC-managed captures to SDR before video readback or export, with explicit BT.709 color conversion and range metadata. Recordings remain SDR.

    Installation

    • Install as an Omarchy shell plugin: dependencies and the build are handled in a prompt, bindings and the Screenshot/Screenrecord menu entries are applied at runtime, and the plugin rebuilds after Hyprland or source updates. The echo canceller is set up in the background without delaying capture.
    • HDRView packaging with gain-map HEIC decoding and Wayland HDR fixes; gain-map codec dependencies and licenses for CMake, hyprpm and Nix.
    • Tests stay available for development but are disabled by default and during hyprpm, Nix and Omarchy installs; enable them with -DBUILD_TESTING=ON.

    Security

    • Recordings, screenshots, clipboard copies, thumbnails and helper audio files are created owner-only from the start instead of being restricted after writing.
    • Every build-time download is pinned to a checksum: libultrahdr uses the system libjpeg-turbo, libheif and all echo-canceller dependencies come from SHA256-verified archives, and nested dependency downloads are disabled.

    Upgrade notes

    • Update both the compositor plugin and the Qt helper together for the new HDR transport.
    • Native HDR preview needs Wayland color-management-v1 parametric PQ support, viewporter and 10-bit shared-memory buffers. Building now requires the system libjpeg-turbo, x265 and libde265.
    Release notes for v0.4.0-0.56.2 on GitHubCompare with v0.3.0-0.56.2
  5. 0.3.0

    Hyprland 0.56.2v0.3.0-0.56.2

    Native scrolling screenshots, in-place editing, desktop pins, and Hymission Stage capture

    New

    • Native scrolling screenshots: scroll inside a selected region or window in the editor to grow a long image, revisit captured content, and keep annotations aligned with the page.
    • In-place screenshot editor through open_editor(): rectangles, ellipses, arrows, lines, pen, highlighter, numbered markers, mosaic, spotlight, undo/redo, and zoom/pan.
    • Movable, resizable multiline text boxes with a floating toolbar for font, pixel size, and color.
    • Desktop pins that stay above normal windows and then follow the normal save, clipboard, and thumbnail flow.
    • UI translations for Simplified and Traditional Chinese, Japanese, German, French, Spanish, and Korean, selected through the new language option.
    • Capture windows from Hymission Stage, center them in the editor, and match selection outlines to their displayed rounded corners.

    Faster

    • The capture overlay starts sooner: the Qt helper launches in parallel with compositor capture, and panels and icons are created on demand and cached.
    • Frozen screenshot artifacts are memory-mapped instead of copied pixel by pixel.

    Fixed

    • Recordings no longer hang when the compositor was started from a terminal; the recorder's stdin now comes from /dev/null (#25, contributed by Vedaru).
    • Nix build fixes for #29: read-only store paths whose owner is unmapped inside the build sandbox are now trusted (writable paths are still rejected), and supervised processes handle stop signals under BusyBox ash. A sandboxed build of the repository flake passed its tests locally; the reporter's own setup has not been verified yet.
    • Microphone-only recordings ignore changes to application audio, and only capture dropdown settings are persisted.
    • Toolbar icons now use Google Material Symbols and render sharply at any scale.
    • Fix region scrolling captures that stayed at their original size or misaligned during small movements and repeated text; foreground detail aligns scrolling text over a stationary smooth background, with safer history matching and fixed-header detection.
    • Flush pointer motion before forwarding touchpad scrolling so applications such as Zen receive input at the intended capture position.
    • Keep the captured window foreground separate from the real or blurred background, and preserve editable backgrounds after a scrolling capture.
    • Preserve top-origin monitor crops in region recordings (#32) and editor geometry when creating scaled desktop pins (#33).
    • Reset offscreen render state between monitor captures and stabilize asynchronous UI/audio regression checks.

    Upgrade notes

    • Remove the old in_place_edit_toolbar setting and bind hl.plugin.hyprcapture.open_editor() for editing. open() retains its confirmation behavior and quick() captures directly.
    • Build against Hyprland 0.56.2 and update both the plugin and Qt helper. Scrolling image matching adds an OpenCV dependency.
    • Update Hymission alongside HyprCapture to use the Stage renderer's exact selection radius; older Hymission versions use a scaled-radius fallback.

    Validation and remaining checks

    • Release build and automated regression coverage, including isolated GTK scrolling, scale-2 region stitching, independent backgrounds, and Stage selection geometry. A stationary-backdrop fixture preserves opaque foreground pixels exactly; it does not claim whole-image equality for a background that does not scroll.
    • Production-desktop kitty and physical touchpad/touchscreen acceptance remain pending after updating the plugin and helper. Dynamic or ambiguous page content may require recovering overlap.
    Release notes for v0.3.0-0.56.2 on GitHubCompare with v0.2.8-0.56.2
  6. 0.2.8

    Hyprland 0.56.2v0.2.8-0.56.2

    Audio recording, echo cancellation, and accurate video timing

    Recording

    • Videos keep the frames' real capture timestamps instead of accumulating repeated frames, so audio stays in sync.
    • Oversized automatic recordings prefer hardware HEVC encoding.
    • Audio modes, device selection, application audio capture, mixing presets, manual gain controls, and live level meters.
    • Echo cancellation through PipeWire WebRTC, plus a native DTLN-AEC candidate with a validated CPU selection policy and optional OpenVINO NPU support. Real-recording, speech-quality, and long-duration acceptance tests are still pending.
    • First-frame recording previews, a finalization animation, centered recording controls, and optional restoration of capture settings.

    Performance and reliability

    • Less window-capture work thanks to compact render targets and cached GPU exports.
    • Fenced window streaming, frame-bound input geometry, and checks on the capture target's lifecycle.
    • Better handling of rotated and scaled outputs, encoder/backend fallback, countdown cancellation, screenshot notifications, window selection controls, and narrow toolbars.

    Build

    • New build dependency: FFmpeg development libraries (libavformat, libavcodec, libavutil). Install the DTLN runtime and models with the included AEC scripts.
    Release notes for v0.2.8-0.56.2 on GitHubCompare with v0.2.7-0.56.1
  7. 0.2.7

    Hyprland 0.56.1v0.2.7-0.56.1

    Correct window backgrounds and transparency

    Fixed

    • Window screenshots keep the selected background mode; real and transparent output no longer fall back to follow-system.
    • Painted window backgrounds are clipped to the visible rounded frame, while transparent edge and shadow pixels are kept.
    • Window artifacts are rendered straight into an RGBA framebuffer through Hyprland's snapshot path, preserving client alpha without heuristic matte recovery.
    Release notes for v0.2.7-0.56.1 on GitHubCompare with v0.2.6-0.56.0
  8. 0.2.6

    Hyprland 0.56.0v0.2.6-0.56.0

    Lua-only plugin API

    Changed

    • All plugin actions and helper callbacks now go through the Hyprland Lua API. Legacy dispatcher registration and fallback paths have been removed (#20).
    • README configuration and key-binding examples are written in Lua.

    Fixed

    • Immutable Nix store paths are accepted, while writable child directories and executables are still rejected (#19).
    Release notes for v0.2.6-0.56.0 on GitHubCompare with v0.2.5-0.56.0
  9. 0.2.5

    Hyprland 0.56.0v0.2.5-0.56.0

    Hyprland 0.56 support and a Nix flake

    New

    • Compatibility with Hyprland 0.56 and Nix flake packaging.
    • Configurable notification backends and a recording-state socket for status bars and other integrations.
    • The hyprcam watermark preset.

    Improved

    • Complete fusion capture interactions, plus better multi-monitor overlays, synchronized thumbnails, and monitor targeting.

    Fixed

    • Captures and recordings on transformed monitors, fullscreen recording, scrolling-window selection, cursor capture, and fullscreen preview geometry.
    Release notes for v0.2.5-0.56.0 on GitHubCompare with v0.2.4-0.55.4
  10. 0.2.4

    Hyprland 0.55.4v0.2.4-0.55.4

    Rotated monitors and faster thumbnails

    Fixed

    • Fullscreen screenshots on transformed multi-monitor layouts no longer crop or invert rotated secondary outputs.
    • Unsafe compositor readback state, which could crash Hyprland or capture the overlay blur, is avoided.

    Faster

    • Result thumbnails appear sooner because a small preview launches before the full-size PNG save and clipboard work finish.
    Release notes for v0.2.4-0.55.4 on GitHubCompare with v0.2.3-0.55.4
  11. 0.2.2

    Hyprland 0.55v0.2.2-0.55

    Export pipe for external tools

    New

    • A trusted, private FIFO export-pipe backend that streams fullscreen compositor RGBA frames to external programs.
    • The export pipe is available through both the hyprctl dispatcher and the Lua config API.
    • Documentation of the FIFO capture request and response protocol.
    Release notes for v0.2.2-0.55 on GitHubCompare with v0.2.1-0.55
  12. 0.2.1

    Hyprland 0.55v0.2.1-0.55

    Hyprland 0.55 and better window shadows

    Improved

    • Faster window shadow synthesis that uses Hyprland-style shadow geometry and falloff.
    • Compositor window recordings stay on the compositor backend instead of silently falling back to visible GSR when alpha is unavailable.
    • Recordings keep window shadows and are cropped only when shadow removal is requested.
    • When the output cannot carry alpha, shadows are composited over the selected solid or follow-system background.

    Fixed

    • Lua fallback dispatch from the helper, and the overlay now fades out before window rendering and saving.
    Release notes for v0.2.1-0.55 on GitHubCompare with v0.2.0-0.54.3
  13. 0.2.0

    Hyprland 0.54.3v0.2.0-0.54.3

    Renamed to HyprCapture, fusion mode, and watermarks

    New

    • The project is now called HyprCapture.
    • Fusion toolbar mode: a single click captures fullscreen, and gestures combine region and window capture.
    • Configurable watermarks with built-in Activate Linux and HyperCam-style presets, plus position, size, and offset controls.

    Improved

    • Lower capture latency: the overlay closes without waiting for saving, clipboard, and thumbnail work.
    • Simpler region capture, updated toolbar icons and status, cleaner cancel and dropdown controls, and no window titles in window mode.
    • Installation steps and default helper path guidance for hyprpm.

    Fixed

    • Real-background window sampling.
    Release notes for v0.2.0-0.54.3 on GitHubCompare with v0.1.0-0.54.3
  14. 0.1.0

    Hyprland 0.54.3v0.1.0-0.54.3

    First release (as hyprshot)

    Highlights

    • Fullscreen, region, and window capture modes with a frozen compositor snapshot behind the overlay.
    • Fullscreen and region output at display resolution.
    • Window artifacts rendered by the compositor, including windows that are occluded or partly off-screen.
    • Window background modes: follow system, white, black, real background, and transparent, with optional border and shadow removal.
    • Save to file, persistent Wayland clipboard output through wl-copy, and result thumbnails with open, copy, and delete actions.
    Release notes for v0.1.0-0.54.3 on GitHubBrowse source at v0.1.0-0.54.3