123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- 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: 2922
- 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: don't bypass fclosesocket callback if cancelled before connect [114]
- 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 checksrc: quote the file name to work with "funny" letters [93]
- o CI: brew fix for openssl in default path [116]
- 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: make use of snprintf [102]
- 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: return error when asked to use an unsupported HTTP version [113]
- 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_MIMEPOST.3: clarify what setting to NULL means [95]
- 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 docs: use a space after RFC when spelling out RFC numbers [105]
- 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/maxconnects: set maxconnect example [98]
- 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 fopen: optimize [101]
- o hostip.c: Move macOS-specific calls into global init call [104]
- 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 http2: send HEADER & DATA together if possible [99]
- o http2: treat initial SETTINGS as a WINDOW_UPDATE [100]
- o HTTP3.md: update openssl version [57]
- o http3/ngtcp2: upload EAGAIN handling [108]
- 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-append.c: update to make it more likely to work [106]
- o imap: Provide method to disable SASL if it is advertised [75]
- o krb5: add typecast to please Coverity
- 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: assigning timeout, but value is overwritten before used [103]
- o ngtcp2: build with 0.17.0 and nghttp3 0.13.0 [96]
- o ngtcp2: use ever increasing timestamp in io [32]
- o quiche: avoid NULL deref in debug logging [97]
- o quiche: fix defects found in latest coverity report [94]
- 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 sectransp: fix EOF handling [92]
- 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_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION` [109]
- o tool_getparam: fix comment [22]
- o tool_operate: allow cookie lines up to 8200 bytes [60]
- o tool_parsecfg: accept line lengths up to 10M [115]
- o tool_urlglob: use curl_off_t instead of longs [2]
- o tool_writeout_json: fix encoding of control characters [107]
- 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 wolfssl: detect when TLS 1.2 support is not built into wolfssl [111]
- o wolfssl: support setting CA certificates as blob [110]
- 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,
- Antoine du Hamel, atjg on github, Boris Verkhovskiy, Brian Nixon,
- Chris Paulson-Ellis, Chris Talbot, Cristian Rodríguez, Dan Fandrich,
- Daniel Stenberg, Derzsi Dániel, Dion Williams, divinity76, Emanuele Torre,
- Frank Gevaerts, Gisle Vanem, Graham Campbell, Harry Sintonen, humbleacolyte,
- Igor Todorovski, James Fuller, James Lucas, jbgoog on github,
- Juan Cruz Viotti, JustAnotherArchivist on github, Karthikdasari0423,
- lizhuang0630 on github, MaeIsBad on github, Marcel Raad, Margu,
- Mark Seuffert, Michał Petryka, Oleg Jukovec, Ondřej Koláček, Paul Wise,
- Pedro Henrique, Philip Heiduck, Pontakorn Prasertsuk, Raito Bezarius,
- Ray Satiro, SaltyMilk, Sean McArthur, selmelc on hackerone, Sergey Alirzaev,
- Sheshadri.V, Stan Hu, Stefan Eissing, Tatsuhiro Tsujikawa, Viktor Szakats,
- vlkl-sap on github, Wyatt OʼDay
- (54 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
- [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
- [92] = https://curl.se/bug/?i=11427
- [93] = https://curl.se/bug/?i=11437
- [94] = https://curl.se/bug/?i=11455
- [95] = https://curl.se/bug/?i=11430
- [96] = https://curl.se/bug/?i=11428
- [97] = https://curl.se/bug/?i=11454
- [98] = https://curl.se/bug/?i=11343
- [99] = https://curl.se/bug/?i=11420
- [100] = https://curl.se/bug/?i=11450
- [101] = https://curl.se/bug/?i=11419
- [102] = https://curl.se/bug/?i=11423
- [103] = https://curl.se/bug/?i=11453
- [104] = https://curl.se/bug/?i=11252
- [105] = https://curl.se/bug/?i=11382
- [106] = https://curl.se/bug/?i=10300
- [107] = https://curl.se/bug/?i=11414
- [108] = https://curl.se/bug/?i=11389
- [109] = https://curl.se/bug/?i=11398
- [110] = https://curl.se/bug/?i=11445
- [111] = https://curl.se/bug/?i=11444
- [113] = https://curl.se/bug/?i=11440
- [114] = https://curl.se/bug/?i=11439
- [115] = https://curl.se/bug/?i=11431
- [116] = https://curl.se/bug/?i=11413
|