RomM
Beautiful, powerful, self-hosted rom manager and player
Alternative to: antstream arcade
4.7.0-alpha.1
2026-02-12[!NOTE] API Changes
- New endpoints that only return identifiers (IDs)
GET /api/collections/identifiersGET /api/collections/virtual/identifiersGET /api/collections/smart/identifiersGET /api/firmware/identifiersGET /api/platforms/identifiersGET /api/roms/identifiersGET /api/roms/{id}/notes/identifiersGET /api/saves/identifiersGET /api/states/identifiersGET /api/users/identifiers- New endpoint for device registration
POST /api/devices/register_deviceGET /api/devicesGET/PUT/DELETE /api/devices/{device_id}- New endpoints for save management
GET /api/saves/summary: Saves summary grouped by slotGET /api/saves/{id}/content: Download save contentGET /api/saves/{id}/downloaded: Confirm downloadPOST /api/saves/{id}/untrack: Disable sync tracking for a save on a devicePOST /api/saves/{id}/track: Re-enable sync tracking for a save on a deviceGET /api/savescan be filtered byrom_id,platform_id,device_idorslot- New PKGJ feed endpoints in
.tsvformat
- PSP games:
GET /api/feeds/pkgj/psp/games- PSP DLC files:
GET /api/feeds/pkgj/psp/dlc- PS Vita games:
GET /api/feeds/pkgj/psvita/games- PS Vita DLC files:
GET /api/feeds/pkgj/psvita/dlc- PSX games:
GET /api/feeds/pkgj/psx/gamesCollection.user__username->Collection.owner_username⚠️SmartCollectionSchema.user__username ->SmartCollectionSchema.owner_username` ⚠️RomUserSchema.user__usernameremoved ⚠️- New field on
/heartbeatresponseOIDC.AUTOLOGINRomFileCategoryenum includescheatvalue- New fields on
SaveSchemaandStateSchemaobjects
slot:string | nullcontent_hash:string | nulldevice_syncs:list[DeviceSyncSchema]
Highlights
Auto-export gamelist.xml
Automatically generate an ES-DE compatible gamelist.xml file during scans by enabling the option in your config.yml. This will place the new gamelist.xml file within the platform folder for selected/discovered platforms.
scan:
export_gamelist: true
@ItzCobaltboy in #2987
Device-based save synchronization
Thanks to @tmgast, we’ve laid the ground work for device-based save synchronization to enable multi-device save management, as defined in RFC-0001. Devices (handhelds, PCs, etc.) can register with the server and track which saves they’ve synced, enabling conflict detection when a device tries to upload stale data.
Note that this is purely foundational work to set up an initial structure and API implementation and in intended for third-party developers. #2917
Minor changes
- Add support for ScummVM shortnames by @gantoine in https://github.com/rommapp/romm/pull/2957
- Add
OIDC_AUTOLOGIN=trueenv var to automatically login using OIDC by @pR0Ps in https://github.com/rommapp/romm/pull/2969 - Group games with same name (but different tags) as versions/siblings by @zeroSteiner in https://github.com/rommapp/romm/pull/2984
- Search by mutliple keywords with
|by @gantoine in https://github.com/rommapp/romm/pull/2996zelda|mario|sonicwould show all games withzelda,marioORsonicin the name
- New
PKGJfeed endpoints in.tsvformat by @gantoine in https://github.com/rommapp/romm/pull/2986- PSP games:
GET /api/feeds/pkgj/psp/games - PSP DLC files:
GET /api/feeds/pkgj/psp/dlc - PS Vita games:
GET /api/feeds/pkgj/psvita/games - PS Vita DLC files:
GET /api/feeds/pkgj/psvita/dlc - PSX games:
GET /api/feeds/pkgj/psx/games
- PSP games:
Fixes
- [HOTFIX] Fix all roms displayed in all platforms by @gantoine in https://github.com/rommapp/romm/pull/2948
- [ROMM-2956] Fix refresh on card edit by @gantoine in https://github.com/rommapp/romm/pull/2962
- Invalid category values fix by @LoneAngelFayt in https://github.com/rommapp/romm/pull/2979
- Filter keys now plural by @camhorn in https://github.com/rommapp/romm/pull/2982
- [ROMM-2991] Allow set completion to 0 by @gantoine in https://github.com/rommapp/romm/pull/2995
- [ROMM-2997] Fix HLTB search term fetching by @gantoine in https://github.com/rommapp/romm/pull/2998
- [ROMM-2983] Fix negative filter by verified by @gantoine in https://github.com/rommapp/romm/pull/3000
- [ROMM-2976] Fix no games displayed for status filter by @gantoine in https://github.com/rommapp/romm/pull/3001
- [ROMM-2974] Stop displaying public collections in “add to collection” dialog the user doesn’t own by @gantoine in https://github.com/rommapp/romm/pull/3002
- [ROMM-2972] Fix /props returning stale data by @gantoine in https://github.com/rommapp/romm/pull/3003
- [ROMM-2965] Check file count for file select menu emulatorjs by @gantoine in https://github.com/rommapp/romm/pull/3005
- [ROMM-2943] Match scanned platform based on fs_slug by @gantoine in https://github.com/rommapp/romm/pull/3008
Other changes
- New endpoints to fetch all IDs by @gantoine in https://github.com/rommapp/romm/pull/2921
- Example config ES-DE update/fix by @ricardovdheijden in https://github.com/rommapp/romm/pull/2963
- Use vite copy plugin to load rom-patcher by @gantoine in https://github.com/rommapp/romm/pull/2964
- Skip opentelemetry-instrument when OTEL is disabled by @Wadenschwinger in https://github.com/rommapp/romm/pull/2968
- Update uses of roms to ROMs by @gantoine in https://github.com/rommapp/romm/pull/3009
- [ROMM-2927] Add default folders to config manager by @gantoine in https://github.com/rommapp/romm/pull/3007
- Bump tar from 7.5.6 to 7.5.7 in /frontend by @dependabot[bot] in https://github.com/rommapp/romm/pull/2954
- Bump protobuf from 6.31.1 to 6.33.5 by @dependabot[bot] in https://github.com/rommapp/romm/pull/2981
- Bump cryptography from 45.0.5 to 46.0.5 by @dependabot[bot] in https://github.com/rommapp/romm/pull/3013
- Bump axios from 1.12.1 to 1.13.5 in /frontend by @dependabot[bot] in https://github.com/rommapp/romm/pull/3010
- Bump pillow from 10.4.0 to 12.1.1 by @dependabot[bot] in https://github.com/rommapp/romm/pull/3015
New Contributors
- @ricardovdheijden made their first contribution in https://github.com/rommapp/romm/pull/2963
- @Wadenschwinger made their first contribution in https://github.com/rommapp/romm/pull/2968
- @pR0Ps made their first contribution in https://github.com/rommapp/romm/pull/2969
- @LoneAngelFayt made their first contribution in https://github.com/rommapp/romm/pull/2979
- @camhorn made their first contribution in https://github.com/rommapp/romm/pull/2982
- @tmgast made their first contribution in https://github.com/rommapp/romm/pull/2917
- @zeroSteiner made their first contribution in https://github.com/rommapp/romm/pull/2984
- @ItzCobaltboy made their first contribution in https://github.com/rommapp/romm/pull/2987
Full Changelog: https://github.com/rommapp/romm/compare/4.6.1…4.7.0-alpha.1