0.64.0
Wilfred/difftastic0.64.0Jun 15, 2025by github-actions[bot]
AI Summary
This release adds Verilog and SystemVerilog support, switches the memory allocator from MiMalloc to Jemalloc with a performance regression, and updates CI to Ubuntu 22.04 requiring newer glibc.
Key Highlights
- Added Verilog and SystemVerilog support
- Switched from MiMalloc to Jemalloc (up to 20% performance regression)
- CI now uses Ubuntu 22.04 (newer glibc required)
- Stricter file detection for UTF-8 and compression formats
- Updated tree-sitter parsers for Erlang, F#, Gleam, Pascal, Swift
Breaking Changes
- Performance regression of up to 20% due to memory allocator change
- Prebuilt binaries require newer glibc (Ubuntu 22.04 or equivalent)
New Features
- Verilog and SystemVerilog parsing support
- Recognition of zstd and bzip2 as binary files
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.