Fixes issues from 3.1.0a1
- Fixed "Game Info" screen not showing
- Fixed JIT'd Flycast was actually JIT-less Flycast.
3.1.0a1 Release Notes
Pre-Release Notes
This pre-release includes a major overhaul of iCloud synchronization, significant improvements to the game import process, and various UI/UX refinements and bug fixes.
✨ New Features & Major Enhancements
- Overhauled iCloud Synchronization (
bug/ios-icloud-not-syncing
branch focus):- Vastly improved reliability and performance of iCloud sync for ROMs, save states, BIOS files, and screenshots.
- Smarter handling of file downloads, uploads, and conflict resolution.
- Optimized database interactions during sync to reduce overhead and prevent crashes (e.g., using game cache, batch processing).
- Correctly handles scenarios like initial app load with existing iCloud files, turning iCloud sync on/off, and background file changes.
- Improved deletion handling: files deleted from iCloud are now correctly removed locally and from the database, and vice-versa.
- Refactored sync logic into dedicated
Syncer
classes for better organization and lifetime management. - Enhanced logging and error reporting for iCloud operations.
- Game Importer Refinements:
- Improved logic for handling multi-disc games (CUE/BIN, M3U) to ensure all associated files are correctly processed before an import is marked complete.
- Better error handling for late-arriving files, preventing premature completion of the import queue.
- Refactored import logic to defer processing when necessary and to correctly handle paused or busy importer states.
- UI & UX Improvements:
- Game Info Display: The "Game Info" option in context menus now correctly presents a detailed, paged view for game information (related to
ConsoleGamesView
andPagedGameMoreInfoView
refactor). - Refined alert dialogs and confirmation prompts (e.g., when deleting ROMs).
- Improved handling of controller inputs, including L3/R3 buttons for older controllers.
- Game Info Display: The "Game Info" option in context menus now correctly presents a detailed, paged view for game information (related to
🐛 Bug Fixes
- iCloud & Sync: Early support - CloudKit broken, iCloud drive on iOS/iPad OS only.
- Fixed numerous crashes and synchronization issues related to Realm database access during iCloud operations.
- Resolved pathing issues where iCloud URLs could be duplicated or incorrectly formed.
- Addressed bugs related to deleting and then re-adding the same file via iCloud.
- Fixed issues with file management when turning iCloud sync off (e.g., removal of iCloud files).
- Corrected handling of battery save directory names.
- Importer:
- Fixed an index-out-of-bounds error when multiple items were removed from the import queue.
- Addressed issues where the game importer's ROMs path could become incorrect when toggling iCloud.
- General:
- Fixed logic for deleting multi-disc ROMs to handle all associated files.
- Resolved potential issues with
PVImageFile
path validation. - Addressed various compilation warnings and minor code issues.
Cores
- JIT and JITless Dreamcast cores
- Very early test release. Many known issues. Audio/Video sync speeds wrong.
- Sonic Adventure and SA2 sometimes loads, sometimes doesn't. May depend on BIOS versions
🛠️ Other Changes
- Extensive code refactoring for clarity, reusability, and maintainability (e.g., removing unused code, DRY principles).
- Updated project files and build settings (e.g., build variables, minimum deployment target to 16.0).
- Improved localization string handling.
- Enhanced logging throughout various modules.
- Updated to use cache layers more effectively to reduce direct database hits.