RELEASE-NOTES: synced
No binary (build failed)
—
(log yok)
| @@ -4,54 +4,74 @@ curl and libcurl 8.22.1 | |
| Command line options: 278 | |
| curl_easy_setopt() options: 312 | |
| Public functions in libcurl: 100 | |
| - | Authors: 1526 |
| - | Contributors: 3800 |
| + | Authors: 1529 |
| + | Contributors: 3804 |
| This release includes the following changes: | |
| + | o lib: CURL_GLOBAL_WIN32 -> CURL_GLOBAL_WINSOCK [64] |
| + | o SMB: drop support [63] |
| o tool_cb_wrt: inject the no-clobber number before the extension [21] | |
| o tool_cb_wrt: try up to .9999 when no-clobbering [46] | |
| This release includes the following bugfixes: | |
| + | o base64: optimize decode lookup table and quantum loop [88] |
| o build: convert HAS_TIME_T_UNSIGNED to a compile-time check [65] | |
| o build: drop `HTTP_ONLY` option [23] | |
| o clang-tidy: merge nested `if()`s [39] | |
| o config2setopts: always set the security options for SCP/SFTP [67] | |
| + | o conncache: avoid evicting connect-only connections [79] |
| o conncache: remove bundle dest [50] | |
| o connectdata: use less curltime [34] | |
| o cookie: ignore individual cookie errors when loading [6] | |
| o cshutdown: make it smaller [60] | |
| o curl_addrinfo: drop redundant parentheses [41] | |
| o curl_fopen: restore the uid and gid checks [70] | |
| + | o curl_formadd.md: mention the strlen() for names as well [29] |
| o CURLOPT*ISSUERCERT*: not verified cryptographically [28] | |
| o CURLOPT_SHARE.md: remove bad explanation for cookie sharing [7] | |
| + | o CURLOPT_SSL_CTX_FUNCTION.md: client cert caveats [87] |
| + | o cw-out: avoid O(n^2) work while buffering paused output [74] |
| o digest: check peer equality for staleness [24] | |
| o digest: fix maximum length quoted value parsing [22] | |
| o digest: parse without storing 'value' in local buffer [20] | |
| + | o dnscache/conncache tweaks [75] |
| o docs: add the missing .html to the url-encode book link [3] | |
| o doh: reject undersized HTTPS RDATA [11] | |
| + | o dynhds: grow header array geometrically [73] |
| + | o easy: duplicating a zero byte memory area needs no malloc [91] |
| o easy: make ca_cache_timeout standalone [51] | |
| o escape: polish encoding and decoding for speed [37] | |
| + | o fnmatch: replace recursive matcher with iterative greedy algorithm [72] |
| o ftp: tighten use_ssl check for conn reuse [19] | |
| o ftp: URL encode file names when wildcarding [61] | |
| o getparam: switch off CONNECT headers when using -J [4] | |
| o global_init: tidy up, simplify, fix issues [43] | |
| + | o happy eyeballs: bound work from many duplicate/failing addresses [80] |
| o hash: change key arguments to const [14] | |
| + | o headers: avoid O(n^2) rescans in curl_easy_nextheader() [81] |
| o hsts: cap max-age to two years [47] | |
| o hsts: on load, only remove exact duplicates [56] | |
| o HTTP-CONNECT: do not react to 401 responses [31] | |
| o http2: changes in error handling [53] | |
| o http: reject resumed uploads [16] | |
| o imap: compare selected mailbox names case-sensitively [57] | |
| + | o lib: connection shutdown, cleanup code [92] |
| + | o lib: make private functions static and remove unused code [83] |
| o libssh2: match hashed known_hosts entries by host [30] | |
| + | o libssh2: skip repeat checkp() for already-absent hashed key types [82] |
| o mbedtls: fix ticket handling [52] | |
| + | o mime: do curl_mime_free() non-recursively [48] |
| o mprintf: stage output and emit it in runs [38] | |
| + | o mulit_ev: remove socket references on forget [89] |
| o multi: reduce struct size with small cleanups [25] | |
| o multi: remove redundant completion message list [32] | |
| o multi: store timeout epoch as whole seconds [36] | |
| o multi_ntfy: replace enabled bitset with inline flags [44] | |
| o multihandle: some easy shrinks [33] | |
| + | o netrc: empty quoted values now produce a valid empty string [62] |
| + | o netrc: survive comment-only .netrc file [93] |
| o ngtcp2: shrink max sendbuf [13] | |
| o openssl/gtls: reject CRLfile with native CA store, matching rustls [27] | |
| o openssl: use non-deprecated API for MD5/MD4 [69] | |
| @@ -61,12 +81,17 @@ This release includes the following bugfixes: | |
| o schannel: auto_client_cert conn matching [17] | |
| o schannel: clear borrowed sslContext on close [15] | |
| o ssl: dedup ssl_fsslctx [35] | |
| + | o test 1605: move from unit to libtest [49] |
| o test1399: improve reliability [9] | |
| o test1679: unset `SSL_CERT_FILE`, use `TESTNUMBER` [58] | |
| o tool: (re)set SSL verification in --libcurl output [1] | |
| + | o tool_easysrc: reset the handle between --next operations [90] |
| o uint-bset: skip unused slots when counting | |
| + | o url: match connections without force reuse and candidates [95] |
| o url: ntlm/negotiate, prohibit connection reuse on follows [18] | |
| + | o urlapi: run the urlparser perf test faster [54] |
| o urldata: remove conn->given [40] | |
| + | o urldata: remove ssl_primary_config from easy handle [78] |
| o vquic: fix preprocessor check for old Darwin versions [8] | |
| o vtls: fix Curl_cert_hostcheck when the pattern is not a C string [12] | |
| o warnless: dedupe Intel compiler warning suppression pragmas [42] | |
| @@ -128,6 +153,7 @@ References to bug reports and discussions on issues: | |
| [26] = https://curl.se/bug/?i=22822 | |
| [27] = https://curl.se/bug/?i=22826 | |
| [28] = https://curl.se/bug/?i=22825 | |
| + | [29] = https://curl.se/bug/?i=22926 |
| [30] = https://curl.se/bug/?i=22874 | |
| [31] = https://curl.se/bug/?i=22817 | |
| [32] = https://curl.se/bug/?i=22805 | |
| @@ -146,16 +172,40 @@ References to bug reports and discussions on issues: | |
| [45] = https://curl.se/bug/?i=22753 | |
| [46] = https://curl.se/bug/?i=22784 | |
| [47] = https://curl.se/bug/?i=22878 | |
| + | [48] = https://curl.se/bug/?i=22927 |
| + | [49] = https://curl.se/bug/?i=22928 |
| [50] = https://curl.se/bug/?i=22873 | |
| [51] = https://curl.se/bug/?i=22877 | |
| [52] = https://curl.se/bug/?i=22871 | |
| [53] = https://curl.se/bug/?i=22870 | |
| + | [54] = https://curl.se/bug/?i=22924 |
| [56] = https://curl.se/bug/?i=22869 | |
| [57] = https://curl.se/bug/?i=22868 | |
| [58] = https://curl.se/bug/?i=22866 | |
| [60] = https://curl.se/bug/?i=22862 | |
| [61] = https://curl.se/bug/?i=22860 | |
| + | [62] = https://issues.oss-fuzz.com/issues/560352522 |
| + | [63] = https://curl.se/bug/?i=22652 |
| + | [64] = https://curl.se/bug/?i=22819 |
| [65] = https://curl.se/bug/?i=22849 | |
| [67] = https://curl.se/bug/?i=22839 | |
| [69] = https://curl.se/bug/?i=22221 | |
| [70] = https://curl.se/bug/?i=22843 | |
| + | [72] = https://curl.se/bug/?i=22911 |
| + | [73] = https://curl.se/bug/?i=22910 |
| + | [74] = https://curl.se/bug/?i=22896 |
| + | [75] = https://curl.se/bug/?i=22900 |
| + | [78] = https://curl.se/bug/?i=22901 |
| + | [79] = https://curl.se/bug/?i=22902 |
| + | [80] = https://curl.se/bug/?i=22897 |
| + | [81] = https://curl.se/bug/?i=22898 |
| + | [82] = https://curl.se/bug/?i=22905 |
| + | [83] = https://curl.se/bug/?i=22906 |
| + | [87] = https://curl.se/bug/?i=22899 |
| + | [88] = https://curl.se/bug/?i=22903 |
| + | [89] = https://curl.se/bug/?i=22895 |
| + | [90] = https://curl.se/bug/?i=22890 |
| + | [91] = https://curl.se/bug/?i=22893 |
| + | [92] = https://curl.se/bug/?i=22888 |
| + | [93] = https://curl.se/bug/?i=22889 |
| + | [95] = https://curl.se/bug/?i=22857 |