Repository navigation
Releases
2.6.2
2.6.2
Fixes for the themes, the update notifier, Exceptions, the Legendary parser and importing artwork choices.
Easier to see in every theme
Buttons, switches and games without artwork used to almost disappear in themes whose colors are close together, such as Solarized Light, Mint and Pride. They now stand out in every theme, including themes you made yourself. The text in input bubbles (for example "Global" under User accounts) can be read in light themes too.
Update download progress
Downloading an update now shows a progress bar with the size and download speed. It updates by itself; before, the progress only changed when you moved the mouse.
Also:
- If a download fails, SRM says so, with a link to the release on GitHub. Before, the progress stopped and nothing else happened.
- Downloading again after cancelling a download works.
- When the update is downloaded you can choose No as well as Restart.
Fixes
- Saving exceptions no longer fails with "must be string" after deleting an exception.
- Legendary games launch again when SRM finds Legendary by itself (#719). The path it found ended with a line break, which broke the shortcut. Also, if Legendary isn't installed, the parser now says so instead of never finishing, and finding it no longer needs PowerShell 7.
- Importing artwork choices counts only the games in the list (#724). Games that are no longer installed are skipped, and the log names them.
Other changes
- SRM's license is now stated as GPL-3.0-or-later (#882).
- Updated dependencies, including security fixes.
2.6.1
2.6.1
A follow-up to 2.6.0: refreshing Add Games is much faster, and two artwork errors are fixed.
Faster refresh in Add Games
Refreshing the list no longer re-parses every parser. Only what changed is parsed again:
- Disabling parsers removes their games from the list without parsing anything.
- Enabling or editing a parser parses only that parser. Re-enabling a parser you haven't changed reuses its last result.
- Excluding games removes them without parsing anything.
- Renaming a game, using Fix match, or changing other exceptions parses only the parsers with a game the change applies to.
- Changing environment or custom variables parses everything, since every parser can use them.
- Refreshing with nothing changed parses everything, so new or removed ROM files are picked up.
Artwork carries over between refreshes as well. Artwork already found for a game isn't looked up again, the artwork you picked stays picked, and images you added by hand stay in place.
The command line still parses everything each time it runs.
Fixes
- Artwork downloads no longer time out just because they're slow. A download used to fail if it didn't finish within 10 seconds, so large images (especially heroes) failed when many were downloading at once. Now a download only fails if nothing is received for 10 seconds.
- No more "Cannot read properties of null (reading 'image2x')" errors from the Steam Official artwork provider. These appeared when Steam had no artwork of some kind (such as a logo or hero) for a game. Now that artwork is simply skipped.
2.6.0
2.5.45
Added
- Quiver Launcher Parser added (thanks @rombat !)
Fixed
- Issue 891 disabling steam input wasn't working because steam changed which ID they used to identify the setting. Thanks @sean0407 !
- Improved Github Launcher Parser by honoring user install paths.
2.6.0
A big one: SRM's insides were rebuilt so the app, its command line and its tests all share one core, and that work turned up (and fixed) a long list of bugs.
Added
- Themes. Six new app themes: Sunset, Solarized Dark, Solarized Light, Mint, Pride and Cyberpunk.
- Theme editor (Settings > Theme editor). Make your own themes: duplicate any app theme, change any color, size, font or animation with a live preview on the whole app, then save, use or delete it. Paint values (backgrounds, the bar next to the navigation) have a gradient builder with angle, colors, hard-edged stripes and flag presets. Themes are JSON files in
userData/themes/user, easy to share. - Languages. All 31 languages are now offered in Settings. Anything not yet translated shows in English instead of breaking. Help translate on Crowdin.
- Command line: manage parsers.
srm create,edit,deleteandviewcover every setting in the parser editor, with the same required fields and validation. Parsers can be named by id or by name in every command. See the wiki. - Command line:
add --only/remove --onlyrun just the parsers you name, enabled or not. - Standalone command line. Each release has
srm-cli-<version>-<os>-<arch>for Windows, Linux and macOS (x64 and arm64): one executable, no gui app needed. It uses the installed app's data, or auserDatafolder next to it.
Changed
- Exceptions are now two lists: Changes (renames, Fix match, launch options and so on per game) and Excluded games. Excluding a game no longer throws away its changes, and putting it back restores them. Each rule shows whether it matches one game from Add Games or every game with a title. Your existing exceptions are converted automatically, and older SRM versions can still read the file. The "Add a change" / "Exclude a title" button stays in view at the top of the list, new rules appear right under it with the cursor in their title, and a new rule can be cancelled with its Γ.
- Fix match replaces the artwork search box with the matched game until you clear it.
- Faster saves and parsing, most noticeably for big libraries: artwork, collections and controller templates are each read once per save, SteamGridDB is searched once per title, and the Microsoft Store parser starts PowerShell twice per run instead of up to three times per game.
- The command line no longer needs an internet connection: it uses SRM's cached data (it only downloads what has never been downloaded).
- Offline mode now also skips the custom variables, presets and shell script downloads.
- Security: the window no longer has access to Node or Electron. Everything that touches your files runs in the main process behind a fixed list of allowed actions.
- Electron 32 β 44. Electron no longer makes 32-bit Windows builds, so neither does SRM: Windows releases are 64-bit (x64) and ARM (arm64).
Fixed
Steam
- Saving failed outright with "restart Steam" on and "kill Steam" off.
- Saving duplicated your own Steam collections a little more every time.
- "Remove all" left SRM's forced Proton settings behind, so a re-added game got them back.
- A save could erase your own Proton choices for Steam games handled by an artwork-only parser.
- A failed artwork download (404, 5xx) was saved as the artwork, replacing the good file.
- Controller settings: backups were never made, removed games' Steam Input settings were left behind, and one account without
localconfig.vdfbroke controllers for every account after it. - Steam was stopped and restarted twice per save; now once.
- A Steam folder without user accounts (old install, removed SD card) broke "Remove all" and View Games.
- Horizontal grid artwork failed on Windows without admin rights or Developer Mode.
Parsers
- The parser editor could carry settings from one parser into another one you opened after it.
- Choosing a preset for a parser and then moving it to a group changed the preset itself.
- GOG Galaxy: linked games got the wrong
/gameIdin their launch options. - EA Desktop failed with "Received an instance of Blob".
- Microsoft Store: updated apps were listed once per old version left on disk, sometimes with an executable that no longer exists, and some apps showed their package name instead of their real name.
- "Skip file if variable not found" shifted the titles of every file after a skipped one.
${cv:group|input}ignored the group and returned "undefined"; it now returns the variable's value..desktopshortcuts passed field codes like%Uto Steam.- Steam source mods' titles were cut at the first space or comma.
- A parse could hang forever when SteamGridDB or an image folder couldn't be read.
Add Games and View Games
- Renames and Fix match picks in a game's details were sometimes silently lost on save.
- The category and parser filters kept old values after parsing again, which could hide every game.
- The Export/Import art buttons looked like plain text.
- Log text couldn't be selected or copied.
- View Games always showed Steam Input as "default".
Settings and data
- Upgrading from very old versions reset the preview settings and lost the parsers' default tall image.
- "Update custom variables" hid your own variables until a restart.
- The fuzzy list was downloaded again at every start.
- An empty or unreadable settings or parsers file no longer silently loses your changes: SRM's files are now written safely (a crash mid-save can't truncate them), and an empty file left behind by an older version counts as a fresh start.
- Choosing any language but English disabled saving settings.
Notes
- 32-bit Windows is no longer supported (Electron 44 has no 32-bit build). If you're on 32-bit Windows, stay on 2.5.x.
- If you switch to one of the new themes or a language other than English and then go back to 2.5.x, 2.5.x won't accept your settings file. Choose a 2.5.x theme (Deck, Classic or EmuDeck) and English first, or delete
userSettings.jsonafter downgrading.
2.5.44
Added
- Ability to set overlay images within SRM (only using local images for now). Thanks @Marocco2 for the initial PR.
- Abillty to set sort as title in steam using a custom variable. Thanks @FranKaneStein-g for the initial PR.
- Arm64 build targets on all three platforms. Thanks @matheus-apolonio for the idea.
- Two new title variables;
${shortcutTitle}and${customVariableTitle} - Fully deterministic and explicit title waterfall. Each title stage involves at most one change (unlike before, where extracted title was modified several times and didn't necessarily match the title extracted from the parser).
- extracted title (title produced by the parser)
- shortcut passthrough title (will only differ if file is a shortcut and shortcut passthrough is enabled)
- custom variable title (title after applying custom variables)
- fuzzy title (title after fuzzy match)
- post title modifier title (title after title modifier field is applied)
- final title (title after exceptions are applied).
Fixed
- Two buggy Pokemon Mini presets
2.5.43
Fixed
- Error logging sometimes displaying blank error messages in the logs.
- Required fields validation not working for parser specific fields.
- SteamOfficial CDN images sometimes not loading (thanks @mvanhorn for the PR).
2.5.42
Added
- Controller Template handling for
- New Steam Controller (Triton)
- GameCube Controller
- Wii Remote
- Generic Controller
- Switch 2 Pro Controller
- 8BitDO Controller
- ASUS ROG Ally
- Lenovo Legion Go S
2.5.41
2.5.41
Added
- Parser for GitHub Launcher. For now Windows only; but will be pretty easy to port.
Fixed
- Manual Parser not showing errors in the logger.
2.5.40
Changed
- Strip out all dependency on appinfo.vdf from webapi version of steam parser (more consistent results not relying on steam even having been run locally)
Fixed
- Bug with cmd/ctrl f that caused it to highlight everything for very long logs.
2.5.39
Fixed
- #825 Fix ubisoft connect parser. Thanks @NightHammer1000 for the PR.
Added
- Option for artwork-only steam parser to use WebAPI key to load artwork for all games, not jut those that have been installed at least once. Resolves #697.
- Cmd/Ctrl F search in logger.
2.5.38
Fixed
- #715 (Entries in view games could be blank because of case mismatch)
- #739 (Numeric steam id issues caused by numeric strings parsing as numbers)
- #819 (steam categories getting created even if user left them blank. regression due to a previous PR)
Added
- Parser groups. Makes organizing parsers much cleaner.