github emmercm/igir v5.1.0

one day ago

Release Highlights

Feature: option to re-pad trimmed ROMs

A new --trim-add-padding option has been added to allow you to pad trimmed ROMs such that they match the size & checksums found in a matching DAT.

Feature: providing multiple patterns to regex options

--dat-name-regex <pattern>, --dat-name-regex-exclude <pattern>, --dat-description-regex <pattern>, --dat-description-regex-exclude <pattern>, --filter-regex <pattern>, --filter-regex-exclude <pattern>, --filter-category-regex <pattern>, --prefer-game-regex <pattern>, --prefer-rom-regex <pattern>, and --prefer-filename-regex <pattern> have all been updated to allow the option to be provided multiple times. When each option is provided multiple times, values will be used in an "or"/"any" fashion.

For example, --dat-name-regex "/Nintendo/i" --dat-name-regex "/Sega/i" now means "match any DAT whose name contains 'Nintendo' (case-insensitive) or 'Sega' (case-insensitive)."

Fix: MAME CHD disk naming & sorting

Two major fixes have been made for handling MAME DATs:

  • CHD disks will always have the .chd extension added. MAME requires this, but confusingly doesn't include it in the disk name in the DAT.
  • When zipping ROMs, CHD disks will always be put in a subdirectory using the machine's name (as if --dir-game-subdir always was provided, but only for CHD disks). MAME requires this sorting (and it helps deconflict files of the same name).

Thank you @cinnamonmatexfce for the bug report!

Fix: update to RVZSTD to match RomVault.

RomVault v3.7.6 changed how zero-byte/empty files are compressed in RVZSTD archives, and Igir has been updated to match. RVZSTD archives containing zero-byte files that were written by older versions of Igir (or RomVault) will have to be rewritten.

All changes

6 June 2026 - 842bcc0 - v5.1.0 (#2275)
5 June 2026 - 7806789 - Refactor: log file cache misses (#2272)
5 June 2026 - 2b64b40 - Fix: match RomVault v3.7.6's new behavior for zero-byte files (#2274)
5 June 2026 - 6c619c1 - Fix: MAME disk subdirectory, filename extension (#2273)
29 May 2026 - 5c47d3d - Chore: update dependency chdman to v0.288.1 (#2269)
29 May 2026 - c516c67 - Chore: update lockfile (#2268)
29 May 2026 - b1ffdf5 - Chore: update lockfile (#2267)
29 May 2026 - ef4136f - Chore: update dependency chdman to v0.288.0 (#2266)
28 May 2026 - e4c4c42 - Chore: update lockfile (#2264)
28 May 2026 - efab903 - Chore: update ESLint to v8.60.0 (#2265)
27 May 2026 - bb81f18 - Chore: update ESLint (#2262)
27 May 2026 - 9136d0a - Chore: update docs dependencies (#2263)
27 May 2026 - 1ccaa01 - Chore: update dev dependencies (#2261)
27 May 2026 - b2c9abc - Chore: update dependencies (#2260)
26 May 2026 - f6defb4 - Chore: update GitHub Actions (#2259)
22 May 2026 - d85e4eb - CI: add more dependency watchdog PR comments (#2253)
22 May 2026 - 45dce0b - Refactor: replace "@aws-crypto/crc32" with "crc-32" (#2254)
21 May 2026 - e493ce8 - Refactor: enable TypeScript noImplicitOverride (#2252)
21 May 2026 - d7f3487 - Feature: allow regex filter options to be specified multiple times (#2250)
21 May 2026 - 938bbfb - Feature: option to add paddings back to trimmed files (#2251)
19 May 2026 - 5d42541 - Feature: add support for parsing more zip date formats (#2246)
19 May 2026 - 86ca3ec - Fix: yargs static locale shim (#2247)
18 May 2026 - 6d21137 - Refactor: add missing JSDoc (#2245)

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.