@@ -4,7 +4,7 @@ curl and libcurl 8.15.1
44 Command line options: 272
55 curl_easy_setopt() options: 308
66 Public functions in libcurl: 98
7- Contributors: 3492
7+ Contributors: 3495
88
99This release includes the following changes:
1010
@@ -29,9 +29,14 @@ This release includes the following changes:
2929This release includes the following bugfixes:
3030
3131 o _PROTOCOLS.md: mention file:// is only for absolute paths [102]
32+ o acinclude: --with-ca-fallback only works with OpenSSL [217]
3233 o alpn: query filter [104]
3334 o ares: destroy channel on shutdown [178]
35+ o ares: use `ares_strerror()` to retrieve error messages [236]
36+ o asyn-thrdd: fix --disable-socketpair builds [235]
3437 o asyn-thrdd: fix Curl_async_pollset without socketpair [205]
38+ o asyn-thrdd: fix no `HAVE_GETADDRINFO` builds [214]
39+ o asyn-thrdd: manage DEFERRED and locks better [228]
3540 o BINDINGS.md: add LibQurl [156]
3641 o bufq: add integer overflow checks before chunk allocations [108]
3742 o bufq: removed "Useless Assignment" [188]
@@ -45,8 +50,10 @@ This release includes the following bugfixes:
4550 o build: fix mingw-w64 version guard for mingw32ce [124]
4651 o build: if no perl, fix to use the pre-built hugehelp, if present [144]
4752 o build: link to Apple frameworks required by static wolfSSL [40]
53+ o build: support LibreSSL native crypto lib with ngtcp2 1.15.0+ [209]
4854 o build: tidy up compiler definition for tests [37]
4955 o cf-https-connect: delete unused declaration [15]
56+ o cmake: `CURL_CA_FALLBACK` only works with OpenSSL [215]
5057 o cmake: capitalize 'Rustls' in the config summary
5158 o cmake: defer building `unitprotos.h` till a test target needs it [75]
5259 o cmake: define `WIN32_LEAN_AND_MEAN` for examples [159]
@@ -66,6 +73,7 @@ This release includes the following bugfixes:
6673 o CODE_STYLE: sync with recent `checksrc.pl` updates [49]
6774 o config-win32.h: do not use winsock2 `inet_ntop()`/`inet_pton()` [58]
6875 o configure: if no perl, disable unity and shell completion, related tidy ups [137]
76+ o configure: tidy up internal names in ngtcp2 ossl detection logic [212]
6977 o connectdata: remove primary+secondary ip_quadruple [126]
7078 o connection: terminate after goaway [62]
7179 o contrithanks: fix for BSD `sed` tool [98]
@@ -101,14 +109,18 @@ This release includes the following bugfixes:
101109 o DISTROS.md: add Haiku [39]
102110 o docs/cmdline-opts: the auth types are not mutually exclusive [103]
103111 o docs: add CURLOPT type change history, drop casts where present [143]
112+ o docs: fix link CONTRIBUTE.md link [192]
104113 o docs: fix name in curl_easy_ssls_export man page [12]
114+ o docs: point two broken links to archive.org [134]
105115 o doh: rename symbols to avoid collision with mingw-w64 headers [66]
106116 o easy handle: check validity on external calls [28]
107117 o examples: drop long cast for `CURLALTSVC_*`
118+ o examples: make `CURLPIPE_MULTIPLEX` fallback `long` [233]
108119 o examples: remove base64 encoded chunks from examples [189]
109120 o examples: remove href_extractor.c [186]
110121 o ftp: store dir components as start+len instead of memdup'ing [198]
111122 o ftp: use 'conn' instead of 'data->conn' [208]
123+ o gnutls: fix building with older supported GnuTLS versions [241]
112124 o gnutls: some small cleanups [41]
113125 o hmac: return error if init fails [2]
114126 o hostip: do DNS cache pruning in milliseconds [132]
@@ -125,6 +137,7 @@ This release includes the following bugfixes:
125137 o libtests: use `FMT_SOCKET_T`, drop more casts [136]
126138 o managen: reset text mode at end of table marker [145]
127139 o mbedtls: check for feature macros instead of version [166]
140+ o mdlinkcheck: handle links with a leading slash properly [195]
128141 o memanalyze: fix warnings [22]
129142 o memory: make function overrides work reliably in unity builds [93]
130143 o multi event: remove only announced [25]
@@ -136,27 +149,44 @@ This release includes the following bugfixes:
136149 o multissl: initialize when requesting a random number [30]
137150 o ngtcp2: extend callback tables for nghttp3 1.11.0 and ngtcp2 1.14.0 [47]
138151 o ngtcp2: use custom mem funcs [204]
152+ o openssl: add and use `HAVE_BORINGSSL_LIKE` internal macro [222]
153+ o openssl: add and use `HAVE_OPENSSL3` internal macro [223]
154+ o openssl: assume `OPENSSL_VERSION_NUMBER` [181]
139155 o openssl: auto-pause on verify callback retry [167]
140156 o openssl: check SSL_write() length on retries [152]
141157 o openssl: clear errors after a failed `d2i_X509()` [161]
158+ o openssl: drop more legacy cruft [224]
159+ o openssl: drop redundant `HAVE_OPENSSL_VERSION` macro [221]
160+ o openssl: drop redundant version check [246]
161+ o openssl: drop single-use interim macro `USE_OPENSSL_SRP` [201]
162+ o openssl: enable `HAVE_KEYLOG_CALLBACK` for AWS-LC [220]
163+ o openssl: merge two `#if` blocks [218]
142164 o openssl: output unescaped utf8 x509 issuer/subject DNs [169]
165+ o openssl: remove legacy cruft, document macro guards [231]
143166 o openssl: save and restore OpenSSL error queue in two functions [172]
144167 o openssl: some small cleanups [42]
145168 o openssl: split cert_stuff into smaller sub functions [72]
169+ o openssl: sync an AWS-LC guard with BoringSSL [199]
170+ o openssl: use `RSA_flags()` again with BoringSSL [219]
146171 o parallel-max: bump the max value to 65535 [86]
147172 o processhelp.pm: fix to use the correct null device on Windows [164]
148173 o processhelp.pm: use `Win32::Process*` perl modules if available [200]
174+ o projects: drop unused logic from `generate.bat` [157]
149175 o pytest: add SOCKS tests and scoring [9]
176+ o pytest: fix test_17_09_ssl_min_max for BoringSSL [197]
150177 o pytest: increase server KeepAliveTimeout [26]
151178 o pytest: relax error check on test_07_22 [16]
152179 o resolving: dns error tracing [196]
153180 o runtests: assume `Time::HiRes`, drop Perl Win32 dependency [163]
181+ o runtests: replace `--ci` with `--buidinfo`, show OS/Perl version again [247]
182+ o runtests: show still running tests when nothing has happened for a while [227]
154183 o schannel: add an error message for client cert not found [165]
155184 o schannel: assume `CERT_CHAIN_REVOCATION_CHECK_CHAIN` [114]
156185 o schannel: drop fallbacks for 4 macros [121]
157186 o schannel: drop fallbacks for unused `BCRYPT_*` macros [122]
158187 o schannel: drop old-mingw special case [77]
159188 o schannel: fix recent update for mingw32ce [123]
189+ o schannel: improve handshake procedure [239]
160190 o schannel: not supported with UWP, drop redundant code [105]
161191 o schannel: use if(result) like the code style says [125]
162192 o scripts: enable strict warnings in Perl where missing, fix fallouts [63]
@@ -167,33 +197,41 @@ This release includes the following bugfixes:
167197 o setopt: split out cookielist() and cookiefile() [130]
168198 o socks: do_SOCKS5: Fix invalid buffer content on short send [43]
169199 o spacecheck.pl: when detecting unicode, mention line number [85]
200+ o spelling: file system [232]
170201 o test1148: drop redundant `LC_NUMBER=` env setting [13]
202+ o test1557: pass `long` type to `multi_setopt()` [234]
171203 o test1560: set locale/codeset with `LC_ALL` (was: `LANG`), test in CI [19]
172204 o test1560: skip some URLs if UTF-8 is not supported [34]
173205 o test1: raise alloc limits [11]
174206 o test428: re-enable for Windows [5]
175207 o test436: fix running on Windows with `_curlrc` present [153]
208+ o test: add `cygwin` feature and use it (test 1056, 1517) [249]
176209 o tests/ech_tests.sh: indent, if/for style, inline ifs [131]
177210 o tests: constify command-line arguments [82]
178211 o tests: delete unused commands [177]
212+ o tests: drop unused `BLANK` envs, unset `CURL_NOT_SET` [248]
179213 o tests: drop unused `CURL_FORCEHOST` envs [36]
180214 o tests: fix perl warnings in http2-server, http3-server [119]
181215 o tests: fix prechecks to call the bundle libtest tool [120]
182216 o tests: fix UTF-8 detection, per-test `LC_*` settings, CI coverage [6]
183217 o tests: merge clients into libtests, drop duplicate code [76]
184218 o tests: set `CURL_ENTROPY` per test, not globally [35]
185219 o tests: unset some envs instead of blanking them [4]
220+ o threaded-resolver: fix shutdown [252]
186221 o tidy-up: `Curl_thread_create()` callback return type [20]
187222 o tidy-up: move literal to the right side of comparisons [65]
188223 o tidy-up: prefer `ifdef`/`ifndef` for single checks [64]
189224 o tls: CURLINFO_TLS_SSL_PTR testing [79]
190225 o TODO: remove session export item [194]
226+ o TODO: remove the expand ~ idea [216]
191227 o tool_cb_wrt: stop alloc/free for every chunk windows console output [140]
192228 o tool_operate: avoid superfluous strdup'ing output [1]
229+ o tool_operate: use stricter curl_multi_setopt() arguments [225]
193230 o tool_operate: use the correct config pointer [115]
194231 o tool_paramhlp: fix secs2ms() [116]
195232 o tool_parsecfg: use dynbuf for quoted arguments [162]
196233 o tool_urlglob: polish, cleanups, improvements [141]
234+ o typecheck-gcc: add type checks for curl_multi_setopt() [226]
197235 o unit-tests: build the unitprotos.h from here [73]
198236 o unit2604: avoid `UNCONST()` [135]
199237 o URL-SYNTAX.md: drop link to codepoints.net to pass linkcheck [190]
@@ -202,6 +240,7 @@ This release includes the following bugfixes:
202240 o vquic-tls: fix SSL backend type for QUIC connections using gnutls [29]
203241 o vquic: use curl_getenv [168]
204242 o vtls: set seen http version on successful ALPN [160]
243+ o websocket example: cast print values to unsigned int [251]
205244 o windows: assume `ADDRESS_FAMILY`, drop feature checks [88]
206245 o windows: document toolchain support for `CERT_NAME_SEARCH_ALL_NAMES_FLAG`
207246 o windows: document toolchain support for some macros (cont.) [111]
@@ -235,20 +274,20 @@ This release would not have looked like this without help, code, reports and
235274advice from friends like these:
236275
237276 adamse on github, Ahmad Gani, Alice Lee Poetics, Ammar Faizi, Anthony Hu,
238- Berthin Torres Callañaupa, Caolán McNamara, Cole Leavitt, d1r3ct0r ,
239- Dan Fandrich, Daniel Böhmer, Daniel Engberg , Daniel Stenberg, David Zhuang ,
240- devgs on github, Dominik Tomecki, Eshan Kelkar, Gabriel Marin ,
241- Google Big Sleep, Harry Sintonen, IoannisGS on github, Jelle Raaijmakers ,
242- Jeroen Ooms, Kai Pastor, Karthik Das, kkmuffme on github ,
243- kupavcevdenis on github, letshack9707 on hackerone, lf- on github ,
244- LoRd_MuldeR, Marcel Raad, Michał Petryka, Natris on github ,
245- nevakrien on github, Oxan van Leeuwen, Paul Gilmartin, Petar Popovic ,
246- Philippe Antoine, Pino Toscano, Qriist, Qriist on github, Ray Satiro ,
247- renovate[bot], rm-rmonaghan on github, Roberto Hidalgo, Samuel Henrique ,
248- Schrijvers Luc, Sergio Durigan Junior, Stefan Eissing, sunriseL, Tal Regev ,
249- Todd Gamblin, Viktor Szakats, Waldemar Kornewald, xfangfang, yaoy6 on github ,
250- ウさん
251- (57 contributors)
277+ Berthin Torres Callañaupa, BobodevMm on github, Caolán McNamara ,
278+ Cole Leavitt, d1r3ct0r, Dan Fandrich , Daniel Böhmer, Daniel Engberg ,
279+ Daniel Stenberg, David Zhuang, devgs on github, Dominik Tomecki ,
280+ Eshan Kelkar, Gabriel Marin, Gisle Vanem, Google Big Sleep, Harry Sintonen ,
281+ IoannisGS on github, Jelle Raaijmakers, Jeroen Ooms, Kai Pastor, Karthik Das,
282+ kkmuffme on github, kupavcevdenis on github, letshack9707 on hackerone ,
283+ lf- on github, LoRd_MuldeR, Marcel Raad, Michael Osipov, Michał Petryka ,
284+ Natris on github, nevakrien on github, Oxan van Leeuwen, Paul Gilmartin,
285+ Petar Popovic, Philippe Antoine, Pino Toscano, Qriist, Qriist on github,
286+ Ray Satiro, renovate[bot], rm-rmonaghan on github, Roberto Hidalgo,
287+ Samuel Henrique, Schrijvers Luc, Sergio Durigan Junior, Simon Dalvai ,
288+ Stanislav Osipov, Stefan Eissing, sunriseL, Tal Regev, Todd Gamblin ,
289+ Viktor Szakats, Waldemar Kornewald, xfangfang, yaoy6 on github, ウさん
290+ (62 contributors)
252291
253292References to bug reports and discussions on issues:
254293
@@ -385,6 +424,7 @@ References to bug reports and discussions on issues:
385424 [131] = https://curl.se/bug/?i=18187
386425 [132] = https://curl.se/bug/?i=18160
387426 [133] = https://curl.se/bug/?i=18201
427+ [134] = https://curl.se/bug/?i=18393
388428 [135] = https://curl.se/bug/?i=18143
389429 [136] = https://curl.se/bug/?i=18142
390430 [137] = https://curl.se/bug/?i=18141
@@ -407,6 +447,7 @@ References to bug reports and discussions on issues:
407447 [154] = https://curl.se/bug/?i=18241
408448 [155] = https://curl.se/bug/?i=18238
409449 [156] = https://curl.se/bug/?i=18195
450+ [157] = https://curl.se/bug/?i=18397
410451 [158] = https://curl.se/bug/?i=18299
411452 [159] = https://curl.se/bug/?i=18232
412453 [160] = https://curl.se/bug/?i=18177
@@ -430,6 +471,7 @@ References to bug reports and discussions on issues:
430471 [178] = https://curl.se/bug/?i=18216
431472 [179] = https://curl.se/bug/?i=18272
432473 [180] = https://curl.se/bug/?i=18254
474+ [181] = https://curl.se/bug/?i=18388
433475 [183] = https://curl.se/bug/?i=18208
434476 [184] = https://curl.se/bug/?i=18206
435477 [185] = https://curl.se/bug/?i=18266
@@ -438,13 +480,49 @@ References to bug reports and discussions on issues:
438480 [188] = https://curl.se/bug/?i=18322
439481 [189] = https://curl.se/bug/?i=18260
440482 [190] = https://curl.se/bug/?i=18259
483+ [192] = https://curl.se/bug/?i=18372
441484 [193] = https://curl.se/bug/?i=17683
442485 [194] = https://curl.se/bug/?i=18243
486+ [195] = https://curl.se/bug/?i=18382
443487 [196] = https://curl.se/bug/?i=18247
488+ [197] = https://curl.se/bug/?i=18385
444489 [198] = https://curl.se/bug/?i=18312
490+ [199] = https://curl.se/bug/?i=18384
445491 [200] = https://curl.se/bug/?i=18308
492+ [201] = https://curl.se/bug/?i=18383
446493 [204] = https://curl.se/bug/?i=18196
447494 [205] = https://curl.se/bug/?i=18306
448495 [206] = https://curl.se/bug/?i=18307
449496 [207] = https://curl.se/bug/?i=18305
450497 [208] = https://curl.se/bug/?i=18304
498+ [209] = https://curl.se/bug/?i=18377
499+ [212] = https://curl.se/bug/?i=18378
500+ [214] = https://curl.se/bug/?i=18371
501+ [215] = https://curl.se/bug/?i=18365
502+ [216] = https://curl.se/bug/?i=18363
503+ [217] = https://curl.se/bug/?i=18362
504+ [218] = https://curl.se/bug/?i=18370
505+ [219] = https://curl.se/bug/?i=18369
506+ [220] = https://curl.se/bug/?i=18368
507+ [221] = https://curl.se/bug/?i=18367
508+ [222] = https://curl.se/bug/?i=18358
509+ [223] = https://curl.se/bug/?i=18360
510+ [224] = https://curl.se/bug/?i=18359
511+ [225] = https://curl.se/bug/?i=18357
512+ [226] = https://curl.se/bug/?i=18357
513+ [227] = https://curl.se/bug/?i=18349
514+ [228] = https://curl.se/bug/?i=18350
515+ [231] = https://curl.se/bug/?i=18351
516+ [232] = https://curl.se/bug/?i=18348
517+ [233] = https://curl.se/bug/?i=18356
518+ [234] = https://curl.se/bug/?i=18355
519+ [235] = https://curl.se/bug/?i=18347
520+ [236] = https://curl.se/bug/?i=18251
521+ [239] = https://curl.se/bug/?i=18323
522+ [241] = https://curl.se/bug/?i=18335
523+ [246] = https://curl.se/bug/?i=18333
524+ [247] = https://curl.se/bug/?i=18329
525+ [248] = https://curl.se/bug/?i=18328
526+ [249] = https://curl.se/bug/?i=18327
527+ [251] = https://curl.se/bug/?i=18326
528+ [252] = https://curl.se/bug/?i=18263
0 commit comments