.changelog/3228.md
RETRO_ENVIRONMENT_SET_CONTROLLER_INFO and RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS runtime data instead of hardcoded system/core identifier string matching. String-match lists are retained as fallback for cores that skip these callbacks, and are centralized into single dispatch_once arrays.Scripts/update_core_versions.py scans each native core's source tree for version strings in version.h, configure.ac, CMakeLists.txt, retro_get_system_info() implementations, and similar files, then reports or updates Core.plist entries automatically.v1.7.4), Mupen64Plus-Next (2.4), PicoDrive (2.03), PokeMini (v0.60), TGBDual (v0.8.3). Normalised version strings reduce spurious save-state version-mismatch warnings.