Release Highlights
Optimization: built-in Node.js zlib library
CRC32 checksum calculation and Zstd decompression of zip archives now use Node.js' built-in zlib library. Node.js v24+ (and Bun v1.3.13+) use zlib-ng, which can take advantage of SIMD acceleration when possible for your CPU. That is to say, you should see a measurable speed improvement, and it is likely to improve over time.
The built-in Zstd support did require dropping support for Node.js v20, which reached the end of security update support on April 30th, 2026.
Fix: CD-ROM CHDs with disc merging
There was a bug with the --merge-discs option where CD-ROM CHDs were deemed "incomplete" and would not have been written to the output directory. This would have also incorrectly cleaned existing CD-ROM CHDs in the output directory. This has been fixed.
All changes
21 June 2026 - b802bb8 - v5.2.0 (#2316)
21 June 2026 - dac21c7 - CI: don't install libsdl2, libsdl2-ttf (#2315)
21 June 2026 - b699e0e - Chore: Bump js-yaml from 4.1.1 to 4.2.0 (#2314)
21 June 2026 - 1f69303 - Fix: match .cue/.bin CHDs for merged multi-disc games (#2312)
20 June 2026 - 77619e9 - Refactor: progress bar redraw optimizations (#2313)
20 June 2026 - 6c5f494 - Chore: Bump undici from 6.26.0 to 6.27.0 (#2310)
20 June 2026 - dce2e5a - Docs: add security policy (#2311)
20 June 2026 - 4e712ec - Chore: Bump vite from 8.0.14 to 8.0.16 (#2309)
20 June 2026 - 9f618b0 - Chore: update actions/checkout action to v7 (#2308)
19 June 2026 - ae1cd06 - Refactor: replace 'crc-32' with native zlib (#2303)
19 June 2026 - 20538bf - Chore: update dependency which to v7 (#2307)
19 June 2026 - a496613 - Chore: update dependency eslint-plugin-jsdoc to v63 (#2305)
19 June 2026 - 7307310 - Chore: update dependency node-gyp to v13 (#2306)
19 June 2026 - 8064f0e - Chore: update Node.js to v26.3.1 (#2302)
19 June 2026 - c6ee068 - Refactor: use native zstd decompressor (#2304)
17 June 2026 - e2a03ad - Chore: update Scoop manifest to v5.1.2 (#2301)