NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2573 most downloaded on crates.io
Access to the Wayland clipboard for terminal and other window-less applications.
Last release 9 days ago
28 Sep 2026
Ships fairly regularly
a new release about every 5 months
Most releases are documented
notes for 16 of 20 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
20 releases · first in 2019
Copy no longer reports an error when the paste destination closes its pipe too early.
watch module that provides a blocking API for monitoring clipboard changes. Create a Watcher, then loop on while let Some(event) = watcher.next_event()? {}. The event contains the new MIME types and lets you receive the clipboard contents if you wish.wl-paste --watch <COMMAND> that works like the C wl-clipboard version. The command is invoked with the new clipboard contents on stdin, and CLIPBOARD_STATE and CLIPBOARD_TYPE environment variables set.wl-copy --sensitive and copy::Options::sensitive() to hint to clipboard managers that copied data is sensitive.x-kde-passwordManagerHint: it is offered last, requests for it do not count toward serve_requests, and automatic-type pastes prefer other MIME types.Switched copying and wl-copy from tempfile to in-memory data storage.
One column per quarter.
utils::is_text based on wl-clipboard. In particular, this fixes copying shell scripts and XML files.paste::get_mime_types_ordered that preserves the ordering of MIME types offered by the copying application. This can sometimes be used to determine the "native" data type of the copied contents. wl-paste -l was updated to show this ordered list.Added support for the ext-data-control protocol. It will be used instead of wlr-data-control when available.
ext-data-control protocol. It will be used instead of wlr-data-control when available.Added man page and shell completion generation to wl-clipboard-rs-tools.
wl-clipboard-rs-tools.Replaced the deprecated structopt with clap itself.
utils::copy_data. It forked into a /usr/bin/env cat
for copying. All internal uses of the function have been changed to simply
use std::io::copy instead.nix with rustix, following wayland-rs.structopt with clap itself.Nothing published for this version
Updated dependencies, notably nix, which fixes building on LoongArch.
nix, which fixes building on LoongArch.Added copy::Options::omit_additional_text_mime_types to disable wl-clipboard-rs offering several known text MIME types when a text MIME type is copied
copy::Options::omit_additional_text_mime_types to disable
wl-clipboard-rs offering several known text MIME types when a text MIME type
is copied.wayland-rs to 0.31.
Nothing published for this version
Fixed paste::get_contents() leaving behind zombie cat processes.
paste::get_contents() leaving behind zombie cat processes.info! to trace!.nix dependency to 0.24 to match that of the wayland-rs crates.derive_more with thiserror.Nothing published for this version
Removed the deprecated failure dependency from both the library and the tools. The standard Error trait is now used.
wl-copy and wl-clip hangs when followed by a pipe (e.g. wl-copy hello | cat).failure dependency from both the library and the
tools. The standard Error trait is now used.wl-clipboard-tools subcrate to wl-clipboard-rs-tools.Split binaries from the main crate wl-clipboard-rs into a new sub-crate wl-clipboard-tools. This removes a few dependencies that were only used in the
wl-clipboard-rs into a new sub-crate
wl-clipboard-tools. This removes a few dependencies that were only used in
the binaries (like structopt).
tree_magic (which went unmaintained) with tree_magic_mini.fork code which runs during the copy operation to exec
/usr/bin/env cat instead of just cat. This was done to remove
a non-async-signal-safe call in the child process.Nothing published for this version
Updated nix to 0.18 and wayland-rs to 0.27.
nix to 0.18 and wayland-rs to 0.27.Breaking Changed copy::Source and copy::Seat to own the contained data rather than borrow it. As a consequence, those types, as well as copy::MimeSour…
copy::prepare_copy() and copy::prepare_copy_multi() (and respective
functions in copy::Options) to accommodate workflows which depended on the
forking behavior, such as wl-copy. See wl-copy for example usage.copy::Source and copy::Seat to own the contained
data rather than borrow it. As a consequence, those types, as well as
copy::MimeSource and copy::Options, have dropped their lifetime generic
parameter.Reduced the wl_seat version requirement from 6 to 2.
wl_seat version requirement from 6 to 2.copy::copy_multi() for offering multiple data sources under multiple
different MIME types.Breaking Moved ClipboardType into copy:: and paste::.
ClipboardType into copy:: and paste::.utils::Error into utils::CopyDataError.copy::ClipboardType::Both for operating both clipboards at once.utils::is_primary_selection_supported().--regular, which, when set together with --primary,
makes wl-copy operate on both clipboards at once.Breaking Changed copy::Options::paste_once to serve_requests which allows to specify the number of paste requests to serve.
copy::Options::paste_once to serve_requests which
allows to specify the number of paste requests to serve.copy::Seat and copy::Options as Copy.data-control, it's now merged into wlr-protocols so no further
changes without a version bump.env_logger with stderrlog which made the
binaries much smaller.wl-clip, a Wayland version of xclip.- Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →