This is a release PR for **cli** to version **1.20.5**.
Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.
```
$ cd crates/cli
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
---
_Edit release notes into the section below:_
<!-- do not change or remove this heading -->
### Release notes
- Fix: mimalloc was set as the global allocator in the watchexec library, instead of leaving it to downstreams. (#369)
- Releng: s390x and ppc64le targets were added to be prebuilt. (#373)
This is a release PR for **cli** to version **1.20.4**.
Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.
```
$ cd crates/cli
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
---
_Edit release notes into the section below:_
<!-- do not change or remove this heading -->
### Release notes
- Remove CLI help tests. They'll be replaced with brand new integration testing that's not obnoxious. (#362, #363, #365)
- Fix the install filenames for first-party RPM packagings, and possibly for DEBs as well. (#292, #364)
Fixes#362
I've been working to remake the tests better / actually valuable but this is a quick "fix" for that issue... in any case help tests would have been gone anyway.
This is a release PR for **cli** to version **1.20.3**.
Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.
```
$ cd crates/cli
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
---
_Edit release notes into the section below:_
<!-- do not change or remove this heading -->
### Release notes
- Dependencies are set manually for first-party deb and rpm packages, so they should install without error. A note that these are provided on a best-effort basis and not tested; when available you should prefer your distribution's packaging. (#292, #358)
Co-authored-by: Félix Saparelli <felix@passcod.name>
This is a release PR for **cli** to version **1.20.2**.
Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.
```
$ cd crates/cli
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
This is a release PR for **cli** to version **1.20.1**.
Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.
```
$ cd crates/cli
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
- Fixes#345 (first crash, related to `RUST_LOG` being set)
- Adds multiple warnings when non-standard logging or build options are set
- Fixes the (internal) crate name of the cli so that the log target `watchexec_cli` works
- Fixes the verbosity config to target the actual crate names (snake vs kebab case)
- Fixes a usage error related to tracing's `log` compatibility
This is a release PR for **cli** to version **1.20.0**.
Upon merging, this will automatically build the CLI and create a GitHub release. You still need to manually publish the cargo crate.
```
$ cd crates/cli
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
This is a release PR for **filterer-tagged** to version **0.1.0**.
Upon merging, you will still need to manually publish the cargo crate.
```
$ cd crates/filterer/tagged
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
This is a release PR for **filterer-globset** to version **1.0.0**.
Upon merging, you will still need to manually publish the cargo crate.
```
$ cd crates/filterer/globset
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
This is a release PR for **filterer-ignore** to version **1.0.0**.
Upon merging, you will still need to manually publish the cargo crate.
```
$ cd crates/filterer/ignore
$ cargo publish
```
To merge this release, review the changes then say:
| bors r+ p=10 |
|:-:|
This is a release PR for **lib** to version **2.0.0**.
Upon merging, you will still need to manually publish the cargo crate.
```
$ cd crates/crates/lib
$ cargo publish
```
To merge this release, review the changes then say:
`bors r+ p=10`
Co-authored-by: Félix Saparelli <felix@passcod.name>
This is a release PR for **project-origins** to version **1.0.0**.
Upon merging, you will still need to manually publish the cargo crate.
```
$ cd crates/project-origins
$ cargo publish
```
To merge this release, review the changes then say:
```
bors r+
```
Solves several issues, generally through delivering signals before filesystem events, preventing situations where an overwhelming amount of events makes it impossible to quit.
Does _not_ solve the problem of a queue full of lower-priority events not accepting an urgent message, but that's a rarer issue that's more complicated to overcome.
Changes the Filterer trait: adds Priority to `check_event()`
Makes some events unfilterable (Urgent priority): SIGINT, SIGTERM, and CTRL_C to the main process. These still need to be handled by `on_action` to do anything, but cannot be stopped before reaching that.
This dependency cannot be sent between threads.
Instead use git-config which is a pure rust implementation to read git config files.
Uses the builtin values::Path struct to extract ignore paths.
It takes care of all the corner cases with how git interprets paths.
I did not realise that Cargo considers -pre.1 and -pre.2 to be
compatible, so the latest Notify prerelease broke all existing
releases, and whenever I release a new lib it may break all CLI
versions if the API changes.
That has a number of advantages:
- #193 the build.rs is only run for the CLI, so the Windows manifest is
not embedded in the library anymore, opening it up for downstreams.
- it sets the stage for decoupling the version numbers of the CLI and
library, to have the library increase its major more often, while the
CLI retains compatibility further… that is, to have both follow semver
- it removes the CLI-only dependencies from the library
- it makes compilation a bit faster as compiling the library and the
CLI's other dependencies can happen in parallel
One major disadvantage:
- installing via cargo changes from watchexec to watchexec-cli. Most
installs are from prebuilt and from packages, but that's still a
potential stumble.
And of course, the CLI APIs in the library are gone (they were already
deprecated, though).
We also take this opportunity to get rid of the clear_screen code and
use our new clearscreen library. #99#171#185