blob: e1e72b3da703956a534362fe3473ce72d0599b9b [file] [log] [blame]
Daniel Stenberg7b75bd52024-09-22 21:35:44 +02001curl and libcurl 8.11.0
Daniel Stenberg734c17a2003-09-22 21:38:52 +00002
Daniel Stenberg02362762024-09-18 15:20:56 +02003 Public curl releases: 262
Daniel Stenberg7c31ceb2024-08-05 09:03:11 +02004 Command line options: 265
Daniel Stenbergaab0c162024-06-14 13:30:06 +02005 curl_easy_setopt() options: 306
Daniel Stenberg64161922024-04-09 17:17:56 +02006 Public functions in libcurl: 94
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +02007 Contributors: 3245
Daniel Stenberg1fe8de82023-05-23 11:12:50 +02008
Daniel Stenberg10413992023-05-31 08:59:48 +02009This release includes the following changes:
10
Daniel Stenberg7b75bd52024-09-22 21:35:44 +020011 o curl: --create-dirs works for --dump-header as well [4]
12 o gtls: Add P12 format support [9]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020013 o ipfs: add options to disable [8]
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020014 o WebSockets: make support official (non-experimental) [106]
Daniel Stenberg10413992023-05-31 08:59:48 +020015
Daniel Stenberg734c17a2003-09-22 21:38:52 +000016This release includes the following bugfixes:
17
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020018 o alt-svc: honor data->state.httpwant [19]
19 o autotools: add support for 'unity' builds, enable in CI [15]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020020 o build: add pytest targets [71]
21 o build: clarify CA embed is for curl tool, mark default, improve summary [72]
22 o build: fix cross-compile check for poll with bionic [70]
23 o build: fix possible `-Wformat-overflow` in lib557 [85]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020024 o build: limit arc4random detection to no-SSL configs [43]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020025 o build: show if CA bundle to embed was found [83]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020026 o build: tidy up and improve versioned-symbols options [5]
27 o build: tidy up deprecation suppression, enable warnings for clang [12]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020028 o checksrc: Added checks for colon operator in ternary expressions [77]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020029 o checksrc: check for spaces around '?', '>' and '<' [46]
30 o cmake, Makefile.mk: use -isystem for headers, silence BearSSL issues [37]
31 o cmake/FindNGTCP2: use library path as hint for finding crypto module [40]
32 o cmake: allow building tests in unity mode [31]
33 o cmake: delete unused NEED_LBER_H, HAVE_LDAP_H [38]
34 o cmake: disable default OpenSSL if BearSSL, GnuTLS or Rustls is enabled [44]
Viktor Szakatscfae3542024-09-27 01:16:38 +020035 o cmake: drop redundant assignments [49]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020036 o cmake: drop redundant zlib var, rename function (internals) [50]
37 o cmake: expand CURL_USE_PKGCONFIG to non-cross MINGW [13]
38 o cmake: fix broken dependency chain for cmdline-opts, tidy-ups [11]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020039 o cmake: make `test-ci` target skip building dependencies [88]
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020040 o cmake: readd `generate-curl.1` dependency for `src` just in case [86]
Daniel Stenberg7b75bd52024-09-22 21:35:44 +020041 o cmake: require quictls (or fork) when using msh3 on non-Windows [14]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020042 o cmake: separate target for examples, optimize CI, fix fallouts [16]
43 o cmake: sync torture test parallelism with autotools [35]
44 o configure: catch Apple in more target triplets [6]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020045 o configure: improve help string for some options [78]
Daniel Stenberg7b75bd52024-09-22 21:35:44 +020046 o curl: add build options for safe/no CA bundle search (Windows) [26]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020047 o curl_trc: fix build with verbose messages disabled [79]
Daniel Stenberg02362762024-09-18 15:20:56 +020048 o curl_url_set.md: document HOST handling when URL is parsed [2]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020049 o CURLMOPT_PIPELINING.md: clarify that CURLPIPE_NOTHING is not default [54]
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020050 o docs/cmdline-opts: GnuTLS supports PKCS#11 URI in --cert option [101]
51 o ftp: fix 0-length last write on upload from stdin [76]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020052 o lib, src, tests: added space around ternary expressions [56]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020053 o lib/cw-out: initialize 'flush_all' directly [62]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020054 o lib/src: white space edits to comply better with code style [47]
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020055 o lib: fix disabled-verbose-strings + enable-debug build warnings
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020056 o lib: fix unity builds with BearSSL, MSH3, Quiche, OmniOS [32]
57 o libssh.c: handle EGAINS during proto-connect correctly [23]
58 o libssh2: use the Curl_* memory functions to avoid memdebug [22]
59 o multi.c: make stronger check for paused transfer before asserting [24]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020060 o multi.c: warn/assert on stall only without timer [80]
61 o multi: avoid reading whole struct pointer from pointer [10]
Daniel Stenberg02362762024-09-18 15:20:56 +020062 o negotiate: conditional check around GSS & SSL specific code [1]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020063 o openssl: convert a memcpy to dynbuf use [57]
64 o openssl: remove two strcpy() calls [64]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020065 o processhelp.pm: improve taskkill calls (Windows) [52]
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020066 o quic: use send/recvmmsg when available [93]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020067 o request: on shutdown send, proceed normally on timeout [18]
68 o runtests.md: suggest a value for -j for torture tests
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020069 o runtests: drop unused code for old/classic-mingw support [87]
70 o select: use poll() if existing, avoid poll() with no sockets [75]
Daniel Stenberg02362762024-09-18 15:20:56 +020071 o sendf: add condition to max-filesize check [3]
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020072 o singleuse: make `git grep` faster, add Apple `nm` support [109]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020073 o socks_gssapi: switch to dynbuf from buffer with strcpy [42]
74 o test1035: convert host name back to utf8 as should be [63]
75 o test1540: add debug logging [58]
76 o test190: replace %FTPTIME2 with a fixed value [34]
77 o test2502: add libtest debug tracing [60]
78 o test504: fix handling on pending connect [59]
79 o testrun: explicitly set proper IP address for stunnel listen/connect [61]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020080 o tests/valgrind.pm: fix warnings with no valgrind report to show [25]
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020081 o tests: add and use `%PERL` variable to refer to the Perl binary [82]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020082 o tests: add codeset-utf8 as a feature [66]
83 o tests: add file: tests with existing files [45]
84 o tests: check http/2 and http/3 server responsiveness [28]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020085 o tests: delete duplicate macro check [53]
86 o tests: fix keyword for test1411
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020087 o tests: improve mqtt server handling [27]
88 o tests: introduce %CLIENT6IP-NB [67]
Daniel Stenberg7b75bd52024-09-22 21:35:44 +020089 o tests: libtests and unit tests need explicit #include memdebug [7]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020090 o tests: make precheck for HTTP on 127.0.0.1 into a feature [68]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020091 o tests: Only log warnings or worse by default in smbserver [33]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020092 o tests: postcheck is now in verify [69]
Viktor Szakatscfae3542024-09-27 01:16:38 +020093 o tests: remove all valgrind disable instructions [21]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +020094 o tests: remove the %FTPTIME3 variable [41]
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +020095 o tests: replace `%PWD` with `%FILE_PWD` for `file://` [84]
96 o tests: replace hard-coded `/dev/null` with variable [81]
Daniel Stenberg7b75bd52024-09-22 21:35:44 +020097 o tests: speed up builds with single-binary test bundles [29]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +020098 o tests: testrunner fairness [39]
99 o tests: testrunner reliability improvements [55]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200100 o tests: use '-4' where needed [17]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200101 o tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP [36]
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200102 o tool_doswin: simplify; remove unused options and strncpy calls [65]
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200103 o unit1660: fix unreachable code warning in no-SSL builds [30]
104 o url: connection reuse on h3 connections [20]
105 o urlapi: drop unused header [51]
Daniel Stenbergaa73eb42019-07-19 11:32:23 +0200106
Daniel Stenberg9af807a2007-07-22 10:17:52 +0000107This release includes the following known bugs:
108
Daniel Stenberg12774f42024-08-01 13:36:28 +0200109 See docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
110
111For all changes ever done in curl:
112
113 See https://curl.se/changes.html
Daniel Stenberg9af807a2007-07-22 10:17:52 +0000114
Daniel Stenberg84c6b1a2022-10-23 17:25:01 +0200115Planned upcoming removals include:
116
Daniel Stenberg73f62ac2024-08-18 22:57:25 +0200117 o Hyper support after February 2025 [89]
Daniel Stenberg517f4542024-07-24 08:48:18 +0200118 o TLS libraries not supporting TLS 1.3
Daniel Stenberg84c6b1a2022-10-23 17:25:01 +0200119
120 See https://curl.se/dev/deprecate.html for details
121
Daniel Stenberg9af807a2007-07-22 10:17:52 +0000122This release would not have looked like this without help, code, reports and
123advice from friends like these:
124
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +0200125 Aki Sakurai, Baruch Siach, Dan Fandrich, Daniel Stenberg,
126 Denis Goleshchikhin, dependabot[bot], Gabriel Marin, Ian Spence, Jon Rumsey,
127 Kai Pastor, lomberd2 on github, MacKenzie, Montg0mery on github,
128 Nicolas George, Pavel Kropachev, ralfjunker on github,
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200129 Rasmus Melchior Jacobsen, Ray Satiro, renovate[bot], Stefan Eissing,
130 Tal Regev, Tatsuhiro Tsujikawa, Testclutch, Venkat Krishna R, Viktor Szakats,
131 vvb2060 on github
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +0200132 (26 contributors)
Daniel Stenberg1fc5cd62011-12-19 20:08:59 +0100133
134References to bug reports and discussions on issues:
135
Daniel Stenberg02362762024-09-18 15:20:56 +0200136 [1] = https://curl.se/bug/?i=14938
137 [2] = https://curl.se/bug/?i=14942
138 [3] = https://curl.se/bug/?i=14958
Daniel Stenberg7b75bd52024-09-22 21:35:44 +0200139 [4] = https://curl.se/bug/?i=14941
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200140 [5] = https://curl.se/bug/?i=14818
141 [6] = https://curl.se/bug/?i=14728
Daniel Stenberg7b75bd52024-09-22 21:35:44 +0200142 [7] = https://curl.se/bug/?i=15007
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200143 [8] = https://curl.se/bug/?i=14824
Daniel Stenberg7b75bd52024-09-22 21:35:44 +0200144 [9] = https://curl.se/bug/?i=14991
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200145 [10] = https://curl.se/bug/?i=15063
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200146 [11] = https://curl.se/bug/?i=14883
147 [12] = https://curl.se/bug/?i=14789
148 [13] = https://curl.se/bug/?i=14658
Daniel Stenberg7b75bd52024-09-22 21:35:44 +0200149 [14] = https://curl.se/bug/?i=15003
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200150 [15] = https://curl.se/bug/?i=14815
151 [16] = https://curl.se/bug/?i=14906
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200152 [17] = https://curl.se/bug/?i=15060
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200153 [18] = https://curl.se/bug/?i=14843
154 [19] = https://curl.se/bug/?i=14966
155 [20] = https://curl.se/bug/?i=14890
156 [21] = https://curl.se/bug/?i=14983
157 [22] = https://curl.se/bug/?i=14984
158 [23] = https://curl.se/bug/?i=14982
159 [24] = https://curl.se/bug/?i=14981
160 [25] = https://curl.se/bug/?i=14977
Daniel Stenberg7b75bd52024-09-22 21:35:44 +0200161 [26] = https://curl.se/bug/?i=14582
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200162 [27] = https://curl.se/bug/?i=15059
163 [28] = https://curl.se/bug/?i=15058
Daniel Stenberg7b75bd52024-09-22 21:35:44 +0200164 [29] = https://curl.se/bug/?i=14772
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200165 [30] = https://curl.se/bug/?i=14971
166 [31] = https://curl.se/bug/?i=14765
167 [32] = https://curl.se/bug/?i=14932
168 [33] = https://curl.se/bug/?i=14950
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200169 [34] = https://curl.se/bug/?i=15056
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200170 [35] = https://curl.se/bug/?i=14969
171 [36] = https://curl.se/bug/?i=14881
172 [37] = https://curl.se/bug/?i=14763
173 [38] = https://curl.se/bug/?i=14690
174 [39] = https://curl.se/bug/?i=14967
175 [40] = https://github.com/curl/curl-for-win/blob/8b8909e1206de1dcca356a8dd33eb1e4ffeea7fd/curl.sh#L289
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200176 [41] = https://curl.se/bug/?i=15064
177 [42] = https://curl.se/bug/?i=15057
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200178 [43] = https://curl.se/bug/?i=14909
179 [44] = https://curl.se/bug/?i=14828
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200180 [45] = https://curl.se/bug/?i=15045
Daniel Stenberg8afdf8d2024-09-21 17:57:39 +0200181 [46] = https://curl.se/bug/?i=14921
182 [47] = https://curl.se/bug/?i=14921
183 [49] = https://curl.se/bug/?i=14924
184 [50] = https://curl.se/bug/?i=14918
185 [51] = https://curl.se/bug/?i=14867
186 [52] = https://curl.se/bug/?i=14959
187 [53] = https://curl.se/bug/?i=14963
188 [54] = https://curl.se/bug/?i=14961
189 [55] = https://curl.se/bug/?i=14960
190 [56] = https://curl.se/bug/?i=14912
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200191 [57] = https://curl.se/bug/?i=15049
192 [58] = https://curl.se/bug/?i=15055
193 [59] = https://curl.se/bug/?i=15054
194 [60] = https://curl.se/bug/?i=15053
195 [61] = https://curl.se/bug/?i=15051
196 [62] = https://curl.se/bug/?i=15044
197 [63] = https://curl.se/bug/?i=15050
198 [64] = https://curl.se/bug/?i=15052
199 [65] = https://curl.se/bug/?i=15047
200 [66] = https://curl.se/bug/?i=15039
201 [67] = https://curl.se/bug/?i=15039
202 [68] = https://curl.se/bug/?i=15039
203 [69] = https://curl.se/bug/?i=15046
204 [70] = https://curl.se/bug/?i=15013
205 [71] = https://curl.se/bug/?i=15034
206 [72] = https://curl.se/bug/?i=15035
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +0200207 [75] = https://curl.se/bug/?i=15096
208 [76] = https://curl.se/bug/?i=15101
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200209 [77] = https://curl.se/bug/?i=14990
210 [78] = https://curl.se/bug/?i=15033
211 [79] = https://curl.se/bug/?i=15026
212 [80] = https://curl.se/bug/?i=15028
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +0200213 [81] = https://curl.se/bug/?i=15098
214 [82] = https://curl.se/bug/?i=15097
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200215 [83] = https://curl.se/bug/?i=15027
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +0200216 [84] = https://curl.se/bug/?i=15090
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200217 [85] = https://curl.se/bug/?i=15012
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +0200218 [86] = https://curl.se/bug/?i=15088
219 [87] = https://curl.se/bug/?i=15087
Daniel Stenberg1b0da9c2024-09-26 23:52:47 +0200220 [88] = https://curl.se/bug/?i=15001
221 [89] = https://curl.se/bug/?i=15010
Daniel Stenberg10ddf4c2024-10-01 15:48:16 +0200222 [93] = https://curl.se/bug/?i=14880
223 [101] = https://curl.se/bug/?i=15075
224 [106] = https://curl.se/bug/?i=14936
225 [109] = https://curl.se/bug/?i=15070