Skip to content

Version 17.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Aug 22:51

Breaking Changes & Migration

  • #236 Introduced support for multiple game versions -> Existing game rows are migrated automatically.
  • Deprecated top-level game version fields (version, file_path, size, release_date, early_access, type) in favor of the new game_version table. -> If you rely on these fields, update your clients to use the new version structure before migrating.
  • Duplicate handling now merges files with the same title into one game entity more consistently (year-tagged files merge by matching release year, untagged files merge into a no-year bucket first). -> If you previously relied on same-title duplicates as separate game entries, rename titles explicitly (e.g. with square brackets) to keep them separate.

Changes

  • Updated automatic Web UI version selection: if no compatible stable release is found, the backend now falls back to the nearest newer stable release before falling back to unstable.
  • Added regex-based indexing exclusion filters: GAMES_SEARCH_EXCLUDE_FILE_REGEX and GAMES_SEARCH_EXCLUDE_DIR_REGEX.
  • Fixed reindex crashes for games with corrupted internal metadata mappings (for example gamevault being stored as a provider mapping). Reindex now skips those invalid entries and automatically cleans them up on the next merge/reindex.
  • Added a persistent server UUID, generated on first startup and exposed via the status API, allowing clients to recognize the same server across different URLs.
  • The media endpoint (/api/media/:id) now serves with long-lived HTTP caching (Cache-Control: immutable) and supports conditional requests (ETag/Last-Modified, returning 304), so clients can reuse covers/art without re-downloading them.
  • Production JSON responses are no longer pretty-printed, reducing payload sizes.

Thanks