curl/RELEASE-NOTES
2023-07-09 18:45:34 +02:00

238 lines
10 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

curl and libcurl 8.2.0
Public curl releases: 220
Command line options: 255
curl_easy_setopt() options: 303
Public functions in libcurl: 91
Contributors: 2912
This release includes the following changes:
o curl: add --ca-native and --proxy-ca-native [24]
o curl: add --trace-ids [53]
o CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS [5]
o haproxy: add --haproxy-clientip flag to set client IPs [23]
o lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID [54]
This release includes the following bugfixes:
o bufq: make write/pass methods more robust [21]
o build: drop unused/redundant `HAVE_WINLDAP_H` [25]
o cf-socket: move ctx declaration under HAVE_GETPEERNAME [91]
o cf-socket: skip getpeername()/getsockname for TFTP [65]
o checksrc: modernise perl file open [87]
o CI: don't install impacket if tests are not run
o CI: enable parallel make in more builds
o circleci: install impacket & wolfssl 5.6.0 [1]
o cmake: add support for "unity" builds [13]
o cmake: stop CMake from quietly ignoring missing Brotli [81]
o configure: add check for ldap_init_fd [80]
o configure: fix run-compiler for old /bin/sh [4]
o configure: the --without forms of the options are also gone [79]
o connect-timeout.d: mention that the DNS lookup is included [85]
o curl.h: include <sys/select.h> for vxworks [78]
o curl: count uploaded data to stop at the originally given size [14]
o curl_easy_nextheader.3: add missing open parenthesis examples [74]
o curl_log: evaluate log statement only when transfer is verbose [8]
o curl_mprintf.3: minor fix of the example
o curl_pushheader_byname/bynum.3: document in their own man pages [37]
o curl_url_set: enforce the max string length check for all parts [38]
o CURLOPT_AWS_SIGV4.3: remove unused variable from example [11]
o CURLOPT_INFILESIZE.3: mention -1 triggers chunked [55]
o CURLOPT_SSH_PRIVATE_KEYFILE.3: expand on the file search [31]
o docs/libcurl/libcurl.3: cleanups and improvements [46]
o docs: add more .IP after .RE to fix indentation of generate paragraphs [82]
o docs: fix missing parameter names in examples [41]
o docs: update CURLOPT_UPLOAD.3 [63]
o docs: update HTTP3.md for newer ngtcp2 and nghttp3 [28]
o example/connect-to: show CURLOPT_CONNECT_TO [47]
o example/crawler: also set CURLOPT_AUTOREFERER [35]
o example/crawler: make it use a few more options
o example/default-scheme: set the default scheme for schemeless URLs [67]
o example/hsts-preload: show one way to HSTS preload [68]
o example/http2-download: set CURLOPT_BUFFERSIZE [34]
o example/ipv6: feature CURLOPT_ADDRESS_SCOPE in use [27]
o example/opensslthreadlock: remove [59]
o examples/ftpuploadresume.c: add use of CURLOPT_ACCEPTTIMEOUT_MS [39]
o examples/http-options: show how to send "OPTIONS *" [69]
o examples/https.c: use CURLOPT_CA_CACHE_TIMEOUT [19]
o examples/multi-debugcallback.c: avoid the bool typedef [29]
o examples/smtp-mime: use CURLOPT_MAIL_RCPT_ALLOWFAILS [71]
o examples/unixsocket.c: example using CURLOPT_UNIX_SOCKET_PATH [40]
o examples/websocket.c: websocket example using CONNECT_ONLY [17]
o examples: make use of CURLOPT_(REDIR_|)PROTOCOLS_STR [70]
o fopen: fix conversion warning on 32-bit Android [49]
o HTTP/2: upload handling fixes [56]
o http2: better support for --limit-rate [7]
o http2: error stream resets with code CURLE_HTTP2_STREAM [84]
o http2: fix crash in handling stream weights [76]
o http2: fix variable type [50]
o http2: h2 and h2-PROXY connection alive check fixes [83]
o http2: raise header limitations above and beyond [73]
o HTTP3.md: update openssl version [57]
o http: rectify the outgoing Cookie: header field size check [72]
o hyper: fix EOF handling on input [66]
o hyper: unslow [51]
o imap: Provide method to disable SASL if it is advertised [75]
o libcurl-url.3: also mention CURLUPART_ZONEID
o libcurl-ws.3. WebSocket API overview [48]
o libssh2: provide error message when setting host key type fails [9]
o libssh2: use custom memory functions [12]
o ngtcp2: build with 0.16.0 and nghttp3 0.12.0 [33]
o ngtcp2: use ever increasing timestamp in io [32]
o quote.d: fix indentation of generated paragraphs [86]
o runtests: abort test run after failure without -a [3]
o runtests: better handle ^C during slow tests
o runtests: consistently write the test check summary block
o runtests: create multiple test runners when requested [20]
o runtests: include missing valgrind package [89]
o runtests: make test file directories in log/N [44]
o runtests: rename server command file
o runtests: use more consistent failure lines
o runtests: work around a perl without SIGUSR1 [88]
o runtests; give each server a unique log lock file [43]
o scripts: Fix GHA matrix job detection in cijobs.pl
o system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles [10]
o test2600: fix the description [90]
o test427: verify sending more cookies than fit in a 8190 bytes line [61]
o tests/http: Add mod_h2 directive `H2ProxyRequests` [77]
o tests/servers.pm: pick unused port number with a server socket [16]
o tests/servers: generate temp names in /tmp for unix domain sockets [6]
o tests: fix error messages & handling around sockets [30]
o tests: improve reliability of TFTP tests
o testutil: allow multiple %-operators on the same line [62]
o timeval: use CLOCK_MONOTONIC_RAW if available [52]
o tls13-ciphers.d: include Schannel [36]
o tool: remove exclamation marks from error/warning messages
o tool: remove newlines from all helpf/notef/warnf/errorf calls [15]
o tool_getparam: fix comment [22]
o tool_operate: allow cookie lines up to 8200 bytes [60]
o tool_urlglob: use curl_off_t instead of longs [2]
o transfer: clear credentials when redirecting to absolute URL [64]
o urlapi: have *set(PATH) prepend a slash if one is missing [42]
o urlapi: scheme must start with alpha [26]
o vtls: avoid memory leak if sha256 call fails [58]
o websocket-cb: example doing WebSocket download using callback [18]
o ws: make the curl_ws_meta() return pointer a const [45]
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 space-separated NOPROXY patterns
o support for the original legacy mingw version 1
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:
ad0p on github, Alejandro R. Sedeño, Andy Fiddaman, Anssi Kolehmainen,
atjg on github, Boris Verkhovskiy, Chris Talbot, Cristian Rodríguez,
Dan Fandrich, Daniel Stenberg, Dion Williams, divinity76, Emanuele Torre,
Gisle Vanem, Harry Sintonen, humbleacolyte, Igor Todorovski, James Lucas,
jbgoog on github, Juan Cruz Viotti, JustAnotherArchivist on github,
Karthikdasari0423, lizhuang0630 on github, MaeIsBad on github, Marcel Raad,
Mark Seuffert, Michał Petryka, Oleg Jukovec, Paul Wise, Pedro Henrique,
Philip Heiduck, Raito Bezarius, Ray Satiro, Sean McArthur, Sergey Alirzaev,
Sheshadri.V, Stefan Eissing, Viktor Szakats, vlkl-sap on github, Wyatt OʼDay
(40 contributors)
References to bug reports and discussions on issues:
[1] = https://curl.se/bug/?i=11221
[2] = https://curl.se/bug/?i=11224
[3] = https://curl.se/bug/?i=11225
[4] = https://curl.se/bug/?i=11228
[5] = https://curl.se/bug/?i=11218
[6] = https://curl.se/bug/?i=11152
[7] = https://curl.se/bug/?i=11115
[8] = https://curl.se/bug/?i=11238
[9] = https://curl.se/bug/?i=11240
[10] = https://curl.se/bug/?i=11241
[11] = https://curl.se/bug/?i=11302
[12] = https://curl.se/bug/?i=11235
[13] = https://curl.se/bug/?i=11095
[14] = https://curl.se/bug/?i=11222
[15] = https://curl.se/bug/?i=11226
[16] = https://curl.se/bug/?i=11220
[17] = https://curl.se/bug/?i=11262
[18] = https://curl.se/bug/?i=11260
[19] = https://curl.se/bug/?i=11290
[20] = https://curl.se/bug/?i=10818
[21] = https://curl.se/bug/?i=11247
[22] = https://curl.se/bug/?i=11253
[23] = https://curl.se/bug/?i=10779
[24] = https://curl.se/bug/?i=11049
[25] = https://curl.se/bug/?i=11245
[26] = https://curl.se/bug/?i=11249
[27] = https://curl.se/bug/?i=11282
[28] = https://curl.se/bug/?i=11295
[29] = https://curl.se/bug/?i=11299
[30] = https://curl.se/bug/?i=11265
[31] = https://curl.se/bug/?i=11289
[32] = https://curl.se/bug/?i=11288
[33] = https://curl.se/bug/?i=11184
[34] = https://curl.se/bug/?i=11284
[35] = https://curl.se/bug/?i=11283
[36] = https://curl.se/bug/?i=11271
[37] = https://curl.se/bug/?i=11286
[38] = https://curl.se/bug/?i=11273
[39] = https://curl.se/bug/?i=11277
[40] = https://curl.se/bug/?i=11276
[41] = https://curl.se/bug/?i=11278
[42] = https://curl.se/mail/lib-2023-06/0015.html
[43] = https://curl.se/bug/?i=11231
[44] = https://curl.se/bug/?i=11267
[45] = https://curl.se/bug/?i=11261
[46] = https://curl.se/bug/?i=11317
[47] = https://curl.se/bug/?i=11340
[48] = https://curl.se/bug/?i=11314
[49] = https://curl.se/bug/?i=11313
[50] = https://curl.se/bug/?i=11312
[51] = https://curl.se/bug/?i=11203
[52] = https://curl.se/bug/?i=11291
[53] = https://curl.se/bug/?i=11185
[54] = https://curl.se/bug/?i=11185
[55] = https://curl.se/bug/?i=11304
[56] = https://curl.se/bug/?i=11342
[57] = https://curl.se/bug/?i=11297
[58] = https://curl.se/bug/?i=11306
[59] = https://curl.se/bug/?i=11341
[60] = https://curl.se/bug/?i=11303
[61] = https://curl.se/bug/?i=11303
[62] = https://curl.se/bug/?i=11303
[63] = https://curl.se/bug/?i=11300
[64] = https://curl.se/bug/?i=11410
[65] = https://curl.se/bug/?i=11332
[66] = https://curl.se/bug/?i=11377
[67] = https://curl.se/bug/?i=11338
[68] = https://curl.se/bug/?i=11337
[69] = https://curl.se/bug/?i=11333
[70] = https://curl.se/bug/?i=11334
[71] = https://curl.se/bug/?i=11335
[72] = https://curl.se/bug/?i=11331
[73] = https://curl.se/bug/?i=11405
[74] = https://curl.se/bug/?i=11409
[75] = https://curl.se/bug/?i=10041
[76] = https://curl.se/bug/?i=11379
[77] = https://curl.se/bug/?i=11392
[78] = https://curl.se/bug/?i=11356
[79] = https://curl.se/bug/?i=11378
[80] = https://curl.se/bug/?i=11372
[81] = https://curl.se/bug/?i=11376
[82] = https://curl.se/bug/?i=11375
[83] = https://curl.se/bug/?i=11368
[84] = https://curl.se/bug/?i=11357
[85] = https://curl.se/bug/?i=11370
[86] = https://curl.se/bug/?i=11371
[87] = https://curl.se/bug/?i=11358
[88] = https://curl.se/bug/?i=11350
[89] = https://curl.se/bug/?i=11364
[90] = https://curl.se/bug/?i=11354
[91] = https://curl.se/bug/?i=11352