release_2.5.0
·
62 commits
to master
since this release
- Image Processing: Replaced GDI+ with Magick.NET in
ImageLoader.csandImageProcessor.csfor robust loading/saving, auto-orientation, error correction, and reduced memory usage. Added configurable retries/delays viaSettingsManager. - Cancellation & Async Handling: Overhauled
LstMissingImages_SelectionChangedinMainWindow.xaml.cswith proper semaphore usage, early cancellation,Task.Yield()for UI responsiveness, andHashSetfor efficient ROM deduplication. Improved missing files scan with exception resilience. - Error Management: Enhanced logging with detailed contexts. Added lazy
NullAudioServicefallback inApp.xaml.csand silent WMP handling inAudioService.cs. - Settings Enhancements:
SettingsManager.csnow includes new properties (MaxImagesToLoad,ImageLoaderMaxRetries/Delay,ApiTimeoutSeconds), value clamping, thread-safe saving (lock), and XML persistence. - MAME Loading: Lazy caching in
MameManager.cs; throwsFileNotFoundExceptionfor better handling. - Similarity Search: Capped parallelism (
MaxDegreeOfParallelism=8), uses settings for image limits inSimilarityCalculator.cs. - UI/UX: Consolidated folder validation; cleaned XAML design-time data; improved
Dispose()with cancellation wait. - Cleanup: Removed redundant code (e.g.,
_currentFindTask, legacy fallbacks).