Skip to content

Latest commit

 

History

History
267 lines (169 loc) · 21.2 KB

File metadata and controls

267 lines (169 loc) · 21.2 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.5.0 - 2026-05-26

libwayshot 0.8.0

Added

  • optional image formats behind explicit Cargo features (JPEG, WebP, AVIF, …), with PNG still in defaults (#324, @Gigas002).
  • optional egl feature and EGL path decoupled from a minimal default build (#320, @Gigas002).

Changed

Fixed

  • wait for frame completion after FrameState::Finished to avoid corrupted frames (#328, @HiFiveJazz).
  • simpler resize / filter path for the region selector (#329, @Gigas002).
  • incorrect color channel assignment in ext-image-copy format handling (bd0af7d, @Gigas002).

Breaking Changes

  • image encodings other than PNG require explicit Cargo features (#324, @Gigas002).
    • Migration: enable the codecs you need (jpeg, webp, avif, …) in Cargo.toml when building or depending on libwayshot.

wayshot

Added

  • Cargo features gating clipboard, color picker, logger, notifications, selector, AVIF, and JPEG XL (#306, @Gigas002).
  • extended [notification] config: icon, timeout_ms, urgency, app_name, success_summary, failure_summary, sound_name, transient, category (@Gigas002).
  • split CLI implementation into focused modules (clipboard, color_picker, notification, logger, screenshot, …) (#306, @Gigas002).
  • Freeze before capture is on by default; set freeze in config, or pass --no-freeze on the CLI to disable (same idea as notifications) (#309, @Gigas002).
  • --delay before taking the shot (#318, @Gigas002).
  • shell completions generation (#319, @Gigas002).
  • optional geometry string after -g (e.g. wayshot out.png -g $"$(waysip -d)") (#333, @Gigas002).
  • --geometry-foreground-color and --geometry-background-color for the region overlay (#335, @saghen).
  • [geometry] config (foreground_color, background_color) for the region overlay (252c175, @saghen).
  • [notification] action config for a custom shell command when the notification is clicked (8039061, @Suryansh-Dey).
  • --color optional output format (plain, hex, hex-alpha, rgb, rgba, hsl) (d32e90c, @Gigas002 and @0xsamalt).
  • --open-location to open the saved image path (#283, @Suryansh-Dey).
  • --silent alias --no-notifications (19a605b, @Gigas002).

Changed

  • Nix flake dev shell and package (#336, @saghen).
  • CI split into workflow files, plus cargo deny and related checks (#315, @Gigas002).
  • JPEG XL (jxl feature): jxl-encoder (pure Rust, AGPL-3.0-or-later) replaces jpegxl-rs and system libjxl. [encoding.jxl] keys (lossless, distance, effort) are unchanged; encoded files may differ slightly from libjxl at the same settings. CI and the Nix flake no longer install libjxl.

Fixed

  • color_picker / selector feature wiring and docs (#339, @saghen).
  • Dependabot GitHub Actions config regression (#345, @Gigas002).
  • clipboard uses explicit MIME types per encoding instead of autodetect (be5683b, @RustyCoderX).
  • empty -g geometry string no longer falls through to interactive region selection (99ba370, @Gigas002).

Breaking Changes

  • wayshot and waymirror-egl are GPL-3.0; libwayshot stays BSD-2-Clause (#311, @Gigas002).
    • Migration: confirm licensing and redistribution obligations for anything you ship or vendor; see LICENSE-GPL and LICENSE-BSD.
  • -g / --geometry accepts an optional geometry string (e.g. from slurp / waysip -d); a token immediately after -g is now treated as that string, not the output file (#333, @Gigas002).
    • Migration: if you relied on wayshot -g FILE (output path right after -g), use wayshot FILE -g instead. Invocations like wayshot -g --clipboard are unchanged.

1.4.6 - 2026-03-09

libwayshot 0.7.3

Added

Changed

Fixed

  • ext-image-copy frame state can advertise multiple SHM formats; handle the full set instead of assuming one (#307, @Decodetalkers).
  • replace unwrap() calls with proper Result handling (#294, @0xsamalt).
  • avoid cloning the image buffer where a shared view is enough (#290, @Nuhiat-Arefin).

wayshot

Added

1.4.5 - 2026-01-20

libwayshot 0.7.2

Fixed

  • reexport now exposes ExtForeignToplevelHandleV1 (the handle type), not ExtForeignToplevelListV1 (2259223, @Decodetalkers).

1.4.4 - 2026-01-20

libwayshot 0.7.1

Fixed

1.4.3 - 2026-01-20

libwayshot 0.7.0

Added

  • Color capture (sampling) API (#258, @Decodetalkers).
  • Screencast EGL path, r-egl-wayland integration, static EGL (no egl::Instance), DMabuf AsRef usage, and waymirror-egl rework (#270, @Decodetalkers).

Changed

Fixed

  • Avoid panic when ext-foreign-toplevel-list is unavailable; degrade gracefully (#266, @Decodetalkers).
  • EGL capture: roundtrip errors, FD leaks, and incorrect color in some paths (#270, @Decodetalkers).

Breaking Changes

  • Many capture / screenshot entry points now take arguments in a fixed order: target → options → cursor → optional region (#270, @Decodetalkers).
    • Migration: update call sites to the new parameter order; consult current libwayshot method signatures.
  • WayshotTarget / foreign toplevel handles must be chosen from targets libwayshot already knows about (not an arbitrary foreign id alone) (#270, @Decodetalkers).
    • Migration: enumerate toplevels via libwayshot, then select the matching target.
  • try_init_buf no longer returns the initialized buffer from the same return channel; use () / Error only (#270, @Decodetalkers).
    • Migration: follow the updated init + capture flow in the docs / examples.

wayshot

Added

  • JPEG XL-specific options in the config file (#255, @Gigas002).
  • PNG-specific encoder options in the config file (#268, @Gigas002).

1.4.2 - 2025-12-18

libwayshot 0.6.0

Added

  • ext-image-copy path enabled for capture (#245, @xonx4l).
  • DMabuf screen logic for the screencast path (refresh / GBM discovery, libwaysip bump, docs) (#248, @Decodetalkers).

Changed

  • return GBM errors instead of panicking (#247, @dhruvDev23; first contribution).

Fixed

  • region and screenshot capture had incorrect dimensions under ext-image-copy (also fixes cross-output area selection in the CLI) (e9ba46b, @Decodetalkers).

1.4.1 - 2025-12-15

libwayshot 0.5.0

Added

Changed

Fixed

Breaking Changes

  • Size is now generic (Size<T = u32>) (279896a, @Decodetalkers).
    • Migration: specify Size<u32> (or another T) where type inference no longer resolves, and update patterns that assumed a non-generic Size.

1.4.0 - 2025-12-13

libwayshot 0.4.0

Added

Changed

Fixed

Breaking Changes

  • legacy screenshot APIs deprecated or restricted where ext-image-copy differs from zwlr-screencopy; use screenshot_freeze instead (c0065d3, 21cfa0f, @Decodetalkers). Some paths (e.g. color picker) keep the old API on purpose (73df58e).
    • Migration: move affected call sites to screenshot_freeze; re-read deprecation on the symbols you use.
  • FrameGuard carries side / transform metadata (1af8f788, @Decodetalkers).
    • Migration: update construction and pattern matches to include the new fields.

wayshot

Added

Changed

Breaking Changes

  • colored output, help text, and option renames (“friendly CLI”) (#134, @Gigas002).
    • Migration: update scripts and wrappers that parse --help, grep for old long option names, or assume plain stderr; use the current kebab-case flags and check wayshot --help for aliases where the old spellings still work.
  • region selection uses libwaysip in-process instead of spawning slurp (#152, 586ee25, @Decodetalkers).
    • Migration: drop expectations that slurp is run externally or that -s forwards arguments to slurp; adjust automation that wrapped or mocked slurp; rely on wayshot’s built-in selector (and libwaysip behavior) only.

Fixed