blob: dce92bd02b31aa3d08c6971aa6d977c2fca6a8f3 [file] [log] [blame]
curl and libcurl 7.83.0
Public curl releases: 207
Command line options: 247
curl_easy_setopt() options: 295
Public functions in libcurl: 88
Contributors: 2612
This release includes the following changes:
o curl: add %header{name} experimental support in -w handling
o curl: add %{header_json} experimental support in -w handling
o curl: add --no-clobber [28]
o curl: add --remove-on-error [11]
o header api: add curl_easy_header and curl_easy_nextheader [56]
This release includes the following bugfixes:
o BearSSL: add CURLOPT_SSL_CIPHER_LIST support [27]
o BearSSL: add CURLOPT_SSL_CTX_FUNCTION support [26]
o BINDINGS.md: add Hollywood binding [34]
o CI: Do not use buildconf. Instead, just use: autoreconf -fi [42]
o CI: install Python package impacket to run SMB test 1451 [5]
o configure.ac: move -pthread CFLAGS setting back where it used to be [14]
o configure: bump the copyright year range int the generated output
o connect: make Curl_getconnectinfo work with conn cache from share handle [22]
o connect: use TCP_KEEPALIVE only if TCP_KEEPIDLE is not defined [6]
o curl/system.h: update ifdef condition for MCST-LCC compiler [4]
o curl: error out when options need features not present in libcurl [18]
o curl: fix segmentation fault for empty output file names. [60]
o CURLOPT_DISALLOW_USERNAME_IN_URL.3: use uppercase URL
o CURLOPT_PREQUOTE.3: only works for FTP file transfers, not dirs [79]
o CURLOPT_PROGRESSFUNCTION.3: fix typo in example [63]
o CURLSHOPT_UNLOCKFUNC.3: fix the callback prototype [9]
o docs/HYPER.md: updated to reflect current hyper build needs
o docs/opts: Mention Schannel client cert type is P12 [50]
o docs: lots of minor language polish [51]
o firefox-db2pem.sh: make the shell script safer [47]
o ftp: fix error message for partial file upload [61]
o GHA: build hyper with nightly rustc [7]
o gha: move the event-based test over from Zuul [59]
o gtls: fix build for disabled TLS-SRP [48]
o http2: handle DONE called for the paused stream [69]
o http2: RST the stream if we stop it on our own will [67]
o http: close the stream (not connection) on time condition abort [68]
o http: reject header contents with nul bytes [41]
o http: return error on colon-less HTTP headers [31]
o http: streamclose "already downloaded" [57]
o hyper: fix status_line() return code [13]
o hyper: no h2c support [33]
o ipv4/6.d: clarify that they are about using IP addresses [3]
o json.d: fix typo (overriden -> overridden) [24]
o keepalive-time.d: It takes many probes to detect brokenness [29]
o lib/warnless.[ch]: only check for WIN32 and ignore _WIN32 [45]
o lib670: avoid double check result [71]
o lib: #ifdef on USE_HTTP2 better [65]
o lib: fix some misuse of curlx_convert_wchar_to_UTF8 [38]
o libssh: fix build with old libssh versions [12]
o libssh: Improve fix for missing SSH_S_ stat macros [10]
o libssh: unstick SFTP transfers when done event-based [58]
o mbedtls: remove 'protocols' array from backend when ALPN is not used [66]
o mk-ca-bundle.pl: Use stricter logic to process the certificates [39]
o mk-ca-bundle.vbs: delete this script in favor of mk-ca-bundle.pl [8]
o mlc_config.json: add file to ignore known troublesome URLs [35]
o mqtt: better handling of TCP disconnect mid-message [55]
o ngtcp2: add client certificate authentication for OpenSSL [15]
o ngtcp2: disconnect the QUIC connection proper [19]
o ngtcp2: update to work after recent ngtcp2 updates [62]
o nonblock: restore setsockopt method to curlx_nonblock [20]
o openssl: check SSL_get_peer_cert_chain return value [1]
o openssl: enable CURLOPT_SSL_EC_CURVES with BoringSSL [23]
o openssl: fix CN check error code [21]
o options: remove mistaken space before paren in prototype
o pop3/smtp: return *WEIRD_SERVER_REPLY when not understood [43]
o projects/README: converted to markdown [76]
o projects: Update VC version names for VS2017, VS2022 [52]
o rtsp: don't let CSeq error override earlier errors [37]
o runtests: make 'oldlibssh' be before 0.9.4 [2]
o scripts/copyright.pl: ignore the new mlc_config.json file
o scripts: move three scripts from lib/ to scripts/ [44]
o test1135: sync with recent API updates [54]
o test1459: disable for oldlibssh [53]
o test375: fix line endings on Windows [40]
o test386: Fix an incorrect test markup tag
o test718: edited slightly to return better HTTP [32]
o tests/server/util.h: align WIN32 condition with util.c [46]
o tls: make mbedtls and NSS check for h2, not nghttp2 [70]
o tool and tests: force flush of all buffers at end of program [17]
o tool_cb_hdr: Turn the Location: into a terminal hyperlink [30]
o tool_operate: fix a scan-build warning [16]
o vtls: provide a unified APLN-disagree string for all backends [75]
o vtls: use a backend standard message for "ALPN: offers %s" [73]
o vtls: use a generic "ALPN, server accepted" message [72]
o winbuild/README.md: fixup dead link [36]
o winbuild: Add a Visual Studio example to the README [49]
o wolfssl: fix compiler error without IPv6 [25]
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:
Alejandro R. Sedeño, Andreas Falkenhahn, anon00000000 on github,
Christian Schmitz, Colin Leroy, Dan Fandrich, Daniel Stenberg,
Daniel Valenzuela, Don J Olmstead, Evangelos Foutras, Francisco Olarte,
Frank Meier, Gisle Vanem, Ian Blanes, Jan Venekamp, Jean-Philippe Menil,
Jenny Heino, Joseph Chen, jurisuk on github, Kristoffer Gleditsch,
Leandro Coutinho, Marcel Raad, Marc Hörsken, mehatzri on github,
Michał Antoniak, Nick Coghlan, Paul Howarth, Paweł Kowalski, Peter Korsgaard,
pheiduck on github, r-a-sattarov on github, Ray Satiro, Rianov Viacheslav,
Robert Brose, Samuel Henrique, Taras Kushnir, Tatsuhiro Tsujikawa,
Timothe Litt, Viktor Szakats, HexTheDragon
(40 contributors)
References to bug reports and discussions on issues:
[1] = https://curl.se/bug/?i=8579
[2] = https://curl.se/bug/?i=8548
[3] = https://curl.se/bug/?i=8543
[4] = https://curl.se/bug/?i=8546
[5] = https://curl.se/bug/?i=8544
[6] = https://curl.se/bug/?i=8539
[7] = https://curl.se/bug/?i=8545
[8] = https://curl.se/bug/?i=8412
[9] = https://curl.se/bug/?i=8573
[10] = https://curl.se/bug/?i=8588
[11] = https://curl.se/bug/?i=8503
[12] = https://curl.se/bug/?i=8574
[13] = https://curl.se/bug/?i=8572
[14] = https://curl.se/bug/?i=8541
[15] = https://curl.se/bug/?i=8522
[16] = https://curl.se/bug/?i=8565
[17] = https://curl.se/bug/?i=8516
[18] = https://curl.se/bug/?i=8565
[19] = https://curl.se/bug/?i=8534
[20] = https://curl.se/bug/?i=8562
[21] = https://curl.se/bug/?i=8559
[22] = https://curl.se/bug/?i=8524
[23] = https://curl.se/bug/?i=8553
[24] = https://curl.se/bug/?i=8557
[25] = https://curl.se/bug/?i=8550
[26] = https://curl.se/bug/?i=8478
[27] = https://curl.se/bug/?i=8477
[28] = https://curl.se/bug/?i=7708
[29] = https://curl.se/bug/?i=8570
[30] = https://curl.se/bug/?i=7963
[31] = https://curl.se/bug/?i=8610
[32] = https://github.com/hyperium/hyper/issues/2783
[33] = https://curl.se/bug/?i=8605
[34] = https://curl.se/bug/?i=8609
[35] = https://curl.se/bug/?i=8597
[36] = https://curl.se/bug/?i=8597
[37] = https://curl.se/bug/?i=8525
[38] = https://curl.se/bug/?i=8521
[39] = https://curl.se/bug/?i=8411
[40] = https://curl.se/bug/?i=8599
[41] = https://curl.se/bug/?i=8601
[42] = https://curl.se/bug/?i=8596
[43] = https://curl.se/bug/?i=8506
[44] = https://curl.se/bug/?i=8625
[45] = https://curl.se/bug/?i=8594
[46] = https://curl.se/bug/?i=8594
[47] = https://curl.se/bug/?i=8616
[48] = https://curl.se/mail/lib-2022-03/0046.html
[49] = https://curl.se/bug/?i=8592
[50] = https://curl.se/bug/?i=8587
[51] = https://curl.se/bug/?i=8646
[52] = https://curl.se/bug/?i=8447
[53] = https://curl.se/bug/?i=8622
[54] = https://curl.se/bug/?i=8620
[55] = https://hackerone.com/reports/1521610
[56] = https://curl.se/bug/?i=8593
[57] = https://curl.se/bug/?i=8665
[58] = https://curl.se/bug/?i=8490
[59] = https://curl.se/bug/?i=8490
[60] = https://curl.se/bug/?i=8606
[61] = https://curl.se/bug/?i=8637
[62] = https://curl.se/bug/?i=8638
[63] = https://curl.se/bug/?i=8636
[65] = https://curl.se/bug/?i=8661
[66] = https://curl.se/bug/?i=8663
[67] = https://curl.se/bug/?i=8664
[68] = https://curl.se/bug/?i=8664
[69] = https://curl.se/bug/?i=8626
[70] = https://curl.se/bug/?i=8656
[71] = https://curl.se/bug/?i=8660
[72] = https://curl.se/bug/?i=8657
[73] = https://curl.se/bug/?i=8657
[75] = https://curl.se/bug/?i=8643
[76] = https://curl.se/bug/?i=8652
[79] = https://curl.se/bug/?i=8602