mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
320 lines
14 KiB
Plaintext
320 lines
14 KiB
Plaintext
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
|