watchexec

Executes commands in response to file modifications

APACHE-2.0 License

Downloads
1.3K
Stars
5.2K
Committers
64

Bot releases are visible (Hide)

watchexec - CLI v1.20.2

Published by passcod over 2 years ago

  • Fix --restart (#346, #353)
  • Restore being able to use --signal with --restart (#353)
  • Have windows builds in releases again (#356)
  • Simplify logging levels, and make -v (info) more useful with actual, but sparse, information (#260, #354)
watchexec - CLI v1.20.1

Published by passcod over 2 years ago

  • Fix various crashes on start, mostly to do with option parsing (#345, #347, #348, #349, #350)
  • Fix initialisation of logging systems with error handling (being louder) and a less brute-force approach (#348)
  • Add runtime and --help warnings when running or building with non-standard options (#348)
  • Allow non-UTF8 argument values for paths (and --exts, as a "path fragment") (#345, #349, #350)
watchexec - CLI v1.20.0

Published by passcod over 2 years ago

Yanked on 2022-06-29

  • Watchexec should not refuse to quit if there are too many events anymore. (#302, lib 2.0.0)
  • The help text is reorganised in semantic sections rather than options/flags. (#304)
  • Verbose logs now may include even more logging (from third-party libraries). (#300)
  • All arguments must now be valid UTF-8. Previously the command and the -E flag would accept but silently discard invalid UTF-8, now watchexec errors on such input. (#317)
  • New --log-file option makes it easier to collect logs without polluting the screen. (#321)
  • New --delay-run option adds a configurable sleep before running the command. A native, cross-platform alternative to sleep N; command...! (#79)

Additionally, some repo changes:

  • PRs are now exclusively merged by Bors, and pushing directly to main is not allowed.
  • There's a PR-based (and thus Bors-assisted) release workflow, rather than initiating releases from a local checkout. For example, this release was made with PR #337.
  • Github Discussions are enabled, and should be used for asking questions, discussing the project or features, and comments on releases. Feature requests and bug reports should go to the Issues as before.
    • One exception is discussion of "Known Issues", which has its own topic to keep the Issues list focused on discrete problems.
  • The scheme for releases has changed slightly: only CLI releases will show up in GitHub releases, so the /latest link will always point to the last CLI release; the library and other crates now have their own, file-based CHANGELOG.md.

Not directly related to the CLI, but the library 2.0.0 version has now been released as stable! Full semver applies again.

Known issue with some packages: DEB and RPM packages may be missing dependencies due to being auto-generated instead of lovingly handcrafted. Prefer distributions from packagers rather than these ones, which are just provided on an ad-hoc, if convenient, as-is, basis.

watchexec - CLI v1.19.0

Published by passcod over 2 years ago

  • Decrease default debounce timeout to 50ms (#168).
  • Add notice that the --shell default will be changing on Unix (#210).
  • New option --project-origin provides an override which can be useful when the project origin is misdetected, or if you want to stop watchexec from looking for ignore files in (some) parent directories (#246).
  • New option --workdir sets the command's working directory independent of Watchexec's.
  • New option --env (short: -E) adds environment variables to the command without affecting Watchexec itself.
watchexec - CLI v1.18.12

Published by passcod over 2 years ago

  • We no longer depend on libgit2 (#267)
  • Project origin resolution will no longer consider the home directory unless explicitly requested (#277)
watchexec - Lib v2.0.0-pre.14

Published by passcod over 2 years ago

  • Replace git2 dependency by git-config (#267). This makes using the library more pleasant and will also avoid library version mismatch errors when the libgit2 library updates on the system.
watchexec - CLI v1.18.11

Published by passcod over 2 years ago

  • Bugfix: missed failure condition in project origin resolution (#271)
watchexec - CLI v1.18.10

Published by passcod over 2 years ago

  • Find project origin for all paths, including implicit . when no -w are passed. (#270)
watchexec - CLI v1.18.9

Published by passcod over 2 years ago

  • Partial revert of last release to fix a critical bug on Mac (#269)
watchexec - Lib v2.0.0-pre.13

Published by passcod over 2 years ago

Revert backend switch on mac from previous release. We'll do it a different way later (#269)

watchexec - CLI v1.18.8

Published by github-actions[bot] over 2 years ago

  • Upgraded to Notify pre.14
  • Internal change: kqueue backend is used on mac. This should reduce or eliminate some old persistent bugs on mac, and improve response times, but please report any issues you have!
  • Both the library's version and the CLI version are now reported in the -v logs
  • The library version is now specified with an exact (=) requirement, to avoid breakage
  • Documentation: ordering and deduplication in *_PATH variables (#262)
watchexec - Lib v2.0.0-pre.12

Published by passcod over 2 years ago

  • Upgraded to Notify pre.14
  • Internal change: kqueue backend is used on mac. This should reduce or eliminate some old persistent bugs on mac, and improve response times, but please report any issues you have!
  • Watchexec::new() now reports the library's version at debug level
  • Notify version is now specified with an exact (=) requirement, to avoid breakage (#266)
watchexec - CLI v1.18.7

Published by github-actions[bot] over 2 years ago

  • Restored behaviour of */file filters matching file (1.17 compat) on unix. Note that this is incorrect behaviour that will go away for real in 2.0.
  • Restored behaviour of the combination of --exts and --filter (1.17 compat). This will stay.
  • Improved help text for inotify errors on Linux.
watchexec - Lib v2.0.0-pre.11

Published by passcod over 2 years ago

  • New error::FsWatcherError enum split off from RuntimeError, and with additional variants to take advantage of targeted help text for known inotify errors on Linux
  • Help text is now carried through elevated errors properly
  • Globset filterer: extensions and filters are now cooperative rather than exclusionary. That is, a filters of ["Gemfile"] and an extensions of ["js", "rb"] will match both Gemfile and index.js rather than matching nothing at all. This restores pre 2.0 behaviour.
  • Globset filterer: on unix, a filter of */file will match both file and dir/file instead of just dir/file. This is a compatibility fix and is incorrect behaviour which will be removed in the future. Do not rely on it.
watchexec - CLI v1.18.6

Published by github-actions[bot] over 2 years ago

  • Paths in WATCHEXEC_*_PATHs are deduplicated (#253)
  • If the filesystem watcher fails to instantiate, Watchexec will error and stop. (#251)
  • Runtime errors are pretty-printed
  • Bugfix: global ignores would not be loaded if the working directory wasn't a VCS (Git etc) project (#255)
  • Reverted change from 1.18.0: .git folders (and so on for other VCS) are ignored by default regardless of whether the watched project is detected as Git (and so on).
watchexec - Lib v2.0.0-pre.10

Published by passcod over 2 years ago

  • The on_error handler gets an upgraded parameter which lets it upgrade (runtime) errors to critical.
  • summarize_events_to_paths now deduplicates paths within each variable.
watchexec - CLI v1.18.5

Published by github-actions[bot] over 2 years ago

  • A file event in --on-busy-update=queue mode no longer prevents watchexec from quitting with Ctrl-C (#247)
  • The internal event queue is processed more efficiently, reducing the incidence of "no more capacity" errors (#241)
  • Sometimes a spurious "I/O error 10" or "no such process" error was emitted after hitting Ctrl-C, this is no more (#247)
watchexec - Lib v2.0.0-pre.9

Published by passcod over 2 years ago

  • Action, PreSpawn, and PostSpawn structs passed to handlers now contain an Arc<[Event]> instead of an Arc<Vec<Event>>
  • Outcome processing (the final bit of an action) now runs concurrently, so it doesn't block further event processing (#247, and to a certain extent, #241)
watchexec - CLI v1.18.4

Published by github-actions[bot] over 2 years ago

  • Meta: there are now issue templates to guide people into including debug logs
  • Urgent fix for critical bug #247 introduced in 1.18.3 (which has been yanked)
watchexec - Lib v2.0.0-pre.8

Published by passcod over 2 years ago

  • Fix: globset filterer should pass all non-path events (#248)