All the latest updates, fixes, and improvements to NostalgiApp.
1.2.0.14
Build 181 — September 9, 2026Latest
NewGeneric USB controller support (experimental). Many third-party and retro USB gamepads that macOS doesn’t recognize on its own now work for TV / couch-mode navigation — turn it on in Settings → Controller / TV Mode. (Xbox, PlayStation, and Switch Pro controllers already work without it.)
NewEasier to find and add game packs. The Collection settings always show how to get eXoDOS and add other eXo packs, and the folder is clearly labeled “Collection Folder” — it holds your whole library, ROMs and eXo collections alike.
FixROM import no longer makes you wait on artwork. Games are added right away and playable immediately; cover art and screenshots fill in afterward in the background.
FixROM import respects your image-type choices — it downloads only the artwork types you tick, instead of every type.
FixFixed an intermittent crash when clicking “Auto-Detect” under DOSBox in Emulator settings.
1.2.0.12
Build 179 — September 8, 2026
NewOne-click ScummVM & MAME. ScummVM and MAME now download on demand right from Settings → Emulators — a single click, no Homebrew required. (Previously, installing them could silently do nothing if Homebrew wasn’t present.)
NewMore TV mode artwork — PlayStation 3, PSP, Sega Master System, and Sega Saturn.
FixEmulator download errors are now visible. If an emulator download fails, you get a clear message instead of a silent no-op.
FixROM import. Fixed a stale “Import Complete” state that could block a second import in the same session until the app was restarted.
1.2.0.11
Build 178 — August 30, 2026
NewRemove a collection. Right-click any eXo collection in the sidebar and choose Remove Collection… — take it out of your library, or also delete its game files to free space.
NewMore TV mode artwork — MS-DOS, Windows 3x/9x, ScummVM, Apple IIGS, Commodore 64, Arcade, Neo Geo, and Sinclair ZX Spectrum.
NewKeyboard-aware TV mode hints. With no controller connected, the on-screen prompts show keyboard shortcuts instead of controller buttons — and switch the instant you plug a controller in or out.
NewRemove imported games from the library. ROM and Apple II/IIGS imports now have a Remove from Library… option; the ROM files on disk are left untouched.
FixApple IIGS games launch correctly. Imported .2mg/.do disk images now boot (they were being loaded into the wrong emulated drive), zipped disk images launch too, and the in-game keyboard works. Collection games also load on case-sensitive drives and network shares.
FixPer-platform emulator picker. Choosing a standalone emulator (Dolphin, PPSSPP, DuckStation, melonDS…) no longer crashes on some Macs or silently ignores your choice.
FixDREAMM display mode. DREAMM manages its own window mode, so the fullscreen/windowed control now explains how to switch (⌘↩ in-game) instead of doing nothing.
1.2.0.10
Build 176 — August 28, 2026
FixGames launch from network-share collections. If your collection lives on a network share — or any drive that blocks running scripts — Windows 9x games flashed a Terminal window with a “permission denied” error and never started. Launching no longer needs execute permission on the drive.
FixWindows 9x discs mount on case-sensitive drives and network shares. A game could boot to the Windows desktop but its shortcut reported “the drive … is unavailable” because the CD image was matched with the wrong letter casing. The game’s disc and hard-disk images are now found regardless of casing — including the file references inside a .cue.
FixBetter Win9x troubleshooting. “Upload Logs for Analysis” now includes the Win9x launch capture files, so launch problems are quicker to diagnose.
1.2.0.9
Build 175 — August 27, 2026
NewMore platform artwork in TV mode — Nintendo DS, Game Boy, GameCube, Switch, Wii U, and Sega Dreamcast.
FixWindows 3.x / 9x games launch on case-sensitive drives and network shares. Every Win3x/Win9x game could fail with “No dosbox.conf found” due to a folder-name casing mismatch; the game folder and its config are now found regardless of casing.
FixWindows 9x games start reliably again. The launch helper could be removed a moment too early on some Macs, so Terminal flashed open with a “no such file” error and the game never started; it now stays in place until it has run.
FixEmulators no longer get stranded after an unexpected quit. A crash or forced logout mid-game could leave a fullscreen emulator running — and playing audio — with nothing left to close it. Any leftover emulator is now cleaned up on the next launch.
FixScummVM games are more robust on case-sensitive drives and network shares (same folder-casing hardening).
1.2.0.8
Build 173 — August 25, 2026
NewCouch mode sends Switch games to your TV. Nintendo Switch games now open on the same display as NostalgiApp (your TV in couch mode), instead of the main monitor.
NewQuit from the couch. Press Select + Start on your controller to close the running emulator and drop straight back to your library.
NewMore platform artwork in TV mode — NES, Sega Genesis, and Nintendo 3DS.
FixMuch lower CPU use. A background artwork pre-cache could work the CPU hard for a long time on large libraries — it’s now near-instant.
FixTV mode no longer freezes on a bad preview clip. A missing or unplayable gameplay video could freeze the hero image; it now falls back to screenshots and art.
FixScreensaver preview audio fully stops when the screensaver is dismissed by a controller or after idle.
1.2.0.7
Build 172 — August 24, 2026
NewApple II & Apple IIgs games. Import loose Apple II / IIgs disk images (.dsk, .po, .2mg, .woz…) and play them through MAME — the required system ROMs are bundled, so there’s nothing extra to download.
FixiCloud save sync now reaches iCloud. A missing entitlement stopped the iCloud Drive container from being created, so emulator saves quietly fell back to a local-only backup. Saves now sync to iCloud Drive, and your existing local backups are moved across automatically.
FixSaves sync right after you exit a game. Just that game’s saves upload as you quit, instead of only when you open the Cloud Sync screen.
FixMore save formats recognised. Sierra adventure saves (King’s Quest, Space Quest, Gabriel Knight and more) are now detected and synced.
FixPreview video pauses with the screensaver. A game’s gameplay video no longer keeps playing — and making sound — behind the screensaver.
ImprovedSmoother ROM importing. Importing ROMs no longer reloads your whole library, the sidebar repairs mis-filed platforms on its own, and Choose Match now also fills in the game’s description.
1.2.0.6
Build 171 — August 23, 2026
NewFill in missing descriptions. Right-click a console/ROM platform and choose Fill in Missing Descriptions to fetch descriptions for games you’ve already scraped — just the text, no artwork re-downloaded.
FixScraped descriptions are kept. ScreenScraper descriptions were fetched but not saved for ROM games; new scrapes now store them (use the backfill above for ones scraped before).
FixBlack-screen preview videos. Some scraped clips — common on arcade games — used a pixel format macOS can’t display, so the video was black with sound. Settings → Services → Fix Broken Videos now repairs these too.
FixCloud-save Scan no longer freezes the app on large libraries, shows accurate progress, and no longer mistakes game data for save files. The Cloud Sync screen now says whether saves are going to iCloud or a local backup.
1.2.0.5
Build 170 — August 23, 2026
NewRotate game boxes in 3D. Click the rotate icon next to a game’s title to spin its box in 3D. In Museum Mode the box sits on a lit pedestal and slowly turns like an exhibit — built from the game’s own cover art.
NewMuseum Mode shortcut. Press ⌘⇧M to open the selected game as a full-screen exhibit.
NewScreensaver: focus the Game Showcase. Show only the platform selected in the sidebar, and/or only games that have a preview video.
NewRandom Game, by platform. The Random Game button can now be limited to the platform you have selected.
NewShare your whole library. Upload your entire collection to WorthyPunks with a progress bar and a public/private toggle.
New⌘F jumps straight to the library search box.
ImprovedCorrect box art on the Shelf & Coverflow. When a game has no 3D box — or shares one with other games — NostalgiApp now builds a 3D box from that game’s own cover, so each version shows the right art (for example, the 2001 King’s Quest remake no longer shows the original’s box).
FixMissing box art and screenshots for some games (whose image files carry a catalogue ID in the filename) now appear.
FixSettings › About content that could be cut off now scrolls.
1.2.0.4
Build 169 — August 22, 2026
FixSierra adventure games launch again. Titles whose sound or graphics option swaps a config file on launch — including EcoQuest I & II, King’s Quest VI and around two dozen others — stopped starting after a recent update. They now launch correctly.
FixKing’s Quest VI CD now launches with music and speech, and the CD and floppy versions are clearly labelled in the launch menu.
FixSound Canvas & General MIDI music plays again. Some games set up for Roland Sound Canvas were playing sound effects but no music. Their music now plays correctly.
FixCD adventure games no longer freeze at the Sierra logo. They now run from the installed copy with the CD mounted for audio, instead of the read-only disc image.
FixFewer launch failures from mis-resolved game folders (no more “Not a directory” errors).
1.2.0.3
Build 168 — August 21, 2026
NewCD-game speech & music restored. Audio-heavy CD games such as Inherit the Earth compress their large sound and speech files; NostalgiApp now decompresses them during install, so you hear the voices and music instead of a “can’t open” error.
NewDOSBox ECE games. Wing Commander III and other titles that call for DOSBox ECE now offer the ECE (Wine) launch option instead of silently falling back to Staging.
FixFaster, freeze-free startup. Large libraries on an external drive no longer hang the app at launch while search indexing runs.
FixMore DOS games launch correctly — Castle of Dr. Brain, Toonstruck, Wolfenstein 3D, Privateer 2, TIE Fighter, X-Wing and Ripper.
FixSierra CD games that stopped launching in the previous update now launch again.
FixConsole & ROM emulators. Pick your standalone emulator per platform (Dolphin, PPSSPP, DuckStation, melonDS); Ryubing is now the recommended Switch default; plus a standalone-launch fix.
FixGame preview videos no longer occasionally show a clip from a similarly-named game.
FixFixed an install hang on some large game archives.
1.2.0.2
Build 167 — August 20, 2026
FixMore Sierra games play MT-32 correctly. The 256-colour (VGA) option on several Sierra games — Leisure Suit Larry 5, Castle of Dr. Brain, Conquests of the Longbow, Police Quest 3 and others — was playing SoundBlaster music instead of MT-32 even when the MT-32 option was chosen. They now use MT-32 (and CM-32L, if your ROMs support it).
FixTV mode audio while playing. Launching a game from TV / Couch Mode no longer leaves the preview video playing in the background — its sound no longer bleeds over the game.
NewGame fixes update automatically. NostalgiApp now downloads game-launch data updates from the server in the background, so many compatibility fixes arrive on their own — no app update required.
1.2.0.1
Build 165 — August 20, 2026
FixMT-32 music now plays. Sierra SCI games (King’s Quest, Space Quest, Conquests of Camelot and more) could stay silent on MT-32 even with the ROMs correctly installed — the emulator was being pointed at the wrong ROM folder. Your MT-32 music now plays.
NewFix silent gameplay videos. Some downloaded gameplay videos (mostly console games) used an audio format macOS can’t play, so they appeared to have no sound. Open Settings → Services → Fix Silent Videos to repair your whole library at once, or right-click a game and choose Fix Video Audio. New downloads are fixed automatically.
1.2.0 — The Couch Update
Build 164 — August 19, 2026
NewTV / Couch Mode. A full-screen, controller-driven experience for the living room. Browse your whole library from the sofa with a gamepad — art-forward covers, gameplay videos and screenshots, a soundtrack that plays as you browse, on-screen search, and a per-game menu to install, choose a version, favourite, hide, add to a playlist and more. Press ⌘⇧T or the TV button to enter. Games open on the same screen as NostalgiApp, so it just works on a TV or second display.
NewSoundtracks on the couch. Play your imported soundtracks — and any game’s music — from TV mode, with Play/Pause, Next, Previous and Stop on the controller. Find them under the My Soundtracks tile.
NewManuals & maps on the couch. Open a game’s manuals, maps and documents (images, PDFs and text) right in TV mode, without leaving the sofa.
NewHide games. Right-click any game (or use the couch menu) to hide it from your library, and toggle Show Hidden Games to bring them back. Your hidden list syncs across your Macs.
NewPer-game display settings. Override CRT scan-lines, fullscreen and aspect ratio for individual games from the right-click menu or the couch options. These sync across your Macs too.
NewChoose a scraping match. When automatic scraping can’t identify a game — common with oddly-named ROMs — use Choose Match… to search by name and pick the right game yourself.
FixMore games launch correctly. Quest for Glory IV (CD), King’s Quest V (CD) and several other Sierra CD games that stalled right after launch now start properly.
FixScan-lines everywhere. CRT scan-lines now appear on King’s Quest 1 & 2 (SCI) and other games that previously ignored the setting.
ImprovedMore versions to choose from. The version picker no longer hides distinct versions of a game (graphics modes, single vs multiplayer and more), and recovers missing sound-card options for some Sierra games.
ImprovedRight-click everywhere. The right-click menu now works in every view — Shelf, Timeline and Coverflow, not just Grid and List.
FixGames open on the right screen. ScummVM and DREAMM games now open on the same display as NostalgiApp, matching DOS games.
1.1.1.1
Build 162 — August 17, 2026
NewGeneral MIDI music, built in. Games that support Roland Sound Canvas / General MIDI — like Freddy Pharkas — can now play their proper music. Open Settings → Emulators → General MIDI Audio and click Install; there are no files to hunt down. Pick the “Sound Canvas” option at launch to hear it. (You can still drop in your own SoundFont if you prefer.)
FixSome CD games wouldn’t start. A few multi-folder CD games — such as Leisure Suit Larry 6 (CD) — could stop at an “Illegal command” message right after launch instead of starting. They now launch correctly.
1.1.1 — The Video Update
Build 161 — August 15, 2026
NewGameplay videos. Download a gameplay video for your console, arcade and computer games straight from ScreenScraper — while scraping, one game at a time from its right-click menu, or a whole selection at once. A big batch runs in the background so you can keep browsing and playing, skips games that already have a video, and tells you why any game came up empty. Pick where videos are stored (an external drive works too) and see how much space they use in Settings.
NewSelect All. Press ⌘A to select every game currently shown, then favourite, add to a playlist, or download videos for the whole lot at once. ⌘⇧A clears the selection.
FixFavourites stay put. Removed favourites could quietly reappear a few seconds later — they now stick, and removing several selected games at once removes all of them.
FixThe screensaver closes on a click. Clicking could leave you stuck on a black screen until you quit the app; a click now dismisses it cleanly.
ImprovedSoundtrack screensaver now covers eXo soundtracks. Playing a soundtrack from a game’s Extras brings up the vinyl-and-visualiser screensaver — the same one imported soundtracks already used — instead of the standard screensaver.
1.1.0.14
Build 160 — August 13, 2026
NewVerify Game Files. Check a game’s archive for damage from its menu. Works across every eXo collection, and names the damaged files inside rather than just saying something is wrong.
NewRepair a damaged game. When your collection can supply a fresh copy, NostalgiApp offers to delete the damaged archive and fetch it again. When it can’t, it says plainly what’s needed instead of leaving you guessing.
FixMulti-disc DOS games start correctly. Games whose discs mount on a drive letter other than D: were switching to the wrong drive and failing to start.
FixGames no longer show as “Not Available” by mistake. When a folder couldn’t be read during a scan, its games were wrongly marked missing.
FixThe screensaver always closes. It could get stuck on screen with no way to dismiss it, and its music or video could keep playing after it closed.
FixProgress is now shown while a game is being verified, and while one is downloading.
1.1.0.13
Build 159 — August 12, 2026
FixThe Beast Within: A Gabriel Knight Mystery now launches. The game was starting and then closing again within a couple of seconds. It now boots into the game properly, with your chosen sound option.
1.1.0.12
Build 158 — August 11, 2026
FixCollection setup can no longer freeze forever. If setup ever sat on “Merging files into your collection…” for hours with nothing happening, that’s fixed. Setup also now survives your Mac going to sleep mid-run and simply carries on when it wakes.
ImprovedYour Mac stays awake while setting up. Setup, repair, and adding collections now keep the machine from dozing off in the middle of a long extraction — no more caffeinating apps needed. The display can still sleep as usual.
ImprovedGame extras show real progress and resume instantly. The extras step now counts its way through (“Game extras (1,234 of 7,667)”), and re-running setup skips everything already done instead of redoing hours of work.
ImprovedSetup copes with a nearly full Mac. When your startup disk is low on space, archives now unpack directly on the collection drive instead of failing.
1.1.0.11
Build 157 — August 9, 2026
FixClassic Sierra adventures no longer quit right after launch. Phantasmagoria, the Leisure Suit Larry series, Police Quest 2 and 3, Quest for Glory II, Codename ICEMAN, Laura Bow, Conquests of Camelot and the Longbow, the Hoyle games, Mixed-Up Mother Goose and more were closing within seconds of starting. They now boot into the game with your chosen sound option, just like they should.
1.1.0.10
Build 156 — August 3, 2026
FixThe Import button is always reachable. On the final “Ready to Import” step, the summary and options could grow taller than the window, pushing the Import button off-screen with no scrollbar — a dead end. The summary now scrolls and the Import button stays pinned at the bottom.
ImprovedThe import window uses your screen. It opens as tall as your display comfortably allows and can now be resized by dragging its edges — previously the resize handle was nearly impossible to grab.
1.1.0.9
Build 155 — July 31, 2026
FixUnrecognized files can now be given a platform. If the scanner didn’t recognize some of your files during ROM import, there was no way to tell the app what platform they belonged to — they now always get a platform picker so nothing is left behind.
ImprovedThe import screen explains itself. The final Import button now tells you why it’s unavailable instead of staying silently greyed out, and the last step warns you up front about any games that would be skipped.
1.1.0.8
Build 154 — July 27, 2026
FixRetroArch games no longer start paused. Games used to open behind NostalgiApp with a pause icon until you clicked their window — they now come to the front and play immediately.
FixNintendo 64 black screen fixed. If RetroArch is set to the Vulkan video driver, N64 games showed a black screen with sound. NostalgiApp now selects the matching N64 renderer automatically.
FixNintendo DS games load again after moving to a new Mac. A leftover RetroArch setting from the old machine silently broke systems whose games ship as zip files — it’s now detected and repaired before launch.
FixMusic player behaves. Pausing the music no longer un-pauses itself moments later, and launching a game now pauses background music instead of playing over it.
NewNintendo 3DS games launch straight from zip files. The app extracts the ROM automatically on first launch. It also finds 3DS support files (boot9.bin, aes_keys.txt, seeddb.bin) stored near your ROMs and installs them for the emulator.
NewSoundtracks can move with you. If your music folders moved to a new drive or location, the new “Relocate Missing Folders” button in Soundtracks re-links every album in one go. Albums also get Replace Folder / Locate Folder options for fixing a single album.
1.1.0.7
Build 153 — July 19, 2026
NewHide store sources you don’t use. Settings → Game Sources has a new “Show in Library” section with toggles for Steam, GOG, Epic, Amazon, and the Mac App Store — your library only shows the storefronts you care about.
NewYour ROM folders become categories. ROM import can now read your subfolder names (like “RPG” or “Shooters”) and file games under matching genres automatically — and optionally create a sidebar playlist for each folder, so your hand-sorted structure stays visible in the app.
NewMSX games can now be imported. ROM import recognizes MSX and MSX2 files (.rom, .mx1, .mx2, .dsk, .cas — and zipped games), so they show up as importable platforms as intended. Thanks to the user report that caught this!
NewExperimental PlayStation 2 and Nintendo 3DS support. Opt-in RetroArch cores (Play! and Panda3DS) are now available for these systems.
FixShelf view follows the keyboard. Arrow-key navigation now scrolls the shelves to keep the selected game in view, just like the grid.
FixTimeline view navigates what’s on screen. Arrow keys now move through the displayed year (left/right roll over into the previous/next year, up/down move by row) instead of jumping to games from other years.
FixApple IIGS launches explain themselves. If MAME or GSplus can’t start a game, NostalgiApp now tells you what went wrong instead of silently doing nothing.
ImprovedIf the app’s installation is damaged (for example after an incomplete copy), it now shows a clear message instead of quietly refusing to work — so you know to reinstall.
1.1.0.6
Build 152 — July 7, 2026
FixROM import no longer stalls without a library folder. If you hadn’t pointed NostalgiApp at a collection folder yet, the final Import button silently did nothing. The app now asks you to choose (or create) a library folder right there and carries on with the import — your ROM files stay where they are.
FixReal setup progress on network shares and external drives. The copy phase of collection setup used to sit at 99% for long stretches even though everything was working. The bar now tracks the actual copy, so setting up on a NAS no longer looks stuck.
1.1.0.5
Build 151 — July 5, 2026
NewPortable ROM imports. When importing ROMs you can now choose relative paths: keep your ROM files inside your collection folder and the whole collection can move to a new drive or Mac without breaking your library — no re-import needed. Absolute paths remain the default.
1.1.0.4
Build 150 — June 27, 2026
ImprovedSharper search results. Searching by genre or series now matches whole words, so typing “myst” no longer pulls in every game tagged Mystery. Titles, developers and publishers still match as you type.
ImprovedSearch inside game descriptions. You can now opt in to having search look through each game’s description text, not just its title — handy for finding a game when you only remember a detail about it.
FixFixed a rare case where a valid licence could be asked to re-activate.
1.1.0.3
Build 149 — June 23, 2026
NewImport artwork you already have. Point NostalgiApp at a folder of screenshots or box art — like a MAME snap folder — via Library → Import Local Artwork. Images are matched to your games automatically by file name, so there’s no renaming and no waiting on a scrape.
FixSteam (via Wine) games launch again after a hung Steam. If you force-quit an unresponsive Steam, clicking Play used to do nothing — NostalgiApp now detects the stuck session and restarts it automatically.
FixFixed a rotation glitch in the vinyl record screensaver.
1.1.0.2
Build 148 — June 17, 2026
FixInstalling GOG, Epic and Amazon games now works reliably. Choosing “Install” opens the game in Heroic ready to download, and once it’s installed the button switches to Play on its own — no restart needed. Uninstalling in Heroic updates NostalgiApp too.
NewAmazon Games libraries now appear alongside your Steam, GOG and Epic games.
FixNo more false “needs repair” prompts. The check that decides whether your DOS game files are complete is now accurate.
ImprovedSetup and repair show live progress with a Cancel button, can no longer hang on a damaged download or a disconnected drive, and warn you clearly when an archive needs re-downloading.
ImprovedRepairing is much faster — it copies only the missing game folders instead of re-scanning your whole collection.
1.1.0.1
Build 147 — June 15, 2026
FixUninstall for store games. Uninstalling a Steam game now hands off to Steam itself, and GOG, Epic, Mac App Store and Windows/Wine games are managed by their own apps — NostalgiApp no longer removes their files directly.
ImprovedTidied the storefront “Windows” label so it no longer overlaps with eXo Windows titles in the sidebar.
1.1.0 — The Everything Update
Build 146 — June 15, 2026
NewYour whole collection in one app. NostalgiApp now surfaces your Steam, GOG, Epic and Mac App Store games right alongside your eXo and ROM libraries — both installed and owned-but-not-installed.
NewInstall from the store. Games you own but haven't installed show an “Install via Steam/GOG/Epic” button that hands off to the right storefront. Hide them with the “Installed only” filter.
NewRun Windows games. Launch Windows titles through the Game Porting Toolkit / Wine, with DirectX accelerated to Metal where available.
NewBuilt-in Windows runtime — no extra software needed. In Settings → Windows Games, tap Download built-in Windows runtime and NostalgiApp fetches Apple's Game Porting Toolkit for you. Already have CrossOver, Whisky or Heroic? It uses those automatically.
NewA friendlier first launch. NostalgiApp no longer requires an eXo collection to start — a welcome hub lets you begin with eXo games, ROMs or your store libraries. Reopen it anytime from Help → Getting Started.
ImprovedGOG & Epic via Heroic. Install the Heroic Games Launcher and your GOG and Epic libraries appear automatically. For your full owned Steam library, connect a free Steam key in Settings → Stores (see the guide).
1.0.9.1
Build 145 — June 7, 2026
NewNew Timeline view. Browse your library by release year — a histogram along the bottom shows how many games shipped each year, and you drag a playhead through the decades to see what came out when. A fun way to wander through gaming history.
ImprovedPolish: the library toolbar now blends with the dynamic background instead of sitting in a separate opaque bar.
1.0.9 — The Showcase Update
Build 144 — June 7, 2026
NewMuseum Mode. A full-screen exhibit for any game — box front and back (tap to flip), screenshots, the manual, cart and disc art, developer history, and the soundtrack with a clickable track list. Open it from the museum button next to a game's title.
NewShelf Mode. A new view that stands your boxes upright on wooden shelves, like a real collection — perfect for boxed DOS, Amiga and ScummVM games.
NewNocturne theme. A new calm, dark theme that puts a soft spotlight on your artwork.
NewDynamic backgrounds. The window glows with a soft, blurred wash of the selected game's art, Steam-library style. Turn it on or off in Settings → Theme.
NewPlatform accent colours. The interface subtly tints to match what you're browsing — amber for DOS, red for Nintendo, cyan for Sega, neon green for arcade and more. Toggle it in Settings → Theme.
NewCoverflow spotlight. The focused cover stays in full colour while the rest fade to black & white, so your eye goes straight to it.
ImprovedRedesigned game details. A cleaner, tabbed layout — Details, Extras, Enhancements and My Library — so you find what you want without endless scrolling.
NewNow-playing mini player. The music bar now shows cover art for whatever's playing.
ImprovedPolish throughout — app branding in the sidebar, and the details panel now remembers the width you set.
1.0.8.9.4
Build 143 — May 24, 2026
NewScraping a ROM now fills in genre, developer, publisher and release year — not just the box art. Your console and arcade games show full details and appear under the sidebar filters automatically. Works for a single game or a whole platform at once.
FixNo more freezing when you select a game. Picking a game from a large library — especially on an external drive — is now instant.
FixSmoother iCloud sync. Fixed the periodic slowdowns that could happen while your favorites and play data synced between Macs.
ImprovedFaster launch after scraping. Adding artwork or details no longer makes the next launch reload your whole library.
FixMore reliable license activation.
FixTNM 7 and Next Manager 7 now launch correctly.
1.0.8.9.3
Build 142 — May 18, 2026
FixMany DOS games no longer freeze DOSBox on launch. Doom, Indiana Jones LC, Star Trek TNG and others.
FixIndiana Jones LC launches with the right variant again.
FixWine-only eXoDOS games show a clean message instead of hanging (Descent to Undermountain, TNM 7, Cosmic Sheriff, Sierra Network).
ImprovedPlay menu opens instantly on large libraries.
ImprovedDetail view paints faster.
FixLoom CD variant is labeled correctly.
FixLog upload errors are clearer.
1.0.8.9.2
Build 141 — May 16, 2026
Many more Windows 3.x games show as Available, plus a working Discord invite.
FixWindows 3.x library: ~160 more games now show as Available. Around 14% of eXoWin3x titles were stuck on “Not Available” even when the archive was sitting right next to them. The Win3x archives are named after the launcher .bat inside the script folder (not after the game folder), and the same was true for eXoWin9x, eXoIF, eXoDemoScene and eXoAppleIIGS — we now match that pattern. After updating, a silent background rescan flips affected games to Available automatically.
FixDiscord invite link refreshed. The previous Discord link in the Help menu and on the website had expired. New permanent invite: discord.gg/RGy5uc23MG.
FixBuild 141: Dock icon restored. The Build 140 attempt to inset the icon for Dock magnification caused a white border around it. Reverted — icon now looks the way it did before.
1.0.8.9.1
Build 139 — May 14, 2026
Sound Canvas MIDI music + playlist screensaver fixes.
FixSound Canvas music plays again. Games launched with a Sound Canvas variant (Descent, Lands of Lore, and many others) were running silent for some eXoDOS layouts — DOSBox Staging was set to use the fluidsynth Sound Canvas emulator, but we were looking in the wrong place for the SoundFont file. We now check the standard eXoDOS torrent location (eXo/mt32/), the older alternate location, and DOSBox Staging’s own soundfonts folder. MT-32 ROM lookup benefits from the same fix.
FixSoundtrack screensaver works for playlists too. Playing a playlist used to fall through to your default screensaver instead of the soundtrack slideshow. Now the mosaic gathers covers + linked-game art across every album in the playlist (albums without linked games no longer disappear), and the spinning vinyl label tracks whatever song is currently playing rather than staying pinned to the first album.
1.0.8.9
Build 138 — May 11, 2026
Build your own playlists from any imported soundtrack, plus two long-standing fixes for DOS games.
NewMusic playlists. A new Playlists section under Soundtracks lets you build playlists from tracks across any of your imported albums. Right-click any track in an album and choose “Add to Playlist…” to drop it into an existing playlist or create a new one. The playlist detail view has Play All, reorder via the per-track menu, a cover collage built from up to four of the included albums, missing-track handling for albums that have moved, and Export as M3U if you want to take the playlist elsewhere.
FixGenewars (and other absolute-path DOS games) launch correctly. Around 80% of eXoDOS games mount C: at the game’s own folder; we were always mounting at the eXoDOS root and changing in. Most titles got away with it because they only used relative paths. Genewars and similar 1990s games hardcode C:\GENEWARS\ in their config files — with the wrong mount, those references pointed nowhere and the game silently sat at a black screen. We now read the original config and mirror its mount level.
FixLands of Lore: Guardians of Destiny audio variants play. The SoundBlaster, MT-32, Sound Canvas, and CD Audio versions had no working directory recorded in our database, so the launcher couldn’t find LOLG.EXE and assumed it was on the disc. All six variants now correctly launch from WESTWOOD\LOLG3D.
FixLaunch picker no longer shows duplicate versions. King’s Quest VI and similar Sierra titles were listing the same launch option twice in the version chooser. Cleaned up.
1.0.8.8.10
Build 137 — May 9, 2026
Three fixes for art, CD games, and first-time eXoDOS setup.
FixCD-mounted DOS games launch again. Titles whose dosbox.conf mounts a CD image with a quoted path (Metal Slug DOS port and likely a long tail of others) were quitting back to your Mac in three seconds. The path-rewriter now handles quoted CUE/ISO mounts cleanly.
FixCover art lines up with the right game. Series like Mega Man and Super Mario Bros sometimes showed a different game’s box art — picked at random across launches. Image lookup is now an exact match instead of substring, with deterministic iteration order, so “Mega Man” gets Mega Man’s art (not Mega Man 2’s), and “Mega Man 5” doesn’t get poached by lookalike titles.
FixFirst-time eXoDOS setup runs reliably. Pointing NostalgiApp at a freshly-extracted eXoDOS torrent (with the metadata zips waiting in Content/) was being rejected as “Missing required folders” instead of triggering setup. And on network/NAS shares a stale internal “already extracted” marker would silently skip the actual extraction step, leaving the library permanently empty. Both fixed — first-time setup now Just Works on local drives, external drives, and NAS shares.
1.0.8.8.9 — Music Update, Part 2
Build 135 — May 8, 2026
Soundtrack-aware screensaver, search, and full media-key control.
NewSoundtrack-aware screensaver. When a soundtrack album is playing and the screensaver kicks in (idle or shortcut), it switches to a music mode: a mosaic of the linked games’ art with a spinning vinyl in the center, a Winamp-style visualizer with peak-hold bars, and NostalgiApp branding cycling between the corners. Pause via media keys no longer dismisses it, and a 5-second warm-up prevents flashes when relaunching with the screensaver up.
NewSearch Soundtracks. Type into the search bar with the Soundtracks pane selected and you get filtered albums plus a dedicated Songs section with cover, title, album, and a play button on every row.
NewMedia keys, Touch Bar, Control Center. F8 / play-pause / next / previous / scrub all control NostalgiApp playback the same way they control any other macOS music app. Now Playing info (title, album, elapsed, art) flows through to system surfaces.
NewLinked-album autoplay. Click a game with a linked imported album and that album starts playing automatically — same way Media Pack tracks do.
SpeedSmoother startup on big libraries. Soundtrack folder scanning moved off the main thread. Fixes occasional launch hangs reported on b130.
1.0.8.8.8
Build 131 — May 7, 2026
Performance, polish, and a fix for cover-disk magazines.
ImprovedSearch no longer beachballs. Typing in the search bar on large libraries was occasionally locking the UI for a second or two. Group rebuilds now skip a redundant title-normalisation pass — the lag is gone.
ImprovedLibrary scans don’t freeze the app on slow drives. The background “is this game installed?” check used to read folders one-by-one on the main thread. On external USB drives this could stall the whole window for 10+ seconds. Moved fully off-main.
NewMusic player gets a seek bar. Drag through the empty space in the player to jump to any point in the current track. Tooltips on every button explain what they do (including the cryptic Autoplay one).
FixCover-disk magazines now play. Hitting Play on an interactive issue (PC Gamer, Big Blue Disk, etc.) used to drop you in Finder. Now it boots DOSBox Staging into the magazine’s cover disk — Windows 3.1 launchers, mounted CD images, and all.
1.0.8.8.7
Build 130 — May 7, 2026
Two follow-ups to the Music Update.
FixSoundtracks: tracks refresh when switching between albums. Clicking from one album to another in the Soundtracks pane sometimes showed “No audio files found in this folder.” Fixed — each album now mounts cleanly with its own track list. The previous workaround (clicking another sidebar item and coming back) is no longer needed.
FixDrag-and-drop knows when you mean music. Dropping a folder of audio files onto the window opens the Soundtrack import sheet pre-filled with the folder and a default title (used to always open the ROM import wizard). Dropping any folder onto the Soundtracks sidebar item or the Soundtracks grid does the same, regardless of contents.
1.0.8.8.6 — The Music Update
Build 128 — May 6, 2026
A whole new place in the sidebar for the music you bring yourself. Pair your favorite OSTs, CD rips, or fan remixes with games and listen as you browse.
NewSoundtracks library. Click Soundtracks in the sidebar and import a folder of music. Multi-disc albums via Add Disc…. Your audio files stay where they are — NostalgiApp keeps a reference, never copies them.
NewLink albums to games. An imported album can be tied to one or more games. The game's music button then plays your album instead of any eXoDOS-bundled track. Unlink from either side, with confirmation.
NewCover art auto-fills from your audio. Skip the cover-image picker and NostalgiApp checks the audio metadata (ID3, iTunes, FLAC) for embedded album art and uses it automatically. Override anytime.
NewImported albums in the ambient shuffle. The random 20-track background mix pulls from both the eXo Media Pack and your imported albums. Add a new album mid-session and the rotation refreshes — no restart needed.
SpeedFaster startup on Lite collections. The download-size index parse now runs off the main thread, removing a 300–700ms stall during library loading.
1.0.8.8.5
Build 127 — May 4, 2026
FixCopy-protected Windows 9x games now launch. Titles like The Unexplained that use C-Dilla CD protection now boot through to gameplay instead of erroring out at launch.
FixEach Windows 9x game launches in a clean state. Desktop shortcuts and display settings from a previous game no longer carry over into the next — every launch starts with a fresh Windows 98 environment.
FixSetup → Uninstall works on Windows 9x titles. Previously the uninstall would silently fail with “Game folder not found” for some games whose release year on disk didn’t match the catalog year.
SpeedSmoother window resizing. Resizing the main window after scrolling through the grid is back to being smooth instead of sluggish.
FixPlus a few smaller Windows 9x cleanup tweaks under the hood.
1.0.8.8.4 — The Speed Update
Build 126 — May 2, 2026
Top-to-bottom performance pass focused on huge libraries and slower drives. If you've been on a 50,000+ game collection or running off an external drive and felt scrolling get sticky lately, this release is for you.
SpeedSmooth scrolling at any library size. Tested on a 55,000-game collection on an external drive: roughly 10× less main-thread stalling in a hard scroll session. The grid, list, and Coverflow views all benefit.
SpeedImage lookups happen in the background. Cover art is fetched off the main thread, so disk reads never block scrolling — even when the thumbnail cache is cold or the collection lives on slow storage.
SpeedRight-click menus stay snappy. The Delete All Images dialog and View Images sheet no longer scan the disk on every redraw — they only do the work when you actually open them.
SpeedFaster startup status check. The post-launch installation check that scans your eXoDOS folder no longer fires hundreds of UI updates while it runs; the library settles in one update at the end.
SpeedLighter sidebar. The Favorites count uses a direct counter instead of filtering the whole library on every render.
SpeedCaches kept warmer. Image folder listings, per-game image sets, and platform-category checks are all memoized now, so the same lookup never pays the same cost twice.
No feature changes — just speed.
1.0.8.8.3
Build 125 — April 30, 2026
FixBox art shows whole, not cropped. The grid and Coverflow now display the entire box image inside its platform-shaped frame instead of clipping the parts that don't match. Portrait DOS jewel cases stopped losing their top edges, landscape SNES close-ups stopped losing their sides. Letterbox/pillarbox space is transparent so the card material shows through.
FixHover doesn't shove the box upward. The frosted-glass overlay used when you hover a grid card was inflating the cell and pushing the box art to the top of an oversized stack. The overlay is now pinned to the box-art frame, so hovering just frosts the image in place.
1.0.8.8.2
Build 124 — April 30, 2026
FixiCloud Sync now actually works in the published release. The previous release-build DMG could turn the toggle on but every iCloud action silently failed in the background — favorites, notes, ratings, and save games never made it to the cloud. Sync your data across every Mac signed into your Apple ID.
FixROM scrapes pick the right title. Some sequels (e.g. Super Mario Bros. 3, Mega Man 4, Final Fantasy IV) were silently scraping the original game in the series. The matcher now respects punctuation differences and trailing sequel numbers, on both ROM Import and the per-game Scrape Metadata button.
FixDelete All Images → Scrape Metadata refreshes everything. Previously the new art only showed in the side panel — the grid tile and the gallery thumbnails kept the old art until you restarted the app. Now all three update together.
FixSpotlight launches the game. Selecting a NostalgiApp result from Spotlight now actually opens the matching game instead of just bringing the app to the foreground.
FixMenu bar refreshes correctly. Recently Played and Favorites in the status-bar menu now reflect the current state every time you open the menu (previously they were frozen at whatever the library looked like when the menu was first built). Favorites are also sorted alphabetically. Settings… from the status-bar menu opens reliably.
FixGenre sort button is clickable again. The Alphabetical / Most Games sort menu in the sidebar's Genres header used to overlap the macOS scroll-bar gutter, so clicks landed on the scrollbar instead of the menu.
FixToolbar adapts to narrow windows. Resizing the window narrower used to clip the title count, sort picker, and grid-size button past the left and right edges. The view-mode tabs now jump to their own row when there isn't enough horizontal space.
NewManual RetroAchievements match. If automatic matching picked the wrong game, the game detail view now has a per-game RetroAchievements ID override editor (synced via iCloud).
NewEdit Metadata in ROM Import covers everything. The wizard's Edit Metadata step now covers Title, Publisher, Developer, Year, and Genre — both per-row (pencil button on each ROM) and as a batch sheet via Edit Selected. Imported ROMs write the values into the platform XML so they survive without scraping.
NewDrag & drop ROMs and multi-select files. Drop ROMs (or whole folders) onto the main window and the ROM Import wizard picks up automatically. The folder picker now also accepts files, folders, or any combination of both.
NewPer-platform box art aspect ratios. SNES, Game Boy, NES, Genesis, jewel cases, big-box DOS, and Apple II all draw with their natural shape now instead of being squished into a one-size-fits-all portrait frame.
NewDrag-to-install DMG. The disk image now opens with the app on the left and an Applications shortcut on the right, so installation is one drag.
1.0.8.8.1
Build 120 — April 27, 2026
NewWin9x launch debug capture — opt-in toggle in Settings → Diagnostic Logging. When on, captures the source DOSBox-X config, the generated config, the launch script, and intermediate launch variables to ~/Library/Logs/NostalgiApp/, and pauses Terminal before and after the launch so you can inspect output. Off by default — enable only if support asks.
FixeXoWin9x games on case-sensitive drives. If your eXo collection lives on an external drive formatted with a case-sensitive filesystem (case-sensitive APFS, exFAT, NTFS via Paragon, SMB/network shares), Windows 9x games now launch correctly. Previously Windows would boot but stop with a Path not found error from Setup.vbs before the game appeared.
FixeXoWin3x DOSBox Staging launches on the same volume types now pick up the per-game config (resolution, fullscreen, etc.) instead of falling back to defaults. The same case-sensitivity fix was also applied to the ScummVM game database lookup.
1.0.8.8
Build 119 — April 27, 2026
NewiCloud Sync. Your favorites, play counts, play time, last-played dates, notes, star ratings, progress, custom playlists, ROM metadata edits, and emulator save games now sync across every Mac signed into your Apple ID. Turn it on in Settings → General → iCloud Sync. Game files, images, and emulator settings stay local.
NewEdit Metadata in Batch Operations. Set Genre, Publisher, or Developer on many ROM games at once: Library → Batch Operations… → pick Edit Metadata (ROMs only), fill any of the three fields, hit Execute. Leaving a field blank leaves it alone.
NewSortable Genres sidebar. The old split between eight featured genres and a “More genres” disclosure is gone. Genres are now one consolidated list, with a sort toggle in the section header — Alphabetical (default) or Most Games.
ChangeBatch Operations moved from the Game menu to Library (where it conceptually belongs — the operation acts on multiple games). Keyboard shortcut is unchanged: ⌘+⇧+B.
FixRight-clicking a ROM game and choosing Delete All Images… or View Images no longer silently does nothing. The confirmation dialog and image viewer now appear as expected.
1.0.8.7.14
Build 118 — April 26, 2026
FixSierra-style CD reissues like Jones in the Fast Lane (Enhanced CD-ROM) now launch correctly when the game's wrapper batch lives in a disk subfolder rather than on the CD.
FixAudio variants honored. Picking a specific variant (Game Blaster, Sound Blaster, MT-32, etc.) from a game's launch menu now respects that choice — the launcher follows the game's own run.bat menu options, including the in-DOSBox audio configuration the eXo authors set up for that variant.
FixSierra SCI / LucasArts SCUMM games are no longer auto-rerouted to ScummVM. Picking a DOS variant from the eXoDOS launch menu now actually plays in DOSBox. Install eXoScummVM as a separate collection if you want the ScummVM versions; the recommendation remains as informational text on the game detail view.
FixScreensaver auto-fires after the configured idle timeout. The setting in Settings → Screensaver (1 / 2 / 5 / 10 / 15 / 30 minutes) now actually does something — previously it only opened from the manual menu item.
FixQuieter logs. Cancelled RetroAchievements lookups (when you scroll past a game before its lookup finishes) no longer surface as errors. Soundtrack and video extras no longer trigger a 30-second “no emulator process found” warning after playback.
1.0.8.7.13
Build 117 — April 25, 2026
FixArrow-key navigation in the grid and Coverflow views now works reliably. Previously, focusing the search bar, sidebar, or any sheet could leave arrow keys silently dead until the app was relaunched.
FixCoverflow 3D box covers — more games render with their proper transparent silhouette. The fix in 1.0.8.7.12 only healed one image type per game, so games whose grid view used Box-Front kept the older flattened Box-3D in the cache. Existing covers heal the first time you scroll past them in Coverflow — for an immediate one-shot fix, open Settings → Storage → Rebuild 3D Box Thumbnails.
FixRetroAchievements points and rank now refresh after a play session and persist across app launches. (#60)
NewROM import — one ScreenScraper call per game. Importing a folder with multiple regional or revision dumps of the same game (Amiga, console No-Intro/TOSEC sets) no longer fires off a separate ScreenScraper request per variant — siblings share a single metadata fetch.
NewImport one version per game — optional toggle on the import wizard's final step. When on, keeps just the best dump from each set of siblings (USA > World > Europe > Japan, prefers later revisions and verified-good dumps). Multi-disc / multi-tape releases are exempt so e.g. Final Fantasy VII Disc 2 is never silently dropped.
NewReset Play Stats — both per-game (right-click on a game) and global (Settings → General → Reset All Play Statistics). Wipes play count, total play time, last-played date, and the Recently Played list. Notes, ratings, favorites, and progress are untouched.
1.0.8.7.12
Build 116 — April 23, 2026
FixCoverflow 3D box art now renders with its proper transparent silhouette instead of a white rectangle behind it. Existing cached covers fix themselves the first time they appear on screen — no need to clear your thumbnail cache.
FixSmart Collection editor labels are readable when a dark theme is active on macOS Light mode. (#57 follow-up)
1.0.8.7.11
Build 115 — April 22, 2026
FixWindows 9x and Windows 3.x games launch correctly with the bundled DOSBox-X. Previously the launcher could print “DOSBox-X not found” in Terminal even though Settings showed it as detected.
FixPlaylists section now appears for eXoDOS Lite installs with a partially-set-up playlists folder. (#51 follow-up)
1.0.8.7.10
Build 114 — April 22, 2026
Smart Collections and Playlists feedback sweep.
FixSettings → Emulators → BIOS now separates required and optional missing files, so the counts match the per-platform indicators. (#59)
FixPlaylists section now appears for eXoDOS Lite users. (#51)
FixStrategy genre shows its icon in the sidebar. (#52)
FixSmart Collection editor labels are readable in Light mode. (#57)
NewSmart collections can combine multiple values of the same field — pick several developers, genres, or decades at once and they're matched as “any of these”. (#53)
New“Title contains” smart-collection filter — e.g. every game whose title includes “Castle”. (#55)
NewCreate your own playlists. Tap + on the Playlists section header, then right-click any game (or a selection) → Add to Playlist. Right-click a game inside one of your playlists to remove it, and right-click the playlist itself to rename or delete. (#56)
1.0.8.7.9
Build 112 — April 22, 2026
Responsiveness + BIOS data + media-playback polish sweep.
FixNo more beach-ball opening the detail view for games on slow external drives. Diagnostic traces caught two main-thread blockers: (a) the gallery's video-thumbnail generator was calling AVAssetImageGenerator.copyCGImage synchronously — on a slow drive this stalled the UI for 30–100+ seconds; (b) the Play Music button's “does this game have music?” check ran a synchronous filesystem enumeration on every body re-render. Both now run off the main thread and the music check is cached per-game. (reported as Alone in the Dark on a Seagate 5TB drive)
FixSidebar section collapse/expand is responsive on the first click.Button nested inside a macOS List Section header gets its first one or two taps absorbed by the List's row/selection machinery. The chevron + title is now one content-shaped tap region, and the hit target grew from 10pt to 12pt.
FixBIOS MD5s match Libretro's canonical values.bios7.bin (Nintendo DS) corrected to df692a80a5b1bc90728bc3dfc76cd948 (#49). dc_flash.bin (Sega Dreamcast) corrected to 0a93f7940c455905bea6e392dfde92a4 and flipped to optional — the main flycast_libretro core doesn't require it; only the gles2 variant does, which isn't available on macOS RetroArch (#50). Full audit cross-referenced every MD5 in the database against libretro-super's .info files; the other 10 entries that map to libretro docs all match exactly.
FixInstall no longer errors out on archives with truncated central directories. A subset of eXoDOS zips (Stargunner, Bubble Bobble in the wild) ship with partial central directories after interrupted bulk copies on exFAT. 7z recovers the local-file-header payload but exits non-zero. If the destination folder ended up with real game files, install now accepts it as soft-success and surfaces a warning instead of failing outright.
NewPause media when NostalgiApp is in the background. Two toggles in Settings → Music → Playback behavior: Pause preview video (default on — stops the looped gameplay clip playing under a running DOS game) and Pause background music (default off — leaves the soundtrack playing across apps; flip on if you'd rather it pause whenever NostalgiApp isn't frontmost).
1.0.8.7.8
Build 111 — April 22, 2026
Feedback sweep from GitHub issues #41–#48.
FixGameplay preview videos now play in the detail-view gallery for Lite collections. The video-file matcher now indexes Videos/<platform>/ case-insensitively, handles LaunchBox's filesystem conventions (“: ” rewritten to “ - ”, articles moved to the end, year-in-parens), drops the negative URL cache so post-install downloads surface without an app restart, and falls back to a tolerant fuzzy match (strips year parens + leading/trailing articles) that catches edge cases like “Bugs Bunny Hare-Brained Adventure, The (1990).mp4”. (#41)
FixAchievements settings dialog no longer has a blank band at the top or clipped text. Tab switched to .formStyle(.grouped) like every other settings sub-tab; long paragraphs use .fixedSize so they wrap instead of truncating. (#42, #45)
FixAbout panel description uses the full tagline and no longer truncates. Dialog grew to 380×540. (#44)
Fix“+” button in the sidebar “My Collections” header no longer sits under the scroll bar. (#46)
FixDecade counts agree everywhere. The top “80s/90s/2000s Classics” tiles and the bottom “1980s/1990s/2000s” rows used to return different totals because only one code path respected Hide Adult Games. All sidebar badges now share a single filtered snapshot. Also removed the redundant decade tiles from Smart Collections — decades live solely in the Decades section at the bottom of the sidebar. (#47)
FixRetroArch custom BIOS locations are detected.retroarch.cfg parser now resolves :\ and :/ (RetroArch's “relative to config dir” prefixes) and expands $HOME / $USER. When auto-detection still picks the wrong path, there's a new manual BIOS directory override in Settings → Emulators → BIOS that wins over the cfg. The BIOS scanner logs the resolved path so any remaining edge cases are diagnosable. (#48)
NewCustomize Sidebar. Each top-level sidebar section now has a chevron to collapse/expand, and a footer button opens a Customize Sidebar sheet where you can drag to reorder sections and toggle any of them off. Order and per-section expand state persist across app launches. Reset-to-default is one click. (#43)
1.0.8.7.7
Build 109 — April 20, 2026
Install hotfix.
FixInstall no longer extracts over an already-installed game. The cached installedGameIds.json is loaded eagerly at launch and the filesystem verify pass runs in the background — on slow-IO drives (USB / external SSDs) the user could click Install during that gap on a game whose folder was already on disk, triggering an extract from an archive that might be corrupt or truncated. Install now checks the data folder first; if content is present, it refreshes the cache and skips the extract.
FixTruncated/corrupt ZIPs surface a human-readable error. The error pane previously dumped the raw 7-Zip diagnostic output (“p7zip Version 17.05 ... ERRORS: Unexpected end of archive ...”), which read like an app bug. The error now detects the common truncation signatures from ditto, unzip, and 7z and shows: “The archive on disk is incomplete or corrupt — re-copy the .zip from your eXoDOS source and try again.”
1.0.8.7.6
Build 108 — April 20, 2026
Big polish release.
ChangedFull-size art viewer opens at 175% by default and no longer auto-hides controls. The previous 100% default made eXoDOS and NES art feel unreadable on open, and the 3-second auto-hide timer on the on-screen buttons left power users pressing Escape and reopening the viewer just to page through art. Controls now stay visible until you dismiss them with space or a single tap.
FixPlaytime tracking is accurate again for direct-launched emulators. Sessions for DOSBox, RetroArch, and MAME now pin to the actual emulator Process via terminationHandler, so the moment the emulator quits the session ends — no more 30-second ps-scan windows, no more runaway fallbacks that could inflate playtime by hours. Quitting NostalgiApp mid-session synchronously credits the in-progress game before exit. The ps-scan fallback (used only for Terminal-launched flows) now ends the session with zero credit if no emulator is detected, instead of waiting forever.
FixROM uninstall actually uninstalls. The old flow followed an eXoDOS folder path that was nonsensical for ROM games — best case it errored out. ROM uninstall now removes the <Game> entry directly from the platform XML and leaves the ROM file on disk so you can re-import later.
FixRe-importing a ROM from a moved folder no longer creates a duplicate. Dedup now matches by normalized title as well as path.
FixRegion and language tags strip cleanly from imported titles.Game (USA) (En, Fr, Es).nes now imports as Game. The filename parser was only stripping the first parens group; it now loops through every region-looking group.
NewMetadata editor for ROM games. Pencil icon next to the title opens a sheet for title, release year, developer, publisher, and genre. eXo-style games stay read-only — their titles feed into archive fuzzy-matching during install and renaming would break reinstalls.
NewBulk selection in the grid. Cmd-click to toggle, shift-click to range-select. With 2+ games selected, the context menu offers “Uninstall N Games” and “Toggle Favorite on N Games”. The old cmd-click “open full-size viewer” shortcut was removed in favor of standard macOS selection semantics.
FixRetroArch and MAME honor the per-game Display Mode picker. Fullscreen launches pass -f to RetroArch and omit MAME’s -window flag; Windowed does the reverse. Previously the setting was silently ignored on ROM games.
FixCoverflow actually uses the window. Cover art scales to ~72% of the available height (3:4 aspect) instead of the old fixed 200×280. Trackpad 2-finger horizontal swipe now navigates the carousel — DragGesture couldn’t catch those events, so we added a local NSEvent monitor scoped to the view’s lifetime.
Fix“No cores found” no longer appears in Settings on every relaunch. The installed-cores panel auto-scans on appearance instead of waiting for an explicit Check click.
FixVita3K firmware detection. Checks four candidate vs0 paths plus a user-configurable vita3kFirmwarePath UserDefaults override, instead of a single hard-coded path. Users with firmware installed outside the default location will stop seeing the “firmware not found” false-negative.
FixOther polish. View-mode tabs (List/Grid/Coverflow) register on the first click. Gallery thumbnails letterbox instead of cropping screenshots. Selection shows a progress spinner in the gallery while the filesystem enumerates, instead of the misleading “No images available” flash. The ROM import wizard pre-fills your last-used folder. The “Play the Quiz” menu item is gone.
1.0.8.7.5
Build 107 — April 19, 2026
Two fixes caught by user reports.
FixDetail view platform tags match the grid again. A stale-closure bug in GameDetailView caused the variant selector to render one selection behind — so a game like Loom would show the previously-selected game’s platforms in the header and information panel, and clicking a variant tag would jump to the wrong game. The group is now always recomputed against the currently-selected game.
ChangedDependencies panel simplified. Removed GNU sed, wget, and Bash 5+ rows from Settings → Emulators → Dependencies and the first-run checklist. These were holdovers from the legacy shell-script launcher and haven’t been used at runtime since the independent launch path shipped. Only aria2 (bundled) and Python 3 (optional) remain. If you’d seen these flagged on 1.0.8.7.4, you can ignore them — they were never actually required.
1.0.8.7.4
Build 106 — April 19, 2026
Sidebar UX refresh, a new Synthwave theme, an in-app user guide, and a batch of “state change doesn’t redraw” fixes caught in user reports.
NewCustom smart collections — a new “My Collections” section in the sidebar. Click the + button to build your own filter by developer, publisher, genre, or decade (e.g., Studio = Capcom, Decade = 1990s). Right-click any row to Edit or Delete.
NewSynthwave ’84 theme — deep indigo sky with magenta and amber horizon glow and a vanishing-point grid, applied to both the main window and the Coverflow backdrop. Switch from Settings → Appearance.
NewCRT scanline overlay — optional non-interactive overlay toggle in Settings → Appearance for users who want that old-monitor look. Plays nicely with every theme.
NewHelp → User Guide… now opens a proper in-app window backed by the live guide at nostalgi.app/guide. Responses are cached so you can read the guide offline after the first load, with a retry card shown on network failure. External links in the guide still open in your default browser.
ChangedGenres consolidated into one section. The curated 8 genres (RPGs, Adventure, Action, Puzzle, Strategy, Simulation, Sports, Shooter) and the full alphabetical list used to be two separate areas, which was confusing. They’re now the same section — the curated 8 with icons at the top, everything else behind a “More genres” disclosure below.
ChangedPlaylists section is now collapsible — matches Decades and More genres. Defaults to collapsed so the sidebar isn’t cluttered on first view.
Changed“Studios” renamed to “Top Studios” to clarify that the list is the auto-generated top-25 developers by game count (not a hand-curated list).
FixNo more flicker to “All Games” when changing game state under a filter. Marking progress, toggling Favorite, or editing notes while viewing Favorites / a Smart Collection / a search filter used to flash the full library for a frame before snapping back. The filter-cache invalidation now preserves the previously computed filtered result as a stale fallback while the recompute runs in the background, so the grid stays on the current filter throughout.
FixFavorites sidebar count updates the moment you toggle a favorite. Previously it only refreshed on relaunch — the count was reading from a per-game flag that toggleFavorite deliberately skips updating (to avoid an AttributeGraph crash on 55k-game libraries). The count now reads from the canonical favorites set, which is live.
Fix“With Notes”, “Highly Rated”, and Progress (Playing / Beaten / Completed) counts update live. Adding a note, rating a game, or marking progress used to leave the sidebar badges stale until you clicked another game. AppState now forwards the user-data-version signal to SwiftUI so the count recompute fires immediately.
1.0.8.7.3
Build 105 — April 17, 2026
Polish release. Two hang fixes caught by the diagnostic logger, one soundtrack UX fix, and an expanded per-game core override for RetroArch users.
NewPer-game RetroArch core override now works for any ROM platform, not just Arcade. Any game on a platform where you have two or more compatible cores installed (e.g., Game Boy with gambatte_libretro + mgba_libretro) gets an inline Core picker in the detail header. Pick a specific core for one game without changing the platform default. The picker stays hidden when only one compatible core is installed — install a second from RetroArch’s Online Updater to surface it.
FixDuplicate “Arcade” tag in the game detail header — the platform name and the Arcade indicator were rendering as two separate tags.
FixSub-second hang when opening the sidebar, Settings, or Statistics views on large libraries. The installed-games count was recomputed by filtering the full 55k-game array on every SwiftUI body re-eval. It’s now cached and refreshed only when the games array itself changes.
FixUp to 1.4-second hang when opening Settings → General. The thumbnail-cache-size scan was running synchronously while the pane loaded. Moved off the main thread; the row briefly shows “calculating…” before the size appears.
FixHitting Play on a soundtrack now works even when background music is disabled in Settings. Previously the soundtrack was extracted and loaded but playback bailed silently on the music-disabled guard. The explicit Play action is now treated as consent — music auto-enables so the soundtrack actually starts. Same fix applies to soundtrack archives in Extras and the Screensaver.
1.0.8.7.2
Build 103 — April 16, 2026
Follow-up to 1.0.8.7.1 targeting a favorite-toggle beach-ball on large libraries and the stray “setup required” prompt that fired on legitimately extracted media packs.
FixToggling a favorite no longer beach-balls or crashes on large libraries. The old code republished the entire in-memory games array on every toggle, cascading into a SwiftUI update so large it overflowed AttributeGraph. Favorite state is now sourced from a dedicated set; list rows mark themselves .equatable() so SwiftUI dedupes unchanged rows on selection and filter updates.
Fix“Setup required” prompt no longer fires for users whose Content folder holds media-pack archives (DOSMagazines.zip, DOSSoundtracks.zip, Mag!AppleIIGS.zip, etc.). Those archives ship with inconsistent root layouts (some eXo/..., some Images/..., some Magazines/...) which made the old path-inspection check unreliable. Media packs are now treated as optional extras and no longer drive the setup modal.
FixLinux-specific variants (DOS_linux_*.zip) excluded from media-pack detection, matching the non-linux preference the XO metadata check already had.
NewSetup detection emits a single summary log line (needsSetup=YES — reasons: ...) naming the exact trigger, so any future setup-prompt report is trivial to diagnose.
FixMarker-file write failures on read-only / SMB-weird-permission volumes now log a clear warning instead of silently causing an infinite setup-prompt loop.
FixFirst toolbar / filtered-groups read after library load no longer stalls the main thread — GameGroupManager’s normalization cache is pre-warmed off-main right after load.
FixGameDetailView uses LazyVStack so off-screen sections don’t create AttributeGraph nodes until scrolled to — reducing per-selection-change AG pressure on very large libraries.
1.0.8.7.1
Build 102 — April 16, 2026
Hotfix for a persistent “setup required” prompt on launch.
FixThe “setup required” prompt no longer returns on every launch for users with a Mag!AppleIIGS.zip (or any Mag!*.zip magazine pack) in Content/. The grandfather check was looking at <collection>/Magazines/, but the archive’s actual extraction destination is <collection>/eXo/Magazines/ — so the app never recognised what it had already extracted.
FixSetup now writes a .<zipname>.extracted marker after every media-pack extraction (Soundtracks, Videos, Magazines, Books, Catalogs, Mag!*) so a successful setup reliably stops the next launch from re-prompting, even if the grandfather path heuristic can’t resolve it.
FixMarker-write failures (read-only volumes, permission quirks) now log a clear warning instead of silently swallowing the error.
1.0.8.7
Build 101 — April 16, 2026
This release rolls up everything since 1.0.8.6.
Stability
FixMulti-second beachball when opening a game detail view on large libraries with “Group duplicate games” enabled — the variant-detection code was re-scanning the entire filtered library on every SwiftUI layout pass. Now cached per selection.
FixDetails pane no longer snaps narrower (or blows out to a single-column grid) when the search field activates.
FixLarge remote/iCloud Drive collections no longer stall the UI during initial indexing — heavy I/O is deferred and batched.
FixSidebar badge counts stay accurate when platform filters change.
Compatibility & Launch Fixes
FixNo more hard requirement for gsed — the app now falls back cleanly when GNU sed isn’t installed, so Macs without Homebrew extras can still run games.
FixAuthored dosbox.conf files in game folders are trusted as-is instead of being partially rewritten. Games with hand-tuned configs launch correctly again.
NewAuto-detects the new Media Pack archive layouts that eXo started shipping in early 2026.
FixCommunity game-fix lookups are hardened against malformed server responses.
RetroAchievements
NewLogin UI in Settings → Services → Achievements. “Connect to RetroAchievements” button reliably opens the right tab.
FixROM hash matching improved — more games are recognised by the RA server on first launch.
FixPlay-time tracking is credited to the right game and variant.
Diagnostics
NewOpt-in diagnostic logging under Help → Diagnostics. If you ever hit a beachball, enable it, reproduce, and upload — the logs include the exact blocking call captured live via Mach APIs, not just the idle runloop.
Other
NewScreenScraper region preference with proper fallback behavior.
New“Delete all images” action and a parental “Hide adult games” toggle with PIN lock.
1.0.8.6
Build 93 — April 14, 2026
New RetroAchievements login in Settings → Services → Achievements. Achievements appear in the detail view for supported ROM games (NES, SNES, N64, Genesis, PSX, etc.)
Fix ScreenScraper now prefers English/US box art, screenshots, and logos over German/French/Japanese versions
Fix Empty space in Settings → Services layout
1.0.8.5
Build 92 — April 14, 2026
Fix Games that failed to launch because their executable was on the mounted CD drive (e.g., Syndicate Plus)
1.0.8.4
Build 91 — April 13, 2026
Fix “Download Full” button leading to a 404 page — now downloads the torrent and opens it in your torrent client directly
Fix Folder picker reopening after cancelling a Lite download
1.0.8.3
Build 90 — April 13, 2026
Fix CRT shader not working — was using DOSBox-X shader name for DOSBox Staging, now uses native crt/vga-1080p with machine-type awareness
Fix CRT setting overridden by game’s own glshader config (e.g., glshader=sharp)
Fix Multiple games not installing with “Archive not found”
1.0.8.2
Build 89 — April 13, 2026
Fix Collection setup failing on SMB/network volumes with “Resource busy” error
Fix False “setup required” prompt after update for pure eXoDOS collections without Win9x
Fix Progress bar stuck at 0% during setup on slow volumes — now shows per-archive progress
Fix Variant selector not appearing when a platform is selected in the sidebar
Improved Disk cache enabled by default for faster browsing on external drives
Improved Background thumbnail pre-caching after collection load
1.0.6.5
Build 65 — February 28, 2026
Fix Cloud Save now recursively scans subdirectories to find saves inside nested DOS drive structures
Fix Thumbnail disk cache keys are now case-insensitive, preventing cache misses from path case differences
1.0.6.4
Build 64 — February 26, 2026
Fix Thumbnail disk cache now reliably loads existing cached images instead of regenerating on every scroll
Fix Detail pane no longer forces excessive width on smaller screens (13" MacBook Air)
Fix Cloud Save scan no longer over-counts save files when the game ZIP archive is empty or corrupted
1.0.6.3
Build 63 — February 25, 2026
Fix Seeding toggle in Settings now persists correctly when clicking outside the Settings window
Fix Significantly faster thumbnail loading from disk cache — replaced slow decode+resize with efficient single-pass CGImageSource API
Fix Grid view no longer jumps around when clicking on a game card
1.0.6.2
Build 61 — February 25, 2026
Fix Layout settings (view mode, grid size, sort order) now persist between launches when changed from the main window
Fix HSplitView divider positions (column widths) now persist between launches
Fix Cloud Save scan no longer reports 0 games when clicked before background install check completes
Fix CoverFlow now loads thumbnails instead of full-size images, significantly improving scroll performance
1.0.6.1
Build 60 — February 24, 2026
Fix eXoDOS Lite games no longer show "Not Available" — download button now appears correctly
Fix CoverFlow no longer causes window layout to bounce when navigating between games
Fix Cloud Save scan now detects save files in eXo collection game folders
1.0.6
Build 59 — February 24, 2026
Fix ~338 games with Roman numerals (Dune II, King's Quest VI, Ultima IV, etc.) now correctly match the version database for proper executable and audio config
Fix DOS internal commands (VER SET, MODE, KEYB) no longer misdetected as game executables
Fix Install/Play/Download buttons now show instantly on launch instead of after 5-minute background scan
1.0.5
Build 58 — February 22, 2026
Fix Search typing no longer lags or causes grid scroll jumps
Fix Coverflow arrow buttons now work correctly
Improved Faster game detail view: O(1) game lookup and async media loading with video URL caching
Fix Case-insensitive game detection for consistent matching
1.0.4
Build 57 — February 21, 2026
Improved Massively faster thumbnail pre-caching: directory pre-scan eliminates millions of filesystem calls on USB/external drives
Improved Concurrent thumbnail generation (8 parallel tasks) for faster completion
Fix Seeding no longer restarts after being disabled during background torrent preparation
1.0.3
Build 56 — February 21, 2026
Fix Disk thumbnail cache no longer gets wiped when refreshing the library or sidebar
Improved Pre-caching can now be safely stopped and resumed without losing progress
Improved Spotlight indexing now skips re-indexing on launch if the library hasn't changed
1.0.2
Build 54 — February 20, 2026
New Disk thumbnail cache: cache thumbnails on your local SSD for faster browsing when your collection is on an external or network drive
New Pre-cache all thumbnails at once from Settings → General → Image Cache
New Auto-detection of slow image loading with prompt to enable caching
Fix Crash when selecting DREAMM games (e.g. Monkey Island 2) caused by blocking the main thread during emulator detection
1.0.1
Build 53 — February 20, 2026
New Universal binary: now runs natively on both Apple Silicon and Intel Macs
New Bundled aria2c: download-on-demand works without Homebrew
1.0.0 — The First Release
Build 52 — February 20, 2026
Improved Games now show "Checking..." instead of "Not Available" while install scan runs on startup
New Added search filter to batch operations view
New Wired up batch operations sheet and Shortcuts integration
1.0.0
Build 51 — February 20, 2026
Fix Fixed Gobliiins, Gobliins 2 and other Coktel Vision CD games not launching
New Added BAT file parser to auto-fix games with absolute CD path references
Fix Fixed batch uninstall not finding game folders (path resolution bug)
Improved Batch uninstall now uses canonical path resolution for all platforms
New Added Batch Operations to Game menu (Cmd+Shift+B)
New Added Shortcuts integration (App Intents for Shortcuts app)
1.0.0
Build 50 — February 20, 2026
New Added option to disable post-launch feedback prompt ("Don't ask again")
New Added toggle in Settings to re-enable post-launch feedback
Improved Better extraction error messages (shows actual reason instead of generic failure)
Improved Removed unused placeholder toggles from Settings