Public curl releases: 257
Command line options: 258
- curl_easy_setopt() options: 304
+ curl_easy_setopt() options: 305
Public functions in libcurl: 94
- Contributors: 3148
+ Contributors: 3151
This release includes the following changes:
o curl_version_info: provide librtmp version [73]
o file: add support for directory listings [63]
+ o idn: add native AppleIDN (icucore) support for macOS/iOS [95]
o lib: add curl_multi_waitfds [34]
o NTLM_WB: drop support [67]
+ o TLS: add support for ECH (Encrypted Client Hello) [109]
This release includes the following bugfixes:
o cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set [36]
o cf-socket: remove references to l_ip, l_port [9]
o ci: add curl-for-win builds: Linux MUSL, macOS, Windows [68]
+ o cmake: add librtmp/rtmpdump option and detection [108]
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: fix `CURL_WERROR=ON` for old CMake and use it in GHA/linux-old [48]
o curl: make --help adapt to the terminal width [11]
o curl: use curl_getenv instead of the curlx_ version [20]
o curl_global_trace.md: shorten the description [29]
- o curl_sha512_255: fix detection of OpenSSL 1.1.1 or later [8]
+ o curl_sha512_256: fix detection of OpenSSL 1.1.1 or later [8]
o curl_sha512_256: do not use workaround for NetBSD when not needed [21]
o CURLINFO_REQUEST_SIZE: fixed, add tests for transfer infos reported [52]
+ o cw-out: improved error handling [104]
o dist: `set -eu`, fix shellcheck, make reproducible and smaller tarballs [38]
o dist: add files missing from release tarball [53]
o dist: add reproducible dir entries to tarballs [56]
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 http/2, http/3: decouple stream state from easy handle [92]
o http2: emit RST when client write fails [65]
o http: with chunked POST forced, disable length check on read callback [31]
o idn: make Curl_idnconvert_hostname() use Curl_idn_decode() [16]
o INSTALL-CMAKE.md: explain `cmake -G <generator-name>` [32]
o lib: add trace support for client reads and writes [45]
o lib: merge `ENABLE_QUIC` C macro into `USE_HTTP3` [84]
+ 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 maketgz: put docs/RELEASE-TOOL.md into the tarball [35]
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 misc: fix typos [62]
o mprintf: check fputc error rather than matching returned character [82]
o multi: introduce SETUP state for better timeouts [26]
o RELEASE-PROCEDURE: mention an initial working build [7]
o request: paused upload on completed download, assess connection [54]
o reuse: add copyright + license info to individual docs/*.md files [13]
+ o ROADMAP: remove completed entries, mention websocket
+ o sendf: fix two typos in comments [90]
+ o smtp: result of Curl_bufq_cread was not used [78]
o tests/http: fix compiler warning [39]
+ o tests: add -q as first option when invoking curl for tests [97]
o tls: use shared init code for TCP+QUIC [57]
o tool_getparam: output warning for leading unicode quote character [14]
o tool_xattr: "guess" URL scheme if none is provided [3]
o tool_xattr: in debug builds, act normally if CURL_FAKE_XATTR is not set [4]
o url: do not URL decode proxy crendentials [55]
+ o url: fix use of an uninitialized variable [86]
+ o urlapi: fix relative redirects to fragment-only [83]
o urldata: remove fields not used depending on used features [46]
o vquic: use CURL_FORMAT_CURL_OFF_T for 64 bit printf output [18]
+ o winbuild: add ENABLE_WEBSOCKETS option [93]
o winbuild: use $(RC) correctly [27]
o wolfssl: plug memory leak in wolfssl_connect_step2() [25]
This release would not have looked like this without help, code, reports and
advice from friends like these:
- blankie, Brian Inglis, Carlos Henrique Lima Melara, 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, Gisle Vanem, hammlee96 on github,
- Harry Sintonen, hongfei.li, Jan Macku, Jeff King, Jérôme Leclercq,
- Jonatan Vela, Kailun Qin, kalvdans on github, Keitagit-kun on github,
- Konstantin Kuzov, kpcyrd on github, Marcel Raad, Matt Jolly,
- Michael Kaufmann, Michał Antoniak, Patrick Monnerat, Paul Howarth,
- Rahul Krishna M, RainRat, Ray Satiro, riastradh on github, Robert Moreton,
- Sanjay Pujare, Sergey Bronnikov, Sergey Ogryzkov, Sergio Durigan Junior,
- Stefan Eissing, Tal Regev, Tobias Stoeckmann, Toon Claes, Viktor Szakats
- (47 contributors)
+ 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, Gisle Vanem,
+ hammlee96 on github, Harry Sintonen, Hongfei Li, Jan Macku, Jeff King,
+ Jérôme Leclercq, Jiwoo Park, Jonatan Vela, Kailun Qin, kalvdans on github,
+ Keitagit-kun on github, Konstantin Kuzov, kpcyrd on github, Marcel Raad,
+ Matt Jolly, Michael Kaufmann, Michał Antoniak, Patrick Monnerat,
+ Paul Howarth, Pavel Kropachev, Rahul Krishna M, RainRat, Ray Satiro,
+ riastradh on github, Robert Moreton, Sanjay Pujare, Sergey Bronnikov,
+ Sergey Ogryzkov, Sergio Durigan Junior, Stefan Eissing, Stephen Farrell,
+ Tal Regev, Tobias Stoeckmann, Toon Claes, Viktor Szakats
+ (51 contributors)
References to bug reports and discussions on issues:
[74] = https://curl.se/bug/?i=13372
[75] = https://curl.se/bug/?i=13339
[77] = https://curl.se/bug/?i=13332
+ [78] = https://curl.se/bug/?i=13398
[79] = https://curl.se/bug/?i=13311
[80] = https://curl.se/bug/?i=13324
[81] = https://curl.se/bug/?i=13276
[82] = https://curl.se/bug/?i=13367
+ [83] = https://curl.se/bug/?i=13394
[84] = https://curl.se/bug/?i=13352
[85] = https://curl.se/bug/?i=13349
+ [86] = https://curl.se/bug/?i=13399
[87] = https://curl.se/bug/?i=13321
+ [90] = https://curl.se/bug/?i=13393
+ [91] = https://curl.se/bug/?i=13392
+ [92] = https://curl.se/bug/?i=13204
+ [93] = https://curl.se/bug/?i=13232
+ [95] = https://curl.se/bug/?i=13246
+ [97] = https://curl.se/bug/?i=13387
+ [104] = https://curl.se/bug/?i=13337
+ [107] = https://curl.se/bug/?i=13377
+ [108] = https://curl.se/bug/?i=13373
+ [109] = https://curl.se/bug/?i=11922