Skip to content

v3.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Aug 10:22
· 1 commit to master since this release

[3.0.0] - 2026-08-10

Features

  • 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.

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 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).

Bug Fixes

  • 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:
    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