github emmercm/igir v5.4.1

4 hours ago

Release Highlights

This release addresses several bugs reported by the community. As a reminder, you too can report bugs by opening a new GitHub issue! Detailed bug reports help make Igir more stable for everyone.

Fix: copying .zip archives with excess file entries

Igir has an optimization that if a zip file in the input directory is already correct, it will just copy the file as-is to the output. There was a bug where input .zip files with excess file entries were being copied even though --allow-excess-sets wasn't being provided. This has been fixed.

Fix: not requiring MAME CHD disks to be in the ROM zip

MAME expects CHD disks to be uncompressed and in a location relative to the ROMs. There was a bug where Igir was preferring that CHD disks be in ROM zips, but they shouldn't ever be. Thank you @dariaambrose for the report!

Fix: legal POSIX filename characters

Igir was replacing filename characters that are illegal for Windows but legal for POSIX regardless of the OS. POSIX systems now preserve almost all filename characters. Thank you @pasnox for the report!

Fix: TorrentZip filename sorting validation

v5.3.0 introduced a bug where filenames within TorrentZip archives were not being validated correctly, telling users that some written files were invalid even though they weren't. Thank you @synthic for the report!

Fix: CRC32 padding for .gz and .rar archives

CRC32 checksums read from .gz trailers and .rar headers were not being zero-padded to the correct string length, preventing some file entries from being matched correctly and giving false-positive errors during testing. Thank you @quicksteps529 for the report and @yhay81 for the diagnosis!

All changes

