curl/RELEASE-NOTES
2023-01-13 16:25:02 +01:00

218 lines
9.2 KiB
Plaintext

curl and libcurl 7.87.1
Public curl releases: 213
Command line options: 250
curl_easy_setopt() options: 302
Public functions in libcurl: 91
Contributors: 2792
This release includes the following changes:
o curl.h: add CURL_HTTP_VERSION_3ONLY [82]
o share: add sharing of HSTS cache among handles [7]
o src: add --http3-only [81]
o tool_operate: share HSTS between handles
o urlapi: add CURLU_PUNYCODE [25]
This release includes the following bugfixes:
o cf-socket: keep sockaddr local in the socket filters [69]
o cfilters:Curl_conn_get_select_socks: use the first non-connected filter [24]
o cmake: bump requirement to 3.7 [23]
o cmake: check for sendmsg [39]
o cmake: fix the snprintf detection [5]
o cmake: set SOVERSION also for macOS [68]
o connect: fix access of pointer before NULL check [83]
o copyright: update all copyright lines and remove year ranges [35]
o curl.h: allow up to 10M buffer size [76]
o curl.h: mark CURLSSLBACKEND_MESALINK as deprecated [52]
o curl: output warning at --verbose output for debug-enabled version [80]
o curl_global_sslset.3: clarify the openssl situation [53]
o curl_log: for failf/infof and debug logging implementations [87]
o CURLOPT_HEADERDATA.3: warn DLL users must set write function [45]
o docs/DEPRECATE.md: deprecate gskit [36]
o docs: add link to GitHub Discussions [49]
o docs: mention indirect effects of --insecure [19]
o easyoptions: Fix header printing in generation script [84]
o examples: remove the curlgtk.c example [48]
o ftpserver: lower the normal DATA connect timeout to speed up torture tests [27]
o GHA: add job on Slackware 15.0 [58]
o GHA: move the quiche job here from zuul [75]
o GHA: use designated ngtcp2 and its dependencies versions [77]
o haxproxy: send before TLS handhshake [34]
o hsts.d: explain hsts more [78]
o hsts: handle adding the same host name again
o http2: fix compiler warning due to uninitialized variable
o http2: when using printf %.*s, the length arg must be 'int' [41]
o HTTP3: mention what needs to be in place to remove EXPERIMENTAL label [31]
o http: add additional condition for including stdint.h [54]
o http: decode transfer encoding first [51]
o http: remove the trace message "Mark bundle... multiuse" [6]
o http_proxy: do not assign data->req.p.http use local copy [59]
o lib670: make test.h the first include [56]
o lib: connect/h2/h3 refactor [57]
o lib: fix typos in comments which repeat a word [67]
o libssh2: try sha2 algos for hostkey methods [2]
o Linux CI: update some dependecies to latest tag [44]
o Makefile.mk: fix wolfssl and mbedtls default paths [21]
o md4: fix build with GnuTLS + OpenSSL v1 [12]
o misc: fix grammar and spelling [14]
o misc: reduce struct and struct field sizes [65]
o msh3: add support for request payload [28]
o msh3: update to v0.5 Release [17]
o msh3: update to v0.6 [60]
o multihandle: turn bool struct fields into bits [26]
o ngtcp2: add CURLOPT_SSL_CTX_FUNCTION support for openssl+wolfssl [62]
o ngtcp2: fix the build without 'sendmsg' [38]
o noproxy: support for space-separated names is deprecated [66]
o nss: implement data_pending method [43]
o openssl: make the BIO_METHOD a local variable in the connection filter [79]
o openssl: remove attached easy handles from SSL instances [29]
o os400: fixes to make-lib.sh and initscript.sh [71]
o release-notes.pl: check fixes/closes lines better
o Revert "x509asn1: avoid freeing unallocated pointers" [37]
o runtest.pl: add expected fourth return value [40]
o runtests: also tear down http2/http3 servers when https server is stopped [8]
o runtests: consider warnings fatal and error on them [32]
o runtests: fix detection of TLS backends [50]
o runtests: make 'mbedtls' a testable feature
o scripts: set file mode +x on all perl and shell scripts [63]
o sectransp: fix for incomplete read/writes [61]
o SECURITY-PROCESS.md: document severity levels [20]
o setopt: move the SHA256 opt within #ifdef libssh2 [42]
o socketpair: allow localhost MITM sniffers [30]
o strdup: name it Curl_strdup [16]
o test1560: use a UTF8-using locale when run [46]
o tests-httpd: basic infra to run curl against an apache httpd [72]
o tests: add 3 new HTTP/2 test cases, plus https: support for nghttpx [9]
o tests: avoid use of sha1 in certificates [4]
o tool_getparam: fix hiding of command line secrets [85]
o tool_operate: fix `CURLOPT_SOCKS5_GSSAPI_NEC` type [1]
o tool_operate: fix headerfile writing [64]
o transfer: break the read loop when RECV is cleared [22]
o typecheck: accept expressions for option/info parameters [3]
o urldata: cease storing TLS auth type [55]
o urldata: make 'ftp_create_missing_dirs' depend on FTP || SFTP [13]
o urldata: make set.http200aliases conditional on HTTP being present [11]
o urldata: move the cookefilelist to the 'set' struct [15]
o urldata: remove unused struct fields, made more conditional [10]
o vtls: use ALPN HTTP/1.0 when HTTP/1.0 is used
o workflows/linux.yml: merge 3 common packages [18]
o writeout: add %{certs} and %{num_certs} [33]
o ws: fix autoping handling [70]
o x509asn1: fix compile errors and warnings [47]
This release includes the following known bugs:
o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
Planned upcoming removals include:
o gskit
o NSS
o Support for systems without 64 bit data types
See https://curl.se/dev/deprecate.html for details
This release would not have looked like this without help, code, reports and
advice from friends like these:
Alexey Savchuk, Andrei Rybak, Andy Alt, Cameron Blomquist, Daniel Gustafsson,
Daniel Stenberg, Divy Le Ray, Esdras de Morais da Silva, Hannah Schierling,
Harry Sintonen, Hide Ishikawa, Jakob Hirsch, John Bampton, Jon Rumsey,
Josh Brobst, Marcel Raad, Martin Waleczek, Michael Osipov, Nick Banks,
nick-telia on github, norbertmm on github, odek86 on github,
Patrick Monnerat, Paul Howarth, Philip Heiduck, Radek Brich, Radu Hociung,
Ray Satiro, Ryan Schmidt, Sébastien Helleu, Sergio-IME on github,
SerusDev on github, Stefan Eissing, Stephan Guilloux, Tatsuhiro Tsujikawa,
Thomas Klausner, Timmy Schierling, Viktor Szakats, violetlige on github,
William Tang, Yurii Rashkovskii
(41 contributors)
References to bug reports and discussions on issues:
[1] = https://curl.se/bug/?i=10124
[2] = https://curl.se/bug/?i=10143
[3] = https://curl.se/bug/?i=10148
[4] = https://curl.se/bug/?i=10135
[5] = https://curl.se/bug/?i=10155
[6] = https://curl.se/bug/?i=10159
[7] = https://curl.se/bug/?i=10138
[8] = https://curl.se/bug/?i=10114
[9] = https://curl.se/bug/?i=10114
[10] = https://curl.se/bug/?i=10147
[11] = https://curl.se/bug/?i=10140
[12] = https://curl.se/bug/?i=10110
[13] = https://curl.se/bug/?i=10139
[14] = https://curl.se/bug/?i=10137
[15] = https://curl.se/bug/?i=10133
[16] = https://curl.se/bug/?i=10132
[17] = https://curl.se/bug/?i=10125
[18] = https://curl.se/bug/?i=10071
[19] = https://curl.se/bug/?i=10126
[20] = https://curl.se/bug/?i=10118
[21] = https://curl.se/bug/?i=10164
[22] = https://curl.se/bug/?i=10172
[23] = https://curl.se/bug/?i=10128
[24] = https://curl.se/bug/?i=10157
[25] = https://curl.se/bug/?i=10109
[26] = https://curl.se/bug/?i=10179
[27] = https://curl.se/bug/?i=10178
[28] = https://curl.se/bug/?i=10136
[29] = https://curl.se/bug/?i=10151
[30] = https://curl.se/bug/?i=10144
[31] = https://curl.se/bug/?i=10168
[32] = https://curl.se/bug/?i=10208
[33] = https://curl.se/bug/?i=10019
[34] = https://curl.se/bug/?i=10165
[35] = https://curl.se/bug/?i=10205
[36] = https://curl.se/bug/?i=10201
[37] = https://curl.se/bug/?i=10163
[38] = https://curl.se/bug/?i=10210
[39] = https://curl.se/bug/?i=10211
[40] = https://curl.se/bug/?i=10206
[41] = https://curl.se/bug/?i=10203
[42] = https://curl.se/bug/?i=10255
[43] = https://curl.se/bug/?i=10225
[44] = https://curl.se/bug/?i=10195
[45] = https://curl.se/bug/?i=10233
[46] = https://curl.se/bug/?i=10193
[47] = https://curl.se/bug/?i=10238
[48] = https://curl.se/bug/?i=10197
[49] = https://curl.se/bug/?i=10171
[50] = https://curl.se/bug/?i=10236
[51] = https://curl.se/bug/?i=10187
[52] = https://curl.se/bug/?i=10189
[53] = https://curl.se/bug/?i=10188
[54] = https://curl.se/bug/?i=10185
[55] = https://curl.se/bug/?i=10181
[56] = https://curl.se/bug/?i=10182
[57] = https://curl.se/bug/?i=10141
[58] = https://curl.se/bug/?i=10230
[59] = https://curl.se/bug/?i=10194
[60] = https://curl.se/bug/?i=10192
[61] = https://curl.se/bug/?i=10227
[62] = https://curl.se/bug/?i=10222
[63] = https://curl.se/bug/?i=10219
[64] = https://curl.se/bug/?i=10224
[65] = https://curl.se/bug/?i=10186
[66] = https://curl.se/bug/?i=10209
[67] = https://curl.se/bug/?i=10220
[68] = https://curl.se/bug/?i=10214
[69] = https://curl.se/bug/?i=10213
[70] = https://curl.se/bug/?i=10289
[71] = https://curl.se/bug/?i=10266
[72] = https://curl.se/bug/?i=10175
[75] = https://curl.se/bug/?i=10241
[76] = https://curl.se/bug/?i=10256
[77] = https://curl.se/bug/?i=10257
[78] = https://curl.se/bug/?i=10258
[79] = https://curl.se/bug/?i=10285
[80] = https://curl.se/bug/?i=10278
[81] = https://curl.se/bug/?i=10264
[82] = https://curl.se/bug/?i=10264
[83] = https://curl.se/bug/?i=10284
[84] = https://curl.se/bug/?i=10275
[85] = https://curl.se/bug/?i=10276
[87] = https://curl.se/bug/?i=10271