Popular: Data updated October 27, 2026

Categories

Internet1,356
Communication321
Audio & video898
Graphics & design539
Office & productivity1,124
Developer tools3,134
AI tools529
Security & privacy385
System tools3,114
Games523
Education & science239
Network & IT284

watchexec: all versions and old releases

Executes commands in response to file modifications

1 versions of watchexec are listed here, from August 24, 2026 to the current 2.7.0. Each one links to the publisher’s own installer files.

2026: 1 1 26
VersionDateSizeFiles
2.7.0Latest August 24, 2026 — 64-bit ZIPARM64 ZIP
Release notes
Watchexec now only traverses and watches directories that are expected to produce events (according to filter/ignore files and patterns). This means that if you have a very large directory tree, and 90% of it is gitignored, Watchexec will no longer go through and add watches to that 90% at all. Thus:
- startup in those cases should be much faster and less resource-intensive
- ongoing performance should also improve (as there will be vastly fewer events to process), though that may be less perceptible
The way this is achieved is by handling all directory traversal/recursion within Watchexec, instead of letting the Notify library handle it. This is a large amount of work and code, and it's expected that there will be new bugs as a result. However, this limitation was also the underlying source of a number of long-standing bugs, and I quite look forward to close some very old issues as a result.
:; hyperfine 'watchexec-2.7.0 -1 echo' 'watchexec-2.6.1 -1 echo'
Benchmark 1: watchexec-2.7.0 -1 echo
Time (mean ± σ): 158.9 ms ± 2.2 ms [User: 199.6 ms, System: 63.3 ms]
Range (min … max): 155.8 ms … 163.1 ms 18 runs
Benchmark 2: watchexec-2.6.1 -1 echo
Time (mean ± σ): 387.1 ms ± 2.4 ms [User: 157.5 ms, System: 366.3 ms]
Range (min … max): 382.0 ms … 390.0 ms 10 runs
Summary
watchexec-2.7.0 -1 echo ran
2.44 ± 0.04 times faster than watchexec-2.6.1 -1 echo
^{(The -1 option is a hidden test-only option which starts watchexec normally, runs the command, and exits.)}
On BSD, the kqueue backend has been disabled; those platforms will use polling instead. kqueue is not designed for this kind of thing, and using it thus has significant downsides, such as heavy kernel resource usage, as well as correctness bugs. FreeBSD 14 and up have native inotify support; Watchexec does not yet take advantage of this but will in the future (it comes in with Notify 9, which is currently in RC).
Watching a single file no longer stops watching it when it is replaced (#190). Similarly, though this is less common, if a folder being watched (using -W or -w) is deleted and recreated, Watchexec used to lose the watch and no longer produce events. That was because the watch was placed on the file (or folder) object, not on a pathname string, and replacing the object naturally makes the watch disappear along with the old version of the object. Watchexec now watches from one path segment above, so it can notice when a watch gets replaced; because it also does directory tree filtering, this is not significantly more expensive.

Most popular in Languages & SDKs

See all
  1. Go Programming LanguageAn open source programming language that makes it simple to build secure, scalable systems.
  2. LLVMA collection of modular and reusable compiler and toolchain technologies.
  3. DenoA modern runtime for JavaScript and TypeScript
  4. CMakeCMake is a cross-platform, open-source build system generator.
  5. YarnYarn is a package manager that doubles down as project manager. Whether you work on one-shot projects or large monorepos, as a hobbyist or an enterprise user, we've got you covered.
  6. CcacheCcache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.
  7. sbtA build tool for Scala, Java, and more
  8. BOINCOpen-source software for volunteer computing and grid computing.
  9. Dart SDKA set of tools and libraries for the Dart programming language.
  10. NVM for WindowsA node.js version management utility for Windows. Ironically written in Go.

Tags

Share