Per the feature creep feedback on v3 this v4 ejects the two new changes new in v3. The below range-diff is against v2, not v3. I dug into the 7.16.4 v.s. 7.17.0 documentation issue and found that it's bug in curl's docs, for which I submitted a patch. I considered keeping <patch-v3-5.7-b857a9ef7b1-20210730T092843Z-avarab@xxxxxxxxx>, but sequencing it in made the range diff quite a bit larger, so per the feature creep feedback I ejected it too. Junio: Perhaps you'd like to cherry-pick it on top too, or it can be dug up post-release. Jeff King (3): http: drop support for curl < 7.11.1 http: drop support for curl < 7.16.0 http: drop support for curl < 7.19.4 Ævar Arnfjörð Bjarmason (2): http: drop support for curl < 7.19.3 and < 7.17.0 (again) http: rename CURLOPT_FILE to CURLOPT_WRITEDATA http-push.c | 29 +-------- http-walker.c | 14 +---- http.c | 169 ++------------------------------------------------ http.h | 46 -------------- imap-send.c | 4 -- remote-curl.c | 11 +--- 6 files changed, 10 insertions(+), 263 deletions(-) Range-diff against v1: 1: dcbb6f95652 ! 1: 6bd41764a54 http: drop support for curl < 7.11.1 @@ Commit message Drop support for this ancient version of curl and simplify the code by allowing us get rid of some "#ifdef"'s. - Git will not build with vanilla curl older than 7.11.1 due to (at - least) two issues: - - - our use of CURLOPT_POSTFIELDSIZE in 37ee680d9b - (http.postbuffer: allow full range of ssize_t values, - 2017-04-11). This field was introduced in curl 7.11.1. - - - our use of CURLPROTO_* outside any #ifdef in aeae4db174 - (http: create function to get curl allowed protocols, - 2016-12-14). These were introduced in curl 7.19.4. + Git will not build with vanilla curl older than 7.11.1 due our use of + CURLOPT_POSTFIELDSIZE in 37ee680d9b + (http.postbuffer: allow full range of ssize_t values, + 2017-04-11). This field was introduced in curl 7.11.1. We could solve these compilation problems with more #ifdefs, but it's not worth the trouble. Version 7.11.1 came out in - March of 2004, over 13 years ago. Let's declare that too old + March of 2004, over 17 years ago. Let's declare that too old and drop any existing ifdefs that go further back. One obvious benefit is that we'll have fewer conditional bits cluttering the code. 2: 1c9f3bc031b = 2: fb308258e2b http: drop support for curl < 7.16.0 3: faae88b7fec ! 3: fba5560a3ba http: drop support for curl < 7.19.4 @@ Commit message http: drop support for curl < 7.19.4 In the last commit we dropped support for curl < 7.16.0, let's - continue that and drop support for versions older than 7.19.4. This + continue that and drop support for versions older than 7.19.3. This allows us to simplify the code by getting rid of some "#ifdef"'s. Git was broken with vanilla curl < 7.19.4 from v2.12.0 until 4: 9a30e92520c ! 4: 42d1c72ff7e http: drop support for curl < 7.19.3 and < 7.16.4 (again) @@ Metadata Author: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> ## Commit message ## - http: drop support for curl < 7.19.3 and < 7.16.4 (again) + http: drop support for curl < 7.19.3 and < 7.17.0 (again) Remove the conditional use of CURLAUTH_DIGEST_IE and CURLOPT_USE_SSL. These two have been split from earlier simpler checks against LIBCURL_VERSION_NUM for ease of review. The CURLAUTH_DIGEST_IE flag was added in n 7.19.3[1], and - CURLOPT_USE_SSL in 7.16.4[2], as noted in [2] it was then renamed from - the older CURLOPT_FTP_SSL. + CURLOPT_USE_SSL in 7.17.0[2][3], as noted in [2] it was then renamed + from the older CURLOPT_FTP_SSL. + + The documentation[2] currently claims that it was introduced in + 7.16.4, but the symbols-in-versions file correctly states + 7.17.0[3]. + + I've submitted an upstream + patch (<patch-1.1-953bab490-20210730T170510Z-avarab@xxxxxxxxx>) to the + curl-library mailing list fix the documentation. 1. https://curl.se/libcurl/c/CURLOPT_HTTPAUTH.html 2. https://curl.se/libcurl/c/CURLOPT_USE_SSL.html + 3. https://github.com/curl/curl/blob/master/docs/libcurl/symbols-in-versions Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> 5: 64e510b4a6b = 5: e34ab1d1f65 http: rename CURLOPT_FILE to CURLOPT_WRITEDATA -- 2.32.0.1071.g36f34456314