Regression: -w, --watch was accidentally set to behave as -W (#828)
CLI v2.1.0
New: -W, --watch-non-recursive for watching paths without also watching subfolders.
New: out-of-tree git repositories are now detected (i.e. when .git is a file rather than a folder)
Logs are also improved slightly with less nonsense at startup.
CLI v2.0.0
This is the first breaking release. Most of it is cleaning up a number of deprecated options, and changing some defaults. The idea, however, is to start a new era of Watchexec releases, where breaking changes are allowed more easily (to give an idea of how breaking-change-averse the project has been: this release was planned in January 2022! and ever-delayed since).
Fear not! The cadence of breaking releases will be at most once or twice a year, and whenever possible a deprecation will precede a break by at least three months. Watchexec will remain a stable part of your workflow, while allowing ourselves some evolution.
Shell default changes to $SHELL when it is present. (#210)
Use --shell=sh to switch back if your $SHELL is something else.
Shell default changes to Powershell on Windows when Watchexec detects it is running in Powershell. (#80)
Use --shell=cmd to switch back to CMD.EXE, or set the SHELL environment variable.
A reminder that Windows 7 is not supported, and hasn't been for years.
--on-busy-update defaults to do-nothing now (was queue).
Events received while a command is running won't trigger a run of the command immediately following this one.
-W / --watch-when-idle is removed, as it is now the default.
The default for --stop-timeout is now 10 seconds.
--debounce, --delay-run, --poll, and --stop-timeout now prefer durations with a unit, and warn if given unit-less durations. The default units for these are millisecond for --debounce and --poll, and seconds for --delay-run and --stop-timeout, which is a source of confusion. Unit-less durations will be removed in a future breaking release.
--no-shell is removed.
Use --shell=none instead. The -n short option remains as an alias to --shell=none.
-k / --kill is removed.
Use --signal=KILL instead.
--changes-only is removed.
Use --print-events instead.
--emit-events-to defaults to none, and the environment mode is deprecated.
--emit-events-to no longer accepts stdin (deprecated alias for stdio) and json-stdin(deprecated alias for json-stdio).
--no-ignore is removed.
Use --no-project-ignore instead.
--no-environment is deprecated.
--clear=reset will reset the screen on graceful shutdown. (#797)
--no-process-group is deprecated.
Watchexec no longer warns (nor does anything else) when it sees the deprecated WATCHEXEC_FILTERER environment variable.
Improvements
New: --wrap-process=MODE lets you choose between using process groups, process sessions, or nothing at all. (#794)
New: the WATCHEXEC_TMPDIR environment variable can be used to customize where Watchexec will write temporary files, if for some reason your $TMPDIR is unwritable. (#814)
Fix: watchexec no longer creates a temporary file at startup. (#814)
Fix: the screen is no longer cleared on all events, only when starting a new process. (#809)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps ignore-files from 1.3.2 to 3.0.1.
Release notes
Sourced from ignore-files's releases.
... (truncated)
Commits
234d606
chore: Release77405c8
chore: Release6c23afe
feat: make it possible to watch non-recursively (#827)ee3795d
Bump softprops/action-gh-release from 2.0.3 to 2.0.4 (#823)eff96c7
feat(project-origins): add support for out-of-tree git repos (#826)a4df258
doc: fix --on-busy-update help text (#825)d388a28
ci: more build improvements (for next time)bb97f71
gha: probably the most frustrating syntax in the world953fa89
even better0ef8782
Run manpage and completions in release when we've already built in releasesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show