Releases: watchexec/cargo-watch
v8.1.2
Cargo Watch is a tool to watch your Cargo-based project and run commands when files change. It focuses on the Rust development experience and aims to be flexible enough to suit most without becoming complicated to use. Install or upgrade it today with cargo binstall cargo-watch
, or cargo install cargo-watch
if you don't have Binstall yet.
In this release:
This release was missing from crates.io until 2022-07-08.
v8.1.1
- Releng: Experimental: RPM packages are now available. These are built from the same binaries in the tarballs and DEB packages, so may not work properly for distros due to glibc versions or whatever. Untested as I don’t run RPM-based distros, tell me how it goes.
- CI: Cross build targets + FreeBSD are now checked.
- Workaround:
-N
/ desktop notifications are disabled on FreeBSD (#184)
v8.1.0
Yanked from crates.io on 2022-01-22
- New: the
-B
option injectsRUST_BACKTRACE
into the environment, which is a fairly common thing to do when catching panics. Use like:cargo watch -B1 -x run
(tweet) - Fix: quoting issues with Zsh (#183)
- Metadata: The
rust-version
field is now used in the Cargo.toml. This will generate a warning when compiling until rustc 1.56. - Releng: this is the first release with native Apple M1 binaries!
v8.0.0
Never released to crates.io
-
Breaking change: #177 the order of(This never actually happened. The code was not merged.)-x
and-s
is now respected.Example:
cargo watch -s 'echo before' -x test -s 'echo after'
Before: would runcargo test && echo before && echo after
.
Now: runsecho before && cargo test && echo after
. -
Experimental:
--notify
/-N
flag sends a desktop notification when a change is observed (which may or may not trigger a command restart). While objectively the better behaviour would be to notify on command finish and vary the notification on exit status, we just can't do that at the moment with the current architecture.
v7.8.1
- New: there’s now a website. Some of it is still being drafted, notably dedicated general documentation for this tool, but there’s already some specific documentation that’s been brought over and rewritten/improved, such as the inotify limitations and the glob patterns pages. Eventually a lot of the documentation that’s in the readme will be moved there, so the readme can become a much leaner page with only the important bits, and the information moved over will have a lot more space to really shine.
- Meta: moved to the watchexec github organisation. As well as bringing these very related projects together under one umbrella, this should make the maintaining relationship much clearer. As a bonus, that enables Github’s tooling to move issues to a different repo.
- Deps: updated to watchexec 1.16.1, which pins the
globset
crate to version 0.4.6. While not a good long-term fix, this fixes issues installing viacargo install cargo-watch
yielding buggy (#176) builds without--locked
. - Releng: in 7.8.0, binary release builds got checksums and signatures, but generated a combined CHECKSUMS file with both SHA512 and BLAKE3 checksums, which causes warnings to be emitted when checking with the
sha512sum
orb3sum
tools, as well as being a bit ambiguous. In this release, checksums go in separate files, one for each checksum algorithm; these files are also signed separately. I also retroactively fixed that in the 7.8.0 release. The release download list on GitHub is becoming quite long! The one on the website is a lot easier to use. - Packagers: if you’re reading these notes:
- The website now has a JSON metadata file for every release and the latest, and that’s probably easier to parse than fighting it out with the API and the filenames. It also has the release notes and the checksums in nicely machine readable locations if you’re into that.
- The archive format for tarballs will change to ZStandard (
.tar.zst
) at some point in the future, probably around version 8.
v7.8.0
- #172 Restore and document the behaviour where the directory is changed to the project/crate root by default, not the workspace root, as introduced by 7.7.1
- New:
-C
/--workdir
option to change the working directory to a custom location. Note that this will behave very strangely in combination with other path options (like-w
/--watch
) until real support is added upstream, cf watchexec/watchexec#188. - New: logo.
- New: Windows ARM builds.
- New: checksums and release signing.
v7.7.2
- Finalise the build config for Apple M1 builds, which will become available sometime in June/July
- Fix an issue with Windows builds via upstream update, see watchexec/watchexec#192
v7.7.1
- Use cargo metadata crate to replace cargo root finding logic
- Update
insta
test helper to maybe help on the cross-platform front (#170) - Include module path in debug logging
- Update other deps
- Remove dependence on an empty tests/touchdata directory for tests to pass
- Run tests in CI again (on Linux)
- Be a little more flexible on the version of watchexec (not quite semver yet!)
7.7.0 — watchexec upgrade + docs
- Issue policy change / clarification: if an issue is a watchexec issue, it should go there, and issues opened here that ultimately are upstream issues will get moved/closed.
- Upgrade to watchexec 1.15.
- Add
--shell
option - Add
--why
switch
- Add
- Add a manpage (cargo-watch in section 1)
- Add Zsh completions (try them out and tell me if they work well!)