github Provenance-Emu/Provenance 3.1.0a2

latest releases: 3.1.0, 3.1.0-GM2
pre-release2 months ago

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 and PagedGameMoreInfoView refactor).
    • Refined alert dialogs and confirmation prompts (e.g., when deleting ROMs).
    • Improved handling of controller inputs, including L3/R3 buttons for older controllers.

🐛 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.

Don't miss a new Provenance release

NewReleases is sending notifications on new releases.