{"generated":"2022-01-18T12:03:53.098220836Z","published":"2022-01-18T11:50:49Z","app":"watchexec","version":"1.18.0","notes":"
This is the first release built on top of Watchexec library 2.0. Any change in behaviour other than listed below is a bug.
\n-v
, -vv
… up to -vvvv
printing increasingly more logs. Note that -v
already prints a lot more logs than in previous releases, and that the log format has changed. Additionally, the RUST_LOG
environment variable can be set for even finer-grained logging.--changes-only
was renamed to --print-events
, and its output changed. The former option persists as an alias for compatibility but will be removed eventually.--no-ignore
was renamed to --no-project-ignore
for clarity. The former option persists as an alias for compatibility but will be removed eventually.[[Command exited with 63]]
) (#37)--notify
/ -N
option now works properly, and is therefore out of experimental.~/.gitignore
, ~/.bazaar/ignore
) (#58)core.excludesFile
).git/info/exclude
)~/.config/watchexec/ignore
or as system-appropriateWATCHEXEC_IGNORE_FILES
environment variable (format is as for the system PATH
variable)WATCHEXEC_COMMON_PATH
is always set, with the common prefix of all pathsWATCHEXEC_OTHERWISE_CHANGED_PATH
is new, for event kinds not covered by the other five (CREATED
, META_CHANGED
, REMOVED
, RENAMED
, WRITTEN
)Note that this release is not coincidental with the stable release of the library 2.0, which is still \"in preview.\"
\nSet WATCHEXEC_FILTERER=tagged
to opt into a new filter engine. This will disable the -e
/ --exts
and -i
/ --ignore
options and change the -f
/ --filter
option to accept a \"tagged filter\" instead.
Documentation is available at: https://docs.rs/watchexec/2.0.0-pre.6/watchexec/filter/tagged/struct.TaggedFilterer.html
\nFor example, this set of filters:
\npath=data/*.json\npath*!test-*\nkind=Create(*)\n
\nwould only allow file creation events from JSON files in data/
except those starting with test-
.
There are 8 \"tags\" that can be matched upon, including path
, kind
(of the event: creates, modifies, metadata, etc), type
(of the path that was changed: file, folder, link, etc). There is a variety of operators: glob (*=
and *!
), exact (==
and !=
), sets (:=
and :!
), and regex (~=
and ~!
). The shorthand =
operator resolves to the \"most useful\" operator for the tag being matched (currently *=
for path
, kind
, and exit
, :=
otherwise). This provides a lot more power and flexibility, but does make filtering less intuitive — ideas are welcome on improvements.
The tagged filterer also solves the current filterer's main confusing issue: folder filtering. path=folder/
and path!*folder/
will do the expected thing, instead of requiring obscure forms like **/folder/**
.
Using the --filter-file
/ -F
option, one or more \"tagged filter files\" can be loaded, with every filter on a new line. Blank lines and lines starting with #
are ignored. Like for ignore files, the WATCHEXEC_FILTER_FILES
envvar is also consulted, and the ~/.config/watchexec/filter
global filter file applies if present (or in system-relevant location). There is no default project-local filter file.
This mode is experimental: it is not to be considered stable in any way. Using it will print a warning message when watchexec starts. The aim is to have it become good enough so it can be the default in a future breaking release (but not 2.0, which will instead focus on other long-standing issues which aren't as earth-shattering as this), or to use its ideas to improve the existing implementation, whichever ends up better for everyone!
\nThis release comes with special thanks to Radon Rosborough, supporting me via Ko-fi.
","downloads":[{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-aarch64-unknown-linux-gnu.deb","filename":"watchexec-1.18.0-aarch64-unknown-linux-gnu.deb","size":5112436,"format":{"short":"DEB","long":"Debian/Ubuntu package","tool":"dpkg -i"},"sums":[{"algo":"BLAKE3","sum":"96b9f6cc282b538f5b0b6cf63f352a098a5c1b3a782cec4579cae64d414e0df1"},{"algo":"SHA512","sum":"31ab39209d353942f9234547569a72089505e981495ddda197327ebe9731e03aa3e632f655086068fc2e56c4bf2f5c882e0b44f0dd88c8353c9ac7ae96c0f875"}],"cats":["Linux","AArch64","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-aarch64-unknown-linux-gnu.rpm","filename":"watchexec-1.18.0-aarch64-unknown-linux-gnu.rpm","size":5582509,"format":{"short":"RPM","long":"RedHat/Centos/Fedora package","tool":"dnf localinstall"},"sums":[{"algo":"BLAKE3","sum":"e8b0836cf432fd89801721821621754a164eebbf0935c90e54aa9ca380837814"},{"algo":"SHA512","sum":"5ff609cf59d0526b4990052db4fbf74dea7cef643efacf456ce6e86500959717947c708c8bc65927d4ec211a9d83f5310d23dc6bf949af19dc3a9481d7ef455b"}],"cats":["Linux","AArch64","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-aarch64-unknown-linux-gnu.tar.xz","filename":"watchexec-1.18.0-aarch64-unknown-linux-gnu.tar.xz","size":5062220,"format":{"short":"XZ","long":"Xzipped tarball","tool":"tar xJf"},"sums":[{"algo":"BLAKE3","sum":"1df7a908c91a23d1b3b7ac36f045e32c1f8aafd33beb276ada8c0a75174baebd"},{"algo":"SHA512","sum":"5870c8577eecbc6e3d709ff1fc52af2c98d3457f9ee05d44016a02508efb39a57c31aabe14903fc594309a4a00c78b1944306e94f4e875c085cd835ee919825f"}],"cats":["Linux","AArch64","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-aarch64-unknown-linux-musl.deb","filename":"watchexec-1.18.0-aarch64-unknown-linux-musl.deb","size":5280680,"format":{"short":"DEB","long":"Debian/Ubuntu package","tool":"dpkg -i"},"sums":[{"algo":"BLAKE3","sum":"13466e8818aff6d1a583e807724da07f8cd422610276ac543de8c54c9212ff4e"},{"algo":"SHA512","sum":"ae4f5e4dac8312cbb3f3e21622e1c223db8b64cc0ae075afd108351bf95da474f3dd63dfa80ef7c07295761280c3950a84b2bd3e007306961045a107ed3e4045"}],"cats":["Linux","AArch64","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-aarch64-unknown-linux-musl.rpm","filename":"watchexec-1.18.0-aarch64-unknown-linux-musl.rpm","size":5759185,"format":{"short":"RPM","long":"RedHat/Centos/Fedora package","tool":"dnf localinstall"},"sums":[{"algo":"BLAKE3","sum":"ff5dac9103660659c9a067c3e1d6ca092ac56be3e515e3f0bc2e7c8d5f5b3c77"},{"algo":"SHA512","sum":"a29904bc5131b283e3fe50720a4fca6a3235f04c134f6d4e6695267719c723b5589cc84ae9ea44b76e4f64e2b41fb236d7fdc3bd31d6a655cddbc7e3410b5740"}],"cats":["Linux","AArch64","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-aarch64-unknown-linux-musl.tar.xz","filename":"watchexec-1.18.0-aarch64-unknown-linux-musl.tar.xz","size":5232144,"format":{"short":"XZ","long":"Xzipped tarball","tool":"tar xJf"},"sums":[{"algo":"BLAKE3","sum":"3cf451d6890efdeff26458445f62f48ff145237e7d791547eee0a6a81e317fa3"},{"algo":"SHA512","sum":"f9d5466f26e0ca3844f2a2a3ce0bcaa1a6404c2f5577b2de5dc62809b034af5dda0e7a39a0667c51cd58a7a13a18fa791b04fefd35361749032ee3fde684ee13"}],"cats":["Linux","AArch64","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-armv7-unknown-linux-gnueabihf.deb","filename":"watchexec-1.18.0-armv7-unknown-linux-gnueabihf.deb","size":5264136,"format":{"short":"DEB","long":"Debian/Ubuntu package","tool":"dpkg -i"},"sums":[{"algo":"BLAKE3","sum":"f6c4a62c12f4694ffc86c745bc79708683791d7febb6581608e31d63834c708f"},{"algo":"SHA512","sum":"ec9c2fbf811199c44c058d61da05e26e98747435224fde669a808ad0fbbfe34caf29f76dd9dbd514e222d2b79fe9c5e4b377cf21f9899d1b0ed2cec508d0065b"}],"cats":["Linux","ARMv7 HF","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-armv7-unknown-linux-gnueabihf.rpm","filename":"watchexec-1.18.0-armv7-unknown-linux-gnueabihf.rpm","size":5770249,"format":{"short":"RPM","long":"RedHat/Centos/Fedora package","tool":"dnf localinstall"},"sums":[{"algo":"BLAKE3","sum":"00e9957cbd60ccc8aa1d97570081d087460792294ec558bf8bb8c90a0b78d56d"},{"algo":"SHA512","sum":"ffa05bdf96282b5de4ad3bbc4ec0a72d18957947d8c4be8e20e225d0a25bc2dd9011a6b33c284cbf1cef5ca5657294c549bdbaad3cad8759fde3eb63207c2a4a"}],"cats":["Linux","ARMv7 HF","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-armv7-unknown-linux-gnueabihf.tar.xz","filename":"watchexec-1.18.0-armv7-unknown-linux-gnueabihf.tar.xz","size":5212076,"format":{"short":"XZ","long":"Xzipped tarball","tool":"tar xJf"},"sums":[{"algo":"BLAKE3","sum":"9a98c695284b056de08c3f9fae53889cec0114c48c92006ece4ce9aefae04fac"},{"algo":"SHA512","sum":"699a67d47b003896a67f9aeda9fcd7adf2c47c4d2e4af592ee9ccc0c7033a3323564ac17bc83981bd6cf4777984e5a231812ba7769f358b9471837a890a48471"}],"cats":["Linux","ARMv7 HF","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-i686-unknown-linux-musl.deb","filename":"watchexec-1.18.0-i686-unknown-linux-musl.deb","size":7980480,"format":{"short":"DEB","long":"Debian/Ubuntu package","tool":"dpkg -i"},"sums":[{"algo":"BLAKE3","sum":"c9ce5e9dae2e6fb606e8a6284360577b4e8a93897dc6d10349bfc62095015b35"},{"algo":"SHA512","sum":"69855043b96487a37f781fd3470b81572cea8efb1f6e80f92ecfa705627ee98abb879a9de175f53067f7754802f401fc8dbafe10badb6d5a940e95372543c8d4"}],"cats":["Linux","x86","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-i686-unknown-linux-musl.rpm","filename":"watchexec-1.18.0-i686-unknown-linux-musl.rpm","size":8111393,"format":{"short":"RPM","long":"RedHat/Centos/Fedora package","tool":"dnf localinstall"},"sums":[{"algo":"BLAKE3","sum":"d78cc3b23e6f8e70efa3ba74ca8577efa7520cd515aee121893305f55737902b"},{"algo":"SHA512","sum":"a72b1d0e26decc38282f70c131506b139916ae15155df2d5cb958c97c856dbd0429bca7ed3835fe11a56c1b7180ec07f5ad52dcf6d968a29102f6a81b67a8d8a"}],"cats":["Linux","x86","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-i686-unknown-linux-musl.tar.xz","filename":"watchexec-1.18.0-i686-unknown-linux-musl.tar.xz","size":7976140,"format":{"short":"XZ","long":"Xzipped tarball","tool":"tar xJf"},"sums":[{"algo":"BLAKE3","sum":"2503204f6b8b72a63e5ccf60832318645bcb5cd90acfcb697985766cd3821039"},{"algo":"SHA512","sum":"ebe4ad8906b3d26ef4da1b33899095b731c89f8a9bddab19b92a1613671ffef0feaa3b140981107f9b49b44b61b99dc0de301158ae1deda6c52003505df1d03e"}],"cats":["Linux","x86","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-x86_64-unknown-linux-gnu.deb","filename":"watchexec-1.18.0-x86_64-unknown-linux-gnu.deb","size":8025348,"format":{"short":"DEB","long":"Debian/Ubuntu package","tool":"dpkg -i"},"sums":[{"algo":"BLAKE3","sum":"42f4f22b2f3ea75b0b8c7117db540bdc8b26c2ecb236038a548105602e786075"},{"algo":"SHA512","sum":"bd926ee83d087329fe0d47917ea62ba322b6c59b1d696dc9e018cf5729ef3f59eaea1ad5c0091915081e02425afb4b16a6a83a128adf4177c8ebb7a474daf3bd"}],"cats":["Linux","x86-64","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-x86_64-unknown-linux-gnu.rpm","filename":"watchexec-1.18.0-x86_64-unknown-linux-gnu.rpm","size":8160491,"format":{"short":"RPM","long":"RedHat/Centos/Fedora package","tool":"dnf localinstall"},"sums":[{"algo":"BLAKE3","sum":"3840a84e78474682e775b52610234c1e4523f9e9389ef2b1245bd2635518b413"},{"algo":"SHA512","sum":"c4510cf5fef2f7d53ccc365d678d954934b3b1319f9a93317c3fce8dafe22b48a340fa68dc1462696a853a8ee93379f1dd7141a469c2b10ab352eefa5e760e8b"}],"cats":["Linux","x86-64","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-x86_64-unknown-linux-gnu.tar.xz","filename":"watchexec-1.18.0-x86_64-unknown-linux-gnu.tar.xz","size":8020664,"format":{"short":"XZ","long":"Xzipped tarball","tool":"tar xJf"},"sums":[{"algo":"BLAKE3","sum":"04512f03ba1abd8b6c11d9fa1c67e6c04cf863b7c35bc6612bcdfbf303bf9bff"},{"algo":"SHA512","sum":"f4d349f0f3cfd0b4c5a5a7333f1668e3bc58807f741f8e3de9d3043ae86f3ffe6d41461b122c00ba43e85cb3aa50cfb7e611e67f84a895d3b1e10fb8a8bd519b"}],"cats":["Linux","x86-64","glibc"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-x86_64-unknown-linux-musl.deb","filename":"watchexec-1.18.0-x86_64-unknown-linux-musl.deb","size":7859984,"format":{"short":"DEB","long":"Debian/Ubuntu package","tool":"dpkg -i"},"sums":[{"algo":"BLAKE3","sum":"57b13415c6e7bacdb01fdb25bae841db68a76c574b7f73c0d46c5ea515209012"},{"algo":"SHA512","sum":"0c8a14d985d0fbcea9af17aa64c5c5bbd137c99b12fdef2d371f51e2d7ab5cb5601ea6666d694f6470db7bd042ada4b5b9253b2de15cc0799e79bd7d611983ed"}],"cats":["Linux","x86-64","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-x86_64-unknown-linux-musl.rpm","filename":"watchexec-1.18.0-x86_64-unknown-linux-musl.rpm","size":7988629,"format":{"short":"RPM","long":"RedHat/Centos/Fedora package","tool":"dnf localinstall"},"sums":[{"algo":"BLAKE3","sum":"e476bf012f6d9e56146315359df605b4c256db4cc0adb6c0c820b437c217ece3"},{"algo":"SHA512","sum":"d26719c94052e3aa23bea51a9857af28ba75d62a75c5fd92d57e1c4ff1e022228383d58299f3e38b8c74f4aa9f70fa76abcde3379e56d2e3a0970626d9a0f1c3"}],"cats":["Linux","x86-64","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-x86_64-unknown-linux-musl.tar.xz","filename":"watchexec-1.18.0-x86_64-unknown-linux-musl.tar.xz","size":7856228,"format":{"short":"XZ","long":"Xzipped tarball","tool":"tar xJf"},"sums":[{"algo":"BLAKE3","sum":"9d9d9641bd56e68a4e01c87a9787dcd3363751b2f11ea3de5b3cbdda17dd6409"},{"algo":"SHA512","sum":"f5e4c54e00fa672253aca4898c346bd987191f61584c8dbce70133f63d075a6359eb569b738d422f4cc92311f0c82b79b5ab7904f4d6ab7ad655d51b543e4ce2"}],"cats":["Linux","x86-64","musl"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-x86_64-pc-windows-msvc.zip","filename":"watchexec-1.18.0-x86_64-pc-windows-msvc.zip","size":2155352,"format":{"short":"Zip","long":"Zipped folder","tool":"unzip"},"sums":[{"algo":"BLAKE3","sum":"a034fdc9543eac7ffc8b3054de552ee385ae1c4cbc7deceb5391ffd3155b2021"},{"algo":"SHA512","sum":"fcfa59881b75da289208b53d0b728e7e37858171faecfc02786ae5322c71435b59123883cbfc38ffa644d04a19c54cd4d6497a3d6f97fb6a234aede3dcab2b69"}],"cats":["Windows","x86-64","MSVC"]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-aarch64-apple-darwin.tar.xz","filename":"watchexec-1.18.0-aarch64-apple-darwin.tar.xz","size":1118684,"format":{"short":"XZ","long":"Xzipped tarball","tool":"tar xJf"},"sums":[{"algo":"BLAKE3","sum":"fbe6db5f8fe13f399668b2a6d9e4582bf77336e477e758ea11ae6164125f4583"},{"algo":"SHA512","sum":"2ddc66174d57ad1eeee2d14b3788e57b2f1f35b3d5ca0d14555cb9150e84c9dcf563269e474f4359042699b8a836d89c07179331c32e103de887fd41b125a76f"}],"cats":["macOS","AArch64",null]},{"url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/watchexec-1.18.0-x86_64-apple-darwin.tar.xz","filename":"watchexec-1.18.0-x86_64-apple-darwin.tar.xz","size":1281992,"format":{"short":"XZ","long":"Xzipped tarball","tool":"tar xJf"},"sums":[{"algo":"BLAKE3","sum":"9971681654f2983dbce82f3ca14d488622ebcaadab4c4f51c67422b9bdff09f7"},{"algo":"SHA512","sum":"7e1d8906addb3efe2d4da9225dc817fbbc87bd4b9003ec8833bd3ec289fe788df481d8b339cf22461f6c782f761c38a1af542271ee9e916d263a17a3ebed857b"}],"cats":["macOS","x86-64",null]}],"sums":[{"algo":"BLAKE3","url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/B3SUMS","signs":[{"sign_url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/B3SUMS.auto.minisig","key_url":"https://raw.githubusercontent.com/watchexec/watchexec/cli-v1.18.0/.github/workflows/release.pub","name":"Automated signature"},{"sign_url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/B3SUMS.passcod.minisig","key_url":"https://passcod.name/keys/software.pub","name":"Félix’s signature"}]},{"algo":"SHA512","url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/SHA512SUMS","signs":[{"sign_url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/SHA512SUMS.auto.minisig","key_url":"https://raw.githubusercontent.com/watchexec/watchexec/cli-v1.18.0/.github/workflows/release.pub","name":"Automated signature"},{"sign_url":"https://github.com/watchexec/watchexec/releases/download/cli-v1.18.0/SHA512SUMS.passcod.minisig","key_url":"https://passcod.name/keys/software.pub","name":"Félix’s signature"}]}]}