github rommapp/romm 4.7.0-alpha.1

pre-release6 hours ago

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

  • Add support for ScummVM shortnames by @gantoine in #2957
  • Add OIDC_AUTOLOGIN=true env 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 #2996
    • zelda|mario|sonic would show all games with zelda, mario OR sonic in the name
  • New PKGJ feed endpoints in .tsv format 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

Fixes

Other changes

New Contributors

Full Changelog: 4.6.1...4.7.0-alpha.1

Don't miss a new romm release

NewReleases is sending notifications on new releases.