2.5.22 / 26-08-2024
Steam Rom Manager
Accuracy
Performance
Features
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
--2.5.22--
Added
Legendary Parser now has a launcher mode to launch games with Epic online services (resolves issue 700)
Added sections to parser type dropdown and community presets dropdown.
Added a Non SRM Shortcuts preset.
--2.5.21--
Some much needed love for the Mac OS version of SRM, and a cool pull request!
Added
GOG Galaxy parser is fully functional on Mac OS.
Auto kill and restart Steam working on Mac OS.
Windows-only option in GOG Galaxy parser to parse from Windows Registry instead of GOG Galaxy's database (works even if Galaxy is not installed!).
--2.5.20--
Changed
Brought all dependencies to latest version
Switched from npm to yarn package manager
Reworked when controller templates are fetched, leading to a significant performance increase.
--v2.5.19 (hotfix)--
Sorry for the double release, forgot to bring the user configuration files up to date in the last one.
--2.5.18--
Added
Improved control over exactly what Steam Parser adds (between full games, demos, tools, and source mods).
Fixed
Steam Parser failing on beta update due to changes in binary format of appinfo.vdf (issue 688).
Steam Parser no longer requires apps to be in at least one category (incidentally resolves issue 596).
--2.5.17--
Fixed
EA Parser not handling utf-16 manifests gracefully (issue 677).
--2.5.16--
Fixed
UI Bug with list view + manually added or local artwork.
Non SRM Shortcuts parser Cannot convert to object bug.
--2.5.15--
Changed
Some small UI tweaks
Fixed
Show system specific placeholders in splash page (resolves issue 682)
Flickering in list view's artwork.
--2.5.14--
Changed
Updated built in guides.
Fixed
Some minor graphical annoyances.
Undo button not undoing some fields.
--2.5.13--
Added
Back button on User Accounts splash page.
System specific placeholders on Steam Directory splash page.
Changed
Settings options show up in full on EmuDeck Theme
Fixed
Navigation buttons not showing up on EmuDeck theme's Add Games page if no apps returned.
Bug affecting some emudeck parsers.
--2.5.12--
Added
Added a userVariables.json file where user's can put their custom variables without fear of them being overwritten by SRM, as well as accompanying documentation. Resolves issue 667
Splash page prompting user to set global Steam Directory and User Accounts if they haven't already.
Changed
Removed Enable Title from Custom Variable setting in parsers. Custom Variables are now enabled if and only if one or more groups are set.
New Bubble UI for user accounts UI in parsers, settings, and splash pages. No more janky brackets where they don't belong.
New Bubble UI for steam categories.
Relocate import/export art to options panel in Add Games (as an added bonus one can now import/export art in the emudeck theme).
Fixed
Don't show provider filters if section if there aren't any for that provider.
--2.5.11--
Added
Improved exception management from preview (current exception details now show up under fix match).
Lazy loading of images in Add Games (now the default image loading strategy, can be switched in settings).
Side panel option in Add Games to change how artwork is sorted.
Changed
Steam now auto exits gracefully on Windows.
Increased timeout for Steam to exit.
Fixed
UI Bug with filters/excludes/list images not closing upon remove from Steam.
--2.5.10--
Added
Settings option to automatically kill Steam when writing to Steam Categories (Windows & Linux only).
Settings option to automatically restart Steam after writing to Steam Categories (Windows & Linux only).
--2.5.9--
Added
Settings option to manually set DNS Server (fixes many timeout issues on the Steam Deck)
Changed
Manual Import / Export of Image Choices now matches on image pool.
--2.5.8--
Fixed
Provider workers not returning images under certain conditions
Local Artwork Only causing blue "retrieving" outline
--2.5.7--
Added
Steam Official artwork provider now grabs official steam assets when they exist.
--2.5.26--
Added
Ability to filter by "Has Exception" in preview
Ability to override display title in fix match
Changed
New exceptions are now timestamped for sorting (old Exceptions are given todays date)
Fixed
Exceptions Sorting Bug
--2.5.5--
Fixed
Bug with sorting in list view
Fixed two bugs with exception put backs.
Issue 666
--2.4.29--
Added
Non-SRM Shortcuts (a new Artwork Only parser to handle artwork for shortcuts not added through SRM).
Changed
Don't show artwork only apps when doing excludes (this didn't work anyway, since nothing is being added).
--2.4.28--
Added
Parsing of command line arguments in executable mode for GOG, Amazon, Epic, EA Desktop, and Legendary (resolves issue 263). Previously these were being ignored. As far as I can tell UPlay, UWP, and Itch.io have no capability to pass command line arguments to executables.
Fixed
Read controller templates blocking renderer process. Should fix the issue some people have had with SRM freezing when hitting save to steam.
Possible error when writing localconfig.vdf to enable/disable steam input.
--2.4.27--
Added
Ability to filter by artwork size for banners, heroes, and icons.
Ability to sort exceptions by date, old title, and new title (issue 343)
Option to hide steam username from preview.
Fixed
Some newer titles missing from Battle.net parser
Changed
Hide API options for SteamGridDB if it isn't selected as an image provider.
--2.4.26--
Added
Battle.net parser ⚔️(issue 352)
Fixed
EA Parser error stemming from outdated fast-xml-parserisabel.delariera@gmail.com
--2.4.25--
Added
Toggle to filter by apps missing artwork (resolves issue 407)
Fixed
Renderer blocking when running XBox UWP parser
Changed
Filter out DMCA'd artwork.
Split custom variables file (issue 260). Thanks @kencinder.
Moved filters for preview page into a side panel.
Automatically download new custom variables on startup.
--2.4.24--
Added
Toggle in settings to disable auto update (issue 612)
Capability to add EmuDeck specific features.
Fixed
Renderer blocking when removing extraneous artwork (should resolve many performance issues when large number of ROMs are being handled)
Possible failure to load of View Games page if userdata/0 folder present.
Flatpak build process working again
--2.4.23--
Added
Support for Xbox One Elite, PS5 Dualsense Edge, and Steam Controller templates (issue 555 and issue 656)
Fixed
Glob and Glob-Regex parser would fail if roms directory was set to the root of a drive on windows. (issue 580)
--2.4.22--
Fixed
Regression introduced in 2.4.20 resulting in ENOENT errors
--2.4.21--
Added
SRM now remembers your sgdb artwork choices (caching sgdbId -> artworkId). It will remember these choices even if you delete your config/grids folder or if you change a game's app id.
Artwork choices are stored in SRM's config directory under artworkCache.json. Moving this file to a new SRM install will instantly reproduce your artwork choices.
Per parser option to backup SGDB artwork locally. Useful for parsers that experience frequent DRM takedowns.
Artwork backups are stored in SRM's config directory under artworkBackups/. Moving this directory to a new SRM install will allow use of the backed up artwork.
Changed
SRM will now always list artwork in the same order: First whatever is currently in steam if available, then artwork backups if available, then local artwork if available, then the cached sgdb image if available, then other sgdb images, then any manually added or imported artwork.
--2.4.20--
Added
Ability to Enable/Disable steam input per parser (a much requested feature)
Ability to set appendArgsToExecutable from manual parser (resolves issue 625)
Controller Template information on View Games page.
Fixed
Create grid directory in Steam if it does not already exist (resolves issue 600)
--2.4.19--
Added
Ability to search games on view games page
Fixed
Styling regression on "all artwork" view in non-EmuDeck themes
Titles with LaunchOptions not launching from View Games page
Regression that prevented fix match from working on "all artwork" view.
--2.4.18--
Added
View Games page, ability to see what artwork and games are currently in steam without opening steam
Parse Linked Execs toggle for GOG Galaxy parser, allowing the parsing of games that were not purchased in GOG but instead manually linked.
Many changes to the EmuDeck theme, thanks to @dragoonDorise
Fixed
EISDIR upon refresh controller templates if steam had created a directory in the controller templates folder
--2.4.17--
Fixed
Fuzzy game name matching
EmuDeck theme scrollbar
Changed
Remove DNS resolution from within SRM
--2.4.16--
Fixed
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.
Added
Ability to set batch size for image downloads in settings
Changed
Automatically retry image downloads up to 4 times.
DNS resolution now happens in SRM and uses cacheing.
--2.4.15--
Added
Ability to add games to categories created in steam (including
Favorites
andHidden
!)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.
Include Visible
andExclude Visible
buttons in preview to make adding exceptions even easier.
Changed
Requests library changed to
node-fetch
, hopefully fixing timeout issues. But I have been burnt before.
Fixed
Fix match was somewhat broken for the artwork only (Steam) parser, wasn't setting the
exceptionId
correctly.Subtle bug that prevented
Remove All Added Entries
from 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
--2.4.14--
Fixed
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.
--2.4.13--
Added
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.
Fixed
Issue where shortcut passthrough wouldn't work on a directory containing only one shortcut.
--2.4.12--
Added
Exceptions now appear in EmuDeck theme
Changed
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.
Fixed
A regression in 2.4.3 that would cause import to fail for other artwork types if a grid wasn't present.
--2.4.11---
Changed
Some small quality of life UI fixes.
--2.4.10--
Added
Show total number of batches in batch progress alerts.
Fixed
Some small UI bugs that cropped up in 2.4.9.
--2.4.9--
Added
Explanation of SRM's workflow on the preview page when no apps are present. Credit to @dragoonDorise.
Highlight mandatory fields in create parser.
Changed
Moved better-sqlite calls to a child process. This fixes crashes that have been happening since upgrading to
Electron 24
.Re-worked module
windows-shortcuts-ps
to use massively less RAM when doing shortcut-passthrough (only spawn one powershell process, per parse, not one per each shortcut).Increased api call timeouts.
--2.4.8--
Added
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).
Changed
Made the whole parser clickable in the parsers list in the
EmuDeck
theme.
Fixed
Exceptions ID not matching for steam parser
CLI would hang on generate apps if no apps were found.
Handling for bug in
osName
where an error would be thrown ifpowershell
not found on a Windows system, issue 521Handling for issue where
addedItemsV2.json
could be invalid json. Also made the write synchronous so this is less likely to occur.
Removed
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 Dirs
option (always true now)Use Account Credentials
option (now set based on whether or notloginusers.vdf
exists)
--2.4.7--
Fixed
Fixed possibility of
fix match
creating duplicates or not working, state management changed to incorporate possibility of app id changes better.
Changed
Optimizations for
1280x800
screen (Steam Deck). Should stop horizontal scroll bars from appearing.Improved consistency of fix match appearance with preview.
--2.4.6--
Added
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.
--2.4.5--
Added
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.
Changed
Preview is now sorted in alphabetical order of title
--2.4.4--
Fixed
Regression in 2.4.3: SRM was not remembering the artwork choices that were already in Steam.
--2.4.3--
Added
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.
Changed
Major re-factor of parsers service, parsers component, and preview component. Preparation for new and more powerful preview.
Fixed
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).
--2.4.2--
Added
Ability to add artwork for unofficial source mods via the steam parser
Logging for when steamgriddb times out on an artwork request
Fixed
Steam parser was broken in 2.4.1
--2.4.1--
Fixed
Race condition bug in saving images to steam.
--2.4.0--
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)
MSI Installer
Helpful placeholders in parser fields.
Wiki
Changed
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.
Fixed
UWP Parser in cases where pulled json has special characters (credit to @tlt21 for the PR).
Removed
32 bit linux application (modern versions of electron don't have prebuilt binaries for ia32 linux).
--2.3.52--
Added
Enabled Chinese language, congratulations to everyone who completed the translation!
Fixed
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
@djib
for helping to debug.
Changed
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.
--2.3.51--
Fixed
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
--2.3.50--
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.
Added
Launcher Mode for EA Desktop Parser
UWP Parser for XBox Game Pass
--2.3.49--
Added
Legendary Platform Parser (working on Windows, Linux, and Mac OS)
Presets for EA Desktop and Legendary Parser
--2.3.48--
Added
EA Desktop Platform Parser
Several new languages in various stages of translation. Congrats to everyone who worked on finishing the Brazilian Portuguese translation!
Fixed
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.
--2.3.47--
Added
Ability to exclude non-local artwork in exceptions
Fixed
Image Provider resetting to SGDB even if none was previously selected
--2.3.46--
Added
Ability to filter apps by parser title in addition to steam category.
Fixed
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.
--2.3.45--
Fixed
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.
Changed
Alphabetization for controller templates.
--2.3.44--
Added
Ability to import and export artwork choices
Ability to override drive letter for itch.io apps running via wine/proton on Linux
--2.3.4--
Added
Crowdin Localization
Ability to remove applied controller templates per parser (and globally in settings)
Fixed
Vastly improved state management for controller templates
Totally re-worked select component to allow dynamically changing options
--2.3.42--
Added
Steam Deck per-parser controller templates
Fixed
Issue where games with special characters in their names couldn't have their controller templates set
--2.3.41--
Added
Ability to set controller configs per parser (see in app documentation) 🚀
Fixed
Steam parser was broken by December 2022 changes valve made to appinfo.vdf, see here and here. This resolves issue 443.
Removed
32 bit builds for Mac OS are (possibly temporarily) discontinued. If I can fix the build issue they may return.
--2.3.40--
Added
Ability to open config directory from settings.
Fixed
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.
--2.3.39--
Fixed
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.
--2.3.38--
Added
Made itch.io fully cross platform
Capacity to build flatpaks! (Only on linux)
Built in bug-reporter.
Changed
Better errors when SGDB can't find a matching title (no more 'Unknown Error').
Fixed
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.
Removed
Sentry.io logging, since we now have the issue reporter. Application got 10mb lighter!
--2.3.37--
Added
Ability to do shortcut passthrough for
.desktop
shortcuts on Linux.
Changed
Totally re-factored the
executeFileParsers
method 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.
--2.3.36--
Fixed
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
.lnk
files no longer drops arguments and start dir.Platform parser launcher mode arguments no longer added in launcherless mode.
Changed
Also log start in directory.
--2.3.35--
Added
Itch.io parser
--2.3.34--
Fixed
Title sanitization yet again.
Epic manifests not showing Issue 297
Added
Ability to handle animated artwork
Amazon Games parser
Exposed API options for SteamGridDB: style, nsfw, humor, and image motion types
--2.3.33--
Fixed
Actually hopefully fixed title sanitization in
screenshots.vdf
.Resolved "Fatal preview error error" when saving app list on Steam Deck
Resolved Steam Parser with titles that are numbers issue
--2.3.32--
Added
UPlay Parser.
Changed
Prettied up the settings page further.
Fixed
Now properly sanitizing the titles put into
screenshots.vdf
.Fixed the change in 2.3.31 that prevented GOG/Epic Parser from working unless directory overrides were set.
--2.3.31--
Added
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.
Fixed
Environment variables now work in parser inputs.
Changed
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)
--2.3.30--
Add an additional check for executables under "/var/run/host "when running Flatpak version.
--2.3.29--
Fixed TypeError [ERR_INVALID_ARG_TYPE] when adding shortcuts to existing VDF file
--2.3.28--
Added
Allow exact gameid in search title override (also added documentation).
--2.3.27--
Added
Automatic Preset Updating
New Icon
Search Title Override in Exceptions Manager
Fixed
A stray parenthesis in a preset.
--2.3.26--
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.
--2.3.25--
Added
GOG Galaxy parser!
Epic and GOG parsers have launcher and launcher-less modes!
Fixed
appid Field is now set correctly in
shortcuts.vdf
.Icons no longer can be set to exes (which would result in those exe's being copied to grids folder).
--2.3.24--
Added
Ability to override manifests directory in epic parser (so that for example the Legendary store can be used instead).
Changed
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
--2.3.23--
Fixed
Epic parser in the case where manifests file doesn't specify executable location.
--2.3.22--
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.
--2.3.21--
Fixed
Fixed OS Version in About page
Changed
Migrated to new repository as part of SteamGridDB organization.
--2.3.20--
Fixed local icons
Fixed epic parser in the case that you had previously moved your epic library
--2.3.19--
Icon support! Icons are now on equal footing with other types of artwork and can be added from SteamGridDB.
--2.3.18--
Changed
Updated several backend packages (for example node version went from 9 to 14.18.1 LTS)
Removed bluebird.
Fixed
Logos got broken by a previous update that was using an outdated version of steam-categories. That is now fixed.
--2.3.17--
A dumb thing I borked in 2.3.16. Steam parser should not try to pull images for tools, ie appids like xxx_yyyyyy
--2.3.16--
Changed
Enabled steamgriddb image provider by default in new parsers (previously default provider was set to none)
Fixed
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
--2.3.15--
Fixed
Possibility of steam parser breaking because of slightly different possible key in sharedconfig.vdf (thanks「easy revenge! for pointing this out)
--2.3.13--
Fixed
Fixed default image field calling backslashes invalid
Changed
Default behavior is to not auto-delete shortcuts for disabled parsers
To be imported soon...