xref: /curl/RELEASE-NOTES (revision 565d28dc)
1curl and libcurl 8.8.0
2
3 Public curl releases:         257
4 Command line options:         258
5 curl_easy_setopt() options:   304
6 Public functions in libcurl:  94
7 Contributors:                 3148
8
9This release includes the following changes:
10
11 o curl_version_info: provide librtmp version [73]
12 o file: add support for directory listings [63]
13 o lib: add curl_multi_waitfds [34]
14 o NTLM_WB: drop support [67]
15
16This release includes the following bugfixes:
17
18 o bearssl: fix compiler warnings [43]
19 o build: prefer `USE_IPV6` macro internally (was: `ENABLE_IPV6`) [85]
20 o build: remove MacOSX-Framework script [60]
21 o cd2nroff/manage: use UTC when SOURCE_DATE_EPOCH is set [36]
22 o cf-socket: remove references to l_ip, l_port [9]
23 o ci: add curl-for-win builds: Linux MUSL, macOS, Windows [68]
24 o CMake: check fseeko after detecting HAVE_FILE_OFFSET_BITS [64]
25 o cmake: enable `-pedantic-errors` for clang when `CURL_WERROR=ON` [47]
26 o cmake: fix `CURL_WERROR=ON` for old CMake and use it in GHA/linux-old [48]
27 o cmake: fixup `DEPENDS` filename [51]
28 o cmake: forward `USE_LIBRTMP` option to C [59]
29 o cmake: generate misc manpages and install `mk-ca-bundle.pl` [24]
30 o cmake: speed up libcurl doc building again [15]
31 o cmake: tidy-up to use `WORKING_DIRECTORY` [23]
32 o cmake: use namespaced custom target names [80]
33 o cmdline-docs: fix make install with configure --disable-docs [1]
34 o configure: make --disable-docs imply --disable-manual [2]
35 o content_encoding: brotli and others, pass through 0-length writes [5]
36 o contrithanks: honor `CURLWWW` variable [69]
37 o curl-confopts.m4: define CARES_NO_DEPRECATED when c-ares is used [17]
38 o curl: make --help adapt to the terminal width [11]
39 o curl: use curl_getenv instead of the curlx_ version [20]
40 o curl_global_trace.md: shorten the description [29]
41 o curl_sha512_255: fix detection of OpenSSL 1.1.1 or later [8]
42 o curl_sha512_256: do not use workaround for NetBSD when not needed [21]
43 o CURLINFO_REQUEST_SIZE: fixed, add tests for transfer infos reported [52]
44 o dist: `set -eu`, fix shellcheck, make reproducible and smaller tarballs [38]
45 o dist: add files missing from release tarball [53]
46 o dist: add reproducible dir entries to tarballs [56]
47 o dist: do not require Perl in `maketgz` [71]
48 o dist: remove the curl-config.1 from the tarball [28]
49 o dist: verify tarball reproducibility in CI [40]
50 o DISTROS: Cygwin updates [44]
51 o doc: pytest `--repeat` -> `--count` [58]
52 o docs/cmdline-opts: invoke managen using a relative path [30]
53 o docs/MAIL-ETIQUETTE: convert to markdown [12]
54 o docs: add CURLOPT_NOPROGRESS to CURLOPT_XFERINFOFUNCTION example [61]
55 o docs: clarify CURLOPT_MAXFILESIZE and CURLOPT_MAXFILESIZE_LARGE [74]
56 o GHA: add shellcheck job and fix warnings, shell tidy-ups [70]
57 o GHA: add valgrind to a wolfSSL build [37]
58 o GHA: on macOS remove $HOME/.curlrc [50]
59 o gnutls: lazy init the trust settings [75]
60 o http2: emit RST when client write fails [65]
61 o http: with chunked POST forced, disable length check on read callback [31]
62 o idn: make Curl_idnconvert_hostname() use Curl_idn_decode() [16]
63 o INSTALL-CMAKE.md: explain `cmake -G <generator-name>` [32]
64 o lib: add trace support for client reads and writes [45]
65 o lib: merge `ENABLE_QUIC` C macro into `USE_HTTP3` [84]
66 o lib: use `#error` instead of invalid syntax in `curl_setup_once.h` [49]
67 o lib: use multi instead of multi_easy for the active multi [41]
68 o libcurl-opts: mention pipelining less [33]
69 o libssh2: set length to 0 if strdup failed [6]
70 o m4: fix rustls pkg-config codepath [22]
71 o makefile: remove the sorting from the vc-ide action [42]
72 o maketgz: put docs/RELEASE-TOOL.md into the tarball [35]
73 o mbedtls: call mbedtls_ssl_setup() after RNG callback is set [66]
74 o mbedtls: cut off trailing newlines from debug logs [87]
75 o misc: fix typos [62]
76 o mprintf: check fputc error rather than matching returned character [82]
77 o multi: introduce SETUP state for better timeouts [26]
78 o multi: timeout handles even without connection [81]
79 o openldap: create ldap URLs correctly for IPv6 addresses [19]
80 o openssl: do not set SSL_MODE_RELEASE_BUFFERS [10]
81 o OS400: fix shellcheck warnings in scripts [72]
82 o projects: drop MSVC project files for recent versions [79]
83 o quic: fixup duplicate static function name (for cmake unity) [77]
84 o RELEASE-PROCEDURE: mention an initial working build [7]
85 o request: paused upload on completed download, assess connection [54]
86 o reuse: add copyright + license info to individual docs/*.md files [13]
87 o tests/http: fix compiler warning [39]
88 o tls: use shared init code for TCP+QUIC [57]
89 o tool_getparam: output warning for leading unicode quote character [14]
90 o tool_xattr: "guess" URL scheme if none is provided [3]
91 o tool_xattr: in debug builds, act normally if CURL_FAKE_XATTR is not set [4]
92 o url: do not URL decode proxy crendentials [55]
93 o urldata: remove fields not used depending on used features [46]
94 o vquic: use CURL_FORMAT_CURL_OFF_T for 64 bit printf output [18]
95 o winbuild: use $(RC) correctly [27]
96 o wolfssl: plug memory leak in wolfssl_connect_step2() [25]
97
98This release includes the following known bugs:
99
100 o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
101
102Planned upcoming removals include:
103
104 o support for space-separated NOPROXY patterns
105
106 See https://curl.se/dev/deprecate.html for details
107
108This release would not have looked like this without help, code, reports and
109advice from friends like these:
110
111  blankie, Brian Inglis, Carlos Henrique Lima Melara, Chris Webb,
112  Colin Leroy-Mira, Dagfinn Ilmari Mannsåker, Dan Fandrich, Daniel J. H.,
113  Daniel McCarney, Daniel Stenberg, Dmitry Karpov, Emanuele Torre,
114  Evgeny Grin (Karlson2k), Fabian Keil, Gisle Vanem, hammlee96 on github,
115  Harry Sintonen, hongfei.li, Jan Macku, Jeff King, Jérôme Leclercq,
116  Jonatan Vela, Kailun Qin, kalvdans on github, Keitagit-kun on github,
117  Konstantin Kuzov, kpcyrd on github, Marcel Raad, Matt Jolly,
118  Michael Kaufmann, Michał Antoniak, Patrick Monnerat, Paul Howarth,
119  Rahul Krishna M, RainRat, Ray Satiro, riastradh on github, Robert Moreton,
120  Sanjay Pujare, Sergey Bronnikov, Sergey Ogryzkov, Sergio Durigan Junior,
121  Stefan Eissing, Tal Regev, Tobias Stoeckmann, Toon Claes, Viktor Szakats
122  (47 contributors)
123
124References to bug reports and discussions on issues:
125
126 [1] = https://curl.se/bug/?i=13198
127 [2] = https://curl.se/bug/?i=13191
128 [3] = https://curl.se/bug/?i=13205
129 [4] = https://curl.se/bug/?i=13220
130 [5] = https://curl.se/bug/?i=13209
131 [6] = https://curl.se/bug/?i=13213
132 [7] = https://curl.se/bug/?i=13216
133 [8] = https://curl.se/bug/?i=13208
134 [9] = https://curl.se/bug/?i=13210
135 [10] = https://curl.se/bug/?i=13203
136 [11] = https://curl.se/bug/?i=13171
137 [12] = https://curl.se/bug/?i=13247
138 [13] = https://curl.se/bug/?i=13245
139 [14] = https://curl.se/bug/?i=13214
140 [15] = https://curl.se/bug/?i=13207
141 [16] = https://curl.se/bug/?i=13236
142 [17] = https://curl.se/bug/?i=13240
143 [18] = https://curl.se/bug/?i=13224
144 [19] = https://curl.se/bug/?i=13228
145 [20] = https://curl.se/bug/?i=13230
146 [21] = https://curl.se/bug/?i=13225
147 [22] = https://curl.se/bug/?i=13200
148 [23] = https://curl.se/bug/?i=13206
149 [24] = https://curl.se/bug/?i=13197
150 [25] = https://curl.se/bug/?i=13272
151 [26] = https://curl.se/bug/?i=13371
152 [27] = https://curl.se/bug/?i=13267
153 [28] = https://curl.se/bug/?i=13268
154 [29] = https://curl.se/bug/?i=13263
155 [30] = https://curl.se/bug/?i=13281
156 [31] = https://curl.se/bug/?i=13229
157 [32] = https://curl.se/bug/?i=13244
158 [33] = https://curl.se/bug/?i=13254
159 [34] = https://curl.se/bug/?i=13135
160 [35] = https://curl.se/bug/?i=13239
161 [36] = https://curl.se/bug/?i=13242
162 [37] = https://curl.se/bug/?i=13274
163 [38] = https://curl.se/bug/?i=13299
164 [39] = https://curl.se/bug/?i=13301
165 [40] = https://curl.se/bug/?i=13327
166 [41] = https://curl.se/bug/?i=12665
167 [42] = https://curl.se/bug/?i=13294
168 [43] = https://curl.se/bug/?i=13290
169 [44] = https://curl.se/bug/?i=13258
170 [45] = https://curl.se/bug/?i=13223
171 [46] = https://curl.se/bug/?i=13188
172 [47] = https://curl.se/bug/?i=13286
173 [48] = https://curl.se/bug/?i=13282
174 [49] = https://curl.se/bug/?i=13287
175 [50] = https://curl.se/bug/?i=13284
176 [51] = https://curl.se/bug/?i=13283
177 [52] = https://curl.se/bug/?i=13269
178 [53] = https://curl.se/bug/?i=13346
179 [54] = https://curl.se/bug/?i=13260
180 [55] = https://curl.se/bug/?i=13265
181 [56] = https://curl.se/bug/?i=13322
182 [57] = https://curl.se/bug/?i=13172
183 [58] = https://curl.se/bug/?i=13218
184 [59] = https://curl.se/bug/?i=13364
185 [60] = https://curl.se/bug/?i=13313
186 [61] = https://curl.se/bug/?i=13348
187 [62] = https://curl.se/bug/?i=13344
188 [63] = https://curl.se/bug/?i=13137
189 [64] = https://curl.se/bug/?i=13264
190 [65] = https://curl.se/bug/?i=13292
191 [66] = https://curl.se/bug/?i=13314
192 [67] = https://curl.se/bug/?i=13249
193 [68] = https://curl.se/bug/?i=13335
194 [69] = https://curl.se/bug/?i=13315
195 [70] = https://curl.se/bug/?i=13307
196 [71] = https://curl.se/bug/?i=13310
197 [72] = https://curl.se/bug/?i=13309
198 [73] = https://curl.se/bug/?i=13368
199 [74] = https://curl.se/bug/?i=13372
200 [75] = https://curl.se/bug/?i=13339
201 [77] = https://curl.se/bug/?i=13332
202 [79] = https://curl.se/bug/?i=13311
203 [80] = https://curl.se/bug/?i=13324
204 [81] = https://curl.se/bug/?i=13276
205 [82] = https://curl.se/bug/?i=13367
206 [84] = https://curl.se/bug/?i=13352
207 [85] = https://curl.se/bug/?i=13349
208 [87] = https://curl.se/bug/?i=13321
209