Caution
As of this version, a valid config.yml
file is required to run the app, and must be mounted before upgrading to 4.1.0. Please refer to the instructions at the top of this example config.yml file. The file can be used as-is without making any changes.
Warning
Some platform slugs have been updated to fix common setup issues and remove duplicates. If you use any of the following platforms, the system will migrate to the new slugs will happen automatically, and update your config.yml
file accordingly. No manual intervention is required.
cpc
, apple-i
, apple2
, apple2gs
, apple3
, mattel-aquarius
, atari-2600
, atari-5200
, atari-7800
, atari-8-bit
, bally-astrocade
, bbc-micro
, cd-i
, cdtv
, channel-f
, commodore-16-plus4
, dragon-3264
, dreamcast
, edsac--1
, electron
, elektor-tv-games-computer
, fmtowns
, game-com
, gameboy
, gameboy-color
, gameboy-advance
, game-gear
, gamecube
, genesis-slash-megadrive
, macintosh
, microcomputer--1
, microvision--1
, neo-geo
, odyssey--1
, nintendo-ds
, palmos
, pc88
, pc98
, pet
, pdp-7--1
, pdp-8--1
, playstation
, ps
, ps4--1
, playstation-4
, playstation-5
, ps-vita
, sega-32x
, sega-cd
, sega-cd-32x
, sega-master-system
, sega-saturn
, sharp-x1
, sinclair-zx81
, sg-1000
, switch2
, thomson-mo
, trs-80-coco
, turbografx-16-slash-pc-engine-cd
, turbo-grafx
, turbografx16--1
, watara-slash-quickshot-supervision
, windows
, zx-spectrum
New Features
Missing games admin page
There's a new tag under the Library Management section of the admin panel that displays all ROMs present in the database but missing from the file system. You can choose to delete single games, groups of games using multi-select, or simply purge (cleanup) all missing games from the database with a single click.
Smart collections
Create smart, self-updating collections for a selection of search terms and filters! On the search page, change the search term and/or filters, and a new button will appear in the top bar. The dialog will display which filters will be set and allow you to give this smart collection a name and description.
Note: the list of games will only update when you view the contents of the collection

Minor Changes
- Unify platform slugs by @gantoine in #2143
- Display an icon on the card if game has notes by @gantoine in #2226
- [ROMM-2142] Custom SGDB title match by @gantoine in #2220
- Use best-match algo for more providers by @gantoine in #2231
- Add zh_TW translation. by @wctang in #2188 and #2194
- Adding Polish translation files. by @gutmanovaty in #2173
Note
The API responses for the following endpoints have changed. Please refer to the swagger docs under /api/docs
for the updated response types.
/api/firmware/delete
, /api/rom/delete
, /api/tasks/{task_id}
, /api/tasks/run
and /api/tests/run/{task_name}
Bug Fixes
- [ROMM-2202] Fix rom ID selected refresh metadata by @gantoine in #2204
- Docker build and init fixes by @adamantike in #2238
- Make RetroAchievements hash matching case-insensitive by @adamantike in #2240
- Correctly set up dockerignore file by @adamantike in #2237
- Run scheduler when only LaunchBox update is enabled by @adamantike in #2222
- Correctly evaluate enabled metadata sources in scheduled library scan by @adamantike in #2213
- [ROMM-2186] Allow editing user without password field by @gantoine in #2193
- [ROMM-2184] Fix selecting dialog buttons on mobile by @gantoine in #2198
- [ROMM-1868] Fix grouping by metadata rows by @gantoine in #2203
- [ROMM-1949] Fix multi rom download by @gantoine in #2206
- [ROMM-2155] Fix char bar jumping to wrong game by @gantoine in #2208
- [ROMM-2075] Use platform version icon on card by @gantoine in #2207
- [ROMM-2211] Only show missing platforms on lib manage page by @gantoine in #2212
- Fire off search if URL state prepopulated by @gantoine in #2205
Other
- Refactor task execution workers by @zurdi15 in #2178
- Add IPv6 support by @danielkoster in #2201
- Separate tests folder from backend code by @adamantike in #2234
- Move pytest.ini to backend directory by @adamantike in #2214
- Remove indirect dependency freezegun by @adamantike in #2233
- Move pytest-cov dependency to test extra by @adamantike in #2229
- Replace emoji dependency with constants by @adamantike in #2228
- Add type hints to task classes by @adamantike in #2221
- Remove uses of Props and Functions comments by @gantoine in #2187
- Replace MessageResponse with specific responses by @gantoine in #2185
- Migrate scheduler to native RQ process by @adamantike in #2224
- Migrate worker to native rq process by @gantoine in #2227
- Migrate watcher to use watchfiles library by @adamantike in #2230
- Use native 7z to extract files and calculate hashes by @gantoine in #2232
New Contributors
- @gutmanovaty made their first contribution in #2173
- @wctang made their first contribution in #2188
- @danielkoster made their first contribution in #2201
Full Changelog: 4.0.1...4.1.0-alpha.1