0.58.0
Wilfred/difftastic0.58.0May 11, 2024by github-actions[bot]
AI Summary
Changes the default behavior for line endings, introduces a man page, and improves performance while fixing crashes.
Key Highlights
- `--strip-cr` now defaults to `on`.
- Added a man page (difft.1).
- Improved performance and fixed a memory leak.
- Fixed crash when terminal width could not be detected.
Breaking Changes
- `--strip-cr` now defaults to `on`.
New Features
- Added a man page.
Full Release Notes
Difftastic is a structural diff tool that understands syntax. See [the manual](https://difftastic.wilfred.me.uk/) to get started, and [the changelog](https://github.com/Wilfred/difftastic/blob/master/CHANGELOG.md) for historical changes. ### Parsing Difftastic now preserves tree-sitter parse tree structure on parse error nodes. This reverts the flattening behaviour introduced in 0.38. Preserving structure tends to produce better diffs, although it increases the risk that difftastic will show fewer changes in the presence of parse errors. Since difftastic is now conservative with parse errors (DFT_PARSE_ERROR_LIMIT is 0 by default), this seems like a better tradeoff. Updated C, C++, CMake, CSS, Elm, Go, Lua and Python parsers. ### Diffing `--strip-cr` now defaults to `on`, so comparing a file with CRLF endings with a file with unix line endings will not show spurious changes. ### Documentation Difftastic now has a man page, see the `difft.1` file. ### Performance Fixed a memory leak and improved performance in some cases. ### Command Line Interface Fixed a crash when difftastic could not detect the terminal width, such as inside eshell. Difftastic now also considers $COLUMNS when detecting the terminal width.