Releases: waycrate/wayshot
Releases · waycrate/wayshot
Release list
v1.5.0
libwayshot 0.8.0
Added
- optional image formats behind explicit Cargo features (JPEG, WebP, AVIF, …), with PNG still in defaults (#324, @Gigas002).
- optional
eglfeature and EGL path decoupled from a minimal default build (#320, @Gigas002).
Changed
- initialize DRM only when the capture path needs it (#326, @Decodetalkers).
Fixed
- wait for frame completion after
FrameState::Finishedto 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, …) inCargo.tomlwhen building or depending on libwayshot.
- Migration: enable the codecs you need (
wayshot
Added
- Cargo features gating clipboard, color picker, logger, notifications, selector, AVIF, and JPEG XL (#306, @Gigas002).
- split CLI implementation into focused modules (
clipboard,color_picker,notification,logger,screenshot, …) (#306, @Gigas002). - Freeze before capture is on by default; set
freezein config, or pass--no-freezeon the CLI to disable (same idea as notifications) (#309, @Gigas002). --delaybefore 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-colorand--geometry-background-colorfor the region overlay (#335, @saghen).[geometry]config (foreground_color,background_color) for the region overlay (252c175, @saghen).[notification]actionconfig for a custom shell command when the notification is clicked (8039061, @Suryansh-Dey).--coloroptional output format (plain,hex,hex-alpha,rgb,rgba,hsl) (d32e90c, @Gigas002 and @0xsamalt).--open-locationto open the saved image path (#283, @Suryansh-Dey).--silentalias--no-notifications(19a605b, @Gigas002).
Changed
- Nix flake dev shell and package (#336, @saghen).
- CI split into workflow files, plus
cargo denyand related checks (#315, @Gigas002). - JPEG XL (
jxlfeature): 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/selectorfeature 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
-ggeometry 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-GPLandLICENSE-BSD.
- Migration: confirm licensing and redistribution obligations for anything you ship or vendor; see
-g/--geometryaccepts an optional geometry string (e.g. from slurp /waysip -d); a token immediately after-gis now treated as that string, not the output file (#333, @Gigas002).- Migration: if you relied on
wayshot -g FILE(output path right after-g), usewayshot FILE -ginstead. Invocations likewayshot -g --clipboardare unchanged.
- Migration: if you relied on
1.4.6
Fixed
- fix problems that the state ext-image-copy only contains one format
- fix publish ci
- make image buffer without clone by @Nuhia-Arefin
- remove needless unwrap by @oxsamlt
- fix changelog format by @Anshi321
- add size, position api for OutputInfo
- add silent options for cli by @Suyansh-Dev
- caching coverage by @Suyansh-Dev
What's Changed
- Adding --silent to cli by @Suryansh-Dey in #280
- update readme by @Nuhiat-Arefin in #281
- Cache the compilation to avoid recompilation by @Suryansh-Dey in #284
- Caching the Coverage too by @Suryansh-Dey in #286
- fix: add missing doc entries by @Gigas002 in #287
- chore(deps): bump crate-ci/typos from 1.42.1 to 1.43.4 by @dependabot[bot] in #288
- refactor: replace unwrap() with proper error handling in libwayshot by @0xsamalt in #294
- chore: restructure CHANGELOG to follow Keep a Changelog format by @Anshi321 in #297
- Revert "chore: restructure CHANGELOG to follow Keep a Changelog format" by @Shinyzenith in #298
- Make Image Buffer Without Clone by @Nuhiat-Arefin in #290
- chore: restructure CHANGELOG to follow Keep a Changelog format by @Anshi321 in #300
- fix: shm formats can contains many by @Decodetalkers in #307
- chore(deps): bump taiki-e/create-gh-release-action from 1.9.2 to 1.9.3 by @dependabot[bot] in #308
New Contributors
- @Suryansh-Dey made their first contribution in #280
- @Nuhiat-Arefin made their first contribution in #281
- @0xsamalt made their first contribution in #294
- @Anshi321 made their first contribution in #297
Full Changelog: v1.4.5...v1.4.6
Wayshot 1.4.5 & libwayshot 0.7.2
[1.4.5] (libwayshot 0.7.2)
Hot fix: reexport ExtForeignToplevelHandle and fix ci
Wayshot 1.4.4 & libwayshot 0.7.1
[1.4.4] (libwayshot 0.7.1)
Hot fix: reexport ExtForeignToplevelHandle
Wayshot 1.4.3 & libwayshot 0.7.0
There is Breaking changes in libwayshot, but it is just some tidy up for the api, mainly the order of params
- (libwayshot): use the r-egl lib which maintained by waycrate instead of khornos-egl
- (libwayshot): remove the Instance uses of egl lib. we only use the static feature
- (libwayshot): make tidy up of the api
- (libwayshot): Fix the problem that libwayshot panic when there is no support for ext-foreign-toplevel-list
- (waymirror-egl): tidy up the project, and add it to the workspace. Now it is usable, though still has bugs about keyboard
What's Changed
- chore(deps): bump wl-clipboard-rs from 0.9.2 to 0.9.3 by @dependabot[bot] in #243
- Improve error handling by @dhruvDev23 in #252
- fix: remove example from wayshot compilation process by @Gigas002 in #253
- feature: add code coverage CI action by @Gigas002 in #254
- chore(deps): bump tracing from 0.1.43 to 0.1.44 by @dependabot[bot] in #251
- feature: jxl specific config options by @Gigas002 in #255
- Fix scaling detection for portrait displays by @AndreasBackx in #256
- chore(deps): bump toml from 0.9.8 to 0.9.10+spec-1.1.0 by @dependabot[bot] in #250
- chore(deps): bump rustix from 1.1.2 to 1.1.3 by @dependabot[bot] in #257
- feat: support color capture by @Decodetalkers in #258
- fix: Some wm may still not support ext-foreign-toplevel-list by @Decodetalkers in #266
- feature: png-specific optional config section by @Gigas002 in #268
- chore(deps): bump crate-ci/typos from 1.40.0 to 1.41.0 by @dependabot[bot] in #259
- tidy up apis, mainly the part of egl and waymirror by @Decodetalkers in #270
- chore(deps): bump crate-ci/typos from 1.41.0 to 1.42.1 by @dependabot[bot] in #271
- chore(deps): bump wayland-protocols-wlr from 0.3.9 to 0.3.10 by @dependabot[bot] in #263
- chore(deps): bump clap from 4.5.53 to 4.5.54 by @dependabot[bot] in #260
Full Changelog: v1.4.2...v1.4.3
Wayshot 1.4.2 & libwayshot 0.6.0
What's Changed
- (wayshot): Fix the problem that area selector cannot cross screens.
- (libwayshot): Handle gbm errors instead of panicking by @dhruvDev23 in #247
- (libwayshot): Enable ext-image-copy by @xonx4l in #245
- (libwayshot): Add dmabuf screen logic for screencast part by @Decodetalkers in #248
New Contributors
- @dhruvDev23 made their first contribution in #247
Full Changelog: v1.4.1...v1.4.2
Wayshot 1.4.1 & libwayshot 0.5.0
This publish is almost for the libwayshot part.
libwayshot
- Add screencast mod to solve the screencast problem in xdg-desktop-portal-lumious
- solve that sometime we cannot get the frame_format when capture the WlOutput
Wayshot 1.4.0 & libwayshot 0.4.0
NOTE: This is the rc1 for wayshot 1.4.0
NOTE: Wayshot 1.4.0 will contain breaking changes
NOTE: libwayshot contains breaking changes for release 0.4.0
Wayshot
New Features
- dmabuf support by @sooraj-satheesh
- ext-image-copy support by @Rishik-Y
- JPEG-XL support by @Gigas002
- config file by @Gigas002 in #154 #152
Improvements
- Unit test by @xonx4l
- stdout will still produce file by @uncomfyhalomacro
Breaking changes
- ext-image-copy is supported
- We have dmabuf support now, though still needs some adjustment
- screencopy is deprecated now for it has bugs on ext-image-copy. If it is fixed, it will comeback. Now please use screenshot_freeze instead
What's Changed
- feat: use workspace package control global values by @Decodetalkers in #81
- feat: add support for BGR888 image format by @vivienm in #82
- Dev branch rebase ( freeze feat, etc ) by @Shinyzenith in #90
- chore: ci fix by @Decodetalkers in #131
- Update dependencies by @Gigas002 in #129
- dependencies: bump rustix to 1.0 by @Gigas002 in #136
- ci: add dependabot scans by @Gigas002 in #135
- Bump actions/checkout from 2 to 4 by @dependabot[bot] in #137
- Bump rustix from 1.0.1 to 1.0.2 by @dependabot[bot] in #138
- feat: add avif extension support by @Gigas002 in #141
- chore: minor improvements in libwayshot lib.rs by @OneRandom1509 in #140
- chore(deps): bump wl-clipboard-rs from 0.9.1 to 0.9.2 by @dependabot[bot] in #144
- chore(deps): bump clap from 4.5.31 to 4.5.32 by @dependabot[bot] in #143
- chore: edition 2024 migration by @Gigas002 in #142
- fix typo and add ci by @Decodetalkers in #133
- Updated wayshot devel for NixOS by @Rishik-Y in #130
- Friendly cli by @Gigas002 in #134
- chore: add missing doc entry for avif encoding by @Gigas002 in #147
- feat: use generics instead every time pass a box by @Decodetalkers in #150
- fix: failed test and add ci for test by @Decodetalkers in #149
- chore: improvements in waymirror-egl example by @OneRandom1509 in #146
- feat: file-name-format by @Gigas002 in #145
- chore: expose capture_output_frame_get_state_shm by @Decodetalkers in #151
- chore(deps): bump rustix from 1.0.2 to 1.0.3 by @dependabot[bot] in #156
- chore(deps): bump crate-ci/typos from 1.30.1 to 1.30.2 by @dependabot[bot] in #155
- feat: implement config file (2) by @Gigas002 in #154
- feat: use libwaysip instead of slurp by @Decodetalkers in #152
- chore(deps): bump crate-ci/typos from 1.30.2 to 1.31.0 by @dependabot[bot] in #159
- chore(deps): bump image from 0.25.5 to 0.25.6 by @dependabot[bot] in #161
- chore(deps): bump clap from 4.5.32 to 4.5.34 by @dependabot[bot] in #160
- chore: clippyfix for 1.86 by @Decodetalkers in #167
- chore(deps): bump crate-ci/typos from 1.31.0 to 1.31.1 by @dependabot[bot] in #162
- chore(deps): bump clap from 4.5.34 to 4.5.37 by @dependabot[bot] in #171
- chore(deps): bump shellexpand from 3.1.0 to 3.1.1 by @dependabot[bot] in #170
- chore(deps): bump flate2 from 1.1.0 to 1.1.1 by @dependabot[bot] in #164
- chore(deps): bump rustix from 1.0.3 to 1.0.5 by @dependabot[bot] in #163
- chore(deps): bump toml from 0.8.20 to 0.8.21 by @dependabot[bot] in #172
- chore: update Nix flake by @axelkar in #166
- feat: upward transfer the features of image by @Decodetalkers in #179
- chore(deps): bump crate-ci/typos from 1.31.1 to 1.33.1 by @dependabot[bot] in #184
- chore(deps): bump toml from 0.8.21 to 0.8.23 by @dependabot[bot] in #185
- chore(deps): bump wayland-backend from 0.3.8 to 0.3.10 by @dependabot[bot] in #174
- chore(deps): bump libloading from 0.8.6 to 0.8.8 by @dependabot[bot] in #183
- chore(deps): bump chrono from 0.4.40 to 0.4.41 by @dependabot[bot] in #177
- chore(deps): bump rustix from 1.0.5 to 1.0.7 by @dependabot[bot] in #176
- 20250618 update libwaysip to 0.4 by @uncomfyhalomacro in #191
- fix: not work on niri by @Decodetalkers in #195
- fix: logic for argument
-will not produce a file at the current directory by @uncomfyhalomacro in #205 - Revert #205 logic by @Gigas002 in #210
- Add utility functions to support screencasting in xdg-desktop-portal-luminous by @nicolo-mn in #207
- fix: prevent EmbeddedRegion false positive on bordering viewport by @Pestdoktor in #199
- feat: Implement ext_* Protocol and DBus Security by @Rishik-Y in #206
- Add: Unit testing suite for wayshot by @xonx4l in #228
- chore(deps): bump clap from 4.5.37 to 4.5.50 by @dependabot[bot] in #225
- chore(deps): bump crate-ci/typos from 1.33.1 to 1.39.2 by @dependabot[bot] in #229
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #230
- chore(deps): bump flate2 from 1.1.1 to 1.1.5 by @dependabot[bot] in #226
- feat: add JPEG-XL encoding support by @Gigas002 in #193
- chore(deps): bump dialoguer from 0.11.0 to 0.12.0 by @dependabot[bot] in #237
- chore(deps): bump libloading from 0.8.9 to 0.9.0 by @dependabot[bot] in #236
- chore(deps): bump crate-ci/typos from 1.39.2 to 1.40.0 by @dependabot[bot] in #235
- feat: make api ready for screencast for toplevel by @Decodetalkers in #239
- feat: make dmabuf can also work for ext by @Decodetalkers in #241
New Contributors
- @vivienm made their first contribution in #82
- @dependabot[bot] made their first contribution in #137
- @OneRandom1509 made their first contribution in #140
- @Rishik-Y made their first contribution in #130
- @axelkar made their first contribution in #166
- @uncomfyhalomacro made their first contribution in #191
- @nicolo-mn made their first contribution in #207
- @Pestdoktor made their first contribution in #199
- @xonx4l made their first contribution in #228
Full Changelog: 1.3.1...v1.4.0
v1.4.0-rc2
What has changed
- Add an api to check if toplevel capture is supported. Can be used in xdg-desktop-portal
- fix the ci for publish
Full Changelog: v1.4.0-rc1...v1.4.0-rc2
Wayshot 1.4.0-rc1
NOTE: This is the rc1 for wayshot 1.4.0
NOTE: Wayshot 1.4.0 will contain breaking changes
NOTE: libwayshot contains breaking changes for release 0.4.0
Wayshot
New Features
- ext-image-copy support by @Rishik-Y
- JPEG-XL support by @Gigas002
- config file by @Gigas002 in #154 #152
Improvements
- Unit test by @xonx4l
- stdout will still produce file by @uncomfyhalomacro
What's Changed
- feat: use workspace package control global values by @Decodetalkers in #81
- feat: add support for BGR888 image format by @vivienm in #82
- Dev branch rebase ( freeze feat, etc ) by @Shinyzenith in #90
- chore: ci fix by @Decodetalkers in #131
- Update dependencies by @Gigas002 in #129
- dependencies: bump rustix to 1.0 by @Gigas002 in #136
- ci: add dependabot scans by @Gigas002 in #135
- Bump actions/checkout from 2 to 4 by @dependabot[bot] in #137
- Bump rustix from 1.0.1 to 1.0.2 by @dependabot[bot] in #138
- feat: add avif extension support by @Gigas002 in #141
- chore: minor improvements in libwayshot lib.rs by @OneRandom1509 in #140
- chore(deps): bump wl-clipboard-rs from 0.9.1 to 0.9.2 by @dependabot[bot] in #144
- chore(deps): bump clap from 4.5.31 to 4.5.32 by @dependabot[bot] in #143
- chore: edition 2024 migration by @Gigas002 in #142
- fix typo and add ci by @Decodetalkers in #133
- Updated wayshot devel for NixOS by @Rishik-Y in #130
- Friendly cli by @Gigas002 in #134
- chore: add missing doc entry for avif encoding by @Gigas002 in #147
- feat: use generics instead every time pass a box by @Decodetalkers in #150
- fix: failed test and add ci for test by @Decodetalkers in #149
- chore: improvements in waymirror-egl example by @OneRandom1509 in #146
- feat: file-name-format by @Gigas002 in #145
- chore: expose capture_output_frame_get_state_shm by @Decodetalkers in #151
- chore(deps): bump rustix from 1.0.2 to 1.0.3 by @dependabot[bot] in #156
- chore(deps): bump crate-ci/typos from 1.30.1 to 1.30.2 by @dependabot[bot] in #155
- feat: implement config file (2) by @Gigas002 in #154
- feat: use libwaysip instead of slurp by @Decodetalkers in #152
- chore(deps): bump crate-ci/typos from 1.30.2 to 1.31.0 by @dependabot[bot] in #159
- chore(deps): bump image from 0.25.5 to 0.25.6 by @dependabot[bot] in #161
- chore(deps): bump clap from 4.5.32 to 4.5.34 by @dependabot[bot] in #160
- chore: clippyfix for 1.86 by @Decodetalkers in #167
- chore(deps): bump crate-ci/typos from 1.31.0 to 1.31.1 by @dependabot[bot] in #162
- chore(deps): bump clap from 4.5.34 to 4.5.37 by @dependabot[bot] in #171
- chore(deps): bump shellexpand from 3.1.0 to 3.1.1 by @dependabot[bot] in #170
- chore(deps): bump flate2 from 1.1.0 to 1.1.1 by @dependabot[bot] in #164
- chore(deps): bump rustix from 1.0.3 to 1.0.5 by @dependabot[bot] in #163
- chore(deps): bump toml from 0.8.20 to 0.8.21 by @dependabot[bot] in #172
- chore: update Nix flake by @axelkar in #166
- feat: upward transfer the features of image by @Decodetalkers in #179
- chore(deps): bump crate-ci/typos from 1.31.1 to 1.33.1 by @dependabot[bot] in #184
- chore(deps): bump toml from 0.8.21 to 0.8.23 by @dependabot[bot] in #185
- chore(deps): bump wayland-backend from 0.3.8 to 0.3.10 by @dependabot[bot] in #174
- chore(deps): bump libloading from 0.8.6 to 0.8.8 by @dependabot[bot] in #183
- chore(deps): bump chrono from 0.4.40 to 0.4.41 by @dependabot[bot] in #177
- chore(deps): bump rustix from 1.0.5 to 1.0.7 by @dependabot[bot] in #176
- 20250618 update libwaysip to 0.4 by @uncomfyhalomacro in #191
- fix: not work on niri by @Decodetalkers in #195
- fix: logic for argument
-will not produce a file at the current directory by @uncomfyhalomacro in #205 - Revert #205 logic by @Gigas002 in #210
- Add utility functions to support screencasting in xdg-desktop-portal-luminous by @nicolo-mn in #207
- fix: prevent EmbeddedRegion false positive on bordering viewport by @Pestdoktor in #199
- feat: Implement ext_* Protocol and DBus Security by @Rishik-Y in #206
- Add: Unit testing suite for wayshot by @xonx4l in #228
- chore(deps): bump clap from 4.5.37 to 4.5.50 by @dependabot[bot] in #225
- chore(deps): bump crate-ci/typos from 1.33.1 to 1.39.2 by @dependabot[bot] in #229
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #230
- chore(deps): bump flate2 from 1.1.1 to 1.1.5 by @dependabot[bot] in #226
- feat: add JPEG-XL encoding support by @Gigas002 in #193
New Contributors
- @vivienm made their first contribution in #82
- @dependabot[bot] made their first contribution in #137
- @OneRandom1509 made their first contribution in #140
- @Rishik-Y made their first contribution in #130
- @axelkar made their first contribution in #166
- @uncomfyhalomacro made their first contribution in #191
- @nicolo-mn made their first contribution in #207
- @Pestdoktor made their first contribution in #199
- @xonx4l made their first contribution in #228
Full Changelog: 1.3.1...v1.4.0-rc1