v1.3.0

June 19, 2026

Major release with training mode overhaul, region-specific box art, in-app help sheet, system icon improvements, and an extensive set of input, save state, and identification fixes.

Highlights

  • Training Mode Overhaul: P2 join support, motion detection, block button auto-detection, facing direction controls; MAME/FBNeo control mappings across all arcade titles; corrected Mortal Kombat move data
  • Region-Specific Box Art: Libretro thumbnail resolver prioritizes region-suffixed titles; ROM entries track requested region, region tag, and fetch date
  • Help & FAQ: new in-app Help Sheet with deep links to relevant settings pages and FAQ items with link labels and navigation
  • System Icons: new SFSymbolCatalog service, image cropping for custom icons, and BoxArtThumbnailService for generated thumbnails
  • Shader Unsaved-Changes Dialog: new confirmation dialog prevents accidental loss of shader preset edits
  • Cheat Download Improvements: enhanced flow with confirmation dialogs and localized messages

Detailed Changes

  • Enhanced MAME identification with rejection tracking and improved scoring logic
  • Orphaned ROMs purging with improved metadata management
  • Added context menu support to GameCardView and GameListRowView
  • Dynamic trailing padding on SidebarRowButton based on hover state
  • Scroll state management in GameListRowView and LibraryGridView
  • Cached achievement progress retrieval in RetroAchievementsService
  • Enhanced save state handling with callbacks for loading and saving states
  • Added Genesis controller type handling and options for Picodrive core
  • Debug logging gated with LOG_DEBUG / LOG_EXTREME compilation conditions — no longer noisy in Release builds
  • Replaced print statements with LoggerService calls throughout
  • Reformatted fight data JSON files to multiline for easier maintenance
  • Updated fight data with MAME, Arcade, FBA, and FBNeo control mappings across 200+ titles
  • Added system-level input overrides for Sega systems (Master System, Genesis, Game Gear, SG-1000, Sega CD, Sega Pico)
  • Dynamic retroID resolution via label matching in InputDescriptorsManager
  • Updated ControllerService for per-system button detection
  • Added CoreButtonOverride and RetroButton models for system-aware button mapping
  • Improved hover effects for last played / last added filters in LibraryGridView
  • Game reset handling now clears overlays and deactivates move list
  • Simplified sidebar context menu with enhanced hover effects
  • Improved shader editor title and Bezel/Controller settings initialization with localization
  • Fixed: in-app update download now shows progress correctly (was stuck at 0% for redirected downloads)
  • Fixed: extended attributes stripped from app bundle during installation (quarantine/com.apple.metadata removed)