release_2.4.0
Encrypted Archive Detection
Password-protected archives (ZIP, RAR, 7z) are now automatically detected. Instead of cryptic "bad state" or "end of stream" errors, you'll see a clear message explaining the file is encrypted and guidance on how to extract it manually. This prevents confusion when processing archives downloaded from sites that password-protect their downloads.
File Lock Detection
If an archive is currently open in another program (file explorer preview, antivirus scan, download manager, etc.), the application now detects this before attempting extraction and provides a clear error message asking you to close the locking program.
Retry Logic with Exponential Backoff
Archive analysis and extraction now include automatic retry on transient I/O errors (up to 3 attempts with increasing delays), reducing failures caused by temporary file locks or brief network interruptions.
Drive Readiness Check
Before processing files, the application verifies the target drive is actually ready — preventing confusing errors when working with disconnected external drives or network shares that have gone offline.
Improved Shutdown Handling
- The application now properly cancels and disposes background operations when closing
- Added a safety net that force-terminates the process if the UI becomes unresponsive during shutdown (prevents the app from lingering in the background)
- Closing the window while an operation is running is now smoother and more reliable
Code Quality & Maintainability
- Extracted
GetXgdTypemethod for cleaner Redump ISO type detection BuildFullMessagemade testable (nowinternal static)UpdateCheckernow uses injected version string instead of runtime assembly reflection- Removed unused
ApplicationSettingsmodel and orphaned methods (GetUncompressedArchiveSizeAsync,RobustMoveFileAsync) - Added 4 new unit test files, bringing the test suite to 173 passing tests
- Async methods now follow the
Asyncsuffix naming convention - NuGet dependencies updated:
SharpCompress0.48.1,Microsoft.Extensions.DependencyInjection10.0.8
Full Changelog: release_2.3.1...release_2.4.0