RomM logo

RomM

Beautiful, powerful, self-hosted rom manager and player

Alternative to: antstream arcade


About Versions (114)

5.2.0

2026-08-20

Minor changes

Fixes

Other changes

[!NOTE]

API changes

ChangeDescription
GET /roms/randomRetrieve one rom picked at random, or null when the scope holds none. Accepts platform_ids, collection_id, virtual_collection_id and smart_collection_id.
GET /romsNow accepts a with_total parameter (default true). Set it to false when the caller already knows the total; total then comes back null unless the rom id index is being built and already carries it.
GET /setup/libraryexisting_platforms now comes back empty once the database holds roms, instead of walking every platform directory.
POST /statesNow rejects an upload against a rom the caller cannot see.
DELETE /roms/{rom_id}/files/{file_id}Now requires the ROMS/DELETE grant instead of ROMS/WRITE.
GET /feeds/fpkgiPackage names are deduplicated within a rom, so two packages that share a title id no longer overwrite each other on the console.
GET /collections/smart/{id}The cached rom_ids, rom_count and covers are now resolved as the collection owner, not the requesting viewer. The live rom listing is still per-requester.
CustomLimitOffsetPage[SimpleRomSchema]total is now nullable.
InviteLinkSchemaAdds url, the full registration link built from ROMM_BASE_URL, or null when that points at loopback.
MetadataSourcesDictAdds SS_DEV_CREDENTIALS_SET.
RomSSMetadataAdds box2d_path.
RomGamelistMetadataAdds box2d_back_path, fanart_path and title_screen_path.
RomHasheousMetadataAdds mame_redump_match.

Streaming endpoints

These moved from ROMS_READ to ROMS_USER_WRITE, which is always-on for authenticated users but absent from the read-only set a kiosk visitor gets.

New Contributors

Full Changelog: https://github.com/rommapp/romm/compare/5.1.0…5.2.0