Tags: stackmystack/tsdl
Tags
Release v3.0.0
- **selfupdate**: Add version selection via `patch`, `minor`, `major`, or explicit semver argument - ([...](...))
- `tsdl selfupdate` defaults to `minor` (same as before).
- `tsdl selfupdate patch` / `minor` / `major` filters compatible releases.
- `tsdl selfupdate 2.5.0` installs an exact version with downgrade confirmation.
- Artifact (wasm, dylib, so) discovery is now exact except for custom `script`
builds.
The display backend moved to ratatui. The information displayed are more
informative and more coherent.
- **cache**: Parser builds that track moving refs such as `HEAD` or branches now
notice when those refs move and rebuild the affected parsers. The parser cache
format changed for this major release and older cache files are not migrated.
- Downloaded `tree-sitter` cli are now verified upon download (no crypto).
- **lock**: Use OS-level build locks to avoid concurrent lock acquisition races,
and replace `--unlock` with an interactive SIGTERM takeover flow controlled by
`--unlock-timeout`.
- **shutdown**: Handle `SIGTERM`/`SIGINT` gracefully by terminating running build
command process groups before releasing the build lock.
- **install**: Avoid replacing existing output files unless they are already the
same file, have identical contents, or `--force` is used; replacements are now
installed through visible temporary hardlinks.
- `--jobs` is a strictly positive number now.
- `tsdl` now fails on repos with no `grammar.js`.
- `tsdl config default` and `tsdl selfupdate` no longer :
- crash on malformed configs,
- write any logs _unless_ `--log` is explicitly set.
- Cycling through `--target` values `{all,native,wasm}` would not invalidate the
cache for artifacts built in the previous calls. This used to happen:
```sh
tsdl build --target native # cache says native
tsdl build --target wasm # cache says wasm
tsdl build --target native # cache misses
```
- Bumped to rust 2024
Release v1.3.0 <!-- 1 -->Features - From env vars if cmd args are not present (b693719) <!-- 2 -->Bug Fixes - When a parser was not correctly cloned in a previous run (b976d87) - Clean, clone, then build if remote definition changes (62375ae) <!-- 4 -->Documentation - Add README.md to the crate's documentation (8d25198) - Use markdown_to_docs to properly display in docs.rs (e980e99) <!-- 5 -->Other - Style (8bfc86b) - Remove unnecessary reference (1e5f8d1)
Release v1.2.1 <!-- 2 -->Bug Fixes - --tree-sitter-version sha1 (a611f94) - Create dir if --log specifies a path (1d88722) - Remove tree-sitter-cli gz (69af2a4) <!-- 4 -->Documentation - Remove wrong description for build command (c73f096) <!-- 5 -->Other - Add typos checker (70cd5ce) - Check that tree-sitter-cli exists and is executable (5abb1a5) - Check downloaded tree-sitter-cli version (362dc5c) - Verify multiparser with cmd (35e8442)
Release v1.2.0 <!-- 1 -->Features - Add selfupdate command and fetch from github releases (a0832d8) <!-- 2 -->Bug Fixes - Use reqwest instead of curl or wget (76ac6c9) - Use rust to set executable permissions (a36e1d9) - Use async-compression instead of the gunzip binary (de16590) - Lint and test before releasing (bc5aa6c) <!-- 4 -->Documentation - More information on config file and overriding parser.toml (dcafb2c)