0.64.0

Schniz/fnm0.64.0Jun 15, 2025by github-actions[bot]

AI Summary

Difftastic 0.64.0 adds Verilog support, updates tree-sitter parsers, and migrates allocation from MiMalloc to Jemalloc.

Key Highlights

  • Updated parsers for Erlang, F#, Gleam, Pascal, and Swift
  • Added Verilog and SystemVerilog support
  • Switched from MiMalloc to Jemalloc
  • Stricter file detection for compression types

Breaking Changes

  • Prebuilt binaries require newer glibc version

New Features

  • Verilog and SystemVerilog support

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

Updated to the latest tree-sitter parser for Erlang, F#, Gleam, Pascal and Swift.

File detection is now stricter for UTF-8, and recognises more compression file types as binary (e.g. zstd or bzip2).

Added support for Verilog and SystemVerilog.

### Build

CI on GitHub now uses Ubuntu 22.04 for Linux builds (previously Ubuntu 20.04), so prebuilt binaries will require a newer glibc version to run.

### Internal

Difftastic has switched from MiMalloc to Jemalloc for allocation. This is modest performance regression (up to 20% longer runtime in testing). Jemalloc is currently easier to build (see issue #805) and has fewer pathological performance corner cases.