forked from curl/curl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE-NOTES
220 lines (209 loc) · 9.74 KB
/
RELEASE-NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
curl and libcurl 7.85.0
Public curl releases: 210
Command line options: 248
curl_easy_setopt() options: 299
Public functions in libcurl: 88
Contributors: 2671
This release includes the following changes:
o setopt: add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR [30]
This release includes the following bugfixes:
o asyn-thread: make getaddrinfo_complete return CURLcode [53]
o base64: base64url encoding has no padding [41]
o BUGS.md: improve language [62]
o build: improve OS string in CMake and `config-win32.h` [15]
o cirrus.yml: replace py38-pip with py39-pip [63]
o cmake: do not force Windows target versions [28]
o cmake: fix build for mingw cross compile [33]
o cmake: link curl to its dependencies with PRIVATE [57]
o cmake: remove APPEND in export(TARGETS) [58]
o cmake: support ngtcp2 boringssl backend [18]
o configure: check for the stdatomic.h header in configure [7]
o configure: fix --disable-headers-api [55]
o cookie: treat a blank domain in Set-Cookie: as non-existing [40]
o cookie: use %zu to infof() for size_t values [26]
o curl-compilers.m4: make icc use -diag* options and disable two warnings [84]
o curl-confopts: remove leftover AC_REQUIREs [91]
o curl-functions.m4: check whether atomics can link [86]
o curl-wolfssl.m4: add options header when building test code [87]
o curl.h: CURLE_CONV_FAILED is obsoleted [4]
o curl: output warning when a cookie is dropped due to size [5]
o curl: writeout: fix repeated header outputs [47]
o curl_mime_data.3: polish the wording [6]
o curl_multi_timeout.3: clarify usage [48]
o CURLOPT_SERVER_RESPONSE_TIMEOUT: the new name [16]
o digest: fix memory leak, fix not quoted 'opaque' [66]
o digest: fix missing increment of 'nc' value for auth-int [39]
o docs: explain curl_easy_escape/unescape curl handle is ignored [23]
o doh: move doh related struct definitions to doh.h [45]
o doh: use https protocol by default [51]
o easy_lock.h: include sched.h if available to fix build [13]
o easy_lock.h: use __asm__ instead of asm to fix build [11]
o easy_lock: fix build for mingw [34]
o easy_lock: fix build with icc [54]
o easy_lock: fix the #ifdef conditional for ia32_pause [8]
o easy_lock: switch to using atomic_int instead of bool [9]
o easyoptions: fix icc warning [42]
o escape: remove outdated comment [25]
o file: fix icc enumerated type mixed with another type warning [92]
o ftp: use a correct expire ID for timer expiry [88]
o getinfo: return better error on NULL as first argument [21]
o GHA: add two Intel compiler CI jobs [85]
o h2h3: fix overriding the 'TE: Trailers' header [43]
o http: typecast the httpreq assignment to avoid icc compiler warning [76]
o http_aws_sigv4.c: remove two unusued includes [36]
o http_chunks: remove an assign + typecast [82]
o hyper: use wakers for curl pause/resume [2]
o lib/curl_path.c: add ISC to license expression [1]
o lib3026: reduce the number of threads to 100 [44]
o libcurl-security.3: fix typo on macro "SH_" [12]
o Makefile.m32: add `CURL_RC` and `CURL_STRIP` variables [ci skip] [17]
o Makefile.m32: add `NGTCP2_LIBS` option [ci skip] [38]
o makefile.m32: add support for custom ARCH [ci skip] [27]
o Makefile.m32: do not set the libcurl.rc debug flag [ci skip] [3]
o Makefile.m32: stop trying to build libcares.a [ci skip] [46]
o mprintf: fix *dyn_vprintf() when out-of-memory [90]
o mprintf: make dprintf_formatf never return negative [49]
o multi: fix the return code from Curl_pgrsDone() [80]
o netrc.d: remove spurious quote [37]
o ngtcp2: Fix build error due to change in nghttp3 prototypes [61]
o ngtcp2: fix incompatible function pointer types [10]
o ngtcp2: Fix missing initialization of nghttp3_nv.flags [31]
o ngtcp2: fix stall or busy loop on STOP_SENDING with upload data [19]
o ngtcp2: implement cb_h3_stop_sending and cb_h3_reset_stream callbacks [59]
o openssl: add `CURL_BORINGSSL_VERSION` to identify BoringSSL [24]
o openssl: fix BoringSSL symbol conflicts with LDAP and Schannel [52]
o select: do not return fatal error on EINTR from poll() [32]
o sendf: fix paused header writes since after the header API [89]
o sendf: make Curl_debug a void function [81]
o sendf: skip storing HTTP headers if HTTP disabled [73]
o sendf: store the header type in an usigned char to avoid icc warnings [79]
o splay: avoid using -1 in unsigned variable [78]
o test3026: add support for Windows using native Win32 threads [65]
o test3026: require 'threadsafe' [56]
o tests: several enumerated type cleanups [67]
o THANKS: merged two entries for Evgeny Grin
o tidy-up: delete unused build configuration macros [93]
o tool_cfgable: make 'synthetic_error' a plain bool [70]
o tool_formparse: fix variable may be used before its value is set [72]
o tool_getparam: make --doh-url "" switch it off [60]
o tool_getparam: repair cleanarg [22]
o tool_operate: better cleanup of easy handle in exit path [20]
o tool_paramhlp: fix "enumerated type mixed with another type" [68]
o tool_paramhlp: make check_protocol return ParameterError [71]
o tool_progress: avoid division by zero in parallel progress meter [35]
o tool_writeout: fix enumerated type mixed with another type [69]
o trace: 0x7F character is non-printable [50]
o url: enumerated type mixed with another type [74]
o urldata: change second proxytype field to unsigned char to match [75]
o urldata: make state.httpreq an unsigned char [77]
o urldata: reduce size of several struct fields [14]
o vtls: make Curl_ssl_backend() return the enum type curl_sslbackend [83]
o windows: improve random source [29]
This release includes the following known bugs:
o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
This release would not have looked like this without help, code, reports and
advice from friends like these:
Adam Sampson, Alexandre Bury, Brad Forschinger, Brian Carpenter, Daniel Katz,
Daniel Stenberg, Don J Olmstead, Érico Nogueira Rolim, Even Rouault,
Evgeny Grin (Karlson2k), Gwen Shapira, Harry Sintonen, highmtworks on github,
Jakub Zakrzewski, Jilayne Lovejoy, Joshua Root, jurisuk on github,
jvvprasad78 on github, Kai Pastor, Litter White, lwthiker on github,
Marcel Raad, Marc Hörsken, MasterInQuestion on github, Matthew Thompson,
Michał Antoniak, Patrick Monnerat, Philip H, Ray Satiro, Rosen Penev,
Ryan Schmidt, rzrymiak on github, Samuel Henrique, Sean McArthur,
Sergey Ogryzkov, Sukanya Hanumanthu, Tatsuhiro Tsujikawa, Ted Lyngmo,
Thomas Weißschuh, Viktor Szakats, Xiaoke Wang, yiyuaner on github
(42 contributors)
References to bug reports and discussions on issues:
[1] = https://curl.se/bug/?i=9073
[2] = https://curl.se/bug/?i=9070
[3] = https://curl.se/bug/?i=9069
[4] = https://curl.se/bug/?i=9067
[5] = https://curl.se/bug/?i=9064
[6] = https://curl.se/bug/?i=9063
[7] = https://curl.se/bug/?i=9059
[8] = https://curl.se/bug/?i=9058
[9] = https://curl.se/bug/?i=9055
[10] = https://curl.se/bug/?i=9056
[11] = https://curl.se/bug/?i=9056
[12] = https://curl.se/bug/?i=9057
[13] = https://curl.se/bug/?i=9054
[14] = https://curl.se/bug/?i=9106
[15] = https://curl.se/bug/?i=9117
[16] = https://curl.se/bug/?i=9104
[17] = https://curl.se/bug/?i=9132
[18] = https://curl.se/bug/?i=9065
[19] = https://curl.se/bug/?i=9122
[20] = https://curl.se/bug/?i=9114
[21] = https://curl.se/bug/?i=9114
[22] = https://curl.se/bug/?i=9128
[23] = https://curl.se/bug/?i=9115
[24] = https://curl.se/bug/?i=9113
[25] = https://curl.se/bug/?i=9115
[26] = https://curl.se/bug/?i=9095
[27] = https://curl.se/bug/?i=9092
[28] = https://curl.se/bug/?i=9046
[29] = https://curl.se/bug/?i=9027
[30] = https://curl.se/bug/?i=8992
[31] = https://curl.se/bug/?i=9118
[32] = https://bugs.archlinux.org/task/75201
[33] = https://curl.se/bug/?i=9084
[34] = https://curl.se/bug/?i=8997
[35] = https://curl.se/bug/?i=9082
[36] = https://curl.se/bug/?i=9080
[37] = https://curl.se/bug/?i=9111
[38] = https://curl.se/bug/?i=9109
[39] = https://curl.se/bug/?i=9090
[40] = https://curl.se/bug/?i=9164
[41] = https://curl.se/bug/?i=9139
[42] = https://curl.se/bug/?i=9176
[43] = https://curl.se/bug/?i=9170
[44] = https://curl.se/bug/?i=9172
[45] = https://curl.se/bug/?i=9174
[46] = https://curl.se/bug/?i=9169
[47] = https://curl.se/bug/?i=9150
[48] = https://curl.se/bug/?i=9155
[49] = https://curl.se/bug/?i=9149
[50] = https://curl.se/bug/?i=9162
[51] = https://curl.se/bug/?i=9163
[52] = https://curl.se/bug/?i=9110
[53] = https://curl.se/bug/?i=9081
[54] = https://curl.se/bug/?i=9081
[55] = https://curl.se/bug/?i=9134
[56] = https://curl.se/bug/?i=9141
[57] = https://curl.se/bug/?i=9125
[58] = https://curl.se/bug/?i=9124
[59] = https://curl.se/bug/?i=9135
[60] = https://curl.se/bug/?i=9207
[61] = https://curl.se/bug/?i=9204
[62] = https://curl.se/bug/?i=9205
[63] = https://curl.se/bug/?i=9201
[65] = https://curl.se/bug/?i=9012
[66] = https://curl.se/bug/?i=9199
[67] = https://curl.se/bug/?i=9179
[68] = https://curl.se/bug/?i=9179
[69] = https://curl.se/bug/?i=9179
[70] = https://curl.se/bug/?i=9179
[71] = https://curl.se/bug/?i=9179
[72] = https://curl.se/bug/?i=9179
[73] = https://curl.se/bug/?i=9179
[74] = https://curl.se/bug/?i=9179
[75] = https://curl.se/bug/?i=9179
[76] = https://curl.se/bug/?i=9179
[77] = https://curl.se/bug/?i=9179
[78] = https://curl.se/bug/?i=9179
[79] = https://curl.se/bug/?i=9179
[80] = https://curl.se/bug/?i=9179
[81] = https://curl.se/bug/?i=9179
[82] = https://curl.se/bug/?i=9179
[83] = https://curl.se/bug/?i=9179
[84] = https://curl.se/bug/?i=9179
[85] = https://curl.se/bug/?i=9179
[86] = https://curl.se/bug/?i=9190
[87] = https://curl.se/bug/?i=9187
[88] = https://curl.se/bug/?i=9184
[89] = https://curl.se/bug/?i=9180
[90] = https://curl.se/bug/?i=9185
[91] = https://curl.se/bug/?i=9183
[92] = https://curl.se/bug/?i=9181
[93] = https://curl.se/bug/?i=9044