Igir v5.0.0 is released. A zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.
Igir Changelog:
Each release of Igir strengthens my belief that it continues to be the most powerful, flexible, and feature-rich ROM manager available. This release includes probably 100 hours of effort, which I hope is visible.
Almost every page of documentation has been updated for accuracy, completeness, and clarity. A new page with guiding principles has been added to better explain the intentions of Igir and its behavior.
Thank you to everyone who contributes to the project in any way. Thank you to long-time sponsors @dcramer, @rommapp, and @chrisdrackett; and thank you to everyone who sponsors privately or one-off. Thank you to users who submit detailed bug reports respectfully, and thank you to users who submit thoughtful feature requests.
As is tradition, I like to include some Igir by the numbers on major version releases:
38k lines of code and documentation changed since v4.3.2
16 community members have contributed code or documentation (+7/+78% from v4.0.0)
803 stars on GitHub (+260/+48% from v4.0.0)
52k lifetime downloads across all channels (+15.5k/+42% from v4.0.0)
Now, onto the good stuff...
⛓️ Modern compilation
The binaries included in GitHub releases are now compiled with Bun. Bun is a JavaScript runtime and bundler recently acquired by Anthropic (the makers of Claude Code). Bun outperforms Node.js/V8 on most startup time and execution speed benchmarks, and crucially, has native tools to bundle JavaScript into executables.
Igir will remain compatible with Node.js, no Bun-exclusive libraries will be used.
🏎️ Huge performance improvements
Making Igir compatible with Bun unlocked the ability to use Bun's profiler, which is much easier to work with than Node.js'. The profiler helped provide insight into wasted CPU cycles and memory allocations. This release should make Igir the fastest it's been in a long time, no matter what runtime is used.
Many of the speedups are coming from optimizations in concurrency/promise management. To keep contention (and I/O thrash) low, the default reader thread count has been reduced 8→6, and the reader thread count has been reduced 4→3.
All of this performance profiling also led to...
🗄️ Cache performance, structure improvements
Some major improvements have been made to caching behavior:
These calculations are now stored under file checksum(s) rather than file paths, eliminating cache misses due to file moves:
ROM headers
File signatures (for extension correction, trim detection)
ROM paddings (of trimmed files)
TorrentZip validations are now cached, speeding up candidate generation.
File checksums calculated when testing output files are now stored in the cache, speeding up subsequent scans. Thank you, @noah978, for the suggestion!
ROM headers, file signatures, and ROM paddings are now keyed in a way that won't invalidate existing cache entries when support for more headers, signatures, and paddings is added.
Unfortunately, to support Bun, the cache format needed to change, so your existing cache files can't be used and will be overwritten. But the new, standardized format can now be analyzed by humans, and it's better documented.
Other features
Several new CLI options have been added:
A --playlist-mode
Some new options were added to control input file preference. Thank you, @chrisdrackett, for the suggestion!
--prefer-filetype
--prefer-filename-regex
An --output-console-tokens
Other improvements
Many improvements and bug fixes have been implemented, some notable ones being:
.7z and .gz archives are now parsed & extracted without using an external 7za binary. This was somewhat necessary to unlock executable bundling with Bun.
Per-file progress bars have been added to DAT/ROM/patch scanning, ROM trim detection, raw archive checksum calculation, output testing, and directory cleaning.
DAT files can be downloaded from http:// URLs in addition to https:// now. Thank you, @Ooopz, for the bug fix!
Multi-disc games in HTGD DATs won't have their output paths needlessly nested. Thank you,@JosVerheij, for the bug fix!
Download: Igir v5.0.0
Source: Here
2026-04-21
Tags:
Igir,
Official_Build,
Tools

NewsLetter
Bookmark
Submit News
Email Us

Random Related Topic
0 Comments
Post a Comment
Can't post a comment? Try This!