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/games
- PSP games:
Collection.user__username->Collection.owner_username⚠️SmartCollectionSchema.user__username ->SmartCollectionSchema.owner_username` ⚠️RomUserSchema.user__usernameremoved ⚠️- New field on
/heartbeatresponseOIDC.AUTOLOGIN RomFileCategoryenum includescheatvalue- New fields on
SaveSchemaandStateSchemaobjectsslot: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: trueDevice-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 #2957
- Add
OIDC_AUTOLOGIN=trueenv var to automatically login using OIDC by @pR0Ps in #2969 - Group games with same name (but different tags) as versions/siblings by @zeroSteiner in #2984
- Search by mutliple keywords with
|by @gantoine in #2996zelda|mario|sonicwould show all games withzelda,marioORsonicin the name
- New
PKGJfeed endpoints in.tsvformat by @gantoine in #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 #2948
- [ROMM-2956] Fix refresh on card edit by @gantoine in #2962
- Invalid category values fix by @LoneAngelFayt in #2979
- Filter keys now plural by @camhorn in #2982
- [ROMM-2991] Allow set completion to 0 by @gantoine in #2995
- [ROMM-2997] Fix HLTB search term fetching by @gantoine in #2998
- [ROMM-2983] Fix negative filter by verified by @gantoine in #3000
- [ROMM-2976] Fix no games displayed for status filter by @gantoine in #3001
- [ROMM-2974] Stop displaying public collections in "add to collection" dialog the user doesn't own by @gantoine in #3002
- [ROMM-2972] Fix /props returning stale data by @gantoine in #3003
- [ROMM-2965] Check file count for file select menu emulatorjs by @gantoine in #3005
- [ROMM-2943] Match scanned platform based on fs_slug by @gantoine in #3008
Other changes
- New endpoints to fetch all IDs by @gantoine in #2921
- Example config ES-DE update/fix by @ricardovdheijden in #2963
- Use vite copy plugin to load rom-patcher by @gantoine in #2964
- Skip opentelemetry-instrument when OTEL is disabled by @Wadenschwinger in #2968
- Update uses of roms to ROMs by @gantoine in #3009
- [ROMM-2927] Add default folders to config manager by @gantoine in #3007
- Bump tar from 7.5.6 to 7.5.7 in /frontend by @dependabot[bot] in #2954
- Bump protobuf from 6.31.1 to 6.33.5 by @dependabot[bot] in #2981
- Bump cryptography from 45.0.5 to 46.0.5 by @dependabot[bot] in #3013
- Bump axios from 1.12.1 to 1.13.5 in /frontend by @dependabot[bot] in #3010
- Bump pillow from 10.4.0 to 12.1.1 by @dependabot[bot] in #3015
New Contributors
- @ricardovdheijden made their first contribution in #2963
- @Wadenschwinger made their first contribution in #2968
- @pR0Ps made their first contribution in #2969
- @LoneAngelFayt made their first contribution in #2979
- @camhorn made their first contribution in #2982
- @tmgast made their first contribution in #2917
- @zeroSteiner made their first contribution in #2984
- @ItzCobaltboy made their first contribution in #2987
Full Changelog: 4.6.1...4.7.0-alpha.1