Skip to content

v0.6.7

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Nov 18:53
· 382 commits to main since this release
74dc24e

Note: these release notes are not a comprehensive list of changes, just some that we thought are notable.

Performance

This release implements some performance improvements since we switched to using the Myers diff algorithm rather than the more naive DP-table approach (#192). This significantly reduces memory usage and allows you to run diffs on much larger files that would previously cause diffsitter to OOM. Profiling had shown that the biggest bottleneck in diffsitter was allocating memory in the previous release.

Features

We've also implemented support for dynamically loading grammars (#177), which should make this easier to package if you don't want to build diffsitter with the bundled grammars. Now you can build the tree-sitter grammars and have diffsitter load the shared library objects.

We also support a new fallback mode that allows you to set a command that will be invoked if diffsitter is called on an unsupported filetype, so you could invoke diff for a regular text diff if diffsitter can't parse the given files, for example (#212). This allows you to use diffsitter as a git diff handler.

Testing

We have more robust testing set up with cargo insta so it should be easier to add new tests and also test for regressions. We've also added more tests since the last release.