v1.9.1
Release Highlights
There are a lot of fixes and tweaks in this release. I'm intending a v2 release when I'm able to finish the parent/child inference feature, and had been holding back these changes for that, but there have been enough bug fixes that warrant an earlier release.
Feature: progress bar totals increment during file scans
When scanning directories with a lot of files (likely most obvious with --input
option), igir
would wait until the end of file scanning to indicate how many files it had found. Now, when specifying directory names (unfortunately globs aren't supported right now), the total file count will increment to help indicate that progress is being made.
Optimization: don't calculate "raw" file CRCs when not testing output files
Calculating the checksums of large files (e.g. BIN/CUEs, ISOs, CHDs, etc.) can take a really long time. When copying or moving only (and not extracting or zipping), and not testing them (i.e. just igir copy
or igir move
), igir
will no longer bother calculating the expected checksum of these files.
Fix: fatal error with invalid progress bar size
@netwaretcs reported a bug that I see infrequently during development and was hoping was limited to local change instability. Sometimes igir
would full crash when the "in progress" section of the progress bar had a negative number, a race condition I'm still trying to pin down. The crash should be prevented, at least.
Fix: --dir-letter-limit
with multi-ROM games
The --dir-letter-limit
option added in v1.8.0 was causing multi-ROM games to get sorted into odd folders, sometimes even outside of the --dir-letter
folder. This has been fixed.
Fix: self-closing tags in MAME DATs
@kbullett found a bug with older MAME DATs that make use of XML self-closing tags causing crashes in igir
. This should be fixed, but please continue to report any issues you see with non-DTD-compliant DATs!
Fix: deletion of moved archives of games with duplicate ROMs
@docbobo reported a bug where igir
would not delete single-game archives of games that contain duplicate ROMs (e.g. duplicate BIN/CUE tracks). This should be fixed.
All changes
19 August 2023 - ea21409
- v1.9.1 (#582)
19 August 2023 - 62c0303
- CI: ShellCheck (#580)
19 August 2023 - 423c8b8
- Fix: delete moved archives of games that contain duplicate ROMs (#581)
19 August 2023 - 79c7e72
- Refactor: use TypeScript sets where appropriate (#577)
19 August 2023 - cce309e
- Git: update Husky pre-commit for POSIX sh Compatibility (#578)
18 August 2023 - a0636ac
- Refactor: eliminate TypeScript "as" keyword (#573)
14 August 2023 - 51cb6fc
- UX: warn when specifying --dir-dat-* options that don't make sense (#571)
14 August 2023 - 88bbde7
- Chore: add 1G1R tests (#570)
14 August 2023 - 754fcde
- Chore: update dependency node to v18.17.1 (#562)
14 August 2023 - 2674361
- Fix: stop & cleanup the progress bars on SIGINT (#572)
14 August 2023 - f46cf5b
- Fix: protections against self-closing tags in XML DATs (#569)
10 August 2023 - 6d4e249
- Feature: don't calculate CRCs for raw files when not testing (#567)
10 August 2023 - fb7d92a
- Fix: dir letter limit with multi-ROM games (#564)
10 August 2023 - 1092039
- Refactor: break out ROM output path code into its own file (#563)
7 August 2023 - ed1d5b4
- Feature: add Belgium & Scandinavia as regions (#561)
7 August 2023 - 25b6a9d
- Docs: new logo (#543)
7 August 2023 - 96ceec8
- Feature: increment progress bar totals during file scans (#560)
7 August 2023 - bad93bd
- Docs: update (#559)
6 August 2023 - ed1224c
- Docs: update (#550)
6 August 2023 - 6056738
- Fix: progress bar can't have negative "in progress" value (#558)
5 August 2023 - 38bf781
- CI: release drafter GitHub Action should use new version number (#555)
Sponsors
- @dcramer thank you for being the first project sponsor! It means a lot, and your code contributions already have been awesome.
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.