2.4.16 / 10-05-2023
Steam Rom Manager
Steam Rom Manager is a bulk game importer and artwork manager for Steam. It's basically an app for managing ROMs and benefiting from what Steam has to provide. This includes using big picture mode, its overlay, controller management layout, streaming options and much more..
Most Recent Changes
Image timeouts issue should be resolved. If it isn't resolved for you try lowering the batch size in settings.
Duplicates being added when upgrading from 2.4.14 to 2.4.15.
Ability to set batch size for image downloads in settings
Automatically retry image downloads up to 4 times.
DNS resolution now happens in SRM and uses cacheing.
Ability to add games to categories created in steam (including
SRM now respects addition of non SRM managed games to SRM created categories, i.e. it won't delete them.
Global buttons added to steam directory and user accounts field in parsers.
Choose Account button added to user accounts field in parsers.
Added an SGDB search field to the fix match page in preview.
Exclude Visiblebuttons in preview to make adding exceptions even easier.
Requests library changed to
node-fetch, hopefully fixing timeout issues. But I have been burnt before.
Fix match was somewhat broken for the artwork only (Steam) parser, wasn't setting the
Subtle bug that prevented
Remove All Added Entriesfrom doing anything to categories or controllers when Preview hadn't been generated.
Minor issue where image index wasn't being set to zero after an image was saved to steam (making it seem like the image didn't save even though it did).
Graphical issue with scrollbar in EmuDeck theme
Filter out weird '0' userdata directories that were causing problems for people in 2.4.13. I don't have one, so I didn't catch this issue.
A global environment variable for the user accounts filter (planning to eventually make this parser field mandatory)
A noice modal to set the global user accounts filter from settings.
Issue where shortcut passthrough wouldn't work on a directory containing only one shortcut.
Exceptions now appear in EmuDeck theme
Use App Id instead of titles for import/export images (gets rid of title collisions and also issues with titles that have illegal filename characters)
Total re-work of image downloading method to remove dependence on deprecated library
request. Should also hopefully fix timeout issues, as it now automatically retries (once) if an image request times out.
A regression in 2.4.3 that would cause import to fail for other artwork types if a grid wasn't present.
Some small quality of life UI fixes.
Show total number of batches in batch progress alerts.
Some small UI bugs that cropped up in 2.4.9.
Explanation of SRM's workflow on the preview page when no apps are present. Credit to @dragoonDorise.
Highlight mandatory fields in create parser.
Moved better-sqlite calls to a child process. This fixes crashes that have been happening since upgrading to
windows-shortcuts-psto use massively less RAM when doing shortcut-passthrough (only spawn one powershell process, per parse, not one per each shortcut).
Increased api call timeouts.
Ability to comment things out in glob fields using
Config presets are now grabbed by version, so that older versions of SRM (from here on out) won't break when breaking changes are made to the presets files (they also won't receive any new presets, but c'est la vie).
Made the whole parser clickable in the parsers list in the
Exceptions ID not matching for steam parser
CLI would hang on generate apps if no apps were found.
Handling for bug in
osNamewhere an error would be thrown if
powershellnot found on a Windows system, issue 521
Handling for issue where
addedItemsV2.jsoncould be invalid json. Also made the write synchronous so this is less likely to occur.
Expandable set notation
$()$that could be used in the local images fields. Classic example of SRM being overcomplicated. I might bring it back if there is popular demand.
Skip Accounts with Missing Data Dirsoption (always true now)
Use Account Credentialsoption (now set based on whether or not
Fixed possibility of
fix matchcreating duplicates or not working, state management changed to incorporate possibility of app id changes better.
1280x800screen (Steam Deck). Should stop horizontal scroll bars from appearing.
Improved consistency of fix match appearance with preview.
Ability to exclude titles from the preview! Exclusions are automatically saved as exceptions so that the user doesn't have to repeat them. If you want the title back, just go find the exception and get rid of it.
Ability to set exceptions based on the exact app through an exception ID, e.g. if you have two titles with the same exact name they no longer need to have the same exceptions applied.
Ability to fix matches from the preview 🚀! Just click the little exclamation point on the left of the app (icon subject to change), select the game and boom match fixed. Best of all, SRM will automatically save your change as an exception so that you never have to change it again in the future.
Exceptions are now searchable.
Preview is now sorted in alphabetical order of title
Regression in 2.4.3: SRM was not remembering the artwork choices that were already in Steam.
New highly simplified EmuDeck theme (only recommended for EmuDeck users as it hides parser config).
Everyone who has made a feature contribution is now in the about page.
Legacy banner images now sym-linked instead of copied (reduces storage usage by 17%)
Steam images become sources immediately after hitting save apps to steam. This means that if you have some (or many) SGDB requests time out you can just wait a few seconds and hit "save apps to steam" again and it will get only those images.
Major re-factor of parsers service, parsers component, and preview component. Preparation for new and more powerful preview.
Glob and Glob Regex parsers with ** now follow sym-links once more (this was broken by the upgrade to glob 9.0, which no longer follows sym links by default).
Ability to add artwork for unofficial source mods via the steam parser
Logging for when steamgriddb times out on an artwork request
Steam parser was broken in 2.4.1
Race condition bug in saving images to steam.
Command line interface
New default UI theme
Batched Image downloading
Unfortunately on the Windows portable version the CLI can't print anything out (see electron-builder issue 3998), but the commands still work. I am tracking this issue and will update
electron-builder as soon as it is fixed.
Solves the issue where SRM would hang on "Writing VDFs" when lots of images were being added. Batching is 500 images (100 games) at a time, with ten seconds in between in order to give SGDB's servers a break.
Ability to filter by installed status and app type in steam parser (e.g. only get artwork for games, not tools).
Windows Apps capability for UWP parser.
Handling for DMCA'd images (SRM doesn't add the "This image has been taken down" fallback to steam)
Helpful placeholders in parser fields.
Re-worked steam parser to no longer require apps be categorized (credit to discord user Tormak for the technique). May still change in the future
Bring all SRM dependencies up to date.
UWP Parser in cases where pulled json has special characters (credit to @tlt21 for the PR).
32 bit linux application (modern versions of electron don't have prebuilt binaries for ia32 linux).
Enabled Chinese language, congratulations to everyone who completed the translation!
Bug in UPlay parser that could cause it to fail when Ubisoft left stray registry entries for Ubisoft games installed by steam. Thanks to SGDB Discord user
@djibfor helping to debug.
Made it so that the docs page returns to the intro page when clicking new parser, and otherwise changes to the main docs page for whatever parser type is clicked.
EA Parser works for EA Play games (will only add them in launcher mode, skips them in launcherless mode)
Two UWP parser fixes involving different possible structures for uwp xml and json files. Greatly increases the number of games the parser works for.
Fix incorrect titles bug for UPlay parser
Hopefully fixed path undefined bug for UPlay parser
I would just add that as it stands the UWP Parser is highly experimental -- it worked well for the single game in my XBOX Library. Please submit a Github issue or reach out on the SGDB Discord if it has trouble with your XBOX titles.
Launcher Mode for EA Desktop Parser
UWP Parser for XBox Game Pass
Legendary Platform Parser (working on Windows, Linux, and Mac OS)
Presets for EA Desktop and Legendary Parser
EA Desktop Platform Parser
Several new languages in various stages of translation. Congrats to everyone who worked on finishing the Brazilian Portuguese translation!
Hopefully fixed scaling issue on steamdeck where scroll bars were being added to preview page.
Fixed amazon games parser adding games that had been uninstalled.
Ability to exclude non-local artwork in exceptions
Image Provider resetting to SGDB even if none was previously selected
Ability to filter apps by parser title in addition to steam category.
Significant lag when transitioning from non parser tab to a parser tab, caused by cached controllers templates being destroyed. Fixed by moving them to service.
Category Filter options getting cleared after leaving the preview page.
Bug where controllers couldn't be fetched if user had a custom config whose title was a number (ugh). Credit to emu-deck Discord user emotion for discovering the bug.
Alphabetization for controller templates.
Ability to import and export artwork choices
Ability to override drive letter for itch.io apps running via wine/proton on Linux
Ability to remove applied controller templates per parser (and globally in settings)
Vastly improved state management for controller templates
Totally re-worked select component to allow dynamically changing options
Steam Deck per-parser controller templates
Issue where games with special characters in their names couldn't have their controller templates set
Ability to set controller configs per parser (see in app documentation) 🚀
Steam parser was broken by December 2022 changes valve made to appinfo.vdf, see here and here. This resolves issue 443.
32 bit builds for Mac OS are (possibly temporarily) discontinued. If I can fix the build issue they may return.
Ability to open config directory from settings.
Incorrect image queries for shortcut passthrough of .desktop files on Linux.
Fixed weird bug involving a race condition on
.bind(env), resulting in the error.
Logging of vdf merging errors (no longer produces blank errors sometimes)
"Fatal preview error error" when saving app list on Steam Deck is hopefully fixed.
Made itch.io fully cross platform
Capacity to build flatpaks! (Only on linux)
Built in bug-reporter.
Better errors when SGDB can't find a matching title (no more 'Unknown Error').
Excluding titles and forcing a name change caused an error as of 2.3.37 Issue 308
.desktop shortcut passthrough now works in the flatpak version of SRM.
Sentry.io logging, since we now have the issue reporter. Application got 10mb lighter!
Ability to do shortcut passthrough for
.desktopshortcuts on Linux.
Totally re-factored the
executeFileParsersmethod to use an actually sane promise stack. As an added bonus, the refactoring allowed for per parser error logging and for exceptions to overrule the results of shortcut passthrough.
Added handling to UPlay parser to simply not add games whose path is not stored in the registry (thanks @CheezyFriez12 for helping to debug).
Shortcut passthrough for
.lnkfiles no longer drops arguments and start dir.
Platform parser launcher mode arguments no longer added in launcherless mode.
Also log start in directory.
Title sanitization yet again.
Epic manifests not showing Issue 297
Ability to handle animated artwork
Amazon Games parser
Exposed API options for SteamGridDB: style, nsfw, humor, and image motion types
Actually hopefully fixed title sanitization in
Resolved "Fatal preview error error" when saving app list on Steam Deck
Resolved Steam Parser with titles that are numbers issue
Prettied up the settings page further.
Now properly sanitizing the titles put into
Fixed the change in 2.3.31 that prevented GOG/Epic Parser from working unless directory overrides were set.
Experimental parser sections. If people don't like them they can be removed, but I think they clean up the parsers significantly.
Manual Parser. Ability to specify shortcut info in JSON files, thanks @CarJem for the PR.
Global ROMs Directory environment variable.
Environment variables now work in parser inputs.
Brought settings UI more into line with the rest of the app, and added documentation.
Removed "Show Advanced" and "Disable Parser" (disable parser is now on the sidebar only)
Add an additional check for executables under "/var/run/host "when running Flatpak version.
Fixed TypeError [ERR_INVALID_ARG_TYPE] when adding shortcuts to existing VDF file
Allow exact gameid in search title override (also added documentation).
Automatic Preset Updating
Search Title Override in Exceptions Manager
A stray parenthesis in a preset.
Potential error in GOG Parser when details are missing (for now it just won't add the game).
Fixed existing icons not populating from grids folder.
GOG Galaxy parser!
Epic and GOG parsers have launcher and launcher-less modes!
appid Field is now set correctly in
Icons no longer can be set to exes (which would result in those exe's being copied to grids folder).
Ability to override manifests directory in epic parser (so that for example the Legendary store can be used instead).
Totally refactored parserInputs in userConfigurations and presets to allow for less clutter and more varied parsers in the future.
This release requires you to go into settings and force re-download config presets
Epic parser in the case where manifests file doesn't specify executable location.
Better UI for enabling and disabling parsers. This can still be done from within the parsers themselves but in addition there are now toggles on the navigation bar on the right, as well as an "enable/disable" all toggle.
Documented issue discovered by Discord user @KiwiKitten that Steam parser only works for Steam games that appear in at least one category.
Fixed OS Version in About page
Migrated to new repository as part of SteamGridDB organization.
Fixed local icons
Fixed epic parser in the case that you had previously moved your epic library
Icon support! Icons are now on equal footing with other types of artwork and can be added from SteamGridDB.
Updated several backend packages (for example node version went from 9 to 14.18.1 LTS)
Logos got broken by a previous update that was using an outdated version of steam-categories. That is now fixed.
A dumb thing I borked in 2.3.16. Steam parser should not try to pull images for tools, ie appids like xxx_yyyyyy
Enabled steamgriddb image provider by default in new parsers (previously default provider was set to none)
Totally reworked the way SRM keeps track of known steam directories. Should fix the issue some people have been having where the "remove all" button gets greyed out because SRM thinks there are no directories to remove from.
Fixed issue 232
Possibility of steam parser breaking because of slightly different possible key in sharedconfig.vdf (thanks「easy revenge! for pointing this out)
Fixed default image field calling backslashes invalid
Default behavior is to not auto-delete shortcuts for disabled parsers
To be imported soon...