NonSteamScraper has been released in version v1.5.0.
The tool does one-click artwork fetching (covers, hero images, logos) for your entire non-Steam game and app library from SteamGridDB.
This update focuses on data safety: “Undo Last Fetch” now restores the artwork a fetch replaced, instead of only deleting what it added.
Undo Last Fetch now restores the artwork a fetch replaced instead of only deleting what it added. A restore point (~/.steamart_restore) snapshots a game’s art before anything destroys it - a fetch, or Re-fetch, which previously glob-deleted every file with no backup at all - and Undo puts the files back and restores the shortcut’s icon, queued through the pending-icon mechanism when Steam is running. Settings gains a Storage row that reports and clears the saved data.
In-app links work again after a theme change. relaunch_app re-execs the frozen binary, and the PyInstaller bootloader then set LD_LIBRARY_PATH_ORIG to the PREVIOUS bundle’s unpack dir, which _browser_env dutifully restored into every spawned browser - the same failure fixed in v1.4.3, reintroduced by the restart.
Fetch diagnostics improved: 429 waits are reported through a module-level hook, and each game’s log line carries its elapsed seconds. All HTTP now goes through one seam backed by a single pooled Session.
Data-safety fixes found in review:
- Re-fetch and Undo matched files by a bare {app_id} prefix, so uid 12345 deleted 123456’s art - a different game’s, unrecoverably. Both now match on the leading digit run.
- apply_pending_icons dropped a queued "" (os.path.exists("") is False), so a restored “no icon” was silently discarded.
- Undo refuses to run when the manifest’s grid folder no longer matches the live one, instead of restoring one Steam account’s art into another’s.
- clear_managed_artwork wipes the restore point, so “Clear All Artwork” cannot be silently reversed by a later Undo.

Source: GitHub