1
- curl and libcurl 7.75.0
1
+ curl and libcurl 7.76.1
2
2
3
- Public curl releases: 197
4
- Command line options: 237
5
- curl_easy_setopt() options: 285
3
+ Public curl releases: 199
4
+ Command line options: 240
5
+ curl_easy_setopt() options: 288
6
6
Public functions in libcurl: 85
7
- Contributors: 2322
7
+ Contributors: 2366
8
8
9
9
This release includes the following changes:
10
10
11
- o curl: add --create-file-mode [mode] [28]
12
- o curl: add new variables to --write-out [25]
13
- o dns: extend CURLOPT_RESOLVE syntax for adding non-permanent entries [53]
14
- o gopher: implement secure gopher protocol [2]
15
- o http: add Hyper as new optional HTTP backend [24]
16
- o http: introduce AWS HTTP v4 Signature support [26]
11
+ o
17
12
18
13
This release includes the following bugfixes:
19
14
20
- o badsymbols.pl: add verbose mode -v [31]
21
- o badsymbols.pl: ignore stand-alone single hash lines [40]
22
- o BUG-BOUNTY: minor language updates [5]
23
- o build: fix djgpp builds [84]
24
- o cleanup: fix empty expression statement has no effect
25
- o cmake: Add an option to disable libidn2 [48]
26
- o cmake: enable gophers correctly in curl-config [10]
27
- o cmake: expose CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG [32]
28
- o cmdline-opts/gen.pl: return hard on errors [11]
29
- o cmdline-opts/retry.d: mention response code 429 as well [47]
30
- o configure: set -Wextra-semi-stmt for clang with --enable-debug [52]
31
- o connect: defer port selection until connect() time [22]
32
- o connect: mark intentional ignores of setsockopt return values [75]
33
- o connect: on linux, enable reporting of all ICMP errors on UDP sockets [27]
34
- o connect: zero variable on stack to silence valgrind complaint [23]
35
- o cookie: avoid the C1001 internal compiler error with MSVC 14 [36]
36
- o curl.1: fix typo microsft -> microsoft [56]
37
- o curl: fix handling of -q option [39]
38
- o curl: include the file name in --xattr/--remote-time error msgs
39
- o curl: move fprintf outputs to warnf [105]
40
- o Curl_chunker: shrink the struct [104]
41
- o curl_easy_pause.3: add multiplexed pause effects [41]
42
- o CURLINFO_PRETRANSFER_TIME.3: clarify [61]
43
- o CURLOPT_URL.3: remove scheme specific details [12]
44
- o digest_sspi: Show InitializeSecurityContext errors in verbose mode [8]
45
- o docs/examples: adjust prototypes for CURLOPT_READFUNCTION [51]
46
- o docs/URL-SYNTAX: the URL syntax curl accepts and works with [15]
47
- o docs: enable syntax highlighting in several docs files [16]
48
- o docs: fix line length bug in gen.pl [70]
49
- o docs: fix typos in NEW-PROTOCOL.md [102]
50
- o docs: fix wrong documentation in help.d [71]
51
- o docs: remove redundant "better" in --fail help [55]
52
- o doh: allocate state struct on demand [85]
53
- o examples/libtest: add .checksrc to dist [14]
54
- o examples: remove superfluous asterisk uses
55
- o failf: remove newline from formatting strings [35]
56
- o file: don't provide content-length for directories [49]
57
- o getinfo: build with disabled HTTP support
58
- o gitattributes: Set batch files to CRLF line endings on checkout [65]
59
- o h2: do not wait for RECV on paused transfers [43]
60
- o HISTORY: added dates to early history
61
- o http: empty reply connection are not left intact [80]
62
- o http: get CURLOPT_REQUEST_TARGET working with a HTTP proxy [83]
63
- o http: have CURLOPT_FAILONERROR fail after all headers [54]
64
- o http: make providing Proxy-Connection header not cause duplicated headers [92]
65
- o http: show the request as headers even when split-sending [7]
66
- o http_chunks: correct and clarify a comment on hexnumber length [88]
67
- o http_proxy: Fix CONNECT chunked encoding race condition [76]
68
- o httpauth: make multi-request auth work with custom port [45]
69
- o INSTALL: now at 85 operating systems
70
- o INSTALL: update the list known OSes and CPU archs curl has run on [38]
71
- o lib/unit tests: add missing curl_global_cleanup() calls
72
- o lib1564/5: verify that curl_multi_wakeup returns OK
73
- o lib: pass in 'struct Curl_easy *' to most functions [101]
74
- o lib: remove Curl_ prefix from many static functions [66]
75
- o lib: save a bit of space with some structure packing [82]
76
- o libssh2: fix "Value stored to 'readdir_len' is never read"
77
- o libssh2: move data from connection object to transfer object [114]
78
- o libssh: avoid plain free() of libssh-memory [99]
79
- o mime: make sure setting MIMEPOST to NULL resets properly [58]
80
- o misc: assorted typo fixes [57]
81
- o misc: fix "warning: empty expression statement has no effect" [30]
82
- o misc: fix typos [73]
83
- o mk-ca-bundle.pl: deterministic output when using -t [62]
84
- o mqtt: deal with 0 byte reads correctly [4]
85
- o mqtt: handle POST/PUBLISH without a set POSTFIELDSIZE [1]
86
- o multi: set the PRETRANSFER time-stamp when we switch to PERFORM [59]
87
- o multi: skip DONE state if there's no connection left for ftp wildcard
88
- o multi: when erroring in TOOFAST state, act as for PERFORM [9]
89
- o multi_runsingle: bail out early on data->conn == NULL [74]
90
- o ngtcp2: Fix http3 upload stall [106]
91
- o ngtcp2: Fix stack buffer overflow [107]
92
- o ngtcp2: make it build it current master again [21]
93
- o nss: get the run-time version instead of build-time [67]
94
- o openssl: lowercase the hostname before using it for SNI [46]
95
- o OS400: update ccsidcurl.c [20]
96
- o pretransfer: setup the User-Agent header here [60]
97
- o quiche: remove fprintf() leftover
98
- o Revert "CI/github: work-around for brew breakage on macOS" [17]
99
- o runtests: add 'wakeup' as a feature
100
- o runtests: add support for %if [feature] conditions [19]
101
- o runtests: preprocess DISABLED to allow conditionals [93]
102
- o schannel: plug a memory-leak [64]
103
- o schannel_verify: fix safefree call typo [50]
104
- o select: convert Curl_select() to private static function [103]
105
- o socks: use the download buffer instead [86]
106
- o speedcheck: exclude paused transfers [42]
107
- o strerror: skip errnum >= 0 assertion on windows [78]
108
- o test1522: add debug tracing [3]
109
- o test1633: set appropriate name
110
- o test179: use consistent header line endings
111
- o test410: verify HTTPS GET with a 49K request header
112
- o tests/mqttd: extract the client id from the correct offset [13]
113
- o tests: make --libcurl tests only test FTP options if ftp enabled [18]
114
- o tool_doswin: Restore original console settings on CTRL signal [68]
115
- o tool_operate: fix the suppression logic of some error messages [33]
116
- o tool_operate: spellfix a comment
117
- o tooĺ_writeout: fix the -w time output units [6]
118
- o transfer: fix GCC 10 warning with flag '-Wint-in-bool-context' [79]
119
- o travis: build ngtcp2 --with-gnutls [72]
120
- o travis: limit the tests with quiche builds to HTTPS and FTPS only [44]
121
- o travis: restrict the openssl3 job to only run https and ftps tests [34]
122
- o url: if IDNA conversion fails, fallback to Transitional [29]
123
- o urldata: make magic be the first struct field [87]
124
- o urldata: remove 'local_ip' from the connectdata struct [97]
125
- o urldata: remove duplicate 'upkeep_interval_ms' from connectdata [96]
126
- o urldata: remove duplicate port number storage [98]
127
- o urldata: remove the duplicate 'ip_addr_str' field [100]
128
- o urldata: store ip version in a single byte [95]
129
- o vtls: remove md5sum [69]
130
- o warnless: remove curlx_ultosi [108]
131
- o wolfssl: add SECURE_RENEGOTIATION support [63]
132
- o wolfssl: Support wolfSSL builds missing TLS 1.1 [37]
15
+ o configure: disable min version set for Darwin [19]
16
+ o configure: include <time.h> unconditionally [16]
17
+ o configure: remove use of RETSIGTYPE [17]
18
+ o docs/HTTP3.md: update the build instruction using gnutls [20]
19
+ o examples/hiperfifo.c: check event_initialized before delete [11]
20
+ o file: support GETing directories again [10]
21
+ o github/workflow: add "security-extended" to codeql-analysis.yml [14]
22
+ o h2: allow 100 streams by default [9]
23
+ o hostip: fix builds that disable all asynchronous DNS [1]
24
+ o http_proxy: only loop on 407 + close if we have credentials [8]
25
+ o install: add instructions for Apple Darwin platforms [18]
26
+ o lib: remove unused HAVE_INET_NTOA_R* defines [15]
27
+ o libssh: get rid of PATH_MAX [7]
28
+ o ngtcp2+gnutls: clear credentials when freed [5]
29
+ o ngtcp2: Use ALPN h3-29 for now [21]
30
+ o ntlm: fix negotiated flags usage [12]
31
+ o ntlm: support version 2 on 32-bit platforms [13]
32
+ o openssl: fix CURLOPT_SSLCERT_BLOB without CURLOPT_SSLCERT_KEY [2]
33
+ o TLS: fix HTTP/2 selection [3]
34
+ o tool_progress: fix progress meter final update in parallel mode [6]
35
+ o typecheck-gcc: make the ssl-ctx-cb check use SSL_CTX pointers [4]
133
36
134
37
This release includes the following known bugs:
135
38
@@ -138,125 +41,34 @@ This release includes the following known bugs:
138
41
This release would not have looked like this without help, code, reports and
139
42
advice from friends like these:
140
43
141
- 0xflotus on github, Alessandro Ghedini, Andrey Gursky, Bubu on github,
142
- Cherish98 on github, Christoph M. Becker, Cory Benfield, Cristian Rodríguez,
143
- Dan Fandrich, Daniel Stenberg, David Earl, Denis Laxalde, Dennis Clarke,
144
- Dmitry Wagin, Douglas R. Reno, Earnestly on github, Emil Engler, Erik Olsson,
145
- Fabian Keil, Flameborn on github, Ganesh Kamath, Gergely Nagy, Gisle Vanem,
146
- Hans-Christian Noren Egtvedt, Harry Sintonen, Himanshu Gupta, Hongyi Zhao,
147
- Ian Spence, Ikko Ashimine, Jacob Hoffman-Andrews, Jeremy Thibault,
148
- Jon Rumsey, Jon Wilkes, Julian Montes, Kevin Ushey, Marcel Raad,
149
- Matthias Gatto, Matt Holt, Michał Antoniak, Mike Gelfand, Mike Tzou,
150
- Nick Zitzmann, Olaf Hering, parazyd on github, Patrick Monnerat, Paul Groke,
151
- Ray Satiro, Razvan Cojocaru, Rich Turner, Sai Ram Kunala, Sean McArthur,
152
- Tatsuhiro Tsujikawa, Tomas Berger, UrsusArctos on github, Viktor Szakats,
153
- William A. Rowe Jr, XhmikosR on github, 不确定
154
- (58 contributors)
155
-
156
- Thanks! (and sorry if I forgot to mention someone)
44
+ Anthony Shaw, Benbuck Nason, Cesar Eduardo Barros, Cherish98 on github,
45
+ Christian Schmitz, Daniel Kurečka, Daniel Stenberg, David Hu, Emil Engler,
46
+ Gilles Vollant, Jochem Broekhoff, Jürgen Gmach, Kenneth Davidson,
47
+ locpyl-tidnyd on github, Luke Granger-Brown, Marcel Raad, Michael Forney,
48
+ Muhammed Yavuz Nuzumlalı, Patrick Monnerat, Ray Satiro, romamik om github,
49
+ Tatsuhiro Tsujikawa, Viktor Szakats,
50
+ (23 contributors)
157
51
158
52
References to bug reports and discussions on issues:
159
53
160
- [1] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28735
161
- [2] = https://curl.se/bug/?i=6208
162
- [3] = https://curl.se/bug/?i=6331
163
- [4] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28676
164
- [5] = https://curl.se/bug/?i=6318
165
- [6] = https://curl.se/bug/?i=6321
166
- [7] = https://curl.se/bug/?i=6328
167
- [8] = https://curl.se/bug/?i=6315
168
- [9] = https://curl.se/bug/?i=6333
169
- [10] = https://curl.se/bug/?i=6336
170
- [11] = https://curl.se/bug/?i=6354
171
- [12] = https://curl.se/bug/?i=6307
172
- [13] = https://curl.se/bug/?i=6334
173
- [14] = https://curl.se/bug/?i=6176
174
- [15] = https://curl.se/bug/?i=6285
175
- [16] = https://curl.se/bug/?i=6286
176
- [17] = https://curl.se/bug/?i=6332
177
- [18] = https://curl.se/bug/?i=6303
178
- [19] = https://curl.se/bug/?i=6304
179
- [20] = https://curl.se/bug/?i=6292
180
- [21] = https://curl.se/bug/?i=6296
181
- [22] = https://curl.se/bug/?i=6295
182
- [23] = https://curl.se/bug/?i=6289
183
- [24] = https://curl.se/bug/?i=6110
184
- [25] = https://curl.se/bug/?i=6199
185
- [26] = https://curl.se/bug/?i=5703
186
- [27] = https://curl.se/bug/?i=6341
187
- [28] = https://curl.se/bug/?i=6244
188
- [29] = https://curl.se/bug/?i=6423
189
- [30] = https://github.com/curl/curl/commit/08e8455dddc5e48e58a12ade3815c01ae3da3b64#commitcomment-45433279
190
- [31] = https://curl.se/bug/?i=6349
191
- [32] = https://curl.se/bug/?i=6435
192
- [33] = https://curl.se/mail/archive-2020-12/0017.html
193
- [34] = https://curl.se/bug/?i=6345
194
- [35] = https://curl.se/bug/?i=6365
195
- [36] = https://curl.se/bug/?i=6112
196
- [37] = https://curl.se/mail/lib-2020-12/0121.html
197
- [38] = https://curl.se/bug/?i=6366
198
- [39] = https://curl.se/bug/?i=6364
199
- [40] = https://curl.se/mail/lib-2020-12/0084.html
200
- [41] = https://curl.se/bug/?i=6360
201
- [42] = https://curl.se/bug/?i=6358
202
- [43] = https://curl.se/bug/?i=6356
203
- [44] = https://curl.se/bug/?i=6403
204
- [45] = https://curl.se/bug/?i=6397
205
- [46] = https://curl.se/bug/?i=6540
206
- [47] = https://curl.se/mail/archive-2020-12/0018.html
207
- [48] = https://curl.se/bug/?i=6361
208
- [49] = https://curl.se/bug/?i=6421
209
- [50] = https://curl.se/bug/?i=6459
210
- [51] = https://curl.se/bug/?i=6392
211
- [52] = https://curl.se/bug/?i=6378
212
- [53] = https://curl.se/bug/?i=6294
213
- [54] = https://curl.se/bug/?i=6408
214
- [55] = https://curl.se/bug/?i=6385
215
- [56] = https://curl.se/bug/?i=6380
216
- [57] = https://curl.se/bug/?i=6375
217
- [58] = https://curl.se/bug/?i=6455
218
- [59] = https://curl.se/bug/?i=6454
219
- [60] = https://curl.se/bug/?i=6312
220
- [61] = https://curl.se/bug/?i=6453
221
- [62] = https://curl.se/bug/?i=6413
222
- [63] = https://curl.se/bug/?i=6411
223
- [64] = https://curl.se/bug/?i=6457
224
- [65] = https://github.com/curl/curl/discussions/6427
225
- [66] = https://curl.se/bug/?i=6443
226
- [67] = https://curl.se/bug/?i=6445
227
- [68] = https://curl.se/bug/?i=6226
228
- [69] = https://curl.se/bug/?i=6557
229
- [70] = https://curl.se/bug/?i=6438
230
- [71] = https://curl.se/bug/?i=6436
231
- [72] = https://curl.se/bug/?i=6493
232
- [73] = https://curl.se/mail/lib-2021-01/0063.html
233
- [74] = https://curl.se/bug/?i=6433
234
- [75] = https://curl.se/bug/?i=6431
235
- [76] = https://curl.se/mail/lib-2021-01/0033.html
236
- [78] = https://curl.se/bug/?i=6504
237
- [79] = https://curl.se/bug/?i=6537
238
- [80] = https://twitter.com/mholt6/status/1352130240265375744
239
- [82] = https://curl.se/bug/?i=6483
240
- [83] = https://curl.se/bug/?i=6490
241
- [84] = https://curl.se/bug/?i=6382
242
- [85] = https://curl.se/bug/?i=6492
243
- [86] = https://curl.se/bug/?i=6491
244
- [87] = https://curl.se/bug/?i=6484
245
- [88] = https://curl.se/bug/?i=6489
246
- [92] = https://curl.se/mail/lib-2021-01/0095.html
247
- [93] = https://curl.se/bug/?i=6477
248
- [95] = https://curl.se/bug/?i=6534
249
- [96] = https://curl.se/bug/?i=6534
250
- [97] = https://curl.se/bug/?i=6534
251
- [98] = https://curl.se/bug/?i=6534
252
- [99] = https://curl.se/bug/?i=6481
253
- [100] = https://curl.se/bug/?i=6534
254
- [101] = https://curl.se/bug/?i=6425
255
- [102] = https://curl.se/bug/?i=6471
256
- [103] = https://curl.se/bug/?i=6531
257
- [104] = https://curl.se/bug/?i=6527
258
- [105] = https://curl.se/bug/?i=6533
259
- [106] = https://curl.se/bug/?i=6521
260
- [107] = https://curl.se/bug/?i=6521
261
- [108] = https://curl.se/bug/?i=6530
262
- [114] = https://curl.se/bug/?i=6519
54
+ [1] = https://curl.se/bug/?i=6831
55
+ [2] = https://curl.se/bug/?i=6816
56
+ [3] = https://curl.se/bug/?i=6825
57
+ [4] = https://curl.se/bug/?i=6818
58
+ [5] = https://curl.se/bug/?i=6824
59
+ [6] = https://curl.se/bug/?i=6840
60
+ [7] = https://curl.se/bug/?i=6829
61
+ [8] = https://curl.se/bug/?i=6828
62
+ [9] = https://curl.se/bug/?i=6852
63
+ [10] = https://curl.se/bug/?i=6845
64
+ [11] = https://curl.se/bug/?i=6876
65
+ [12] = https://curl.se/bug/?i=6813
66
+ [13] = https://curl.se/bug/?i=6849
67
+ [14] = https://curl.se/bug/?i=6815
68
+ [15] = https://curl.se/bug/?i=6867
69
+ [16] = https://curl.se/bug/?i=6859
70
+ [17] = https://curl.se/bug/?i=6861
71
+ [18] = https://curl.se/bug/?i=6860
72
+ [19] = https://curl.se/bug/?i=6838
73
+ [20] = https://curl.se/bug/?i=6857
74
+ [21] = https://curl.se/bug/?i=6864
0 commit comments