v1.2.0

June 12, 2026

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 .bin from NES/SNES/N64/GBA/GB/DS/SMS extension lists (major false positive source)
  • Removed "/" as extension in Amiga/C64 (caused directory-scanning bugs)
  • Removed .cue from 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
  • ROMScanner crash risk from force-unwrapping nil system guarded
  • LibraryGridView now properly re-renders on scan state changes
  • Stale lastAddedROMs from previous scans cleared on new scan
  • Stale SwiftData system cache auto-discarded after app updates
  • Box art search now includes rar in extension stripping
  • ScummVM runner now supports 7z/RAR archives (was ZIP-only)
  • Saturn, Dreamcast, Neo Geo Pocket, DOS, Amiga, Intellivision: added rar as a supported extension