Command line options: 248
curl_easy_setopt() options: 300
Public functions in libcurl: 91
- Contributors: 2719
+ Contributors: 2726
This release includes the following changes:
o altsvc: use 'h3' for h3 [46]
o asyn-ares: set hint flags when calling ares_getaddrinfo [93]
o autotools: allow --enable-symbol-hiding with windows [65]
+ o autotools: allow unix sockets on Windows [144]
o autotools: reduce brute-force when detecting recv/send arg list [66]
+ o aws_sigv4: fix header computation [139]
o bearssl: make it proper C89 compliant
o CI/GHA: cancel outdated CI runs on new PR changes [20]
o CI/GHA: merge msh3 and openssl3 builds into linux workflow [110]
o cirrus-ci: add macOS build with m1 [81]
o cirrus: use make LDFLAGS=-all-static instead of curl_LDFLAGS [129]
o cli tool: do not use disabled protocols
+ o cmake: add missing inet_ntop check [145]
o cmake: add the check of HAVE_SOCKETPAIR [98]
o cmake: define BUILDING_LIBCURL in lib/CMakeLists, not config.h [5]
+ o cmake: enable more detection on Windows [143]
o cmake: fix enabling websocket support [116]
o cmake: fix original MinGW builds [177]
o configure: correct the wording when checking grep -E [13]
o connect: fix Curl_updateconninfo for TRNSPRT_UNIX [108]
o connect: fix the wrong error message on connect failures [55]
o content_encoding: use writer struct subclasses for different encodings [8]
+ o cookie: reject cookie names or content with TAB characters [94]
o ctype: remove all use of <ctype.h>, use our own versions [12]
o curl-compilers.m4: for gcc + want warnings, set gnu89 standard [72]
o curl-compilers.m4: use -O2 as default optimize for clang [6]
o curl-wolfssl.m4: error out if wolfSSL is not usable [102]
o curl.h: fix mention of wrong error code in comment
o curl/add_file_name_to_url: use the libcurl URL parser [99]
+ o curl/add_parallel_transfers: better error handling [101]
o curl/get_url_file_name: use libcurl URL parser [97]
o curl: warn for --ssl use, considered insecure [49]
o curl_ctype: convert to macros-only [10]
o CURLOPT_WILDCARDMATCH.3: Fix backslash escaping under single quotes [172]
o CURLSHOPT_UNLOCKFUNC.3: the callback has no 'access' argument [84]
o DEPRECATE.md: Support for systems without 64 bit data types [19]
+ o docs: fix deprecation versions inconsistencies [123]
o docs/examples: avoid deprecated options in examples where possible [115]
o docs/libcurl/symbols-in-versions: add several missing symbols
o docs: 100+ spellfixes
o http, vauth: always provide Curl_allow_auth_to_host() functionality [90]
o http2: make nghttp2 less picky about field whitespace [27]
o HTTP3.md: update Caddy example [76]
+ o http: try parsing Retry-After: as a number first [122]
o httpput-postfields.c: shorten string for C89 compliance [57]
o ldap: delete stray CURL_HAS_MOZILLA_LDAP reference [79]
o lib1560: extended to verify detect/reject of unknown schemes
o lib: add required Win32 setup definitions in setup-win32.h [4]
o lib: prepare the incoming of additional protocols [71]
o lib: sanitize conditional exclusion around MIME [82]
+ o lib: set more flags in config-win32.h [109]
o lib: the number four in a sequence is the "fourth" [28]
o Makefile.m32: deduplicate build rules [131]
+ o Makefile.m32: drop CROSSPREFIX and our CC/AR defaults [137]
o Makefile.m32: exclude libs & libpaths for shared mode exes [127]
o Makefile.m32: fix regression with tool_hugehelp [130]
o Makefile.m32: major rework [92]
+ o Makefile.m32: support more options [142]
o manpage-syntax.pl: all libcurl option symbols should be \fI-tagged [75]
o manpages: Fix spelling of "allows to" -> "allows one to" [171]
o misc: ISSPACE() => ISBLANK() [11]
o mprintf: use snprintf if available [74]
o msh3: change the static_assert to make the code C89
o netrc: compare user name case sensitively [118]
+ o netrc: use the URL-decoded user [103]
o ngtcp2: fix C89 compliance nit
o openssl: make certinfo available for QUIC [91]
o README.md: add GHA status badges for Linux and macOS builds [40]
o resolve: make forced IPv4 resolve only use A queries [61]
o runtests: fix uninitialized value on ignored tests [128]
o schannel: ban server ALPN change during recv renegotiation [63]
+ o schannel: when importing PFX, disable key persistence [141]
o scripts: use `grep -E` instead of `egrep` [30]
o setopt: use the handler table for protocol name to number conversions [45]
o setopt: when POST is set, reset the 'upload' field [51]
o setup-win32: no longer define UNICODE/_UNICODE implicitly [3]
o single_transfer: use the libcurl URL parser when appending query parts [100]
+ o smb: replace CURL_WIN32 with WIN32 [138]
o strcase: add and use Curl_timestrcmp [106]
o strerror: improve two URL API error messages
o symbol-scan.pl: also check for LIBCURL* symbols [43]
o symbols-in-versions: add missing LIBCURL* symbols
o symbols-in-versions: CURLOPT_ENCODING is deprecated since 7.21.6
o test1119: scan all public headers [44]
+ o test1275: verify uppercase after period in markdown [135]
o test972: verify the output without using external tool [32]
o tests/certs/scripts: insert standard curl source headers [169]
o tests/Makefile: remove run time stats from ci-test [120]
o tests: fix tag syntax errors in test files
o tests: skip mime/form tests when mime is not built-in [54]
o tidy-up: delete parallel/unused feature flags [117]
+ o tidy-up: delete unused HAVE_STRUCT_POLLFD [134]
o TODO: Provide the error body from a CONNECT response [67]
o tool: avoid generating ambiguous escaped characters in --libcurl [124]
o tool: remove dead code [70]
o tool_operate: avoid a few #ifdefs for disabled-libcurl builds [29]
o tool_operate: prevent over-queuing in parallel mode [176]
o tool_operate: reduce errorbuffer allocs [173]
+ o tool_paramhelp: asserts verify maximum sizes for string loading [112]
o tool_progress: remove 'Qd' from the parallel progress bar [175]
o tool_setopt: use better English in --libcurl source comments [39]
o unit test 1655: make it C89-compliant [59]
o url: a zero-length userinfo part in the URL is still a (blank) user [64]
+ o url: allow non-HTTPS HSTS-matching for debug builds [105]
o url: rename function due to name-clash in Watt-32 [62]
o urlapi: detect scheme better when not guessing [56]
o urlapi: leaner with fewer allocs [2]
This release would not have looked like this without help, code, reports and
advice from friends like these:
- a1346054 on github, ajak in #curl, Andrew Lambert, Benjamin Loison,
- bsergean on github, Dan Fandrich, Daniel Hallberg, Daniel Stenberg, David Hu,
- Dmitry Karpov, Edoardo Lolletti, Eloy Degen, Emanuele Torre, Gisle Vanem,
- Hayden Roche, James Fuller, John Bampton, justchen1369 on github,
- Keitagit-kun on github, Marcel Raad, Marc Hörsken, Mark Itzcovitz,
- Martin Ågren, Matt Holt, Max Dymond, Michael Drake, Michael Heimpold,
- n0name321 on github, Orgad Shaneh, Patrick Monnerat, Paul Seligman,
- Petr Štetiar, Philip H, Philip H., Philip Heiduck, ProceduralMan on github,
- Randall S. Becker, Ray Satiro, RobBotic1 on github, Robby Simpson,
- Samuel Henrique, Sergey Bronnikov, ssdbest on github, Thiago Suchorski,
+ 12932 on github, a1346054 on github, Aftab Alam, ajak in #curl,
+ Andrew Lambert, Benjamin Loison, bsergean on github, Dan Fandrich,
+ Daniel Hallberg, Daniel Stenberg, David Hu, Dmitry Karpov, Dominik Klemba,
+ Dustin Howett, Edoardo Lolletti, Eloy Degen, Emanuele Torre, Gisle Vanem,
+ Hayden Roche, Hiroki Kurosawa, James Fuller, John Bampton, Jonas Haag,
+ justchen1369 on github, Keitagit-kun on github, Marcel Raad, Marc Hörsken,
+ Mark Itzcovitz, Martin Ågren, Matthias Gatto, Matt Holt, Max Dymond,
+ Michael Drake, Michael Heimpold, n0name321 on github, Orgad Shaneh,
+ Patrick Monnerat, Paul Seligman, Petr Štetiar, Philip H, Philip H.,
+ Philip Heiduck, ProceduralMan on github, Randall S. Becker, Ray Satiro,
+ RobBotic1 on github, Robby Simpson, Samuel Henrique, Sergey Bronnikov,
+ ShadowZzj on github, Shaun Mirani, ssdbest on github, Thiago Suchorski,
Tobias Schaefer, Trail of Bits, Vasiliy Ulyanov, Viktor Szakats, Xiang Xiao,
Yuriy Chernyshov, zhanghu on xiaomi
- (51 contributors)
+ (60 contributors)
References to bug reports and discussions on issues:
[91] = https://curl.se/bug/?i=9584
[92] = https://curl.se/bug/?i=9632
[93] = https://curl.se/bug/?i=9694
+ [94] = https://curl.se/bug/?i=9659
[95] = https://curl.se/bug/?i=9630
[96] = https://curl.se/bug/?i=9628
[97] = https://curl.se/bug/?i=9684
[98] = https://curl.se/bug/?i=9686
[99] = https://curl.se/bug/?i=9683
[100] = https://curl.se/bug/?i=9681
+ [101] = https://curl.se/bug/?i=9729
[102] = https://curl.se/bug/?i=9682
+ [103] = https://curl.se/bug/?i=9709
[104] = https://curl.se/bug/?i=9665
+ [105] = https://curl.se/bug/?i=9728
[106] = https://curl.se/bug/?i=9658
[108] = https://curl.se/bug/?i=9664
+ [109] = https://curl.se/bug/?i=9712
[110] = https://curl.se/bug/?i=9646
+ [112] = https://curl.se/bug/?i=9719
[113] = https://curl.se/bug/?i=9663
[114] = https://curl.se/bug/?i=9636
[115] = https://curl.se/bug/?i=9661
[119] = https://curl.se/bug/?i=9654
[120] = https://curl.se/bug/?i=9656
[121] = https://curl.se/bug/?i=9653
+ [122] = https://curl.se/bug/?i=9718
+ [123] = https://curl.se/bug/?i=9711
[124] = https://curl.se/bug/?i=9643
[125] = https://curl.se/mail/lib-2022-10/0007.html
[126] = https://curl.se/bug/?i=9637
[129] = https://curl.se/bug/?i=9633
[130] = https://curl.se/bug/?i=9645
[131] = https://curl.se/bug/?i=9642
+ [134] = https://curl.se/bug/?i=9707
+ [135] = https://curl.se/bug/?i=9697
+ [137] = https://curl.se/bug/?i=9698
+ [138] = https://curl.se/bug/?i=9701
+ [139] = https://curl.se/bug/?i=7966
+ [141] = https://curl.se/bug/?i=9300
+ [142] = https://curl.se/bug/?i=9680
+ [143] = https://curl.se/bug/?i=9687
+ [144] = https://github.com/curl/curl-for-win/blob/73a070d96fd906fdee929e2f1f00a9149fb39239/curl-autotools.sh#L44-L47
+ [145] = https://curl.se/bug/?i=9689
[164] = https://curl.se/bug/?i=9414
[169] = https://curl.se/bug/?i=9417
[170] = https://curl.se/bug/?i=9415