1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
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
|