| curl and libcurl 7.70.0 |
| |
| Public curl releases: 191 |
| Command line options: 231 |
| curl_easy_setopt() options: 270 |
| Public functions in libcurl: 82 |
| Contributors: 2155 |
| |
| This release includes the following changes: |
| |
| o curl: add --ssl-revoke-best-effort to allow a "best effort" revocation check [5] |
| o schannel: add "best effort" revocation check option: CURLSSLOPT_REVOKE_BEST_EFFORT [5] |
| o writeout: support to generate JSON output with '%{json}' [8] |
| |
| This release includes the following bugfixes: |
| |
| o appveyor: show failed tests in log even if test is ignored |
| o appveyor: sort builds by type and add two new variants |
| o appveyor: turn disabled tests into ignored result tests |
| o appveyor: use random test server ports based upon APPVEYOR_API_URL [52] |
| o build: fixed build for systems with select() in unistd.h [43] |
| o checksrc: warn on obvious conditional blocks on the same line as if() [44] |
| o CI-fuzz: increase fuzz time to 40 minutes [59] |
| o ci/tests: fix Azure Pipelines not running Windows containers [25] |
| o CI: add build with ngtcp2 + gnutls on Travis CI |
| o CI: bring GitHub Actions fuzzing job in line with macOS jobs |
| o CI: migrate macOS jobs from Azure and Travis CI to GitHub Actions [36] |
| o CI: remove default Ubuntu build from GitHub Actions |
| o cirrus: re-enable the FreeBSD 13 CI builds [29] |
| o cleanup: insert newline after if() conditions |
| o cmake: add CMAKE_MSVC_RUNTIME_LIBRARY [45] |
| o cmake: add support for building with wolfSSL [9] |
| o cmdline: fix handling of OperationConfig linked list (--next) [24] |
| o config: remove all defines of HAVE_DES_H [37] |
| o configure: convert -I to -isystem as a last step [2] |
| o configure: document 'compiler_num' for gcc [4] |
| o configure: don't check for Security.framework when cross-compiling [47] |
| o configure: fix -pedantic-errors for GCC 5 and later [3] |
| o configure: remove use of -vec-report0 from CFLAGS with icc [71] |
| o connect: happy eyeballs cleanup [15] |
| o connect: store connection info for QUIC connections [68] |
| o copyright: fix out-of-date copyright ranges and missing headers [38] |
| o curl-functions.m4: remove inappropriate AC_REQUIRE [26] |
| o curl.h: remnove CURL_VERSION_ESNI. Never supported nor documented [49] |
| o curl: allow both --etag-compare and --etag-save with same file name [56] |
| o curl_setup: define _WIN32_WINNT_[OS] symbols [27] |
| o CURLINFO_CONDITION_UNMET: return true for 304 http status code [54] |
| o CURLINFO_NUM_CONNECTS: improve accuracy [28] |
| o CURLOPT_WRITEFUNCTION.3: add inline example and new see-also [70] |
| o dist: add mail-rcpt-allowfails.d to the tarball [35] |
| o docs/make: generate curl.1 from listed files only [33] |
| o docs: add warnings about FILE: URLs on Windows [19] |
| o easy: fix curl_easy_duphandle for builds missing IPv6 that use c-ares [18] |
| o examples/sessioninfo.c: add include to fix compiler warning [42] |
| o github actions: run when pushed to master or */ci + PRs [64] |
| o gskit: use our internal select wrapper for portability [12] |
| o http2: Fix erroneous debug message that h2 connection closed [21] |
| o http: don't consider upload done if the request isn't completely sent off [67] |
| o lib670: use the same Win32 API check as all other lib tests |
| o lib: never define CURL_CA_BUNDLE with a getenv [51] |
| o mailmap: fixup a few author names/fields |
| o Makefile.m32: Improve windres parameter compatibility [17] |
| o Makefile: run the cd commands in a subshell [1] |
| o memdebug: don't log free(NULL) |
| o multi: improve parameter check for curl_multi_remove_handle [6] |
| o nghttp2: 1.12.0 required [40] |
| o ngtcp2: update to git master for the key installation API change [46] |
| o openssl: adapt to functions marked as deprecated since version 3 [34] |
| o OS400: update strings for ccsid-ifier (fixes the build) [30] |
| o output.d: quote the URL when globbing [48] |
| o packages: add OS400/chkstrings.c to the dist [39] |
| o RELEASE-PROCEDURE.md: run the copyright.pl script! |
| o Revert "file: on Windows, refuse paths that start with \\" [50] |
| o runtests: provide nicer errormsg when protocol "dump" file is empty |
| o schannel: support .P12 or .PFX client certificates [65] |
| o scripts/release-notes.pl: add helper script for RELEASE-NOTES maintenance |
| o select: move duplicate select preparation code into Curl_select [14] |
| o select: remove typecast from SOCKET_WRITABLE/READABLE macros [69] |
| o server/getpart: make the "XML-parser" stricter [20] |
| o server/resolve: remove AI_CANONNAME to make macos tell the truth [63] |
| o sockfilt: add logmsg output to select_ws_wait_thread on Windows [32] |
| o sockfilt: fix handling of ready closed sockets on Windows |
| o sockfilt: fix race-condition of waiting threads and event handling [58] |
| o SSLCERTS.md: Fix example code for setting CA cert file [31] |
| o test1148: tolerate progress updates better (again) [60] |
| o test1177: verify that all the CURL_VERSION_ bits are documented |
| o test1566: verify --etag-compare that gets a 304 back [53] |
| o test2100: fix static port instead of dynamic value being used |
| o tests/data: fix some XML formatting issues in test cases |
| o tests: make Python-based servers compatible with Python 2 and 3 [22] |
| o tests: remove python_dependencies for smbserver from our tree [16] |
| o tls: remove the BACKEND define kludge from most backends [23] |
| o tool_operate: fix add_parallel_transfers when more are in queue [10] |
| o transfer: cap retries of "dead connections" to 5 [13] |
| o travis: update the ngtcp2 build to use the latest OpenSSL patch |
| o url: allow non-HTTPS altsvc-matching for debug builds [62] |
| o version: add 'cainfo' and 'capath' to version info struct [55] |
| o vquic: add support for GnuTLS backend of ngtcp2 [41] |
| o vtls: fix ssl_config memory-leak on out-of-memory [11] |
| o warnless: remove code block for icc that didn't work [72] |
| o windows: enable UnixSockets with all build toolchains |
| o windows: suppress UI in all CryptAcquireContext() calls [7] |
| |
| 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: |
| |
| Alain Miniussi, Brad King, Calvin Buckley, Chris Roberts, Clément Notin, |
| Daiki Ueno, Dan Fandrich, Daniel Stenberg, Dennis Felsing, Dima Tisnek, |
| Eylem Ugurel, Frank Gevaerts, FuccDucc on github, Gavin Wong, Gilles Vollant, |
| Gisle Vanem, Harry Sintonen, James Fuller, Johannes Schindelin, Jon Rumsey, |
| Kamil Dudka, Karl Chen, Kwon-Young Choi, Leo Neat, Maksim Stsepanenka, |
| Marcel Raad, Marc Hörsken, Markus Olsson, Mathias Gumz, Michael Kaufmann, |
| Muhammad Herdiansyah, Paul Vixie, Ray Satiro, Rici Lake, Roger Orr, |
| Ross Burton, Simon Chalifoux, Stepan Efremov, Steven Penny, Timothe Litt, |
| Tim Sedlmeyer, Tommy Petty, Viktor Szakats, |
| (43 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=5073 |
| [2] = https://curl.haxx.se/bug/?i=5060 |
| [3] = https://curl.haxx.se/bug/?i=5067 |
| [4] = https://curl.haxx.se/bug/?i=5069 |
| [5] = https://curl.haxx.se/bug/?i=4981 |
| [6] = https://curl.haxx.se/bug/?i=5116 |
| [7] = https://curl.haxx.se/bug/?i=5088 |
| [8] = https://curl.haxx.se/bug/?i=4870 |
| [9] = https://curl.haxx.se/bug/?i=5095 |
| [10] = https://curl.haxx.se/bug/?i=4937 |
| [11] = https://curl.haxx.se/bug/?i=5108 |
| [12] = https://curl.haxx.se/bug/?i=5106 |
| [13] = https://curl.haxx.se/mail/lib-2020-03/0044.html |
| [14] = https://curl.haxx.se/bug/?i=5078 |
| [15] = https://curl.haxx.se/bug/?i=4954 |
| [16] = https://curl.haxx.se/bug/?i=5094 |
| [17] = https://curl.haxx.se/bug/?i=5099 |
| [18] = https://curl.haxx.se/bug/?i=5097 |
| [19] = https://curl.haxx.se/bug/?i=5066 |
| [20] = https://curl.haxx.se/bug/?i=5071 |
| [21] = https://curl.haxx.se/bug/?i=5118 |
| [22] = https://curl.haxx.se/bug/?i=5104 |
| [23] = https://curl.haxx.se/bug/?i=5122 |
| [24] = https://curl.haxx.se/bug/?i=5120 |
| [25] = https://curl.haxx.se/bug/?i=5117 |
| [26] = https://curl.haxx.se/bug/?i=5126 |
| [27] = https://curl.haxx.se/bug/?i=4995 |
| [28] = https://curl.haxx.se/bug/?i=5135 |
| [29] = https://curl.haxx.se/bug/?i=5091 |
| [30] = https://curl.haxx.se/bug/?i=5132 |
| [31] = https://curl.haxx.se/mail/lib-2020-03/0121.html |
| [32] = https://curl.haxx.se/bug/?i=5086 |
| [33] = https://curl.haxx.se/bug/?i=5149 |
| [34] = https://curl.haxx.se/bug/?i=5139 |
| [35] = https://curl.haxx.se/bug/?i=5146 |
| [36] = https://curl.haxx.se/bug/?i=5124 |
| [37] = https://curl.haxx.se/bug/?i=5144 |
| [38] = https://curl.haxx.se/bug/?i=5141 |
| [39] = https://curl.haxx.se/bug/?i=5142 |
| [40] = https://curl.haxx.se/bug/?i=5140 |
| [41] = https://curl.haxx.se/bug/?i=5148 |
| [42] = https://curl.haxx.se/bug/?i=5171 |
| [43] = https://curl.haxx.se/bug/?i=5169 |
| [44] = https://curl.haxx.se/bug/?i=5164 |
| [45] = https://curl.haxx.se/bug/?i=5165 |
| [46] = https://curl.haxx.se/bug/?i=5166 |
| [47] = https://curl.haxx.se/bug/?i=5189 |
| [48] = https://curl.haxx.se/bug/?i=5160 |
| [49] = https://curl.haxx.se/bug/?i=5157 |
| [50] = https://curl.haxx.se/mail/archive-2020-04/0013.html |
| [51] = https://github.com/curl/curl/commit/6de756c#r38127030 |
| [52] = https://curl.haxx.se/bug/?i=5034 |
| [53] = https://curl.haxx.se/bug/?i=5186 |
| [54] = https://curl.haxx.se/bug/?i=5181 |
| [55] = https://curl.haxx.se/bug/?i=5150 |
| [56] = https://curl.haxx.se/bug/?i=5179 |
| [58] = https://curl.haxx.se/bug/?i=5156 |
| [59] = https://curl.haxx.se/bug/?i=5174 |
| [60] = https://curl.haxx.se/bug/?i=5194 |
| [62] = https://curl.haxx.se/bug/?i=5205 |
| [63] = https://curl.haxx.se/bug/?i=5202 |
| [64] = https://curl.haxx.se/bug/?i=5201 |
| [65] = https://curl.haxx.se/bug/?i=5193 |
| [67] = https://curl.haxx.se/bug/?i=4919 |
| [68] = https://curl.haxx.se/bug/?i=5196 |
| [69] = https://curl.haxx.se/bug/?i=5190 |
| [70] = https://curl.haxx.se/bug/?i=5192 |
| [71] = https://curl.haxx.se/bug/?i=5096 |
| [72] = https://curl.haxx.se/bug/?i=5096 |