{"version":"2.1.205","anchor":"binary-update-download-uses-streaming-with-a-total-deadline","canonical_anchor":"binary-update-download-uses-streaming-with-a-total-deadline","heading":"Binary update download uses streaming with a total deadline","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.205\/e\/binary-update-download-uses-streaming-with-a-total-deadline","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.205","markdown":"### Binary update download uses streaming with a total deadline\n\nThe self-update download was rewritten to stream the binary to disk rather than buffering it entirely in memory:\n\n- A stall timeout resets on each chunk received; a separate total deadline aborts the download if it takes too long overall\n- Partial files are cleaned up on failure\n- `ERR_STREAM_PREMATURE_CLOSE` is now detected and triggers a retry\n- `atomicMoveToInstallPath` retries on `EBUSY` (Windows file-locking) with increasing delays\n\n**Evidence**\n\nStreaming download (search for `\"ERR_STREAM_PREMATURE_CLOSE\"`) and deadline message (search for `\"Download timed out: exceeded the total deadline\"`) \u2014 `A5g()` at line ~481355"}