v2.1.0
Release Highlights
Feature: tweaks to reading files concurrently
Enough is going on in these few changes that a minor version bump is warranted. As always, please open issues for any unexpected behavior!
First, the default number of files being read & written concurrently has both been reduced from 20 to 10. This should help with some hard drive thrash. Write threads have had the --writer-threads <number>
option since v1.6.5, and a new matching --reader-threads <number>
option has been added with this release.
Second, if multiple hard drives are provided as input paths, igir
should do a better job of reading from each disk in parallel, hopefully speeding up processing.
Third, Samba (SMB) paths are now limited to reading one file at a time, to reduce network thrash and speed up processing time. Let me know if you experience any issues with this! Thank you @samuelcole for the bug report!
Fix: rewrite of the CMPro DAT parser
Rather than using an existing library, I rewrote the CMPro DAT parser from scratch to solve for some bugs around whitespace and newlines. This carries some risk! If you find any problems, please open a bug report and I'll be very happy to address it.
Thank you @juliadin for the bug report on libretro DATs!
Fix: potential crash with many files in multiple input directories
It turns out Node.js' Array#push()
is recursive, or does something to balloon the call stack to the point of crash when providing many arguments with the spread operator.
Feature: {funkeyos}
output token added
Thank you @juliadin for this quality contribution, with quality documentation to match!
All changes
29 October 2023 - ee50d93
- v2.1.0 (#801)
29 October 2023 - 7682a97
- Feature: prefer input files not from the output path (#767)
28 October 2023 - bdecb10
- Feature: limit concurrent file reads per hard drive (#785)
28 October 2023 - 58abf4f
- Chore: update lockfile (#800)
28 October 2023 - df19a61
- Feature: Output token funkeyos (#786)
28 October 2023 - 57577b8
- Chore: update dependency @types/node to v20 (#798)
28 October 2023 - b04dfdc
- Chore: update lockfile (#799)
28 October 2023 - ba6fc2e
- Chore: update ESLint (#797)
28 October 2023 - 805b242
- Chore: update dev dependencies (#796)
27 October 2023 - f936ea1
- Chore: update dependency @types/jest to v29.5.6 (#795)
27 October 2023 - 0cdebea
- Chore: update dependencies (#794)
27 October 2023 - cb94715
- Fix: moved ROM deleter progress bar total (#793)
27 October 2023 - c83d577
- Refactor: ban Array#push() (#792)
27 October 2023 - d034726
- Refactor: use Volta instead of nvm (#791)
27 October 2023 - a4a015a
- Refactor: revert tsconfig settings that were necessary for robloach-datfile
(#789)
27 October 2023 - d7f7ff0
- Fix: username in the first PR interaction comment (#790)
27 October 2023 - 01630f2
- Chore: update dependency node to v20 (#787)
27 October 2023 - 24df53a
- Fix: provide ts-node as a loader to the start script (#788)
23 October 2023 - b1e9ee1
- Feature: reader threads debug option (#778)
23 October 2023 - d8ef643
- Fix: replace robloach-datfile with a custom CMPro DAT parser (#784)
23 October 2023 - bb6cade
- Feature: DAT downloading & parsing progress bar icons (#783)
23 October 2023 - 5e44cb6
- Fix: catch CMPro DAT parsing errors (#782)
22 October 2023 - af710cc
- Feature: separate candidate combiner & parent inferrer progress bar symbols (#780)
21 October 2023 - 4c42ad1
- CI: add footer with links to inactive lock comments (#779)
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.