| curl and libcurl 7.64.1 |
| |
| Public curl releases: 180 |
| Command line options: 220 |
| curl_easy_setopt() options: 265 |
| Public functions in libcurl: 80 |
| Contributors: 1875 |
| |
| This release includes the following changes: |
| |
| o alt-svc: experiemental support added [74] |
| |
| This release includes the following bugfixes: |
| |
| o AppVeyor: add MinGW-w64 and classic Mingw builds [55] |
| o AppVeyor: switch VS 2015 builds to VS 2017 image [49] |
| o CURLU: fix NULL dereference when used over proxy [73] |
| o Curl_easy: remove req.maxfd - never used! [58] |
| o Curl_now: figure out windows version in win32_init: [11] |
| o Curl_resolv: fix a gcc -Werror=maybe-uninitialized warning [20] |
| o DoH: inherit some SSL options from user's easy handle [80] |
| o OpenSSL: add support for TLS ASYNC state [46] |
| o Secure Transport: no more "darwinssl" [56] |
| o cirrus: Added FreeBSD builds using Cirrus CI |
| o cleanup: make local functions static [5] |
| o cli tool: do not use mime.h private structures [27] |
| o cmdline-opts/proxytunnel.d: the option tunnnels all protocols [83] |
| o configure: add additional libraries to check for LDAP support [45] |
| o configure: remove the unused fdopen macro [40] |
| o configure: show features as well in the final summary [15] |
| o connection: never reuse CONNECT_ONLY connections [35] |
| o connection_check: restore original conn->data after the check [14] |
| o connection_check: set ->data to the transfer doing the check [3] |
| o cookie: Add support for cookie prefixes [29] |
| o cookies: dotless names can set cookies again [81] |
| o cookies: fix NULL dereference if flushing cookies with no CookieInfo set [47] |
| o curl.h: use __has_declspec_attribute for shared builds [52] |
| o curl: display --version features sorted alphabetically [51] |
| o curl: fix FreeBSD compiler warning in the --xattr code [2] |
| o curl: remove MANUAL from -M output [38] |
| o curl_easy_duphandle.3: clarify that a duped handle has no shares [64] |
| o curl_multi_remove_handle.3: use at any time, just not from within callbacks |
| o dns: release sharelock as soon as possible [1] |
| o docs: update max-redirs.d phrasing [59] |
| o easy: fix win32 init to work without CURL_GLOBAL_WIN32 [30] |
| o examples/10-at-a-time.c: improve readability and simplify |
| o examples/cacertinmem.c: use multiple certificates for loading CA-chain [54] |
| o examples/crawler: Fix the Accept-Encoding setting |
| o examples/ephiperfifo.c: various fixes [63] |
| o examples/externalsocket: add missing close socket calls [78] |
| o examples/http2-download: cleaned up |
| o examples/http2-serverpush: add some sensible error checks [31] |
| o examples/http2-upload: cleaned up |
| o examples/httpcustomheader: Value stored to 'res' is never read |
| o examples/postinmemory: Potential leak of memory pointed to by 'chunk.memory' |
| o examples/sftpuploadresume: Value stored to 'result' is never read |
| o examples: only include <curl/curl.h> [70] |
| o examples: remove recursive calls to curl_multi_socket_action [42] |
| o examples: remove superfluous null-pointer checks |
| o fnmatch: disable if FTP is disabled [25] |
| o gnutls: remove call to deprecated gnutls_compression_get_name [66] |
| o gopher: remove check for path == NULL [69] |
| o gssapi: fix deprecated header warnings [16] |
| o hostip: make create_hostcache_id avoid alloc + free [4] |
| o http2: multi_connchanged() moved from multi.c, only used for h2 [21] |
| o http2: verify :athority in push promise requests [37] |
| o http: make adding a blank header thread-safe [33] |
| o http: set state.infilesize when sending multipart formposts [57] |
| o mbedtls: make it build even if MBEDTLS_VERSION_C isn't set [24] |
| o mbedtls: release sessionid resources on error [28] |
| o memdebug: make debug-specific functions use curl_dbg_ prefix [82] |
| o mime: put the boundary buffer into the curl_mime struct [18] |
| o multi: call multi_done on connect timeouts, fixes CURLINFO_TOTAL_TIME [43] |
| o multi: remove verbose "Expire in" ... messages [23] |
| o multi: removed unused code for request retries [79] |
| o multi: support verbose conncache closure handle [72] |
| o pretransfer: don't strlen() POSTFIELDS set for GET requests [22] |
| o rand: Fix a mismatch between comments in source and header [32] |
| o runtests: detect "schannel" as an alias for "winssl" [50] |
| o schannel: be quiet - remove verbose output [19] |
| o schannel: close TLS before removing conn from cache [10] |
| o schannel: support CALG_ECDH_EPHEM algorithm [44] |
| o scripts/completion.pl: also generate fish completion file [67] |
| o singlesocket: fix the 'sincebefore' placement [36] |
| o source: fix two 'nread' may be used uninitialized warnings [68] |
| o ssh: fix Condition '!status' is always true [60] |
| o ssh: loop the state machine if not done and not blocking [71] |
| o strerror: make the strerror function use local buffers [48] |
| o system_win32: move win32_init here from easy.c [65] |
| o test578: make it read data from the correct test |
| o tests: Fixed XML validation errors in some test files |
| o tests: add stderr comparison to the test suite [26] |
| o tests: fix multiple may be used uninitialized warnings |
| o threaded-resolver: shutdown the resolver thread without error message [61] |
| o tool_operate: fix typecheck warning [9] |
| o transfer.c: do not compute length of undefined hex buffer |
| o travis: add build using gnutls [75] |
| o travis: add scan-build [13] |
| o travis: enable valgrind for the iconv tests [12] |
| o travis: use updated compiler versions: clang 7 and gcc 8 [77] |
| o unit1307: require FTP support [17] |
| o unit1651: survive curl_easy_init() fails |
| o url/idnconvert: remove scan for <= 32 ascii values [6] |
| o url: change conn shutdown order to ensure SOCKETFUNCTION callbacks [39] |
| o urlapi: reduce variable scope, remove unreachable 'break' [7] |
| o urldata: convert bools to bitfields and move to end [53] |
| o urldata: simplify bytecounters [62] |
| o urlglob: Argument with 'nonnull' attribute passed null |
| o version.c: silent scan-build even when librtmp is not enabled |
| o wolfssl: stop custom-adding curves [41] |
| o x509asn1: "Dereference of null pointer" |
| o x509asn1: cleanup and unify code layout [34] |
| o zsh.pl: escape ':' character [8] |
| o zsh.pl: update regex to better match curl -h output [8] |
| |
| 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: |
| |
| accountantM on github, Alessandro Ghedini, Andre Guibert de Bruet, |
| Arnaud Rebillout, Bernd Mueller, Björn Stenberg, buzo-ffm on github, |
| Chris Araman, d912e3 on github, Dan Fandrich, Daniel Gustafsson, |
| Daniel Lublin, Daniel Stenberg, David Garske, Don J Olmstead, Frank Gevaerts, |
| Gisle Vanem, James Brown, Jan Alexander Steffens, jnbr on github, |
| MAntoniak on github, Marcel Raad, Matt McClure, Michael Felt, Michael Schmid, |
| Michael Wallner, Michał Antoniak, Nick Zitzmann, Nicolas Grekas, |
| Patrick Monnerat, Paul Groke, Pavel Löbl, Ray Satiro, Renaud Allard, |
| Romain Geissler, Sara Golemon, Simon Legner, tholin on github, Volker Schmid, |
| wesinator on github, |
| (40 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=3516 |
| [2] = https://curl.haxx.se/bug/?i=3550 |
| [3] = https://curl.haxx.se/bug/?i=3541 |
| [4] = https://curl.haxx.se/bug/?i=3544 |
| [5] = https://curl.haxx.se/bug/?i=3538 |
| [6] = https://curl.haxx.se/bug/?i=3539 |
| [7] = https://curl.haxx.se/bug/?i=3540 |
| [8] = https://bugs.debian.org/921452 |
| [9] = https://curl.haxx.se/bug/?i=3534 |
| [10] = https://curl.haxx.se/bug/?i=3412 |
| [11] = https://curl.haxx.se/bug/?i=3572 |
| [12] = https://curl.haxx.se/bug/?i=3571 |
| [13] = https://curl.haxx.se/bug/?i=3564 |
| [14] = https://curl.haxx.se/bug/?i=3542 |
| [15] = https://curl.haxx.se/bug/?i=3569 |
| [16] = https://curl.haxx.se/bug/?i=3566 |
| [17] = https://curl.haxx.se/bug/?i=3565 |
| [18] = https://curl.haxx.se/bug/?i=3561 |
| [19] = https://curl.haxx.se/bug/?i=3552 |
| [20] = https://curl.haxx.se/bug/?i=3562 |
| [21] = https://curl.haxx.se/bug/?i=3557 |
| [22] = https://curl.haxx.se/bug/?i=3548 |
| [23] = https://curl.haxx.se/mail/archive-2019-02/0013.html |
| [24] = https://curl.haxx.se/bug/?i=3553 |
| [25] = https://curl.haxx.se/bug/?i=3551 |
| [26] = https://curl.haxx.se/bug/?i=3536 |
| [27] = https://curl.haxx.se/bug/?i=3532 |
| [28] = https://curl.haxx.se/bug/?i=3574 |
| [29] = https://curl.haxx.se/bug/?i=3554 |
| [30] = https://curl.haxx.se/bug/?i=3313 |
| [31] = https://curl.haxx.se/bug/?i=3580 |
| [32] = https://curl.haxx.se/bug/?i=3584 |
| [33] = https://curl.haxx.se/bug/?i=3578 |
| [34] = https://curl.haxx.se/bug/?i=3582 |
| [35] = https://curl.haxx.se/mail/lib-2019-02/0064.html |
| [36] = https://curl.haxx.se/bug/?i=3585 |
| [37] = https://curl.haxx.se/bug/?i=3577 |
| [38] = https://curl.haxx.se/bug/?i=3587 |
| [39] = https://curl.haxx.se/mail/lib-2019-02/0101.html |
| [40] = https://curl.haxx.se/bug/?i=3600 |
| [41] = https://curl.haxx.se/bug/?i=3599 |
| [42] = https://curl.haxx.se/bug/?i=3537 |
| [43] = https://curl.haxx.se/bug/?i=3602 |
| [44] = https://curl.haxx.se/bug/?i=3608 |
| [45] = https://curl.haxx.se/bug/?i=3595 |
| [46] = https://curl.haxx.se/bug/?i=3591 |
| [47] = https://curl.haxx.se/bug/?i=3613 |
| [48] = https://curl.haxx.se/bug/?i=3612 |
| [49] = https://curl.haxx.se/bug/?i=3606 |
| [50] = https://curl.haxx.se/bug/?i=3609 |
| [51] = https://curl.haxx.se/bug/?i=3611 |
| [52] = https://curl.haxx.se/bug/?i=3616 |
| [53] = https://curl.haxx.se/bug/?i=3610 |
| [54] = https://curl.haxx.se/bug/?i=3421 |
| [55] = https://curl.haxx.se/bug/?i=3623 |
| [56] = https://curl.haxx.se/bug/?i=3619 |
| [57] = https://curl.haxx.se/mail/archive-2019-02/0023.html |
| [58] = https://curl.haxx.se/bug/?i=3626 |
| [59] = https://curl.haxx.se/bug/?i=3631 |
| [60] = https://curl.haxx.se/bug/?i=3628 |
| [61] = https://curl.haxx.se/bug/?i=3629 |
| [62] = https://curl.haxx.se/bug/?i=3627 |
| [63] = https://curl.haxx.se/bug/?i=3632 |
| [64] = https://curl.haxx.se/bug/?i=3592 |
| [65] = https://curl.haxx.se/bug/?i=3625 |
| [66] = https://curl.haxx.se/bug/?i=3636 |
| [67] = https://curl.haxx.se/bug/?i=3545 |
| [68] = https://curl.haxx.se/bug/?i=3546 |
| [69] = https://curl.haxx.se/bug/?i=3617 |
| [70] = https://curl.haxx.se/bug/?i=3645 |
| [71] = https://curl.haxx.se/bug/?i=3506 |
| [72] = https://curl.haxx.se/bug/?i=3618 |
| [73] = https://curl.haxx.se/bug/?i=3641 |
| [74] = https://curl.haxx.se/bug/?i=3498 |
| [76] = https://curl.haxx.se/bug/?i=3637 |
| [77] = https://curl.haxx.se/bug/?i=3670 |
| [78] = https://curl.haxx.se/bug/?i=3663 |
| [79] = https://curl.haxx.se/bug/?i=3666 |
| [80] = https://curl.haxx.se/bug/?i=3660 |
| [81] = https://curl.haxx.se/bug/?i=3649 |
| [82] = https://curl.haxx.se/bug/?i=3656 |
| [83] = https://curl.haxx.se/bug/?i=3658 |