Skip to content

Latest commit

 

History

History
193 lines (125 loc) · 9.18 KB

File metadata and controls

193 lines (125 loc) · 9.18 KB

Changelog

[Unreleased]

  • Release build are now optimized for size, gaining 50-60%.

[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

[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
    • Skip useless rebuilds and --force to override - (5910ad7)
    • Handle targets of --target=all - (2a0d445)
  • lock: new
  • cli: Tag each downloaded tree-sitter cli with its proper version - (a8987d9)

Bug Fixes

  • build: Generate file name with prefix and extension on build - (0e2a8b4)
  • build: Copy exact files, or best match when possible - (c1cce92)
  • build: --force = --fresh when installing - (55b07a4)
  • display: Integer math - (42ad2d0)

[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)
  • Add support for --target:
    • native for native shared libraries, dylib or so (default).
    • wasm for web assembly.
    • all for all of the above.

[1.4.0] - 2025-03-22

Features

  • clone: Always clone to tree-sitter-{language} dir - (daf6e36)

Other

[1.3.1] - 2025-01-28

Bug Fixes

  • cargo.toml: Specify markdown_to_docs version for proper publishing - (0b9d96a)

[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

  • markdown_to_docs: Remove unnecessary reference - (1e5f8d1)
  • Style - (8bfc86b)

Bug Fixes

  • build: --tree-sitter-version sha1 - (a611f94)
  • download: Remove tree-sitter-cli gz - (69af2a4)
  • log: Create dir if --log specifies a path - (1d88722)

Documentation

  • cli: Remove wrong description for build command - (c73f096)

Other

  • build: Check that tree-sitter-cli exists and is executable - (5abb1a5)
  • build: Check downloaded tree-sitter-cli version - (362dc5c)
  • build: Verify multiparser with cmd - (35e8442)
  • lint: Add typos checker - (70cd5ce)

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

[1.1.0] - 2024-09-04

Features

  • logging: Print to stderr and file when -v,-vv - (181cf77)

Documentation

  • changelog: Simplify and skip chore, refactor, and style commits - (dccf215)

Other

  • pr template: Remove the git-cliff message - (1507e3e)
  • test: Retry because some tests are flaky - (c44183b)

[1.0.0] - 2024-09-01

Features

  • tsdl: Working implementation