Releases: emmercm/igir
v0.6.4
Release Highlights
{pocket}
and {mister}
fixes and additions
{pocket}
fix: Magnavox Odyssey 2, thank you @extremeradical !{pocket}
additions: Satellaview (SNES){mister}
additions: Arduboy, Atari 2600, Emerson Arcadia, Sega Mega Drive / Genesis, Watara SuperVision
Note: there is an issue with the published npm version that incorrectly reports the version as v0.6.1, it is wrong and you can ignore it.
All changes
6 December 2022 - f1cb22e
- v0.6.4 (#207)
6 December 2022 - e3876bc
- Feature: {pocket} and {mister} token additions (#206)
5 December 2022 - 8acc4e5
- Fix: Magnavox Odyssey 2 {pocket} token (#203)
5 December 2022 - c133663
- Fix: run GitHub Actions on forked repo PRs (#205)
4 December 2022 - 1ad64ef
- Update: Renovate config (#201)
4 December 2022 - d44bbbd
- Chore: increase code quality (#200)
3 December 2022 - 436d34d
- Chore: increase code quality (#177)
3 December 2022 - 9bb2291
- Chore: update dependencies (#147)
v0.6.3
Release Highlights
Use graceful-fs
to prevent Windows filesystem errors
As reported by /u/MarketSqHero, Windows users could experience fatal EMFILE
exceptions for too many open file handles. graceful-fs
should help queue file handle opening to protect against these errors.
All changes
3 December 2022 - 3268d51
- v0.6.3 (#199)
3 December 2022 - 5b26609
- Fix: monkey patch 'fs' with 'graceful-fs' for Windows fixes (#198)
3 December 2022 - dea62a6
- Refactor: eliminate fs.promises (#196)
v0.6.2
Release Highlights
This patch update has some quality-of-life fixes suggested by /u/-TheDopefish-:
Throw a fatal exception when specifying --single
but no DAT has parent/clone information
This prevents igir
from outputting all input ROMs without any --prefer-*
options being respected, effectively a silent failure.
"World" is now a region
WORLD
can now be specified as a value for the --region-filter
and --prefer-region
options.
All changes
3 December 2022 - 94b7561
- v0.6.2 (#197)
3 December 2022 - 911dcea
- Feature: treat "world" as a filterable region (#193)
3 December 2022 - 919e4dd
- Feature: fatal error when no DAT has P/C info and 1G1R is desired (#194)
1 December 2022 - af0b8ce
- Update: docs (#190)
1 December 2022 - 8aa5703
- Fix: indexing preference of candidate files (#189)
1 December 2022 - 36b45f5
- Fix: only use the parent dir name for inferred DAT names (#187)
29 November 2022 - 5f2ed06
- Feature: compile and upload binaries to releases (#186)
v0.6.1
Release Highlights
Support for new patch types
Support has been added for:
- Vcdiff (
.vcdiff
,.xdelta
), but only patches without secondary compression (unfortunately most xdelta3-made patches are likely to use LZMA secondary compression) - NINJA 2.0 (
.rup
), but only patches that use raw/binary for the base file type rather than console-specific types - IPS32 (
.ips
,.ips32
), a variant of the far more standard/common IPS
Full documentation can be found on the existing ROM Patching doc page.
All changes
26 November 2022 - 16ef08c
- v0.6.1 (#185)
26 November 2022 - 041eee2
- Feature: NINJA patch support (#183)
26 November 2022 - ce2950b
- Chore: increase test coverage (#184)
26 November 2022 - 0621ab4
- Feature: vcdiff (uncompressed xdelta) patch support (#175)
26 November 2022 - d7fd153
- Feature: IPS32 patch support (#173)
v0.6.0
Release Highlights
🪄 Replaceable tokens in the output path 🪄
A few replaceable tokens in the form of {token}
can now be interpreted in the --output
path. This is particularly useful for Analogue Pocket and MiSTer devices which have different folders for different "cores". Supported tokens are in the --help
output (and therefore README), and some personal examples are in the new Advanced Examples doc page.
All changes
25 November 2022 - ebdcdee
- v0.6.0 (#182)
25 November 2022 - 31f515e
- Update: README (#181)
20 November 2022 - 2dd4514
- Feature: --clean-exclude flag (#179)
20 November 2022 - 2e066e5
- Fix: globbing parentheses in input paths (#180)
20 November 2022 - 3e319d9
- Feature: support replaceable tokens in the output path (#139)
20 November 2022 - 6cd9431
- Fix: only allow one waiting message per progress bar (#167) (#178)
v0.5.0
Release Highlights
🩹 ROM patching 🩹
ROM patch files can now be scanned with the --patch
option and will be applied to ROMs automatically. The first set of patch types supported are: .bps
, .ips
, .ppf
, and .ups
.
See the ROM Patching doc page for more information, including how patch files should be named.
All changes
19 November 2022 - 4b9726c
- v0.5.0 (#176)
19 November 2022 - 1eabc48
- Feature: ROM patching documentation (#172)
13 November 2022 - 3357d2e
- Feature: automatically remove/keep headers based on headered/headerless DATs (#171)
13 November 2022 - f124cfd
- Feature: use the patched filename for game name (#170)
10 November 2022 - 4a551b3
- Refactor: async mkdtemp (#169)
9 November 2022 - 6faea9d
- Refactor: patch parsing memory efficiency (#168)
9 November 2022 - 4495591
- Feature: hanging progress message (#167)
8 November 2022 - 9fc0799
- Refactor: FilePoly memory & disk efficiencies (#166)
7 November 2022 - dc383fe
- Feature: verbose logging updates (#165)
5 November 2022 - 2594d71
- Fix: immediately render progress bars after creating them (#164)
5 November 2022 - 1d361d2
- Feature: UPS patch support (#162)
5 November 2022 - eba4a48
- Feature: ROM patching end-to-end (#160)
5 November 2022 - 325bd0e
- Fix: prevent dangling file handles (#163)
4 November 2022 - fb4b21d
- Feature: PPF patch support (#156)
4 November 2022 - 8e53877
- Chore: increase the default Jest timeout (#161)
4 November 2022 - 86d1184
- Feature: write ROMs with patches (#155)
4 November 2022 - fb8b9bb
- Fix: misc temp folder and file fixes (#159)
3 November 2022 - e9f49b5
- Refactor: replace yazl with archiver (#157)
3 November 2022 - fc4592c
- Chore: strengthen integration tests (#154)
2 November 2022 - 4f44dc5
- Chore: increase test coverage (#153)
2 November 2022 - 1cf5ecb
- Feature: BPS patch support (#152)
2 November 2022 - 00d9dfd
- Fix: force file deletion during cleaning (#151)
2 November 2022 - e976b18
- Feature: patch candidate generator (#150)
1 November 2022 - fcc3e56
- Feature: IPS patch support (#146)
31 October 2022 - e01fc18
- Feature: patch scanner (#145)
v0.4.0
Release Highlights
The ability to work without DAT files
Though you'll get a warning if you don't use them because of how much value they add.
igir
can now work without DATs with support for: filtering, copying, moving, and zipping.
1G1R (--single
) mode won't work because it requires parent/clone information from a DAT. You also won't be able to generate a report because without a DAT we can't know what ROMs are missing.
All changes
29 October 2022 - 525c06c
- v0.4.0 (#143)
28 October 2022 - 2a2796c
- Feature: ability to work without DATs (#135)
28 October 2022 - 3b8cc02
- Test: unit test Node.js v14.18.0 (#33)
28 October 2022 - e7fecbe
- Chore: update dependency chalk to v5.1.2 (#138)
28 October 2022 - 1da477f
- Chore: update rinchsan/renovate-config-validator action to v0.0.12 (#124)
28 October 2022 - a81c44d
- Chore: update Jest (#122)
28 October 2022 - 7caff65
- Chore: update dev dependencies (#116)
28 October 2022 - af38e54
- Chore: update Node.js to v18 (#137)
28 October 2022 - 2ce50e1
- Chore: update Node.js to 16.18 (#117)
28 October 2022 - 13a898d
- Chore: update lockfile (#114)
28 October 2022 - dcbb9ec
- Chore: turn off Codecov patch CI check (#142)
28 October 2022 - 7fdb167
- Chore: add ReportGenerator tests (#141)
26 October 2022 - 3cc2ab0
- Feature: show path count before scanning files (#140)
25 October 2022 - 62a1d61
- Chore: Pin dependencies (#113)
25 October 2022 - b9fc995
- Feature: limit how often the ETA string redraws (#136)
24 October 2022 - 554b4e2
- Feature: colorize console status output (#134)
24 October 2022 - acee792
- Feature: write report to input dir in report-only mode (#133)
23 October 2022 - fedbc29
- Feature: treat MIA as non-retail (#132)
v0.3.1
Release Highlights
This is a fairly minor release with only one real change, but it sets up future features for working with ROMs without DATs.
Added detection for GoodTools-style ROM names
No-Intro is one of the only DAT groups that includes release & region info in their DATs, most other groups rely on a consistent naming method for region & language. The GoodTools naming scheme is one of those, and it might look familiar to those who organized ROMs before No-Intro became the dominant DAT group.
This release adds support to detect region & language info for the GoodTools style, as well as some filters for ROMs with hacks, overdumps, trainers, unofficial translations, and more.
All changes
23 October 2022 - 517d30a
- v0.3.1 (#131)
21 October 2022 - 77778eb
- Feature: add detection for GoodTools-style ROM names (#130)
20 October 2022 - 40c86fb
- Fix: limit the number of active progress bars (#129)
20 October 2022 - ea159e9
- Feature: add detection for GoodTools-style ROM names (#128)
20 October 2022 - 3fd4c5c
- Chore: add CandidateGenerator header tests (#127)
v0.3.0
Release Highlights
Support for SNES SMC ROM headers
Added detection for SNES .smc
ROM headers. This helps support the big feature of this release...
✂️ Ability to remove ROM headers ✂️
With the --remove-headers
option you can now remove the headers from ROMs as you copy, move, and zip them. A full set of instructions can be found on the new ROM Headers docs page.
This is a big deal for SNES in particular because some emulators (e.g. the SNES openFPGA for the Analogue Pocket) can't read "headered" .smc
ROMs, they will only work with "un-headered" .sfc
ROMs. There are no common ROM managers like igir
that offer this header removal functionality.
Header removal also works for the Atari Lynx .lnx
ROMs, turning them into .lyx
ROMs.
New docs pages added
- DATs gives more detailed information than the previous README on what DATs are and what "parent/clone" means
- ROM Dumping was moved out of the README to help with clarity
- ROM Headers was created to help explain what headers are, how
igir
uses them with file detection, and how they can be removed if needed
All changes
17 October 2022 - ad1e17e
- v0.3.0 (#126)
15 October 2022 - 29967a7
- Feature: de-duplicate scanned files before processing (#125)
14 October 2022 - 56c5e75
- Feature: ability to remove ROM headers (#120)
14 October 2022 - 3de74c1
- Feature: proper .tar.gz support (#123)
v0.2.2
Release Highlights
Output report format changed to CSV
CSVs are much easier to open in your spreadsheet editor of choice and filter to your heart's content. The report now includes found ROMs in addition to missing ROMs, as well as other information from DATs.
Minor fixes & updates
CTRL-C
should now exit the program as expected- Zip file handles are now properly closed after enumerating contents
- The progress bar ETA formula was updated to be smoother
All changes
14 October 2022 - bbcb52c
- v0.2.2 (#121)
14 October 2022 - 71a63e9
- Chore: add issue templates (#119)
14 October 2022 - f27ec79
- Feature: support SMC headers (#118)
10 October 2022 - 9fb39c2
- Update: Renovate config (#115)
10 October 2022 - a709656
- Update: README (#107)
10 October 2022 - c645522
- Update: Renovate config (#108)
10 October 2022 - 25345a9
- Feature: group games with multiple ROMs by game name (#111)
10 October 2022 - 9c288c5
- Chore: increase test coverage (#112)
10 October 2022 - 9a71c31
- Feature: add ROM filenames to report CSV (#110)
10 October 2022 - fff8c44
- Chore: add WebStorm run configuration templates (#109)
10 October 2022 - def33f4
- Chore: update dev dependencies (#103)
10 October 2022 - dc2e4eb
- Chore: update Jest (#83)
9 October 2022 - 581d150
- Refactor: embed input and output files in ReleaseCandidate (#102)
9 October 2022 - 40c9075
- Chore: update dependencies (#80)
8 October 2022 - 621c0b3
- Refactor: cleanup test temp file code (#105)
8 October 2022 - 8c69324
- Fix: close zip after reading entry (#106)
8 October 2022 - a5a3a1e
- Refactor: cleanup zip writing code (#104)
3 October 2022 - 1331c25
- Refactor: remove non-null assertion operators (#100)
2 October 2022 - 2eea809
- Feature: change output report format to CSV (#98)
2 October 2022 - b2ad6ce
- Feature: use linear regression for progress bar ETA calculation (#97)
2 October 2022 - 565299c
- Fix: CTRL-C not exiting (#96)
2 October 2022 - c7ad90e
- Chore: update lockfile (#84)
2 October 2022 - 058fa2f
- Chore: update dev dependencies (#81)
2 October 2022 - da848b8
- Chore: update dependency typescript to v4.8.4 (#88)
1 October 2022 - 427ae91
- Refactor: use an async factory function for file instantiation (#95)
1 October 2022 - 74802e4
- Refactor: update README on version bump, not every coommit (#94)
1 October 2022 - 5922da3
- Feature: update progress bar ETA calculation formula (#92)