Skip to content

release_1.3.0

Choose a tag to compare

@drpetersonfernandes drpetersonfernandes released this 10 May 16:31
· 21 commits to master since this release

New Features

  • Proxy Support — Configure an HTTP proxy (host, port, username, password) via a new settings dialog for environments that require it.
  • File Extension Filtering — New dialog to customize which file extensions are recognized as ROM files when scanning folders.
  • Settings Encryption — Sensitive data (GitHub token, proxy password) is now encrypted using Windows DPAPI before being saved to disk.
  • Systems List Caching — The available systems list is cached locally, resulting in faster startup and offline resilience.
  • Retry with Exponential Backoff — Transient network errors (timeouts, 5xx, 429) are automatically retried with intelligent exponential backoff.
  • Circuit Breaker — Protects against hammering distressed servers during outages by tracking consecutive failures and pausing requests.

Improvements

  • Better Error Messages — More descriptive error messages and improved GitHub rate-limit handling throughout the app.
  • Network Resilience — Fallback logic when hitting GitHub rate limits or transient errors, reducing failed operations.
  • GitHub Branch Detection — Improved automatic detection of the correct repository branch for downloads.
  • Cancellation Handling — More robust cancellation propagation across all services.
  • Download Process Optimization — Optimized the download pipeline for better performance and reliability.
  • Logging & Diagnostics — Refined logging context and improved error handling across the application.

Testing

  • Comprehensive Unit Test Suite — Added a full xUnit test project covering models, services, helpers, converters, commands, ViewModels, settings manager, and integration tests.
  • Improved Testability — Refactored services with injectable dependencies to support proper unit testing.
  • Disposal Tests — Added tests to verify proper resource cleanup.

Code Quality

  • Applied code analysis suggestions and cleaned up unused code (removed AsyncRelayCommand, dead code, etc.).
  • Improved MVVM structure with better separation of concerns.
  • Generated regex compiled at build time for better performance.

Full Changelog: release_1.2.0...release_1.3.0