0.67.0

Schniz/fnm0.67.0Nov 16, 2025by github-actions[bot]

AI Summary

Adds support for new programming language parsers like Protocol Buffers and Solidity, along with improvements to diffing logic and display width calculations.

Key Highlights

  • Added parsers for Protocol Buffers, Dart, SQL, and Solidity
  • Improved subword highlighting for hyphenated words
  • Smarter display width calculations for side-by-side diffs
  • Improved handling of shell variable names

New Features

  • Protocol Buffer support
  • Improved shell variable handling
  • Subword highlighting for words with hyphens
  • Improved binary file descriptions

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

Added support for protocol buffer files. Updated Ada, Clojure, CMake, Dart, Devicetree, Elisp, Elm, Gleam, HCL, Newick, QML, R, Racket, SQL, Scheme, and Solidity parsers.

Improved handling of variable names `$foo` in shell scripts.

Improved detection of YAML files.

### Diffing

Improved subword highlighting for words with hyphens.

### Display

Difftastic is now smarter about calculating the display width for side-by-side diffs. Long lines that are not included in the output no longer affect display.

Improved descriptions of changes to binary files.

Fixed an issue (introduced after 0.65) where difftastic would not use the full width of the terminal on side-by-side diffs when files had more than 1,000 lines.