Command line options: 259
curl_easy_setopt() options: 305
Public functions in libcurl: 94
- Contributors: 3161
+ Contributors: 3165
This release includes the following changes:
This release includes the following bugfixes:
+ o appveyor: make gcc 6 mingw64 job build-only [152]
+ o asyn-thread: fix curl_global_cleanup crash in Windows [161]
+ o asyn-thread: fix Curl_thread_create result check [162]
o bearssl: fix compiler warnings [43]
o bearssl: use common code for cipher suite lookup [126]
+ o bufq: remove duplicate word in comment [154]
o build: prefer `USE_IPV6` macro internally (was: `ENABLE_IPV6`) [85]
o build: remove MacOSX-Framework script [60]
o cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set [36]
o ci: add curl-for-win builds: Linux MUSL, macOS, Windows [68]
o cmake: add `BUILD_EXAMPLES` option to build examples [128]
o cmake: add librtmp/rtmpdump option and detection [108]
- o CMake: check fseeko after detecting HAVE_FILE_OFFSET_BITS [64]
+ o cmake: check fseeko after detecting HAVE_FILE_OFFSET_BITS [64]
o cmake: enable `-pedantic-errors` for clang when `CURL_WERROR=ON` [47]
o cmake: FindNGHTTP2 add static lib name to find_library call [141]
o cmake: fix `CURL_WERROR=ON` for old CMake and use it in GHA/linux-old [48]
o Curl_creader_read: init two variables to avoid using them uninited [99]
o curl_getdate.md: document two-digit year handling [127]
o curl_global_trace.md: shorten the description [29]
+ o curl_multibyte: remove access() function wrapper for Windows [163]
+ o curl_path: make Curl_get_pathname use dynbuf [158]
o curl_setup.h: detect 'inline' support [133]
o curl_sha512_256: do not use workaround for NetBSD when not needed [21]
o curl_sha512_256: fix detection of OpenSSL 1.1.1 or later [8]
o docs/MAIL-ETIQUETTE: convert to markdown [12]
o docs: add CURLOPT_NOPROGRESS to CURLOPT_XFERINFOFUNCTION example [61]
o docs: clarify CURLOPT_MAXFILESIZE and CURLOPT_MAXFILESIZE_LARGE [74]
+ o docs: fix some CURLINFO examples [147]
+ o doh: fix typo in comment [173]
+ o doh: remove unused function prototype [169]
+ o dynbuf: fix returncode on memory error [174]
+ o EXPERIMENTAL: add graduation requirements for each feature [166]
o file: remove useless assignment [89]
o ftp: fix socket leak on rare error [102]
o GHA: add shellcheck job and fix warnings, shell tidy-ups [70]
o GHA: add valgrind to a wolfSSL build [37]
o GHA: on macOS remove $HOME/.curlrc [50]
o gnutls: lazy init the trust settings [75]
+ o h3/ngtcp2: improve error handling [140]
o hash: change 'slots' to size_t from int [144]
- o http/2, http/3: decouple stream state from easy handle [92]
o http2 + ngtcp2: pass CURLcode errors from callbacks [94]
+ o http2, http3: decouple stream state from easy handle [92]
o http2: emit RST when client write fails [65]
o http3: quiche+ngtcp2 improvements [129]
o http: acknowledge a returned error code [123]
o idn: make Curl_idnconvert_hostname() use Curl_idn_decode() [16]
o if2ip: make the buf_size arg a size_t [142]
o INSTALL-CMAKE.md: explain `cmake -G <generator-name>` [32]
+ o krb5: use dynbuf [149]
+ o lib/cf-h1-proxy: silence compiler warnings (gcc 14) [155]
o lib: add trace support for client reads and writes [45]
+ o lib: make protocol handlers store scheme name lowercase [159]
o lib: merge `ENABLE_QUIC` C macro into `USE_HTTP3` [84]
+ o lib: remove two instances of "only only" messages [160]
o lib: silence `-Wsign-conversion` in base64, strcase, mprintf [139]
o lib: silence warnings on comma misuse [91]
o lib: use `#error` instead of invalid syntax in `curl_setup_once.h` [49]
o lib: use multi instead of multi_easy for the active multi [41]
o libcurl-opts: mention pipelining less [33]
+ o libssh2: delete redundant feature guard [171]
o libssh2: replace `access()` with `stat()` [145]
o libssh2: set length to 0 if strdup failed [6]
o m4: fix rustls pkg-config codepath [22]
o makefile: remove the sorting from the vc-ide action [42]
o maketgz: put docs/RELEASE-TOOL.md into the tarball [35]
+ o managen: fix the option sort order [150]
o mbedtls: call mbedtls_ssl_setup() after RNG callback is set [66]
o mbedtls: cut off trailing newlines from debug logs [87]
o mbedtls: fix building with v3 in CMake Unity mode [107]
+ o mbedtls: support TLS 1.3 [156]
o mime: avoid using access() [125]
o misc: fix typos [62]
+ o misc: fix typos, quoting and spelling [167]
o mprintf: check fputc error rather than matching returned character [82]
o mqtt: when Curl_xfer_recv returns error, don't use nread [101]
o multi: avoid memory-leak risk [134]
o tests: check caddy server version to match test expectations [106]
o tests: enable test 1117 for hyper [119]
o tests: fix feature case in test1481 [117]
+ o tests: Mark tftpd timer function as noreturn [168]
o tls: fix SecureTransport + BearSSL cmake unity builds [113]
+ o tls: remove EXAMPLEs from deprecated options [164]
o tls: use shared init code for TCP+QUIC [57]
o tool: move tool_ftruncate64 to tool_util.c [138]
o tool_cb_rea: limit rate unpause for -T . uploads [136]
+ o tool_cfgable: free {proxy_}cipher13_list on exit [172]
o tool_getparam: output warning for leading unicode quote character [14]
o tool_operate: don't truncate the etag save file by default [118]
o tool_operate: init vars unconditionally in post_per_transfer [124]
o urlapi: allow setting port number zero [76]
o urlapi: fix relative redirects to fragment-only [83]
o urldata: remove fields not used depending on used features [46]
+ o version: use msnprintf instead of strncpy [157]
o vquic: use CURL_FORMAT_CURL_OFF_T for 64 bit printf output [18]
o vtls: TLS session storage overhaul [130]
o winbuild: add ENABLE_WEBSOCKETS option [93]
advice from friends like these:
Abdullah Alyan, blankie, Brian Inglis, Carlos Henrique Lima Melara,
- Christian Schmitz, Chris Webb, Colin Leroy-Mira, Dagfinn Ilmari Mannsåker,
- Dan Fandrich, Daniel J. H., Daniel McCarney, Daniel Stenberg, Dmitry Karpov,
- Emanuele Torre, Evgeny Grin (Karlson2k), Fabian Keil, fuzzard, Gisle Vanem,
- Gusted, hammlee96 on github, Harmen Stoppels, Harry Sintonen, Hongfei Li,
- Jan Macku, Jan Venekamp, Jeff King, Jérôme Leclercq, Jiwoo Park,
- Johann Sebastian Schicho, Jonatan Vela, Kailun Qin, kalvdans on github,
- Keitagit-kun on github, Konstantin Kuzov, kpcyrd on github, Laramie Leavitt,
- magisterquis on hackerone, Marcel Raad, Matt Jolly, Mel Zuser,
- Michael Kaufmann, Michał Antoniak, Patrick Monnerat, Paul Gilmartin,
- Paul Howarth, Pavel Kropachev, Philip Heiduck, Rahul Krishna M, RainRat,
- Ray Satiro, riastradh on github, Robert Moreton, Sanjay Pujare,
- Sergey Bronnikov, Sergey Ogryzkov, Sergio Durigan Junior,
- southernedge on github, Stefan Eissing, Stephen Farrell, Tal Regev,
- Tobias Stoeckmann, Toon Claes, Viktor Szakats, zmcx16 on github
- (64 contributors)
+ Ch40zz on github, Christian Schmitz, Chris Webb, Colin Leroy-Mira,
+ Dagfinn Ilmari Mannsåker, Dan Fandrich, Daniel Gustafsson, Daniel J. H.,
+ Daniel McCarney, Daniel Stenberg, Dmitry Karpov, Emanuele Torre,
+ Evgeny Grin (Karlson2k), Fabian Keil, farazrbx on github, fuzzard,
+ Gisle Vanem, Gusted, hammlee96 on github, Harmen Stoppels, Harry Sintonen,
+ Hongfei Li, Ivan, Jan Macku, Jan Venekamp, Jeff King, Jérôme Leclercq,
+ Jiwoo Park, Johann Sebastian Schicho, Jonatan Vela, Kailun Qin,
+ kalvdans on github, Keitagit-kun on github, Konstantin Kuzov,
+ kpcyrd on github, Laramie Leavitt, Lucas Nussbaum, magisterquis on hackerone,
+ Marcel Raad, Matt Jolly, Mel Zuser, Michael Kaufmann, Michał Antoniak,
+ Patrick Monnerat, Paul Gilmartin, Paul Howarth, Pavel Kropachev,
+ Pavel Pavlov, Philip Heiduck, Rahul Krishna M, RainRat, Ray Satiro,
+ riastradh on github, Robert Moreton, Sanjay Pujare, Sergey Bronnikov,
+ Sergey Ogryzkov, Sergio Durigan Junior, southernedge on github,
+ Stefan Eissing, Stephen Farrell, Tal Regev, Tobias Stoeckmann, Toon Claes,
+ Viktor Szakats, zmcx16 on github
+ (70 contributors)
References to bug reports and discussions on issues:
[137] = https://curl.se/bug/?i=13451
[138] = https://curl.se/bug/?i=13458
[139] = https://curl.se/bug/?i=13467
+ [140] = https://curl.se/bug/?i=13562
[141] = https://curl.se/bug/?i=13495
[142] = https://curl.se/bug/?i=13505
[143] = https://curl.se/bug/?i=13503
[144] = https://curl.se/bug/?i=13502
[145] = https://curl.se/bug/?i=13498
[146] = https://curl.se/bug/?i=13500
+ [147] = https://curl.se/bug/?i=13557
+ [149] = https://curl.se/bug/?i=13568
+ [150] = https://curl.se/bug/?i=13567
+ [152] = https://curl.se/bug/?i=13566
+ [154] = https://curl.se/bug/?i=13554
+ [155] = https://curl.se/bug/?i=13237
+ [156] = https://curl.se/bug/?i=13539
+ [157] = https://curl.se/bug/?i=13549
+ [158] = https://curl.se/bug/?i=13550
+ [159] = https://curl.se/bug/?i=13553
+ [160] = https://curl.se/bug/?i=13551
+ [161] = https://curl.se/bug/?i=13509
+ [162] = https://curl.se/bug/?i=13542
+ [163] = https://curl.se/bug/?i=13529
+ [164] = https://curl.se/bug/?i=13540
+ [166] = https://curl.se/bug/?i=13541
+ [167] = https://curl.se/bug/?i=13538
+ [168] = https://curl.se/bug/?i=13534
+ [169] = https://curl.se/bug/?i=13536
+ [171] = https://curl.se/bug/?i=13537
+ [172] = https://curl.se/bug/?i=13531
+ [173] = https://curl.se/bug/?i=13504
+ [174] = https://curl.se/bug/?i=13533