Skip to content

1.1.0

Latest

Choose a tag to compare

@mattt mattt released this 08 Oct 12:12
Immutable release. Only release title and notes can be modified.
4f68934

swift-xet 1.1 uses the current Xet reconstruction API and retries failed requests.

  • Downloads now use version 2 of the CAS reconstruction API, which the Xet protocol recommends. If a server doesn't support it, the downloader uses version 1 (#23).
  • The downloader now retries requests that fail with a network error or with HTTP status 408, 429, or 5xx other than 501. By default, it makes up to 5 retries, each after a random wait of up to 3, 9, 27, 81, and 243 seconds. If a xorb download fails partway through, the retry skips the chunks it already received (#24).
  • New XetDownloader.Configuration settings maxRetries and retryBaseDelay control retries. Set maxRetries to 0 to turn them off (#24).
  • A canceled download stops waiting for a CAS token right away (#24).
  • A malformed reconstruction response with a range that ends before it starts now throws XetDownloaderError with the reconstructionDecodingFailed code, instead of stopping the process (#23).

What's Changed

  • Use version 2 of the reconstruction API with a version 1 fallback by @mattt in #23
  • Retry failed requests with exponential backoff by @mattt in #24
  • Clarify which network failures are retried by @mattt in #25

Full Changelog: 1.0.0...1.1.0