Saldl Versions Save

A lightweight well-featured CLI downloader optimized for speed and early preview.

v41

3 years ago
  • [Build-fix] Fix link errors that started to get triggered with new build toolchains.

  • [New] Timeout options:

    • --timeout-connection-period
    • --timeout-low-speed-period
    • --timeout-low-speed

v40

5 years ago
  • [Build-fix] The way previously-shipped waf was checking the existence of functions triggers a warning/error with GCC 8.1. waf is now up-to-date. And fragments are created in wscript to check for functions properly.

  • [Improvement] saldl now halves chunk-size if it's between 0.5 and 1.5 of file-size. This is done to avoid contention in a single connection.

v39

6 years ago
  • [Fix] Detect non-standard "Content-Encoding: none" returned from some servers. This fix will not be necessary with libcurl >= 7.59. But distributions will not have that fix for some time.

v38

6 years ago
  • [New] Add ./waf configure options --default-chunk-size and --default-num-connections.
  • [New] Add CLI option --get-info (valid arguments are "file-name", "file-size", and "effective-url").
  • [Build] Raise minimum libcurl version required to 7.55.0.

v37

6 years ago
  • [Fix] Truncation options -t,--auto-trunc and -T,--smart-trunc were broken in v36. They are fixed in this release.

  • [Improvement] When using --whole-file, it is ensured now that the no. of chunks (including the last one) will equal the no. of connections. That is, all chunks will start downloading immediately from the start.

v36

6 years ago

Building saldl with GCC 7 (7.1.1 to be exact) triggers a couple of warnings. And since -Werror is passed by default (as a way to enforce a zero warning policy), those warnings actually manifest as errors, causing builds to fail.

This release does not contain functional changes. It only includes one direct, and one indirect, build fixes.

v35

7 years ago

HIGHLIGHTS

  • [Breaking Change] Make -H short for --custom-headers instead of --use-HEAD (36e89b3f6fdf656e94fda814fefd39e00ea1b336)
  • [New] Add --random-order option (b9373336dc78906a173468ad067c31c34e57a9a9)
  • [New] Add -F/--allow-ftp-segments option (fc1911b71066e2ad5d8e8daf1bf08104d890c946)
  • [Fix] Fix OSX El Capitan builds with Xcode 8 (e7656f2dc588d67e0be0a7594d9637290de3c0c0)

v34

8 years ago

Compared to v33, this is a rather small release.

HIGHLIGHTS

  • [fix] Fix -I/--no-remote-info. Changes in v33 caused a crash if this option was passed (b8e292c).
  • [new] Implement --merge-in-order. This option forces merging chunks in order, similar to how piping to stdout works (d739fbc).
  • [change] Limit reconnection delays to 32 seconds max (3729b30).

Check out git log v33..v34 for a full list of changes.

v33

8 years ago

In this release, the option to download from two servers concurrently is made possible with option --mirror-url. Consult the manual page for details.

Also in this release, support for writing to stdout was added (option --stdout). All saldl's optimizations will work, except chunks will only be merged sequentially. If -m/--memory-buffers are used, saldl will not create any files or write any data to disk. Consult the manual page for more details.

Other notable changes and fixes

  • [fix] Handle relative redirects correctly (b21fbfd9226a0a4858a46a7c7753596dc451b4d7).
  • [fix] Fatally fail with any HTTP error other than 400 while getting remote info. 400 is allowed once in case it was caused by an HTTP/2 upgrade error (d88036dc486e634002ece7951ba1c60203508dde).
  • [fix] Fix long options --since-file-mtime and --date-cond. They erroneously required an extra -- at the start (c33187a43af39a7cf5f476580f4a95e2e3c3cca7).
  • [new] Only enable HTTP/2 over TLS by default. --http2-upgrade to always try HTTP/2 [requires libcurl >= 7.47.0] (70892aa58fa0db07722c5cf9f148b7725991c854).
  • [new] Implement -6/--resolve-ipv6 and -4/--resolve-ipv4 (128de2bf474e168a6f572cd26e3d2bd402a63863).
  • [new] Send TCP keep-alive probes every 6s, --no-tcp-keep-alive to disable (0bd1a51f303084691b0d8ef82792f96b925d164c).

Check git log v32..v33 for a full list of changes.

v32

8 years ago

Highlights

  • [major] Big and breaking changes in compression/decompression options (b477928).
  • [new] Implement -M/--since-file-mtime and -Y/--date-cond (3576819).
  • [fix] Fall back to HTTP/1.1 if we get a 400 response. The error could be triggered by the HTTP/2 upgrade request (08f372c).