-
-
Notifications
You must be signed in to change notification settings - Fork 14
Changelog
abduznik edited this page Jul 16, 2026
·
2 revisions
-
Ares Emulator Integration:
- Full support for Ares multi-system emulator (GBA, SNES, N64, Genesis, PS1, MSX, and more).
- System name mapping for 30+ platforms with correct Ares CLI arguments.
- Save sync with extension classification (confirmed/defaulted/log-only buckets).
- Stem-prefix filename matching to absorb naming differences.
- Fresh-install directory creation fix (returns path unconditionally on macOS/Linux).
-
RetroArch 197 Cores:
- Complete libretro core database with searchable platform browser.
- Per-platform default core selection (Settings → RetroArch Cores).
- Per-game core override via launch picker or long-press in Platform Manager.
- Favorite cores pinning for quick access.
- Core recommendations updated to match official Libretro list.
-
Platform Manager:
- Unified emulator/core selection per platform (standalone vs RetroArch).
- Per-game launcher toggle (ON = show picker, OFF = auto-use Platform Manager choice).
- Merged slug grouping with "also applies to" notes.
- Canonical slug selection (shortest without hyphens).
-
Multi-File Downloads:
- "Download All" or "Select Files" dialog for multi-file games.
- File picker with checkboxes for individual file selection.
- Filters out non-launchable files (.m3u, .cue, etc.).
-
Multi-File Launch:
- Filters launchable files when picking which file to launch.
- Path resolution uses file_name from API (avoids platform prefix duplication).
- Fetches full game details when files array is empty (paginated API limitation).
-
Windows Game Launch (Issue #47):
- Fixed working directory and pipe drain for games with custom arguments.
- Now uses directoryService.launchGameWithHandle for proper setup.
-
Save File Filter (Windows):
- Per-game include/exclude patterns for saves alongside executables.
- Interactive file picker for selecting specific save files.
- Glob pattern support (.ext, name., saves/*).
-
PlayStation Controller Support:
- Added mappings for PS4 Controller, PS5 Controller, PS5 Access Controller.
- Added "Sony Interactive Entertainment Wireless Controller" for macOS/Linux.
-
Controller Hold Detection:
- Non-direction digital buttons now detect hold for long-press actions.
- Gamepad service: try/catch, stale controller cleanup, hold timer.
-
FocusEffectWrapper Optimized:
- Lighter animations (100ms, 2.5px focus border).
- Removed expensive boxShadow blur.
- Added onLongPress support for controller.
-
ROM Name Sanitization:
- Added ! to sanitization regex for consistent folder naming across extraction, lookup, and path resolution.
-
UI Improvements:
- Platform Manager shows merged slugs with "also applies to" notes.
- Per-game launcher toggle controls Platform Manager visibility.
- Game detail shows "Forget Launch" button in personal section.
- Emulator status refreshes on settings screen open.
- Ares launch args (removed invalid --fullscreen and --no-file-prompt).
- RetroArchCorePickerDialog Column overflow (wrapped in SingleChildScrollView).
- Windows game launch working directory not set correctly (Issue #47).
- Multi-file path resolution (strips platform prefix, uses existingRomPath).
- Exclamation mark in ROM names causing folder name mismatch.
- Game Boy slug grouping (Ares now includes game-boy-advance, game-boy-color, game-boy).
- Map 3DS variants to n3ds folder on EmuDeck for correct save path resolution.
-
Full Gamepad/Controller Support:
- Centralized global gamepad input service supporting all standard Switch, Xbox, PlayStation, and generic USB controllers.
- Custom controller focus-effects engine with premium glassmorphism glow borders and scale effects.
- Universal gamepad hold-down D-pad/Joystick auto-scroll with 500ms delay and 120ms repeating snap navigation.
- Navigation-locked provider to prevent geometric override during gamepad traversal.
- Premium lockable edit mode for settings (rating, completion slider, server config).
-
Premium UI Redesign:
- Complete visual overhaul with 6 new dynamic theme presets and full theme-aware components.
- Modern revamp of Settings tab with unified card sections, custom path inputs, dropdown combo boxes, popup menus.
- Redesigned Downloads screen with premium gamepad-first focus-wrapped buttons and safe dialog controls.
- Console-grade lockable slider adjustment (completion %) and 0-10 stars rating mode.
- Premium segmented action buttons on detail screen with unified 384px layout.
- Library header customization: daily game recommendation, retro greetings, legendary gaming quotes (118 quotes, rotates 3x/day).
-
Smart Global Search:
- Re-architected search bar to search globally across all platforms.
- Automatically switches to "All" tab when active, returns to "Home" dashboard on clear.
- Keyboard shortcut binding for instant focus.
- Official Licensing: MIT License registered in app license registry.
- Platform-Specific Save Zipping: Zipped save support for emulator.js compatibility.
- DuckStation PS1 Support: Full launch args, .mcd extension handling, save sync.
-
Layout Intrinsic Height Crash: Resolved AlertDialog
LayoutBuilder/IntrinsicWidthcrashes by passinguseSafeScale: false. - Platform Chip Navigation: Fixed reactivity where selecting a platform chip updated filter state but didn't trigger API/SQLite load.
-
Controller Issues: Fixed glitchiness, Switch Pro dpad axis mapping, nested viewport scroll error, post-dispose
Refaccess exceptions, focus closure staleness indidUpdateWidget. -
Dialog Double-Trigger: Implemented
_isAddingNoteguard to prevent note dialog reopening during bubbled enter inputs. - Theme Application: Fixed theme not applying to game detail screen, dialogs, and action buttons.
- Search Return: Fixed returning to all-platform results on clear.
-
GameMetadataChip Overflow: Wrapped label in
Flexible+ ellipsis. -
BackupHistorySheet Crash: Guarded
md5Hash.substring(0, 8)againstRangeError. -
ScreenshotGalleryDialog Empty: Hidden page indicator when
imageUrlsis empty. -
MultiDiscPicker Ink: Wrapped
ListTileinMaterialwidget. - Dolphin Save Sync on Linux: Fixed save sync for Dolphin emulator on Linux (PR #32).
- Single-File Foldered Games Download: Fixed download logic for single-file ROMs stored in folders (PR #30).
- Updated dependencies for improved stability and compatibility (PR #31).
- Replaced server IP in Library AppBar with daily game recommendation / random retro greetings.
- Unlocked Linux path flexibility and fixed RetroDECK SD card root resolution.
- Improved save sync snackbar messages with clearer success/error feedback.
- Windows build path discovery in CI pipeline.
-
Steam Deck & Linux Support: Full integration with EmuDeck and RetroDECK environments.
- Automatic detection of EmuDeck/RetroDECK folder structures.
- Support for SteamOS-specific launcher scripts (
.shfiles). - High-precision path resolution for emulator saves, including Flatpak sandboxes and EmuDeck symlinks.
- Serial Background Sync: Background queue for game save backups. Offline saves automatically sync to RomM when connection is restored.
- Recently Added Widget: "Recently Added" section on home screen, sorted by RomM ID for chronological discovery.
- Advanced Log Filters: Added IP address masking for privacy, expanded error filters to include HTTP codes and exceptions.
- System Log Viewer: Built-in log viewer with filtering capabilities.
- Manual Force Full ROM Scan: Button in settings to trigger a complete re-scan.
- Licenses Button: View open-source licenses from settings.
-
CI/CD Improvements:
.zipreleases for Windows and macOS added to release artifacts. - Automated Linux Validation: Comprehensive unit tests for Linux path resolution strategies.
- ROM Scanning: PS3 and Nintendo Switch ROM scanning and name normalization.
- Download Reliability: Filesystem access errors (errno 5) during game downloads.
- UI Desync: Implemented global pruning and metadata auto-repair via file-centric scanning.
-
Platform Extensions: Resolved all remaining
platformExtensionsreferences. - MaxWidth Error: Resolved layout constraint issue in settings screen.
- Emulator Download Audit: Fixed audit failures on emulator download status checks.
- Refactored Linux strategy logic into isolated, testable classes (
EmuDeckStrategy,RetroDeckStrategy). - Optimized metadata caching for faster offline library browsing.
- Switched from game-centric to file-centric ROM scanning for efficiency.
- ID-based sorting for Recently Added shelf.
- Automatic library refresh on internet connection restoration.
- macOS Texture Processing: Ryujinx asset processing and texture conversion.
- Multi-Platform Native Support: Initial support for macOS and Windows.
- Save Sync: Bidirectional sync for major emulators.
- BIOS Management: Automatic BIOS placement and downloading.