curl/RELEASE-NOTES
2024-08-09 09:43:28 +02:00

241 lines
10 KiB
Plaintext

curl and libcurl 8.10.0
Public curl releases: 260
Command line options: 265
curl_easy_setopt() options: 306
Public functions in libcurl: 94
Contributors: 3220
This release includes the following changes:
o curl: --help [option] displays documentation for given cmdline option [19]
o curl: add --skip-existing [54]
o curl: for -O, use "default" as filename when the URL has none [34]
o curl: make --rate accept "number of units" [4]
o curl: make --show-headers the same as --include [6]
o curl: support --dump-header % to direct to stderr [31]
o curl: support embedding a CA bundle and --dump-ca-embed [20]
o curl: support repeated use of the verbose option; -vv etc [35]
o curl: use libuv for parallel transfers with --test-event [82]
o mbedtls: add CURLOPT_TLS13_CIPHERS support [78]
o vtls: stop offering alpn http/1.1 for http2-prior-knowledge [53]
o wolfssl: add CURLOPT_TLS13_CIPHERS support [76]
o wolfssl: add support for ssl cert blob / ssl key blob options [50]
This release includes the following bugfixes:
o autotools: fix typo in tests/data target [30]
o aws_sigv4: fix canon order for headers with same prefix [74]
o bearssl: improve shutdown handling [45]
o BINDINGS: add zig binding [100]
o cfilters: send flush [13]
o CHANGES: rename to CHANGES.md, no longer generated [40]
o CI: enable parallel testing in CI builds [18]
o ci: Update actions/upload-artifact digest to 89ef406 [24]
o cmake: add Linux CI job, fix pytest with cmake [71]
o cmake: add math library when using wolfssl and ngtcp2 [66]
o cmake: add support for versioned symbols option [51]
o cmake: cleanup header paths [59]
o cmake: delete MSVC warning suppression for tests/server [101]
o cmake: detect `nghttp2` via `pkg-config`, enable by default [21]
o cmake: detect and show VCPKG in platform flags [84]
o cmake: distcheck for files in CMake subdir [9]
o cmake: drop custom `CMakeOutput.log`/`CMakeError.log` logs [27]
o cmake: drop no-op `tests/data/CMakeLists.txt` [26]
o cmake: drop reference to undefined variable [25]
o cmake: drop unused `HAVE_IDNA_STRERROR` [62]
o cmake: drop unused internal variable [22]
o cmake: fix `GSS_VERSION` for Heimdal found via pkg-config [77]
o cmake: fix `pkg-config`-based detection in `FindGSS.cmake` [94]
o cmake: more small tidy-ups and fixes [80]
o cmake: show CMake platform/compiler flags [63]
o cmake: use numeric comparison for `HAVE_WIN32_WINNT` [69]
o configure: detect AppleIDN [70]
o configure: fail if PSL is not disabled but not found [46]
o curl: allow 500MB data URL encode strings [38]
o curl: fix --proxy-pinnedpubkey [91]
o curl: warn on unsupported SSL options [106]
o Curl_rand_bytes to control env override [17]
o dist: add missing `docs/examples/CMakeLists.txt` [58]
o dist: add missing `FindNettle.cmake` [11]
o dist: add missing `test_*.py` scripts [102]
o dist: drop buildconf [65]
o dist: fix reproducible build from release tarball [36]
o dmaketgz: only run 'make distclean' if Makefile exists
o docs: mention "@-" in more places [67]
o doh-url.md: point out DOH server IP pinning [37]
o easy: fix curl_easy_upkeep for shared connection caches [52]
o escape: allow curl_easy_escape to generate 3*input length output [39]
o ftp: flush pingpong before response [73]
o GHA/windows: enable MulitSSL in an MSVC job [2]
o GHA: scan git repository and detect unvetted binary files [3]
o http/2: simplify eos/blocked handling [90]
o http2: improve rate limiting of downloads [33]
o http2: improved upload eos handling [41]
o idn: more strictly check AppleIDN errors [98]
o idn: support non-UTF-8 input under AppleIDN [99]
o INSTALL.md: MultiSSL and QUIC are mutually exclusive [7]
o KNOWN_BUGS: "special characers" in URL works with aws-sigv4 [81]
o krb5: add Linux/macOS CI tests, fix cmake GSS detection [83]
o krb5: fix `-Wcast-align` [95]
o lib: add eos flag to send methods [14]
o lib: convert some debugf()s into traces [8]
o libcurl.pc: add `Cflags.private` [10]
o Makefile.mk: fixup enabling libidn2 [61]
o Makefile: remove 'scripts' duplicate from DIST_SUBDIRS
o maketgz: accept option to include latest commit hash [5]
o manpage: ensure a maximum width for the text version [75]
o max-filesize.md: mention zero disables the limit [93]
o mk-ca-bundle.pl: include a link to the caextract webpage [68]
o ngtcp2: use NGHTTP3 prefix instead of NGTCP2 for errors in h3 callbacks [79]
o openssl: improve shutdown handling [44]
o progress: ratelimit/progress tweaks [32]
o pytests: add tests for HEAD requests in all HTTP versions [42]
o runtests: if DISABLED cannot be read, error out [56]
o rustls: make all tests pass [1]
o sigpipe: init the struct so that first apply ignores [49]
o test556: improve robustness [64]
o test579: improve robustness [60]
o test677: improve robustness [47]
o tests/runner: only allow [!A-Za-z0-9_-] in %if feature names [55]
o tests: ignore QUIT from FTP protocol comparisons [108]
o tests: provide docs as curldown, not nroff [12]
o tidy-up: OS names [57]
o tool_operhlp: fix "potentially uninitialized local variable 'pc' used" [48]
o url: dns_entry related improvements [16]
o verify-release: shell script that verifies a release tarball [29]
o vtls: add SSLSUPP_CIPHER_LIST [107]
o vtls: fix MSVC 'cast truncates constant value' warning [23]
o vtls: init ssl peer only once [15]
o wolfssl: avoid taking cached x509 store ref if sslctx already using it [88]
o wolfssl: improve shutdown handling [43]
o ws: flags to opcodes should ignore CURLWS_CONT flag [104]
o x509asn1: raise size limit for x509 certification information [28]
This release includes the following known bugs:
See docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
For all changes ever done in curl:
See https://curl.se/changes.html
Planned upcoming removals include:
o TLS libraries not supporting TLS 1.3
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:
Alex Snast, Antoine du Hamel, Austin Moore, Bo Anderson, Christoph Reiter,
Dan Fandrich, Daniel Stenberg, David Sardari, dependabot[bot], Jan Venekamp,
Jiacai Liu, Joe Birr-Pixton, John Haugabook, kit-ty-kate on github,
MasterInQuestion on github, Matt Jolly, Moritz Buhl, Pete Cordell,
Rasmus Thomsen, Ray Satiro, renovate[bot], Ryan Carsten Schmidt,
Sergio Durigan Junior, Slaven Rezić, Stefan Eissing, Tal Regev,
Viktor Szakats, Yedaya Katsman
(28 contributors)
References to bug reports and discussions on issues:
[1] = https://curl.se/bug/?i=14317
[2] = https://curl.se/bug/?i=14276
[3] = https://curl.se/bug/?i=14333
[4] = https://curl.se/bug/?i=14245
[5] = https://curl.se/bug/?i=14363
[6] = https://curl.se/bug/?i=13987
[7] = https://curl.se/bug/?i=14308
[8] = https://curl.se/bug/?i=14322
[9] = https://curl.se/bug/?i=14323
[10] = https://curl.se/bug/?i=14321
[11] = https://curl.se/bug/?i=14285
[12] = https://curl.se/bug/?i=14324
[13] = https://curl.se/bug/?i=14271
[14] = https://curl.se/bug/?i=14220
[15] = https://curl.se/bug/?i=14152
[16] = https://curl.se/bug/?i=14195
[17] = https://curl.se/bug/?i=14264
[18] = https://curl.se/bug/?i=11510
[19] = https://curl.se/bug/?i=13997
[20] = https://curl.se/bug/?i=14059
[21] = https://curl.se/bug/?i=14136
[22] = https://curl.se/bug/?i=14361
[23] = https://curl.se/bug/?i=14341
[24] = https://curl.se/bug/?i=14359
[25] = https://curl.se/bug/?i=14358
[26] = https://curl.se/bug/?i=14357
[27] = https://curl.se/bug/?i=14356
[28] = https://curl.se/bug/?i=14352
[29] = https://curl.se/bug/?i=14350
[30] = https://curl.se/bug/?i=14355
[31] = https://curl.se/bug/?i=13992
[32] = https://curl.se/bug/?i=14335
[33] = https://curl.se/bug/?i=14326
[34] = https://curl.se/bug/?i=13988
[35] = https://curl.se/bug/?i=13977
[36] = https://curl.se/bug/?i=14336
[37] = https://curl.se/bug/?i=14377
[38] = https://curl.se/bug/?i=14337
[39] = https://curl.se/bug/?i=14339
[40] = https://curl.se/bug/?i=14331
[41] = https://curl.se/bug/?i=14253
[42] = https://curl.se/bug/?i=14367
[43] = https://curl.se/bug/?i=14376
[44] = https://curl.se/bug/?i=14375
[45] = https://curl.se/bug/?i=14374
[46] = https://curl.se/bug/?i=14373
[47] = https://curl.se/bug/?i=14455
[48] = https://curl.se/bug/?i=14389
[49] = https://curl.se/bug/?i=14344
[50] = https://curl.se/bug/?i=14018
[51] = https://curl.se/bug/?i=14349
[52] = https://curl.se/bug/?i=12677
[53] = https://curl.se/bug/?i=9963
[54] = https://curl.se/bug/?i=13993
[55] = https://curl.se/bug/?i=14403
[56] = https://curl.se/bug/?i=14411
[57] = https://curl.se/bug/?i=14360
[58] = https://curl.se/bug/?i=14380
[59] = https://curl.se/bug/?i=14416
[60] = https://curl.se/bug/?i=14454
[61] = https://curl.se/bug/?i=14421
[62] = https://curl.se/bug/?i=14420
[63] = https://curl.se/bug/?i=14417
[64] = https://curl.se/bug/?i=14453
[65] = https://curl.se/bug/?i=14412
[66] = https://curl.se/bug/?i=14343
[67] = https://curl.se/bug/?i=14402
[68] = https://github.com/curl/curl-www/issues/374
[69] = https://curl.se/bug/?i=14409
[70] = https://curl.se/bug/?i=14401
[71] = https://curl.se/bug/?i=14382
[73] = https://curl.se/bug/?i=14452
[74] = https://curl.se/bug/?i=14370
[75] = https://curl.se/bug/?i=14423
[76] = https://curl.se/bug/?i=14385
[77] = https://curl.se/bug/?i=14393
[78] = https://curl.se/bug/?i=14384
[79] = https://curl.se/bug/?i=14394
[80] = https://curl.se/bug/?i=14450
[81] = https://curl.se/bug/?i=13754
[82] = https://curl.se/bug/?i=14298
[83] = https://curl.se/bug/?i=14447
[84] = https://curl.se/bug/?i=14451
[88] = https://curl.se/bug/?i=14442
[90] = https://curl.se/bug/?i=14435
[91] = https://curl.se/bug/?i=14438
[93] = https://curl.se/bug/?i=14440
[94] = https://curl.se/bug/?i=14430
[95] = https://curl.se/bug/?i=14433
[98] = https://curl.se/bug/?i=14431
[99] = https://curl.se/bug/?i=14431
[100] = https://curl.se/bug/?i=14437
[101] = https://curl.se/bug/?i=14428
[102] = https://curl.se/bug/?i=14427
[104] = https://curl.se/bug/?i=14397
[106] = https://curl.se/bug/?i=14406
[107] = https://curl.se/bug/?i=14406
[108] = https://curl.se/bug/?i=14404