RomM logo

RomM

Beautiful, powerful, self-hosted rom manager and player

Alternative to: antstream arcade


About Versions (100)

4.7.0-alpha.1

2026-02-12

[!NOTE] API Changes

  • New endpoints that only return identifiers (IDs)
    • GET /api/collections/identifiers
    • GET /api/collections/virtual/identifiers
    • GET /api/collections/smart/identifiers
    • GET /api/firmware/identifiers
    • GET /api/platforms/identifiers
    • GET /api/roms/identifiers
    • GET /api/roms/{id}/notes/identifiers
    • GET /api/saves/identifiers
    • GET /api/states/identifiers
    • GET /api/users/identifiers
  • New endpoint for device registration
    • POST /api/devices/register_device
    • GET /api/devices
    • GET/PUT/DELETE /api/devices/{device_id}
  • New endpoints for save management
    • GET /api/saves/summary: Saves summary grouped by slot
    • GET /api/saves/{id}/content: Download save content
    • GET /api/saves/{id}/downloaded: Confirm download
    • POST /api/saves/{id}/untrack: Disable sync tracking for a save on a device
    • POST /api/saves/{id}/track: Re-enable sync tracking for a save on a device
    • GET /api/saves can be filtered by rom_id, platform_id, device_id or slot
  • New PKGJ feed endpoints in .tsv format
    • 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
  • Collection.user__username -> Collection.owner_username ⚠️
  • SmartCollectionSchema.user__username -> SmartCollectionSchema.owner_username` ⚠️
  • RomUserSchema.user__username removed ⚠️
  • New field on /heartbeat response OIDC.AUTOLOGIN
  • RomFileCategory enum includes cheat value
  • New fields on SaveSchema and StateSchema objects
    • slot: string | null
    • content_hash: string | null
    • device_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

Fixes

Other changes

New Contributors

Full Changelog: https://github.com/rommapp/romm/compare/4.6.1…4.7.0-alpha.1