| Curl and libcurl 7.62.0 |
| |
| Public curl releases: 177 |
| Command line options: 219 |
| curl_easy_setopt() options: 261 |
| Public functions in libcurl: 80 |
| Contributors: 1787 |
| |
| This release includes the following changes: |
| |
| o multiplex: enable by default [4] |
| o url: default to CURL_HTTP_VERSION_2TLS if built h2-enabled [4] |
| o setopt: add CURLOPT_DOH_URL [7] |
| o curl: --doh-url added [7] |
| o setopt: add CURLOPT_UPLOAD_BUFFERSIZE: set upload buffer size [8] |
| o imap: change from "FETCH" to "UID FETCH" [9] |
| o configure: add option to disable automatic OpenSSL config loading [10] |
| o upkeep: add a connection upkeep API: curl_easy_upkeep() [11] |
| o URL-API: added five new functions [12] |
| o vtls: MesaLink is a new TLS backend [23] |
| |
| This release includes the following bugfixes: |
| |
| o CURLOPT_DNS_USE_GLOBAL_CACHE: deprecated [5] |
| o Curl_dedotdotify(): always nul terminate returned string [46] |
| o Curl_http2_done: fix memleak in error path [51] |
| o Curl_retry_request: fix memory leak [49] |
| o Curl_saferealloc: Fixed typo in docblock [40] |
| o GnutTLS: TLS 1.3 support [39] |
| o SECURITY-PROCESS: mention the bountygraph program [42] |
| o anyauthput: fix compiler warning on 64-bit Windows [21] |
| o certs: generate tests certs with sha256 digest algorithm [37] |
| o cmake: Backport to work with CMake 3.0 again [55] |
| o cmake: Improve config installation [60] |
| o cmake: don't require OpenSSL if USE_OPENSSL=OFF [35] |
| o cmake: fixed path used in generation of docs/tests [56] |
| o configure: force-use -lpthreads on HPUX [41] |
| o configure: s/AC_RUN_IFELSE/CURL_RUN_IFELSE [53] |
| o cookies: Remove redundant expired check [14] |
| o cookies: fix leak when writing cookies to file [15] |
| o curl: enabled Windows VT Support and UTF-8 output [57] |
| o curl: update the documentation of --tlsv1.0 [17] |
| o curl_multi_wait: call getsock before figuring out timeout [34] |
| o curl_threads: fix classic MinGW compile break [54] |
| o darwinssl: Fix realloc memleak [32] |
| o darwinssl: more specific and unified error codes [6] |
| o docs/examples: URL updates [45] |
| o example/asiohiper: insert warning comment about its status [18] |
| o example/htmltidy: fix include paths of tidy libraries [52] |
| o examples/Makefile.m32: sync with core [44] |
| o examples/http2-pushinmemory: receive HTTP/2 pushed files in memory [33] |
| o examples/parseurl.c: show off the URL API [43] |
| o examples: Fix memory leaks from realloc errors [31] |
| o examples: do not wait when no transfers are running [16] |
| o ftp: include command in Curl_ftpsend sendbuffer [25] |
| o http2: fix memory leaks on error-path [29] |
| o http: fix memleak in rewind error path [50] |
| o krb5: fix memory leak in krb_auth [25] |
| o lib: fix gcc8 warning on Windows [20] |
| o memory: add missing curl_printf header [30] |
| o multi: fix memory leak in content encoding related error path [59] |
| o nss: try to connect even if libnssckbi.so fails to load [36] |
| o ntlm_wb: Fix memory leaks in ntlm_wb_response [24] |
| o ntlm_wb: bail out if the response gets overly large [13] |
| o openssl: assume engine support in 0.9.8 or later [27] |
| o openssl: enable TLS 1.3 post-handshake auth [47] |
| o openssl: fix gcc8 warning [19] |
| o openssl: load built-in engines too [48] |
| o openssl: return CURLE_PEER_FAILED_VERIFICATION on failure to parse issuer [6] |
| o openssl: show "proper" version number for libressl builds [28] |
| o pipelining: deprecated [1] |
| o schannel: unified error code handling [6] |
| o sendf: Fix whitespace in infof/failf concatenation [26] |
| o ssl: deprecate CURLE_SSL_CACERT in favour of a unified error code [6] |
| o test1452: mark as flaky [2] |
| o tests: add unit tests for url.c [3] |
| o travis: bump the Secure Transport build to use xcode [58] |
| o urlglob: improve error message on bad globs [22] |
| o vtls: fix ssl version "or later" behavior change for many backends [38] |
| o x509asn1: return CURLE_PEER_FAILED_VERIFICATION on failure to parse cert [6] |
| o timeval: fix use of weak symbol clock_gettime() on Apple platforms [61] |
| o checksrc: handle zero scoped ignore commands [62] |
| o checksrc: enable strict mode and warnings [63] |
| o cmake: suppress MSVC warning C4127 for libtest |
| o cmake: test and set missed defines during configuration [64] |
| o appveyor: run test suite (on Windows!) [65] |
| o test320: strip out more HTML when comparing [66] |
| o runtests: use Windows paths for Windows curl |
| o tests/negtelnetserver.py: fix Python2-ism in neg TELNET server [67] |
| o memory: ensure to check allocation results [68] |
| o comment: Fix multiple typos in function parameters [69] |
| o nss: fix nssckbi module loading on Windows [70] |
| o data-binary.d: clarify default content-type is x-www-form-urlencoded [71] |
| o test1299: use single quotes around asterisk [72] |
| o docs/CIPHERS: mention the colon separation for OpenSSL [73] |
| o runtests: ignore disabled even when ranges are given [74] |
| |
| This release includes the following known bugs: |
| |
| o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) |
| |
| This release would not have looked like this without help, code, reports and |
| advice from friends like these: |
| |
| Brad King, Christian Heimes, Colin Hogben, Daniel Gustafsson, Daniel Shahaf, |
| Daniel Stenberg, Dave Reisner, Dmitry Kostjuchenko, Doron Behar, |
| Eason-Yu on github, Erik Minekus, Even Rouault, Han Han, Harry Sintonen, |
| Jean Fabrice, Jim Fuller, Kamil Dudka, Loganaden Velvindron, Marcel Raad, |
| Marc Hörsken, Max Dymond, Maxime Legros, Michael Kaufmann, Nate Prewitt, |
| Nicklas Avén, Nick Zitzmann, Philipp Waehnert, Rainer Jung, Ray Satiro, |
| Rich Turner, Rikard Falkeborn, Ruslan Baratov, Sergei Nikulov, |
| Thomas Glanzmann, Viktor Szakats, Yiming Jing, |
| (36 contributors) |
| |
| Thanks! (and sorry if I forgot to mention someone) |
| |
| References to bug reports and discussions on issues: |
| |
| [1] = https://curl.haxx.se/bug/?i=2705 |
| [2] = https://curl.haxx.se/bug/?i=2941 |
| [3] = https://curl.haxx.se/bug/?i=2937 |
| [4] = https://curl.haxx.se/bug/?i=2709 |
| [5] = https://curl.haxx.se/bug/?i=2942 |
| [6] = https://curl.haxx.se/bug/?i=2901 |
| [7] = https://curl.haxx.se/bug/?i=2668 |
| [8] = https://curl.haxx.se/bug/?i=2896 |
| [9] = https://curl.haxx.se/bug/?i=2789 |
| [10] = https://curl.haxx.se/bug/?i=2724 |
| [11] = https://curl.haxx.se/bug/?i=1641 |
| [12] = https://curl.haxx.se/bug/?i=2842 |
| [13] = https://curl.haxx.se/bug/?i=2959 |
| [14] = https://curl.haxx.se/bug/?i=2962 |
| [15] = https://curl.haxx.se/bug/?i=2957 |
| [16] = https://curl.haxx.se/bug/?i=2948 |
| [17] = https://curl.haxx.se/bug/?i=2955 |
| [18] = https://curl.haxx.se/bug/?i=2407 |
| [19] = https://curl.haxx.se/bug/?i=2980 |
| [20] = https://curl.haxx.se/bug/?i=2979 |
| [21] = https://curl.haxx.se/bug/?i=2972 |
| [22] = https://curl.haxx.se/bug/?i=2763 |
| [23] = https://curl.haxx.se/bug/?i=2984 |
| [24] = https://curl.haxx.se/bug/?i=2966 |
| [25] = https://curl.haxx.se/bug/?i=2985 |
| [26] = https://curl.haxx.se/bug/?i=2986 |
| [27] = https://curl.haxx.se/bug/?i=2983 |
| [28] = https://curl.haxx.se/bug/?i=2989 |
| [29] = https://curl.haxx.se/bug/?i=2992 |
| [30] = https://curl.haxx.se/bug/?i=2999 |
| [31] = https://curl.haxx.se/bug/?i=2991 |
| [32] = https://curl.haxx.se/bug/?i=3005 |
| [33] = https://curl.haxx.se/bug/?i=3004 |
| [34] = https://curl.haxx.se/bug/?i=2996 |
| [35] = https://curl.haxx.se/bug/?i=3001 |
| [36] = https://curl.haxx.se/bug/?i=3016 |
| [37] = https://curl.haxx.se/bug/?i=3014 |
| [38] = https://curl.haxx.se/bug/?i=2969 |
| [39] = https://curl.haxx.se/bug/?i=2971 |
| [40] = https://curl.haxx.se/bug/?i=3029 |
| [41] = https://curl.haxx.se/bug/?i=2697 |
| [42] = https://curl.haxx.se/bug/?i=3032 |
| [43] = https://curl.haxx.se/bug/?i=3030 |
| [44] = https://curl.haxx.se/bug/?i=3033 |
| [45] = https://curl.haxx.se/bug/?i=3036 |
| [46] = https://curl.haxx.se/bug/?i=3039 |
| [47] = https://curl.haxx.se/bug/?i=3026 |
| [48] = https://curl.haxx.se/bug/?i=3023 |
| [49] = https://curl.haxx.se/bug/?i=3042 |
| [50] = https://curl.haxx.se/bug/?i=3044 |
| [51] = https://curl.haxx.se/bug/?i=3046 |
| [52] = https://curl.haxx.se/bug/?i=3050 |
| [53] = https://curl.haxx.se/bug/?i=3006 |
| [54] = https://github.com/curl/curl/issues/2924#issuecomment-424334807 |
| [55] = https://curl.haxx.se/bug/?i=3055 |
| [56] = https://curl.haxx.se/bug/?i=3056 |
| [57] = https://curl.haxx.se/bug/?i=3008 |
| [58] = https://curl.haxx.se/bug/?i=3062 |
| [59] = https://curl.haxx.se/bug/?i=3063 |
| [60] = https://curl.haxx.se/bug/?i=2849 |
| [61] = https://curl.haxx.se/bug/?i=3048 |
| [62] = https://curl.haxx.se/bug/?i=3096 |
| [63] = https://curl.haxx.se/bug/?i=3090 |
| [64] = https://curl.haxx.se/bug/?i=3097 |
| [65] = https://curl.haxx.se/bug/?i=3100 |
| [66] = https://curl.haxx.se/bug/?i=3093 |
| [67] = https://curl.haxx.se/bug/?i=2929 |
| [68] = https://curl.haxx.se/bug/?i=3084 |
| [69] = https://curl.haxx.se/bug/?i=3079 |
| [70] = https://curl.haxx.se/bug/?i=3086 |
| [71] = https://curl.haxx.se/bug/?i=3085 |
| [72] = https://github.com/curl/curl/issues/1751#issuecomment-321522580 |
| [73] = https://curl.haxx.se/bug/?i=3077 |
| [74] = https://curl.haxx.se/bug/?i=3075 |