v1.2.0
Major release adding compressed ROM support (ZIP, 7z, RAR), MAME/FBNeo disambiguation, CRC-based system identification, boot-sector disc identification, system merging, and extensive bug fixes.
Highlights
- Compressed ROM Support: Launch ZIP, 7z, and RAR ROMs directly. Archive-aware cores get the archive as-is; all others get automatic extraction with persistent disk caching and configurable TTL cleanup
- MAME/FBNeo Disambiguation: Arcade ROMs now correctly identified as MAME or FBNeo romsets via database-backed validation
- CRC-based System Disambiguation: Full CRC32 matching against Libretro DAT databases when the top two system candidates are close
- Boot-Sector Disc Identification: Positive magic headers for Dreamcast, 3DO, Xbox, CD-i, GameCube, Wii, PC Engine CD, and Atari 7800
- System Merging: Merge GB+GBC into a single "Game Boy" entry; merge MAME+FBNeo into "Arcade (MAME / FBNeo)" in the sidebar
- Thumbnail Resolution Improvements: Probe all database folder names for a system, caching working folders
Detailed Bug Fixes
- Removed
.binfrom NES/SNES/N64/GBA/GB/DS/SMS extension lists (major false positive source) - Removed
"/"as extension in Amiga/C64 (caused directory-scanning bugs) - Removed
.cuefrom Genesis extensions (false CD game identification) - Removed GB/GBC/SGB extensions from NES/SNES/GBA (wrong-system ROMs leaking)
- Removed overlapping extensions from 32X (already covered by Genesis)
- MAME dependency checks now only validate the active core's dependencies
- Category deletion now works (was a no-op before)
- Adding a library folder from settings now closes settings and shows scan progress immediately
- Newly scanned ROMs auto-selected in library after scan completes
- ROM metadata and cheats now keyed by
runningKey(archive path + inner path) - Deleting a library folder now properly cleans up associated metadata entries
- macOS duplicate file suffixes (1), (2) etc. handled in MAME/FBNeo ZIP lookups
- MAME BIOS/unplayable entries no longer leak through to other systems
- Unknown archives with weak identification dropped instead of leaking to random systems
ROMScannercrash risk from force-unwrapping nil system guardedLibraryGridViewnow properly re-renders on scan state changes- Stale
lastAddedROMsfrom previous scans cleared on new scan - Stale SwiftData system cache auto-discarded after app updates
- Box art search now includes
rarin extension stripping - ScummVM runner now supports 7z/RAR archives (was ZIP-only)
- Saturn, Dreamcast, Neo Geo Pocket, DOS, Amiga, Intellivision: added
raras a supported extension