123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- curl and libcurl 8.8.0
- Public curl releases: 257
- Command line options: 259
- curl_easy_setopt() options: 305
- Public functions in libcurl: 94
- Contributors: 3159
- 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 mbedTLS: implement CURLOPT_SSL_CIPHER_LIST option [103]
- o NTLM_WB: drop support [67]
- o TLS: add support for ECH (Encrypted Client Hello) [109]
- o urlapi: add CURLU_GET_EMPTY for empty queries and fragments [111]
- This release includes the following bugfixes:
- o bearssl: fix compiler warnings [43]
- 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 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 `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: 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 cmake: fixup `DEPENDS` filename [51]
- o cmake: forward `USE_LIBRTMP` option to C [59]
- o cmake: generate misc manpages and install `mk-ca-bundle.pl` [24]
- o cmake: speed up libcurl doc building again [15]
- o cmake: tidy-up to use `WORKING_DIRECTORY` [23]
- o cmake: use namespaced custom target names [80]
- o cmdline-docs: fix make install with configure --disable-docs [1]
- o configure: make --disable-docs imply --disable-manual [2]
- o content_encoding: brotli and others, pass through 0-length writes [5]
- o content_encoding: ignore duplicate chunked encoding [137]
- o contrithanks: honor `CURLWWW` variable [69]
- o curl-confopts.m4: define CARES_NO_DEPRECATED when c-ares is used [17]
- o curl: make --help adapt to the terminal width [11]
- o curl: use curl_getenv instead of the curlx_ version [20]
- 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_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 curl_url_get.md: clarify queries and fragments and CURLU_GET_EMPTY [105]
- 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 dist: do not require Perl in `maketgz` [71]
- o dist: remove the curl-config.1 from the tarball [28]
- o dist: verify tarball reproducibility in CI [40]
- o DISTROS: add patch and issues link for curl-for-win [110]
- o DISTROS: Cygwin updates [44]
- o dllmain: Call OpenSSL thread cleanup for Windows and Cygwin [114]
- o doc: pytest `--repeat` -> `--count` [58]
- o docs/cmdline-opts: invoke managen using a relative path [30]
- 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 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 http/2, http/3: decouple stream state from easy handle [92]
- o http2 + ngtcp2: pass CURLcode errors from callbacks [94]
- o http2: emit RST when client write fails [65]
- o http3: quiche+ngtcp2 improvements [129]
- o http: acknowledge a returned error code [123]
- o http: reject HTTP major version switch mid connection [100]
- o http: with chunked POST forced, disable length check on read callback [31]
- o http_aws_sigv4: remove useless assignment [88]
- 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 `-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: 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 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 mime: avoid using access() [125]
- o misc: fix typos [62]
- 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 multi: introduce SETUP state for better timeouts [26]
- o multi: multi_wait improvements [131]
- o multi: remove the unused Curl_preconnect function [98]
- o multi: timeout handles even without connection [81]
- o openldap: create ldap URLs correctly for IPv6 addresses [19]
- o openssl: do not set SSL_MODE_RELEASE_BUFFERS [10]
- o OS400: fix shellcheck warnings in scripts [72]
- o projects: drop MSVC project files for recent versions [79]
- o quic: fixup duplicate static function name (for cmake unity) [77]
- o quiche: expire all active transfers on connection close [116]
- o RELEASE-PROCEDURE: mention an initial working build [7]
- o request: make Curl_req_init return void [96]
- 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 rustls: remove incorrect SSLSUPP_TLS13_CIPHERSUITES flag [115]
- o sendf: fix two typos in comments [90]
- o sendf: useless assignment in cr_lc_read() [120]
- o smtp: result of Curl_bufq_cread was not used [78]
- o telnet: check return code from fileno() [112]
- o tests/http: fix compiler warning [39]
- o tests: add -q as first option when invoking curl for tests [97]
- 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 tls: fix SecureTransport + BearSSL cmake unity builds [113]
- o tls: use shared init code for TCP+QUIC [57]
- o tool: move tool_ftruncate64 to tool_util.c [138]
- 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 tool_paramhlp: remove duplicate assign [121]
- 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 transfer: remove useless assignment [122]
- o url: do not URL decode proxy crendentials [55]
- o url: fix use of an uninitialized variable [86]
- 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 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]
- o winbuild: use $(RC) correctly [27]
- o wolfssl: plug memory leak in wolfssl_connect_step2() [25]
- This release includes the following known bugs:
- o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
- Planned upcoming removals include:
- o support for space-separated NOPROXY patterns
- See https://curl.se/dev/deprecate.html for details
- This release would not have looked like this without help, code, reports and
- 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, 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,
- 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
- (62 contributors)
- References to bug reports and discussions on issues:
- [1] = https://curl.se/bug/?i=13198
- [2] = https://curl.se/bug/?i=13191
- [3] = https://curl.se/bug/?i=13205
- [4] = https://curl.se/bug/?i=13220
- [5] = https://curl.se/bug/?i=13209
- [6] = https://curl.se/bug/?i=13213
- [7] = https://curl.se/bug/?i=13216
- [8] = https://curl.se/bug/?i=13208
- [9] = https://curl.se/bug/?i=13210
- [10] = https://curl.se/bug/?i=13203
- [11] = https://curl.se/bug/?i=13171
- [12] = https://curl.se/bug/?i=13247
- [13] = https://curl.se/bug/?i=13245
- [14] = https://curl.se/bug/?i=13214
- [15] = https://curl.se/bug/?i=13207
- [16] = https://curl.se/bug/?i=13236
- [17] = https://curl.se/bug/?i=13240
- [18] = https://curl.se/bug/?i=13224
- [19] = https://curl.se/bug/?i=13228
- [20] = https://curl.se/bug/?i=13230
- [21] = https://curl.se/bug/?i=13225
- [22] = https://curl.se/bug/?i=13200
- [23] = https://curl.se/bug/?i=13206
- [24] = https://curl.se/bug/?i=13197
- [25] = https://curl.se/bug/?i=13272
- [26] = https://curl.se/bug/?i=13371
- [27] = https://curl.se/bug/?i=13267
- [28] = https://curl.se/bug/?i=13268
- [29] = https://curl.se/bug/?i=13263
- [30] = https://curl.se/bug/?i=13281
- [31] = https://curl.se/bug/?i=13229
- [32] = https://curl.se/bug/?i=13244
- [33] = https://curl.se/bug/?i=13254
- [34] = https://curl.se/bug/?i=13135
- [35] = https://curl.se/bug/?i=13239
- [36] = https://curl.se/bug/?i=13242
- [37] = https://curl.se/bug/?i=13274
- [38] = https://curl.se/bug/?i=13299
- [39] = https://curl.se/bug/?i=13301
- [40] = https://curl.se/bug/?i=13327
- [41] = https://curl.se/bug/?i=12665
- [42] = https://curl.se/bug/?i=13294
- [43] = https://curl.se/bug/?i=13290
- [44] = https://curl.se/bug/?i=13258
- [45] = https://curl.se/bug/?i=13223
- [46] = https://curl.se/bug/?i=13188
- [47] = https://curl.se/bug/?i=13286
- [48] = https://curl.se/bug/?i=13282
- [49] = https://curl.se/bug/?i=13287
- [50] = https://curl.se/bug/?i=13284
- [51] = https://curl.se/bug/?i=13283
- [52] = https://curl.se/bug/?i=13269
- [53] = https://curl.se/bug/?i=13346
- [54] = https://curl.se/bug/?i=13260
- [55] = https://curl.se/bug/?i=13265
- [56] = https://curl.se/bug/?i=13322
- [57] = https://curl.se/bug/?i=13172
- [58] = https://curl.se/bug/?i=13218
- [59] = https://curl.se/bug/?i=13364
- [60] = https://curl.se/bug/?i=13313
- [61] = https://curl.se/bug/?i=13348
- [62] = https://curl.se/bug/?i=13344
- [63] = https://curl.se/bug/?i=13137
- [64] = https://curl.se/bug/?i=13264
- [65] = https://curl.se/bug/?i=13292
- [66] = https://curl.se/bug/?i=13314
- [67] = https://curl.se/bug/?i=13249
- [68] = https://curl.se/bug/?i=13335
- [69] = https://curl.se/bug/?i=13315
- [70] = https://curl.se/bug/?i=13307
- [71] = https://curl.se/bug/?i=13310
- [72] = https://curl.se/bug/?i=13309
- [73] = https://curl.se/bug/?i=13368
- [74] = https://curl.se/bug/?i=13372
- [75] = https://curl.se/bug/?i=13339
- [76] = https://curl.se/bug/?i=13427
- [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
- [88] = https://curl.se/bug/?i=13426
- [89] = https://curl.se/bug/?i=13425
- [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
- [94] = https://curl.se/bug/?i=13411
- [95] = https://curl.se/bug/?i=13246
- [96] = https://curl.se/bug/?i=13423
- [97] = https://curl.se/bug/?i=13387
- [98] = https://curl.se/bug/?i=13422
- [99] = https://curl.se/bug/?i=13419
- [100] = https://curl.se/bug/?i=13421
- [101] = https://curl.se/bug/?i=13418
- [102] = https://curl.se/bug/?i=13417
- [103] = https://curl.se/bug/?i=13442
- [104] = https://curl.se/bug/?i=13337
- [105] = https://curl.se/bug/?i=13407
- [106] = https://curl.se/bug/?i=13405
- [107] = https://curl.se/bug/?i=13377
- [108] = https://curl.se/bug/?i=13373
- [109] = https://curl.se/bug/?i=11922
- [110] = https://curl.se/bug/?i=13499
- [111] = https://curl.se/bug/?i=13396
- [112] = https://curl.se/bug/?i=13457
- [113] = https://curl.se/bug/?i=13450
- [114] = https://curl.se/bug/?i=12327
- [115] = https://curl.se/bug/?i=13452
- [116] = https://curl.se/bug/?i=13439
- [117] = https://curl.se/bug/?i=13445
- [118] = https://curl.se/bug/?i=13432
- [119] = https://curl.se/bug/?i=13436
- [120] = https://curl.se/bug/?i=13437
- [121] = https://curl.se/bug/?i=13433
- [122] = https://curl.se/bug/?i=13435
- [123] = https://curl.se/bug/?i=13434
- [124] = https://curl.se/bug/?i=13430
- [125] = https://curl.se/bug/?i=13497
- [127] = https://curl.se/bug/?i=13494
- [128] = https://curl.se/bug/?i=13491
- [129] = https://curl.se/bug/?i=13475
- [130] = https://curl.se/bug/?i=13386
- [131] = https://curl.se/bug/?i=13150
- [133] = https://curl.se/bug/?i=13355
- [134] = https://curl.se/bug/?i=13471
- [137] = https://curl.se/bug/?i=13451
- [138] = https://curl.se/bug/?i=13458
- [139] = https://curl.se/bug/?i=13467
- [141] = https://curl.se/bug/?i=13495
|