Watchexec 1.22.0
Release notes
Software development often involves running the same commands over and over. Boring! Watchexec is a simple, standalone tool that watches a path and runs a command whenever it detects modifications. Install it today with cargo-binstall watchexec-cli, from the binaries below, find it in your favourite package manager, or build it from source with cargo install watchexec-cli.
In this release:
- New:
--emit-events-to <mode>provides alternative ways to receive event details. To theenvironmentmode, equivalent to the previous behaviour (and still the default), thefile,stdin,json-file, andjson-stdintmodes are added. The watchexec-events crate can be used to parse the JSON format from Rust programs. - New:
--fs-events <events>provides a more flexible way to filter which kinds of filesystem events cause command runs. The--no-metaoption is now an alias to the configuration of this method omitting metadata changes. - New:
--clear=resetperforms a stronger screen clear (roughly equivalent to atput reset). - Whole new extended help, manual page, and completion scripts (now for bash, elvish, fish, nu, and powershell in addition to zsh).
- New:
--manualshows the manual page,--helpshows extended help (-hshows short help),--completion <shell>prints a completion script, such that even installing from source can benefit from the manpage or completions.
Other changes:
- New:
--filter-fileand--ignore-fileprovide ways to load arbitrary ignore files, and also "filter files", which should be formatted like ignore files but patterns are treated the same as--ignorepatterns. - New:
--stop-signallets you override the signal used to stop the process during a restart. - New:
--stop-timeoutlets you override the time waited between sending a signal and killing the process (which defaults to 30 seconds). --log-file's path argument is now optional. Providing the bare--log-fileoption uses the current directory. Further, the option also accepts a directory instead of a file, in which case it will create a file namedwatchexec.<timestamp>.logthere.--pollis the new name for--force-poll(the old name exists as an alias), and the polling interval is now optional, with a default provided if no value is given.- All options that take durations now both take numbers in the unit described, but also expressions of the form
2mins 30s. This is a very similar format as systemd's durations, implemented by the humantime crate. - Removed support for the "tagged" filterer experiment.
- The long
--versionoption now prints extended version information, including the build date and commit hash (where that information is available). This is powered by a new crate, bosion.
Packages
View release on GitHub.
Checksums
| BLAKE3 checksums |
|---|
| SHA256 checksums |
| SHA512 checksums |
version released on 2023-03-18 | this page built on 2026-03-30 at 18:52 | generator v0.0.2 | json metadata