github drpetersonfernandes/SimpleLauncher release5.3.1

latest releases: release5.3.3, release5.3.2
13 days ago

This release focuses on bug fixes, performance improvements, memory leak prevention, and enhanced async/await handling throughout the application.

🔧 Bug Fixes

Network & HTTP Improvements

  • Fixed HTTP Request Timeouts - Added 15-second timeouts to all HTTP requests (bug reports, stats, support requests) to prevent indefinite hangs when network issues occur
  • Added Operation Cancellation Handling - HTTP requests now handle timeout exceptions gracefully without crashing

Microsoft Store Game Scanning

  • Fixed JSON Parsing Issues - Added sanitization for JSON control characters that could cause crashes when parsing game data with special characters
  • Fixed Directory Creation - Ensured destination directories exist before saving extracted icons

Thread Safety & UI Stability

  • Fixed Thread Safety Issues - Wrapped UI updates in dispatcher invocations in MainWindow to prevent cross-thread access exceptions
  • Fixed String Comparison Issues - Implemented case-insensitive string comparisons throughout the application for system names, file names, and emulator matching

Memory Management

  • Fixed Memory Leaks - Added proper image source clearing to prevent BitmapImage reference leaks when clearing game grids
  • Fixed Async Cleanup - Replaced synchronous cleanup methods with async versions to prevent blocking
  • Fixed Event Handler Leaks - Properly unsubscribe event handlers when closing windows

✨ Improvements

RetroArch Integration

  • Enhanced RetroArch Validation - Changed parameter validation from "must start with -L" to "must contain -L" for more flexible core configuration
  • Localization Updates - Updated RetroArch parameter error messages in all 16 supported languages

Blastem Emulator

  • Improved Blastem Error Handling - Added comprehensive error handling for Blastem configuration injection with specific exception types (FileNotFound, UnauthorizedAccess, IOException)

Batch File Execution

  • Better Batch File Error Reporting - Batch file failures now create proper exceptions for better debugging

Async/Await Refactoring

  • Removed ConfigureAwait(false) - Removed .ConfigureAwait(false) from await calls across the application (LogErrorsService, EasyModeManager, DownloadManager, UpdateChecker, SystemManager, ContextMenuFunctions, App)
  • Proper Dispatcher Invokes - Added proper dispatcher invocations for UI updates in async methods

Security

  • Path Traversal Prevention - Added validation to ensure resolved paths stay within intended base folders

📦 Tools & Dependencies

  • Updated BatchConvertToRVZ and RomValidator binaries

📚 Documentation

  • Fixed Tsugaru emulator platform documentation (PC-9800 series → FM Towns)

🏗️ Technical Improvements

Code Quality

  • Enhanced exception handling throughout async operations
  • Improved null checks and defensive programming
  • Better logging for debugging purposes
  • Added proper disposal of resources (mutex, cancellation tokens)

Performance

  • Thread-safe loading state management with locks
  • Atomic operations for cancellation token source replacement
  • Optimized file deletion with async retry logic

Full Changelog: release5.3.0...release5.3.1

Don't miss a new SimpleLauncher release

NewReleases is sending notifications on new releases.