Releases: stackmystack/tsdl
Releases · stackmystack/tsdl
Release list
v3.0.0
[3.0.0] - 2026-08-10
Features
- selfupdate: Add version selection via
patch,minor,major, or explicit semver argument - (...)tsdl selfupdatedefaults tominor(same as before).tsdl selfupdate patch/minor/majorfilters compatible releases.tsdl selfupdate 2.5.0installs an exact version with downgrade confirmation.
Performance
- Artifact (wasm, dylib, so) discovery is now exact except for custom
script
builds.
UI/UX
The display backend moved to ratatui. The information displayed are more
informative and more coherent.
Changed
- cache: Parser builds that track moving refs such as
HEADor 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-sittercli are now verified upon download (no crypto).
Bug Fixes
- lock: Use OS-level build locks to avoid concurrent lock acquisition races,
and replace--unlockwith an interactive SIGTERM takeover flow controlled by
--unlock-timeout. - shutdown: Handle
SIGTERM/SIGINTgracefully 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--forceis used; replacements are now
installed through visible temporary hardlinks. --jobsis a strictly positive number now.tsdlnow fails on repos with nogrammar.js.tsdl config defaultandtsdl selfupdateno longer :- crash on malformed configs,
- write any logs unless
--logis explicitly set.
- Cycling through
--targetvalues{all,native,wasm}would not invalidate the
cache for artifacts built in the previous calls. This used to happen:tsdl build --target native # cache says native tsdl build --target wasm # cache says wasm tsdl build --target native # cache misses
Maintenance
- Bumped to rust 2024
v2.0.0
[2.0.0] - 2026-02-20
This is a major rewrite, moving to a single-threaded async runtime, with actors.
(aacb30f)
Some of the things done are arguably unnecessary, granted, but also as always,
it's a serious project where I get to try and learn to do things at the same
time.
Some people call it fun, believe it or not …
Features
- cache: new Skips rebuilding when no changes are found
- lock: new
- Output dir - (5aeb1d7)
- cli: Tag each downloaded tree-sitter cli with its proper version - (a8987d9)
Bug Fixes
v1.5.0
[1.5.0] - 2025-04-08
Features
- target: Use --target [native, wasm, all] - (77f965e)
Bug Fixes
- cliff: Remove new contributors section - (f655e6c)
- release: Do not add a leading v when deducing version - (80a7993)
- tree_sitter: Avoid needless iteration - (c7b08cb)
[1.5.0]: https://github.com/stackmystack/tsdl/compare/v1.4.0..v1.5.0
v1.4.0
v1.3.0
[1.3.0] - 2024-11-21
Features
- config: From env vars if cmd args are not present - (b693719)
Bug Fixes
- build: Clean, clone, then build if remote definition changes - (62375ae)
- clone: When a parser was not correctly cloned in a previous run - (b976d87)
Documentation
- crate: Add README.md to the crate's documentation - (8d25198)
- tsdl: Use markdown_to_docs to properly display in docs.rs - (e980e99)
Other
New Contributors ❤️
- @dependabot[bot] made their first contribution in #11
[1.3.0]: https://github.com/stackmystack/tsdl/compare/v1.2.1..v1.3.0
v1.2.1
v1.2.0
1.2.0 - 2024-09-06
Features
- selfupdate: Add selfupdate command and fetch from github releases - (a0832d8)
Bug Fixes
- chmod: Use rust to set executable permissions - (a36e1d9)
- download: Use reqwest instead of curl or wget - (76ac6c9)
- gunzip: Use async-compression instead of the gunzip binary - (de16590)
- release.sh: Lint and test before releasing - (bc5aa6c)
Documentation
- readme: More information on config file and overriding parser.toml - (dcafb2c)
v1.1.0
v1.0.0
[1.0.0] - 2024-09-01
Other
- release: Prepare for v1.0.0