Skip to content

v5.9.5

Choose a tag to compare

@github-actions github-actions released this 20 Jul 06:45
· 30 commits to master since this release

Highlights

Fixed

  • Issue #239 — rare IOException: The process cannot access the file … .download when finalizing a download. The library deleted its temp/target files with a bare File.Delete, which threw immediately if an external process (typically an antivirus real-time scan of the freshly written file) still held a handle. All downloader-owned file deletions now retry with exponential backoff (6 attempts over ~3 seconds), which rides out transient scans of even large files. If the lock never clears, the failure is no longer a bare IOException: the error now explains that an external process (antivirus or another program) is holding the file and how to resolve it, with the original exception preserved as InnerException. (#239)
  • RemoteFileResolver.GetFileInfoAsync no longer throws on slow/unreachable hosts. The internal connect-timeout cancellation (TaskCanceledException) was being rethrown as a hard failure even though the caller's cancellation token was never signaled, breaking the documented fallback to the URL-derived file name. The rethrow is now gated on the caller's token; unreachable hosts fall back as intended.

Added

  • .NET 11 (preview) support — net11.0 target added to the library and validated by CI on Ubuntu, macOS, and Windows alongside net8.0/net9.0/net10.0.

Internal

  • Test coverage raised from 88.7% to 90.2% with new deterministic unit tests; several flaky tests (stop/resume timing, Windows CI file-lock cleanup) made deterministic; test project switched to portable PDBs to fix a Fody crash on the Windows net11.0 CI leg.

Full Changelog: v5.9.4...v5.9.5