Skip to content

Update dependency Downloader to v5 - #1344

Open
renovate[bot] wants to merge 1 commit into
dev8from
renovate/downloader-5.x
Open

Update dependency Downloader to v5#1344
renovate[bot] wants to merge 1 commit into
dev8from
renovate/downloader-5.x

Conversation

@renovate

@renovate renovate Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
Downloader 3.3.45.9.6 age confidence

Release Notes

bezzad/Downloader (Downloader)

v5.9.6

A download now always reports how it ended.

🐛 Fixes
  • A download could finish without ever raising DownloadFileCompleted. StartDownload ended in one of four branches, and the last one — an "unexpected" terminal state — only logged a warning and returned. For anything driven by the events (rather than only awaiting the task) that meant the download never ended: no error, no file, nothing to retry, and a UI left showing it as still in progress. That branch now always sends a completion signal.
  • Pausing exactly as the last bytes arrive no longer throws the download away. A Pause() that lands after every byte has been received leaves the status Paused with nothing left to do — a finished download. It is now reported as Completed instead of falling into the unexpected-state branch and being discarded.
  • Any other unexpected terminal state is reported as Failed with an IncompleteDownloadException naming the state and the byte counts, so the cause is visible instead of silent.
🔧 Under the hood
  • New integration tests (CompletionSignalTest) cover all three terminal paths — completed, cancelled, and paused-at-the-finish-line. The last one fails against 5.9.5.

Found while tracing a download manager whose row stayed "downloading" forever against a server that refused its requests (Downloader.Desktop #​9).

v5.9.5

Fixed
  • Rare IOException: The process cannot access the file … .download when finalizing a download (issue #​239): downloader-owned file deletions now retry with exponential backoff (~3s) to ride out transient external locks (e.g. antivirus real-time scans); a permanent lock now fails with a clear error attributing it to the external process, original exception preserved as InnerException.
  • RemoteFileResolver.GetFileInfoAsync no longer rethrows the internal connect-timeout cancellation as a hard failure on slow/unreachable hosts; it falls back to the URL-derived file name as documented.
Added
  • .NET 11 (preview) target (net11.0) for the library, validated by CI on Ubuntu/macOS/Windows.

v5.9.4

Fixed
  • Resume after a failed attempt no longer restarts from 0%: a transient transport error (timeout, dropped connection, 503/504) no longer discards already-downloaded chunk progress when the single-connection fallback engages. A failed attempt now stays resumable from its last position.
  • Silent file corruption when resuming a multi-chunk download against a server that reports no range support: the stale chunk layout is now rebuilt so restarted bytes are written at the correct offsets.
  • Off-by-one in the chunk-completion check that treated a chunk left exactly one byte short as complete, which could fail a download near 100% and make its final byte impossible to resume.

v5.9.1

Fixed
  • Release packaging: stop building/pushing an empty symbol package; keep the embedded-PDB symbol-package fix.

v5.9.0

Added
  • RemoteFileResolver with GetFileNameAsync(url) and GetFileInfoAsync(url), returning RemoteFileInfo { FileName, FileSize, SupportsRange, Address } from a single header probe — preview a queued download's name and size without starting one.
  • IDownloadService.GetFileInfoAsync(url) exposes the same lookup on the service.
Changed
  • Filename/size/range resolution unified behind SocketClient.GetFileInfoAsync, shared by the download pipeline and RemoteFileResolver. No behavior change to existing downloads.

v5.8.1

Fixed
  • Cookie handling for CDN redirects.

v5.8.0

Added
  • Fallback to a single connection for downloads on transient transport errors.

v5.6.0

Fixed
  • Download cancellation and progress reporting bugs.

v5.4.0

Added
  • AOT compilation support for .NET 8 and later.

v5.3.0

Fixed
  • URL encoding for square brackets in download paths (#​223).

v5.2.0

Fixed
  • Servers that reject the Range header with 403/404/503 now fall back to a normal request (#​220).

v5.1.1

Fixed
  • Maintenance release.

v5.1.0

Added
  • Custom HttpClient support, plus related fixes (#​219).

v5.0.0

Changed
  • Improved resume-download functionality and error handling (#​217).

v4.1.1

Fixed
  • Redirected-URL download fix.

v4.1.0

  • Pre-release.

v4.0.3

[4.0.3] - 2025-08-09

v4.0.2

[4.0.2] - 2025-07-12


Configuration

📅 Schedule: (in timezone Asia/Shanghai)

  • Branch creation
    • "before 1am,before 5am,before 9am"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/downloader-5.x branch 2 times, most recently from cf417c6 to da12f76 Compare June 19, 2026 16:15
@renovate
renovate Bot force-pushed the renovate/downloader-5.x branch 2 times, most recently from 452ec61 to a740e32 Compare July 10, 2026 19:13
@renovate
renovate Bot force-pushed the renovate/downloader-5.x branch from a740e32 to e46f5ed Compare July 20, 2026 10:15
@renovate
renovate Bot force-pushed the renovate/downloader-5.x branch from e46f5ed to a5ee4e5 Compare August 31, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants