Command line options: 274
curl_easy_setopt() options: 308
Public functions in libcurl: 100
- Authors: 1486
- Contributors: 3719
+ Authors: 1489
+ Contributors: 3728
This release includes the following changes:
This release includes the following bugfixes:
o _ENVIRONMENT.md. Windows does case insensitive env variables [214]
+ o _URL.md: remove the zone-id mention [227]
+ o AmigaOS: curl_setup.h avoid explicit_bzero with clib2 [283]
+ o AmigaOS: fix build fallouts, re-add to CI [279]
o asyn-thrdd: add IPv6 guards [195]
o asyn-thrdd: fix result processing without wakeup socketpair [2]
o autotools: mbedtls detection fixes [163]
o BINDINGS: Update Hollywood link [181]
o BUFQ.md: re-sync with source code [111]
+ o build: enable `-Wlogical-op` picky warning for GCC 4.4+ [277]
o build: omit zlib pkg-config reference for Android [130]
o cf-h2-prox: fix peer leak [132]
o cf-h2-proxy: drop interim responses [47]
+ o cf-https-connect: do not engage on proxy origin [236]
o cf-ip-happy.c: minor comment typo
o cf-ip-happy: update documentation [223]
o cf-socket: make Curl_addr2string static [224]
o cfilters: fix busy loop on blocked transfers [72]
o chunked: reject invalid bytes in trailer [210]
o CIPHERS.md: fix the example that uses only TLS 1.3 [137]
+ o cmake/FindGSS: fix comment, adjust custom flavor property name [261]
+ o cmake/FindGSS: prioritize MIT over GNU in pkg-config detection [196]
o cmake: auto-select static nghttp2/nghttp3/ngtcp2 Config [8]
o cmake: export/forward `NGTCP2_CRYPTO_BACKEND` [99]
o cmake: fix three issues generating lib options in config files [126]
o cmake: fix zstd CMake config name [5]
o cmake: opt in `MSVC_VERSION` 1951 to picky warnings [55]
o cmake: quote `COMPONENTS` string in `curl-config.in.cmake` [80]
+ o config2setopts: use default protocol properly [286]
o connect: remove deref of freed pointer in trace call [128]
o content_encoding: fix limit failure message [171]
o content_encoding: fix non-last chunked rejection [209]
o creds: remove two unused functions [158]
o curl_easy_pause.md: rephrase the stream cache when pause clause [120]
o curl_easy_setopt.md: change options when no transfer runs [122]
+ o curl_formdata: fix to pass long where missing, document `CURLFORM_NAMELENGTH` [243]
o curl_ntlm_core: fix nettle 4+ builds in certain MultiSSL combos [87]
o curl_ntlm_core: propagate DES `CryptEncrypt()` error [84]
o curl_sha512_256: fix result code on error [166]
o ftplistparser: clear strings.target if not symlink [148]
o gnutls: allow building with nettle 4.0 [96]
o gnutls: fix more nettle 4+ compatibility issues [94]
- o GnuTLS: require 3.7.2 for earlydata [103]
+ o gnutls: require 3.7.2 for earlydata [103]
o gsasl: fix potential double free [56]
o gtls: fix ignored return and uninitialized status in OCSP check [49]
o gtls: fix some typos [15]
o idn: replace header guards with forward declaration [100]
o KNOWN_BUGS.md: remove fixed GnuTLS <-> OpenSSL incompat bug [41]
o KNOWN_BUGS: remove stale Threads::Threads entry [135]
+ o krb5_sspi: fix error message on `DecryptMessage()` fail [269]
+ o ldap: base64 encode binary LDIF values with WinLDAP [273]
o ldap: fix minor leak on write callback error [24]
o ldap: fix to not leak `attribute` on OOM (WinLDAP) [79]
o ldap: switch off chasing referrals [114]
o lib678: fix to not be perma-skipped [10]
o lib: make `__STDC_VERSION__` literals `L` (where missing)
+ o lib: transfer origin and proxy handling [276]
o lib: two minor typos [16]
o libcurl-easy.md: minor clarifications [19]
o libssh2: do not use deprecated macros when unavailable [177]
o pytest: re-enable test test_05_01 and test_05_02 for quiche 0.29.0+ [154]
o pythonlint.sh: make it fail on error, fix ruff warnings in pytest [67]
o quic: count zero length packets against max [179]
+ o ratelimits: use minimal burst rate [245]
o resolve: mention in error that IP address is expected [205]
o rtsp: bump buf after rtsp_filter_rtp() [88]
o runner.pm: apply minor correctness fix [105]
o schannel: check `schannel_sha256sum()` success, and more [165]
o schannel: enforce Extended Key Usage for custom CA roots [29]
o schannel: error on TLS 1.3-only with cipher list [136]
+ o schannel: fix https proxy for client cert and certinfo [280]
o schannel: fix revoke_best_effort setting for proxy [70]
o schannel: use fopen instead CreateFile [191]
o schannel_verify: avoid out of blob access [11]
o setopt: more careful cleanup of the HSTS cache [45]
o show-headers.md: mention bold headers and --no-styled-output [17]
o sigv4: URL encode the user name in the header [193]
+ o smb: integer overflow proof a size check [263]
o smbserver: update internal id generation for Python 3 [238]
+ o socket: introduce `SOCK_EAGAIN()` and use it [278]
+ o socket: use name `sockerr` for socket error variables [271]
+ o socks_sspi: invalid response length is a fatal error [272]
+ o socks_sspi: store socks5_gssapi_enctype [262]
o spnego_sspi: honor CURLOPT_GSSAPI_DELEGATION for Windows SSPI [89]
o spnego_sspi: preserve distinction btw policy-only and uncond delegation [74]
o src: fix comment typos [83]
o ssl native_ca_store: always reinit [211]
o SSLCERTS: document 8.19.0 default Native CA builds (Windows) [14]
o sspi: clear SSPI credentials on AcquireCredentialsHandle failure [76]
+ o sspi: free libcurl allocated memory with curlx_free [274]
+ o telnet: drop an `int` cast no longer necessary [270]
+ o telnet: drop redundant interim variables [275]
o telnet: fix error message typos [186]
+ o telnet: fix old copy-paste typo in variable name [281]
o telnet: honor CURLOPT_TIMEOUT in send_telnet_data() [104]
o test1588: use %TESTNUMBER, not hard-coded number [118]
o test1981: explicitly set the locale [85]
o tidy-up: drop stray casts for allocated pointers [174]
o tidy-up: miscellaneous [106]
o tls: fix incomplete mTLS config in conn reuse and session cache [108]
+ o tls: wolfssl: fixes for PQC key shares [239]
o tool: warn when --ssl and --ftp-ssl-control override each other [129]
o tool_formparse.c: fix two minor comment typos [25]
o tool_formparse: polish error message + make two functions static [1]
o tool_urlglob: avoid overflow at end of range [22]
o tool_urlglob: better 'Duplicate glob name' position [82]
o tool_urlglob: make globbing error reported for correct position [91]
+ o tool_writeout: fix %time{} output for %s [231]
o transfer: clear referer when set to NULL [112]
o unit1675: fix potential memory leak on dynbuf fail path [197]
o unix-sockets: ignore proxy settings [6]
o URL-SYNTAX: document more URL parsing details [134]
o url: compare full origin when setting credentials [42]
+ o url: connection credentials origin [228]
o url: connection reuse fixes for starttls [68]
o url: detect proxy changes read from environment [110]
o url: fix connection reuse for starttls protocols [27]
o urlapi: URL decode hostname before IP address normalization [207]
o user-agent.md: mention double quotes too [3]
o var: use a dedicated pointer for the alloc [219]
+ o verify-release: verify more thoroughly with git [249]
o vquic: drop stray casts for `iovec.iov_len` [162]
o vtls: more large buffer support and error checks for SHA-256 [164]
o vtls: use Curl_safecmp for CRLfile and pinned_key comparison [116]
o VULN-DISCLOSURE-POLICY.md: emphasize comm as a human [180]
o VULN-DISCLOSURE-POLICY.md: emphasize the no email thank you part [113]
o VULN-DISCLOSURE-POLICY.md: test code is not secure [119]
+ o VULN-DISCLOSURE-POLICY: non-released code [253]
o websockets: auto-tunnel through http proxy [102]
o windows: update MS SDK versions in comments [60]
+ o winldap: avoid NULL pointer deref on `ldap_get_dn()` fail [242]
o ws: make pong sending lazy [201]
o x509asn1: fix DH public key parameter extraction [44]
o x509asn1: fix operator order in do_pubkey [21]
advice from friends like these:
0xN3R3K3, 11soda11, Ady Elouej, A Johnston, Alan De Smet, alhudz,
- ambikeesshh, amitbidlan, Andreas Falkenhahn, Andrei Rybak, Andrew Nesbitt,
- Aritra Basu, azraelxuemo on hackerone, Bartel Sielski, Bastian Jesuiter,
- BazaarAcc32 on github, Bill Mill, ByteRay on hackerone, chrizilla on github,
- co-authors in libssh2, correctmost on github, Dan Fandrich,
- Daniel Gustafsson, Daniel Stenberg, Dario Vinella, dependabot[bot],
- dyingc on github, Earnestly on github, Elise Vance, Emanuel Krollmann,
- Eunsoo Kim, evergarden1123 on hackerone, Fabian Keil, Gao Liyou,
- Guancheng Li, Guannan Wang, Harry Sintonen, Hem Parekh, htasta, jeffhuang,
- Jeremy Nicoll, Jiashuo Liang, Johannes Schlatow, Josef Cejka, Joshua Rogers,
+ alienowo on hackerone, ambikeesshh, amitbidlan, Andreas Falkenhahn,
+ Andrei Rybak, Andrew Nesbitt, Aritra Basu, azraelxuemo on hackerone,
+ Bartel Sielski, Bastian Jesuiter, BazaarAcc32 on github, Bill Mill,
+ ByteRay on hackerone, chrizilla on github, co-authors in libssh2,
+ correctmost on github, Dan Fandrich, Daniel Gustafsson, Daniel Stenberg,
+ Dario Vinella, Darren Banfi, Dave Walker, daviey on hackerone,
+ dependabot[bot], dyingc on github, Earnestly on github, Elise Vance,
+ Emanuel Krollmann, Eunsoo Kim, evergarden1123 on hackerone, Fabian Keil,
+ Filipe Casal, Gao Liyou, Guancheng Li, Guannan Wang, Harry Sintonen,
+ Hem Parekh, htasta, jeffhuang, Jeremy Nicoll, Jiashuo Liang,
+ jjchuck on hackerone, Johannes Schlatow, Josef Cejka, Joshua Rogers,
Kai Pastor, Marcel Raad, Mark Esler, Max Dymond, mik, Mike-menny on github,
- Muhamad Arga Reksapati, mulan_dh on hackerone, parasol-aser, penpal,
- Peter Krefting, Philip H., Rainer Jung, Randall S. Becker, Raymond Steen,
- Ray Satiro, renjian on hackerone, renovate[bot], Ross Burton, Sergio Correia,
- sfan5 on github, Shintomon Mathew, Sollace on github, Song X. Gao,
- sourceturner, Stefan Eissing, Tim Martin, tiymat, Trail of Bits, Vasiliy-Kkk,
- vectorqueue on hackerone, vegagent on hackerone, Viktor Szakats,
- violet12331 on hackerone, Will Cosgrove, Xi Ruoyao, x-xiang on github,
+ Muhamad Arga Reksapati, mulan_dh on hackerone, oreadvanthink on github,
+ parasol-aser, penpal, Peter Krefting, Philip H., Rainer Jung,
+ Randall S. Becker, Raymond Steen, Ray Satiro, renjian on hackerone,
+ renovate[bot], Ross Burton, Saud Alshareef, Sergio Correia, sfan5 on github,
+ Shintomon Mathew, Sollace on github, Song X. Gao, sourceturner,
+ Stefan Eissing, Tatsuhiro Tsujikawa, Tim Martin, tiymat,
+ Tobias Frauenschläger, Trail of Bits, Vasiliy-Kkk, vectorqueue on hackerone,
+ vegagent on hackerone, Viktor Szakats, violet12331 on hackerone,
+ Will Cosgrove, wulin-nudt on github, Xi Ruoyao, x-xiang on github,
Yedaya Katsman, zhanhb on github, Zhanpeng Liu
- (85 contributors)
+ (96 contributors)
References to bug reports and discussions on issues:
[192] = https://curl.se/bug/?i=21927
[193] = https://curl.se/bug/?i=21923
[195] = https://curl.se/bug/?i=21881
+ [196] = https://curl.se/bug/?i=22052
[197] = https://curl.se/bug/?i=21922
[199] = https://curl.se/bug/?i=21914
[200] = https://curl.se/bug/?i=21910
[224] = https://curl.se/bug/?i=21946
[225] = https://curl.se/bug/?i=21951
[226] = https://curl.se/bug/?i=21945
+ [227] = https://curl.se/bug/?i=22048
+ [228] = https://curl.se/bug/?i=22040
[230] = https://curl.se/bug/?i=21949
+ [231] = https://curl.se/bug/?i=22038
[235] = https://curl.se/bug/?i=21944
+ [236] = https://curl.se/bug/?i=22033
[238] = https://curl.se/bug/?i=21937
+ [239] = https://curl.se/bug/?i=22030
+ [242] = https://curl.se/bug/?i=22000
+ [243] = https://curl.se/bug/?i=22017
+ [245] = https://curl.se/bug/?i=22016
+ [249] = https://curl.se/bug/?i=22018
+ [253] = https://curl.se/bug/?i=22025
+ [261] = https://curl.se/bug/?i=22013
+ [262] = https://curl.se/bug/?i=22004
+ [263] = https://curl.se/bug/?i=22001
+ [269] = https://curl.se/bug/?i=22003
+ [270] = https://curl.se/bug/?i=22002
+ [271] = https://curl.se/bug/?i=21998
+ [272] = https://curl.se/bug/?i=21999
+ [273] = https://curl.se/bug/?i=21926
+ [274] = https://curl.se/bug/?i=21990
+ [275] = https://curl.se/bug/?i=21995
+ [276] = https://curl.se/bug/?i=21967
+ [277] = https://curl.se/bug/?i=21893
+ [278] = https://curl.se/bug/?i=21992
+ [279] = https://curl.se/bug/?i=21993
+ [280] = https://curl.se/bug/?i=21986
+ [281] = https://curl.se/bug/?i=21979
+ [283] = https://curl.se/bug/?i=21989
+ [286] = https://curl.se/bug/?i=21983