libretro / libretro/RetroArch

[Feature Request] Save State backward compatibility list for libretro cores

Open
#18,033 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

I propose adding a save state backward compatibility list for each Libretro core directly within the RetroArch interface. This information should be accessible via:

Main Menu → Information → Core Information (after a core has been loaded)

This feature would allow users to quickly see which previous versions of the same core are compatible with the current core’s save states, helping them make informed decisions when updating cores or managing save state data across different versions.

Motivation

  • Save state compatibility between different versions of the same core is a frequent source of confusion and frustration, as save states often break between core updates or releases.
  • Currently, there is no centralized, in-app resource that outlines backward save state compatibility for each core.
  • Having this information easily accessible in the Core Information menu would improve transparency and reduce user error.

Scope

  • The compatibility list would indicate which previous versions of the same core, if any, share compatible save state formats.
  • Notes about special cases, known incompatibilities, or required conversion tools could also be included.
  • This information should be displayed after a core has been loaded, alongside existing core information.

Benefits

  • Reduces the risk of save state corruption or loss when updating cores.
  • Provides immediate, in-context guidance to users.
  • Enhances the documentation and usability of RetroArch.

Example: bsnes core

bsnes Save State Backward Compatibility Table

Current Version Compatible with Save States from Versions Notes
v115 v114, v113 Minor updates; save states generally work
v114 v113 Mostly compatible, but some edge cases
v113 v112 Incompatible due to serialization changes
v112 None Major overhaul; not compatible
  • Special Cases:
    • Save states created with the "Accuracy" profile may not be compatible with those from "Balanced" or "Performance" profiles, even within the same version.
    • Always back up your save states before updating the core.

Request

  • Feedback on the feasibility and design of this feature.
  • Suggestions on how best to present backward compatibility information within the Core Information menu.
  • Community contributions for compiling and maintaining the compatibility data.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at Main Menu → Information → Core Information after a core is loaded, and inspect how existing core information is presented. Define where compatibility data would come from and how special cases would be maintained; done means the interface displays accurate per-core backward-compatibility guidance without implying unsupported version relationships.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
documentation, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.