378 строки
17 KiB
Plaintext
378 строки
17 KiB
Plaintext
curl and libcurl 7.78.0
|
||
|
||
Public curl releases: 201
|
||
Command line options: 242
|
||
curl_easy_setopt() options: 290
|
||
Public functions in libcurl: 85
|
||
Contributors: 2454
|
||
|
||
This release includes the following changes:
|
||
|
||
o curl_url_set: reject spaces in URLs w/o CURLU_ALLOW_SPACE [118]
|
||
o CURLE_SETOPT_OPTION_SYNTAX: new error name for wrong setopt syntax [40]
|
||
o hostip: make 'localhost' return fixed values [16]
|
||
o mbedtls: add support for cert and key blob options [11]
|
||
o metalink: remove all support for it [54]
|
||
o mqtt: add support for username and password [91]
|
||
|
||
This release includes the following bugfixes:
|
||
|
||
o --socks4[a]: clarify where the host name is resolved [107]
|
||
o ares: always store IPv6 addresses first [20]
|
||
o asyn-ares: remove check for 'data' in Curl_resolver_cancel [89]
|
||
o bearssl: explicitly initialize all fields of Curl_ssl [1]
|
||
o bearssl: remove incorrect const on variable that is modified [1]
|
||
o build: fix compiler warnings when CURL_DISABLE_VERBOSE_STRINGS [155]
|
||
o c-hyper: abort CONNECT response reading early on non 2xx responses [75]
|
||
o c-hyper: add support for transfer-encoding in the request [121]
|
||
o c-hyper: bail on too long response headers [115]
|
||
o c-hyper: clear NTLM auth buffer when request is issued [23]
|
||
o c-hyper: convert HYPERE_INVALID_PEER_MESSAGE to CURLE_UNSUPPORTED_PROTOCOL [21]
|
||
o c-hyper: fix NTLM on closed connection tested with test159 [4]
|
||
o c-hyper: fix the uploaded field in progress callbacks [78]
|
||
o c-hyper: handle NULL from hyper_buf_copy() [19]
|
||
o c-hyper: support CURLINFO_STARTTRANSFER_TIME [29]
|
||
o c-hyper: support CURLOPT_HEADER [32]
|
||
o ccsidcurl: fix the compile errors [27]
|
||
o CI: add bearssl build [1]
|
||
o CI: add Circle CI [92]
|
||
o CI: add jobs using Zuul [86]
|
||
o CI: delete --enable-hsts option (it is the default now) [2]
|
||
o CI: remove travis details [144]
|
||
o cmake: add CURL_DISABLE_NTLM option [44]
|
||
o cmake: avoid leaking absolute paths into exported config [3]
|
||
o cmake: fix IoctlSocket FIONBIO check [156]
|
||
o cmake: fix support for UnixSockets feature on Win32 [104]
|
||
o cmake: remove libssh2 feature checks [122]
|
||
o cmake: try well-known send/recv signature for Apple [12]
|
||
o configure.ac: make non-executable [109]
|
||
o configure/cmake: remove checks for many unused functions [95]
|
||
o configure: add --disable-ntlm option [45]
|
||
o configure: disable RTSP when hyper is selected [68]
|
||
o configure: do not strip out debug flags [110]
|
||
o configure: fix nghttp2 library name for static builds [157]
|
||
o configure: inhibit the implicit-fallthrough warning on gcc-12 [106]
|
||
o configure: rename get-easy-option configure option to get-easy-options [81]
|
||
o conn_shutdown: if closed during CONNECT cleanup properly [59]
|
||
o conncache: lowercase the hash key for better match [5]
|
||
o cookies: track expiration in jar to optimize removals [25]
|
||
o copyright: add boiler-plate headers to CI config files [143]
|
||
o crustls: bump crustls version and use new URL [119]
|
||
o curl.h: <sys/select.h> is supported by VxWorks7 [102]
|
||
o curl.h: include sys/select.h for NuttX RTOS [100]
|
||
o curl: ignore blank --output-dir [57]
|
||
o curl_endian: remove the unused Curl_write64_le function [85]
|
||
o curl_multibyte: Remove local encoding fallbacks [58]
|
||
o Curl_ntlm_core_mk_nt_hash: fix OOM in error path [8]
|
||
o Curl_ssl_getsessionid: fail if no session cache exists [14]
|
||
o CURLOPT_WRITEFUNCTION.3: minor update of the example [80]
|
||
o docs/BINDINGS: fix outdated links [116]
|
||
o docs/examples: use curl_multi_poll() in multi examples [152]
|
||
o docs/INSTALL: remove mentions of configure --with-darwin-ssl [55]
|
||
o docs: document missing arguments to commands [160]
|
||
o docs: fix inconsistencies in EGDSOCKET documentation [159]
|
||
o docs: fix incorrect argument name reference [161]
|
||
o docs: Fix typos [146]
|
||
o docs: use --max-redirs instead of --max-redir [28]
|
||
o doh: (void)-prefix call to curl_easy_setopt
|
||
o doh: fix wrong DEBUGASSERT for doh private_data [62]
|
||
o examples/multi-single: fix scan-build warning [150]
|
||
o examples: length-limit two sscanf() uses of %s [96]
|
||
o examples: safer and more proper read callback logic [127]
|
||
o filecheck: quietly remove test-place/*~ [39]
|
||
o formdata: avoid "Argument cannot be negative" warning [131]
|
||
o formdata: correct typecast in curl_mime_data call [137]
|
||
o GHA: add a linux-hyper job [52]
|
||
o GHA: add several libcurl tests to the hyper job
|
||
o GHA: run the newly fixed tests with hyper [36]
|
||
o github: timeout jobs on macOS after 90 minutes [42]
|
||
o glob: pass an 'int' as len when using printf's %*s [139]
|
||
o gnutls: set the preferred TLS versions in correct order [94]
|
||
o GOVERNANCE: add 'user', 'committer' and 'contributor' [15]
|
||
o hostip: (macOS) free returned memory of SCDynamicStoreCopyProxies [105]
|
||
o hostip: bad CURLOPT_RESOLVE syntax now returns error [35]
|
||
o hsts: ignore numberical IP address hosts [17]
|
||
o HSTS: not experimental anymore
|
||
o http2: clarify 'Using HTTP2' verbose message [63]
|
||
o http2: init recvbuf struct for pushed streams [13]
|
||
o http2_connisdead: handle trailing GOAWAY better [18]
|
||
o http: fix crash in rate-limited upload [142]
|
||
o http: make the haproxy support work with unix domain sockets [99]
|
||
o http_proxy: deal with non-200 CONNECT response with Hyper [22]
|
||
o hyper: propagate errors back up from read callbacks [113]
|
||
o HYPER: remove mentions of deprecated development branch
|
||
o idn: fix libidn2 with windows unicode builds [117]
|
||
o infof: remove newline from format strings, always append it [149]
|
||
o lib: don't compare fd to FD_SETSIZE when using poll [61]
|
||
o lib: fix type of len passed to *printf's %*s [133]
|
||
o lib: more %u for port and int for %*s fixes [132]
|
||
o lib: use %u instead of %ld for port number printf [134]
|
||
o libcurl-security.3: mention file descriptors and forks [108]
|
||
o libssh2: limit time a disconnect can take to 1 second [111]
|
||
o mbedtls: make mbedtls_strerror always work [6]
|
||
o mqtt: detect illegal and too large file size [43]
|
||
o mqtt: extend the error message for no topic [136]
|
||
o msnprintf: return number of printed characters excluding null byte [148]
|
||
o multi: add scan-build-6 work-around in curl_multi_fdset [88]
|
||
o multi: alter transfer timeout ordering [97]
|
||
o multi: do not switch off connect_only flag when closing [98]
|
||
o multi: fix crash in curl_multi_wait / curl_multi_poll [153]
|
||
o netrc: skip 'macdef' definitions [87]
|
||
o ngtcp2: disable TLSv1.3 compatible mode when using GnuTLS [83]
|
||
o openssl: avoid static variable for seed flag [101]
|
||
o openssl: don't remove session id entry in disassociate [56]
|
||
o pinnedpubkey.d: fix formatting for version support lists [126]
|
||
o proto.d: fix formatting for paragraphs after margin changes [125]
|
||
o quiche: use send() instead of sendto() to avoid macOS issue [103]
|
||
o Revert "c-hyper: handle body on HYPER_TASK_EMPTY" [26]
|
||
o Revert "ftp: Expression 'ftpc->wait_data_conn' is always false" [147]
|
||
o runtests: also find the last test in Makefile.inc [66]
|
||
o runtests: enable 'hyper mode' only for HTTP tests [34]
|
||
o runtests: init $VERSION to avoid warnings when using -l
|
||
o runtests: parse data/Makefile.inc instead of using make [38]
|
||
o runtests: skip disabled tests unless -f is used [82]
|
||
o rustls: remove native_roots fallback [65]
|
||
o schannel: set ALPN length correctly for HTTP/2 [24]
|
||
o SChannel: Use '_tcsncmp()' instead [164]
|
||
o setopt: fix incorrect comments [10]
|
||
o socketpair: fix potential hangs [37]
|
||
o socks4: scan for the IPv4 address in resolve results [124]
|
||
o ssl: read pending close notify alert before closing the connection [9]
|
||
o sws: malloc request struct instead of using stack [60]
|
||
o test1116: hyper doesn't pass through "surprise-trailers" [123]
|
||
o test1147: hyper doesn't allow "crazy" request headers like built-in [114]
|
||
o test1151: added missing CRLF to work with hyper [120]
|
||
o test1216: adjusted for hyper mode [73]
|
||
o test1218: adjusted for hyper mode [72]
|
||
o test1230: adjust to work in hyper mode [74]
|
||
o test1340/1341: adjusted for hyper mode [71]
|
||
o test1438/1457: add HTTP keyword to make hyper mode work [70]
|
||
o test1514: add a CRLF to the response to make it correct [130]
|
||
o test1518: adjusted to work with hyper [129]
|
||
o test1519: adjusted to work with hyper [128]
|
||
o test1594/1595/1596: fix to work in hyper mode [69]
|
||
o test269: disable for hyper [33]
|
||
o test3010: work with hyper mode [67]
|
||
o test328: avoid a header-looking body to make hyper mode work [53]
|
||
o test339: CRLFify better to work in hyper mode [51]
|
||
o test347: CRLFify to work in hyper mode [50]
|
||
o test393: make Content-Length fit within 64 bit for hyper [49]
|
||
o test394: hyper returns a different error [48]
|
||
o test395: hyper cannot work around > 64 bit content-lengths like built-in [47]
|
||
o test433: adjust for hyper mode [46]
|
||
o test434: add HTTP keyword [76]
|
||
o test500: adjust to work with hyper mode
|
||
o test566: adjust to work with hyper mode [79]
|
||
o test599: adjusted to work in hyper mode [77]
|
||
o test644: remove as duplicate of test 587 [84]
|
||
o tests: fix Accept-Encoding strips to work with Hyper builds [41]
|
||
o TLS: prevent shutdown loops to get stuck [112]
|
||
o tool: make _lseeki64() macro work with the PellesC compiler [163]
|
||
o tool_help: document that --tlspassword takes a password [162]
|
||
o tool_help: remove unused define [154]
|
||
o url.c: remove two variable assigns that are never read [90]
|
||
o url: (void)-prefix a curl_url_get() call [138]
|
||
o url: bad CURLOPT_CONNECT_TO syntax now returns error [31]
|
||
o version: turn version number functions into returning void [135]
|
||
o vtls: exit addsessionid if no cache is inited [7]
|
||
o vtls: only store TIMER_APPCONNECT for non-proxy connect [93]
|
||
o vtls: use free() not curl_free() [140]
|
||
o warnless: simplify type size handling [30]
|
||
o Win32: fix build with Watt-32
|
||
o winbuild/README: VC should be set to 6 'or larger' [64]
|
||
o wolfssl: failing to set a session id is not reason to error out [151]
|
||
o write-out.d: clarify urlnum is not unique for de-globbed URLs [145]
|
||
o zuul: use the new rustls directory name [141]
|
||
|
||
This release includes the following known bugs:
|
||
|
||
o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
|
||
|
||
This release would not have looked like this without help, code, reports and
|
||
advice from friends like these:
|
||
|
||
Albin Vass, Aleksander Mazur, Alexis Vachette, Alex Xu, Andrea Pappacoda,
|
||
Andrei Rybak, Bachue Zhou, Bastian Krause, Bin Lan, Bin Meng,
|
||
Christian Weisgerber, Christoph M. Becker, civodul on github, Dan Fandrich,
|
||
Daniel Gustafsson, Daniel Stenberg, David Hu, dEajL3kA on github,
|
||
Dmitry Karpov, Dmitry Kostjuchenko, Douglas R. Reno, Ebe Janchivdorj,
|
||
Fawad Mirza, Francisco Munoz, Gabriel Simmer, Gealber Morales, Gergely Nagy,
|
||
Gerrit Renker, Gisle Vanem, Gregor Jasny, Gregory Muchka, Harry Sintonen,
|
||
Hugh Macdonald, Jacob Hoffman-Andrews, Jishan Shaikh, Joel Depooter,
|
||
Jonathan Wernberg, Jon Rumsey, Jun-ya Kato, Kevin Burke, Laurent Dufresne,
|
||
Li Xinwei, Marcel Raad, Marc Hörsken, Mark Swaanenburg, Martin Howarth,
|
||
Michael Forney, Michael Kaufmann, Mohammed Naser, nian6324 on github,
|
||
Nikos Mavrogiannopoulos, Paul Groke, Peter Körner, Phil E. Taylor, Randolf J,
|
||
Ray Satiro, Red Hat Product Security, Richard Marion, Richard Whitehouse,
|
||
Sergey Markelov, Shikha Sharma, shithappens2016 on github, sylgal on github,
|
||
Tommy Chiang, User Sg, Vadim Grinshpun, Valentín Gutiérrez, Viktor Szakats,
|
||
William Desportes, Wyatt OʼDay, Xiang Xiao, Yongkang Huang, Younes El-karama,
|
||
Zhang Xiuhua, Борис Верховский, Коваленко Анатолий Викторович,
|
||
(76 contributors)
|
||
|
||
References to bug reports and discussions on issues:
|
||
|
||
[1] = https://curl.se/bug/?i=7133
|
||
[2] = https://curl.se/bug/?i=7167
|
||
[3] = https://curl.se/bug/?i=7152
|
||
[4] = https://curl.se/bug/?i=7154
|
||
[5] = https://curl.se/bug/?i=7159
|
||
[6] = https://curl.se/bug/?i=7162
|
||
[7] = https://curl.se/bug/?i=7165
|
||
[8] = https://curl.se/bug/?i=7164
|
||
[9] = https://curl.se/bug/?i=7095
|
||
[10] = https://curl.se/bug/?i=7157
|
||
[11] = https://curl.se/bug/?i=7157
|
||
[12] = https://curl.se/bug/?i=7158
|
||
[13] = https://curl.se/bug/?i=7153
|
||
[14] = https://curl.se/bug/?i=7148
|
||
[15] = https://curl.se/bug/?i=7151
|
||
[16] = https://curl.se/bug/?i=7039
|
||
[17] = https://curl.se/bug/?i=7146
|
||
[18] = https://curl.se/mail/lib-2021-06/0001.html
|
||
[19] = https://curl.se/bug/?i=7143
|
||
[20] = https://curl.se/mail/lib-2021-06/0003.html
|
||
[21] = https://curl.se/bug/?i=7141
|
||
[22] = https://curl.se/bug/?i=7141
|
||
[23] = https://curl.se/bug/?i=7139
|
||
[24] = https://curl.se/bug/?i=7138
|
||
[25] = https://curl.se/bug/?i=7172
|
||
[26] = https://curl.se/bug/?i=7122
|
||
[27] = https://curl.se/bug/?i=7134
|
||
[28] = https://curl.se/bug/?i=7130
|
||
[29] = https://curl.se/bug/?i=7204
|
||
[30] = https://curl.se/bug/?i=7181
|
||
[31] = https://curl.se/bug/?i=7183
|
||
[32] = https://curl.se/bug/?i=7204
|
||
[33] = https://curl.se/bug/?i=7184
|
||
[34] = https://curl.se/bug/?i=7185
|
||
[35] = https://curl.se/bug/?i=7170
|
||
[36] = https://curl.se/bug/?i=7205
|
||
[37] = https://curl.se/bug/?i=7144
|
||
[38] = https://curl.se/bug/?i=7177
|
||
[39] = https://curl.se/bug/?i=7179
|
||
[40] = https://curl.se/bug/?i=7175
|
||
[41] = https://curl.se/bug/?i=7169
|
||
[42] = https://curl.se/bug/?i=7173
|
||
[43] = https://curl.se/bug/?i=7166
|
||
[44] = https://curl.se/bug/?i=7028
|
||
[45] = https://curl.se/bug/?i=7028
|
||
[46] = https://curl.se/bug/?i=7205
|
||
[47] = https://curl.se/bug/?i=7205
|
||
[48] = https://curl.se/bug/?i=7205
|
||
[49] = https://curl.se/bug/?i=7205
|
||
[50] = https://curl.se/bug/?i=7205
|
||
[51] = https://curl.se/bug/?i=7205
|
||
[52] = https://curl.se/bug/?i=7206
|
||
[53] = https://curl.se/bug/?i=7203
|
||
[54] = https://curl.se/bug/?i=7176
|
||
[55] = https://curl.se/mail/lib-2021-06/0008.html
|
||
[56] = https://curl.se/bug/?i=7222
|
||
[57] = https://curl.se/bug/?i=7218
|
||
[58] = https://curl.se/bug/?i=7257
|
||
[59] = https://curl.se/bug/?i=7236
|
||
[60] = https://curl.se/mail/lib-2021-06/0018.html
|
||
[61] = https://curl.se/bug/?i=7240
|
||
[62] = https://curl.se/bug/?i=7227
|
||
[63] = https://github.com/curl/curl/discussions/7255
|
||
[64] = https://curl.se/bug/?i=7253
|
||
[65] = https://curl.se/bug/?i=7250
|
||
[66] = https://curl.se/bug/?i=7209
|
||
[67] = https://curl.se/bug/?i=7209
|
||
[68] = https://curl.se/bug/?i=7209
|
||
[69] = https://curl.se/bug/?i=7209
|
||
[70] = https://curl.se/bug/?i=7209
|
||
[71] = https://curl.se/bug/?i=7209
|
||
[72] = https://curl.se/bug/?i=7209
|
||
[73] = https://curl.se/bug/?i=7209
|
||
[74] = https://curl.se/bug/?i=7209
|
||
[75] = https://curl.se/bug/?i=493
|
||
[76] = https://curl.se/bug/?i=7209
|
||
[77] = https://curl.se/bug/?i=7209
|
||
[78] = https://curl.se/bug/?i=7209
|
||
[79] = https://curl.se/bug/?i=7209
|
||
[80] = https://curl.se/bug/?i=7219
|
||
[81] = https://curl.se/bug/?i=7211
|
||
[82] = https://curl.se/bug/?i=7212
|
||
[83] = https://curl.se/bug/?i=6896
|
||
[84] = https://curl.se/bug/?i=7208
|
||
[85] = https://curl.se/bug/?i=7280
|
||
[86] = https://curl.se/bug/?i=7245
|
||
[87] = https://curl.se/bug/?i=7238
|
||
[88] = https://curl.se/bug/?i=7248
|
||
[89] = https://curl.se/bug/?i=7248
|
||
[90] = https://curl.se/bug/?i=7248
|
||
[91] = https://curl.se/bug/?i=7243
|
||
[92] = https://curl.se/bug/?i=7239
|
||
[93] = https://curl.se/bug/?i=7274
|
||
[94] = https://curl.se/bug/?i=7277
|
||
[95] = https://curl.se/bug/?i=7276
|
||
[96] = https://curl.se/bug/?i=7293
|
||
[97] = https://curl.se/bug/?i=7178
|
||
[98] = https://curl.se/mail/lib-2021-06/0024.html
|
||
[99] = https://curl.se/bug/?i=7290
|
||
[100] = https://curl.se/bug/?i=7287
|
||
[101] = https://curl.se/bug/?i=7296
|
||
[102] = https://curl.se/bug/?i=7285
|
||
[103] = https://curl.se/bug/?i=7260
|
||
[104] = https://curl.se/bug/?i=7034
|
||
[105] = https://curl.se/bug/?i=7265
|
||
[106] = https://curl.se/bug/?i=7295
|
||
[107] = https://curl.se/bug/?i=7273
|
||
[108] = https://curl.se/bug/?i=7270
|
||
[109] = https://curl.se/bug/?i=7272
|
||
[110] = https://curl.se/bug/?i=7216
|
||
[111] = https://curl.se/bug/?i=7271
|
||
[112] = https://curl.se/bug/?i=7271
|
||
[113] = https://curl.se/bug/?i=7266
|
||
[114] = https://curl.se/bug/?i=7349
|
||
[115] = https://curl.se/bug/?i=7350
|
||
[116] = https://curl.se/bug/?i=7301
|
||
[117] = https://curl.se/bug/?i=7228
|
||
[118] = https://curl.se/bug/?i=7073
|
||
[119] = https://curl.se/bug/?i=7297
|
||
[120] = https://curl.se/bug/?i=7350
|
||
[121] = https://curl.se/bug/?i=7348
|
||
[122] = https://curl.se/bug/?i=7343
|
||
[123] = https://curl.se/bug/?i=7344
|
||
[124] = https://curl.se/bug/?i=7345
|
||
[125] = https://curl.se/bug/?i=7341
|
||
[126] = https://curl.se/bug/?i=7340
|
||
[127] = https://curl.se/bug/?i=7330
|
||
[128] = https://curl.se/bug/?i=7333
|
||
[129] = https://curl.se/bug/?i=7333
|
||
[130] = https://curl.se/bug/?i=7334
|
||
[131] = https://curl.se/bug/?i=7328
|
||
[132] = https://curl.se/bug/?i=7329
|
||
[133] = https://curl.se/bug/?i=7326
|
||
[134] = https://curl.se/bug/?i=7325
|
||
[135] = https://curl.se/bug/?i=7319
|
||
[136] = https://curl.se/bug/?i=7316
|
||
[137] = https://curl.se/bug/?i=7327
|
||
[138] = https://curl.se/bug/?i=7320
|
||
[139] = https://curl.se/bug/?i=7324
|
||
[140] = https://curl.se/bug/?i=7318
|
||
[141] = https://curl.se/bug/?i=7311
|
||
[142] = https://curl.se/bug/?i=7308
|
||
[143] = https://curl.se/bug/?i=7314
|
||
[144] = https://curl.se/bug/?i=7313
|
||
[145] = https://curl.se/bug/?i=7342
|
||
[146] = https://curl.se/bug/?i=7370
|
||
[147] = https://curl.se/mail/lib-2021-07/0025.html
|
||
[148] = https://curl.se/bug/?i=7361
|
||
[149] = https://curl.se/bug/?i=7357
|
||
[150] = https://curl.se/bug/?i=7360
|
||
[151] = https://curl.se/bug/?i=7358
|
||
[152] = https://curl.se/bug/?i=7352
|
||
[153] = https://curl.se/bug/?i=7379
|
||
[154] = https://curl.se/bug/?i=7380
|
||
[155] = https://curl.se/bug/?i=7377
|
||
[156] = https://curl.se/bug/?i=7375
|
||
[157] = https://curl.se/bug/?i=7367
|
||
[159] = https://curl.se/bug/?i=7391
|
||
[160] = https://curl.se/bug/?i=7382
|
||
[161] = https://curl.se/bug/?i=7383
|
||
[162] = https://curl.se/bug/?i=7378
|
||
[163] = https://curl.se/bug/?i=7397
|
||
[164] = https://curl.se/bug/?i=7398
|