1.7 KiB
0.5 (unreleased)
Parsing
Fixed a crash on parsing non-ASCII source files.
Improved parsing for Rust punctuation.
Improved parsing for OCaml punctuation.
Improved parsing for # and . in Scheme and Emacs Lisp.
Diffing
Reduced memory usage when diffing.
Difftastic now highlights word-level changes between comments.
Docs
Improved --help.
Integration
It's now possible to use difftastic with git diff and git show!
0.4
Parsing
Improved parsing for Rust macro definitions and punctuation.
Improved parsing for OCaml punctuation, and added .mli as an OCaml
file extension.
Diffing
Diff calculation is now significantly faster.
Difftastic now considers nesting depth when comparing AST nodes, and tries to match nodes with similar nesting levels.
Difftastic now prefers marking multiple items on the same line as novel, rather than adjacent items on different lines. This helps avoid sliders, where the diff chooses a keyword on the 'wrong' side.
Fixed an issue where complex diffs would not display some unchanged lines.
Robustness
Fixed a crash when diff context included the first line.
Fixed a crash when plain text content contained certain non-ASCII characters.
0.3
Diffs are now displayed with unchanged lines aligned to the other side.
Improved Rust parsing to recognise lifetime syntax 'foo, character
literals 'x' and punctuation.
Improved punctuation parsing for OCaml and JS.
Fixed an issue where the diff calculated may not be minimal.
Fixed a crash on files with no changes.
0.2
First version using Dijkstra's algorithm for calculating diffs.
0.1
Experimenting with different implementation ideas.