Skip to content

v2.6.0

Compare
Choose a tag to compare
@emmercm emmercm released this 21 Mar 04:18
950f352

Release Highlights

Feature: the ability to calculate and match MD5 & SHA1 checksums

A long missing feature of igir has been the ability to match ROMs to DATs based on something other than CRC32 + filesize. This addition brings igir ever closer to feature parity with other major ROM managers.

igir will now automatically determine all file checksums it needs to calculate to match input files to ROMs in every DAT provided. This is important because not every DAT provides every checksum (e.g. MAME sometimes only provides SHA1, Hardware Target Game Database doesn't always provide filesize).

You can control the minimum checksum algorithm used with the --input-min-checksum <algorithm> option.

Feature: archive checksum cache

To support MD5 & SHA1 checksums, and as prep work for CHD support (#937), igir will now cache the checksums of any archived files that it had to compute itself.

Some archive formats such as .zip and .7z include pre-calculated CRC32 information so igir will skip calculating it by default. No supported archive format includes pre-calculated MD5 or SHA1 checksums, so any need to calculate them can greatly slow down ROM scanning. Having a cache file with igir-calculated checksums can greatly speed up subsequent scans.

Fix: directories in ROM names

Up until now, igir tried to intelligently guess if a DAT used / or \ path separators in ROM names intentionally. This led to the issue that was fixed in v2.5.3 for some No-Intro DATs. No-Intro doesn't allow these characters in game names, and Redump also follows No-Intro's naming conventions.

From now on, igir won't try to be smart about game or ROM names, and will instead trust the DAT groups that they know what they're doing.

All changes

21 March 2024 - 950f352 - v2.6.0 (#1028)
21 March 2024 - 0f4b900 - Fix: treat the provided checksum algorithm as the minimum (#1026)
21 March 2024 - 9b92ebf - Refactor: remove the "unique" language from progress bar messages (#1025)
21 March 2024 - ef0abb0 - Refactor: only log the logger prefix at trace log level (#1023)
21 March 2024 - 6596c13 - Feature: disable cache option (#1024)
21 March 2024 - af610f7 - Feature: cache archive entry checksums (#1004)
21 March 2024 - 307770c - Feature: ability to match ROMs via MD5 & SHA1 (#945)
21 March 2024 - f016c87 - Refactor: prefer calculated CRC32 of archive entry contents (#1021)
20 March 2024 - caa51ae - Refactor: centralize the code to hash a raw file (#1022)
20 March 2024 - 5a58ecb - Feature: render days in progress bar ETAs (#1020)
20 March 2024 - 2063004 - Refactor: don't sanitize path separators in game & ROM names (#1019)
20 March 2024 - facb20e - Fix: treat duplicate game names as clones (#1018)

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