3 September 2026 - ab075f3 - v5.4.1 (#2464)
3 September 2026 - 7bb76e7 - Chore: Bump fast-uri from 3.1.5 to 3.1.7 (#2462)
3 September 2026 - 9c6610f - CI: commit as github-actions[bot] for automated commits (#2463)
3 September 2026 - 58ab1bd - CI: move zizmor to the lint GitHub Actions workflow (#2459)
3 September 2026 - 972b885 - CI: attempt to merge mergeable=UNKNOWN PRs in queue (#2461)
3 September 2026 - b03ecb0 - Chore: update dependency @types/bun to v1.4.0 (#2441)
3 September 2026 - 26275b2 - CI: attempt to merge mergeable=UNKNOWN PRs in queue (#2460)
3 September 2026 - 7db9ab8 - Fix: don't scan the temp directory for ROMs (#2455)
3 September 2026 - f0e4a09 - CI: attempt to merge mergeable=UNKNOWN PRs in queue (#2458)
2 September 2026 - c9e7954 - Fix: don't require CHD disks to be in the optimal archive (#2454)
2 September 2026 - 51711f2 - Fix: don't print blank lines in the debug log (#2453)
2 September 2026 - 0b9592c - Fix: don't raw-copy zip archives with excess entries (#2452)
2 September 2026 - 34a31c8 - Refactor: log DAT URL download failures (#2450)
2 September 2026 - 510f124 - Fix: don't replace legal POSIX filename characters (#2451)
2 September 2026 - 97bc8f4 - CI: fix re-actors/alls-green tag comment (#2449)
1 September 2026 - 39b6cca - CI: increase test timeouts (#2448)
1 September 2026 - fca9481 - CI: don't update auto-merging PRs with many failing checks (#2447)
1 September 2026 - 94de30d - Chore: update Node.js to v26.8.0 (#2443)
1 September 2026 - 8261565 - Chore: update ScoopInstaller/GithubActions action to v3 (#2445)
31 August 2026 - be8ae09 - Chore: update ESLint to v8.68.0 (#2446)
30 August 2026 - 91a61b9 - Fix: MAME archive checksumming (#2444)
29 August 2026 - f49bf08 - Chore: update ESLint (#2435)
29 August 2026 - 6806b4c - Chore: update lockfile (#2442)
29 August 2026 - 77e5d73 - Chore: update dependencies (#2440)
27 August 2026 - fe5d187 - Chore: update dev dependencies (#2439)
27 August 2026 - d1db174 - Chore: update dependency mkdocs-exclude-search to v0.6.7 (#2438)
26 August 2026 - efe44cb - Chore: update GitHub Actions (#2437)
22 August 2026 - 301b831 - Chore: update dependency Bun to v1.4.0 (#2434)
15 August 2026 - 21a0f35 - Chore: update dependency eslint-plugin-jsdoc to v64 (#2428)
12 August 2026 - c5d485e - Chore: update dependency eslint-plugin-unicorn to v73 (#2423)
12 August 2026 - 7d6e5eb - Fix: left-pad gzip and rar CRC32s (#2424)
10 August 2026 - c3a4cd2 - Chore: update ESLint (#2422)
10 August 2026 - 2722f4c - Chore: update Node.js to v26.7.0 (#2421)
8 August 2026 - c8da597 - Chore: update Node.js to v26.6.0 (#2420)
4 August 2026 - c092734 - Chore: update dependency chalk to v6 (#2417)
4 August 2026 - 3dc2144 - Chore: update actions/stale action to v11 (#2419)
2 August 2026 - b37ea11 - Chore: update Node.js to v26.5.1 (#2416)
31 July 2026 - 8263308 - Chore: update dependencies (#2403)
30 July 2026 - 6d33a86 - Fix: TorrentZip filename sorting validation (#2412)
30 July 2026 - a714680 - Chore: update ESLint to v8.65.0 (#2407)
30 July 2026 - 7887075 - Chore: update lockfile (#2410)
30 July 2026 - ccc2c7e - Chore: update dev dependencies (#2401)
30 July 2026 - 866ac88 - Chore: update actions/setup-python action to v7 (#2400)
28 July 2026 - 68ac864 - Chore: update lockfile (#2409)
28 July 2026 - 4a68aa4 - Chore: update lockfile (#2408)
28 July 2026 - 1b382ae - Chore: update dependency eslint-plugin-jsdoc to v63.2.0 (#2404)
28 July 2026 - a33dc6a - Chore: update lockfile (#2406)
27 July 2026 - faff104 - Chore: update docs dependencies (#2402)
26 July 2026 - ea09f57 - Chore: update dependency tar to v7.5.21 [SECURITY] (#2398)
26 July 2026 - 33fd4ca - Chore: update release-drafter/release-drafter action to v7.6.0 (#2399)
26 July 2026 - e32c51c - Chore: update GitHub Actions (#2397)
23 July 2026 - 588ef95 - Chore: update dependency eslint-plugin-simple-import-sort to v14 (#2395)
23 July 2026 - 7f3bea7 - Chore: update actions/setup-go action to v7 (#2394)
22 July 2026 - 76d1eeb - Chore: update dependency eslint-plugin-unicorn to v72 (#2390)
22 July 2026 - 9f964d7 - Chore: Bump fast-uri from 3.1.2 to 3.1.4 (#2393)
22 July 2026 - 9952c77 - Chore: update dependency fast-xml-parser to v5.10.1 [SECURITY] (#2392)
22 July 2026 - fe4c741 - Chore: Bump brace-expansion from 5.0.6 to 5.0.7 (#2391)
21 July 2026 - 3d6b3dc - Chore: update dependency tar to v7.5.19 [SECURITY] (#2388)
21 July 2026 - b86235d - Chore: update dependency Pillow to v12.3.0 [SECURITY] (#2389)
21 July 2026 - c998b60 - Chore: update ESLint (#2387)
13 July 2026 - 798d534 - Chore: update ESLint (#2383)
13 July 2026 - 53b1caf - Chore: update dependency eslint-plugin-unicorn to v71 (#2382)
13 July 2026 - b6a6c07 - Chore: update Node.js to v26.5.0 (#2381)
11 July 2026 - 1c82f04 - Chore: update Scoop manifest to v5.4.0 (#2379)
11 July 2026 - 61f2a2a - CI: skip submodule checkout when not necessary (#2378)

Igir, and other open-source projects like it, are a labor of love. They wouldn't be nearly as meaningful without the community supporting them. Constructive feedback and general positivity will always be welcome. Be kind to others, and be kind to yourselves.
❤️ Christian

Don't miss a new igir release

NewReleases is sending notifications on new releases.