Difftastic is a structural diff tool that understands syntax. See the manual to get started, and the changelog 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.