aboutsummaryrefslogtreecommitdiff
path: root/RELEASE-NOTES
blob: 9600cecab8641a0baabfdedafd2e218ac2de23a3 (plain)
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
curl and libcurl 7.68.0

 Public curl releases:         187
 Command line options:         229
 curl_easy_setopt() options:   269
 Public functions in libcurl:  82
 Contributors:                 2056

This release includes the following changes:

 o TLS: add BearSSL vtls implementation [37]
 o XFERINFOFUNCTION: support CURL_PROGRESSFUNC_CONTINUE [36]
 o curl: add --etag-compare and --etag-save [31]
 o curl: add --parallel-immediate [29]
 o multi: add curl_multi_wakeup() [38]
 o openssl: CURLSSLOPT_NO_PARTIALCHAIN can disable partial cert chains [45]

This release includes the following bugfixes:

 o Azure Pipelines: add several builds
 o CMake: add support for building with the NSS vtls backend [43]
 o CURL-DISABLE: initial docs for the CURL_DISABLE_* defines [19]
 o CURLOPT_VERBOSE.3: see also ERRORBUFFER
 o HISTORY: added cmake, HTTP/3 and parallel downloads with curl
 o INSTALL.md: provide Android build instructions [10]
 o OPENSOCKETFUNCTION.3: correct the purpose description [48]
 o altsvc: bump to h3-24 [6]
 o build: Disable Visual Studio warning "conditional expression is constant" [49]
 o build: fix for CURL_DISABLE_DOH [2]
 o checksrc.bat: Add a check for vquic and vssh directories [40]
 o checksrc: fix regexp for ASSIGNWITHINCONDITION [56]
 o checksrc: repair the copyrightyear check [25]
 o cirrus-ci: enable clang sanitizers on freebsd 13 [60]
 o config-win32: cpu-machine-OS for Windows on ARM [13]
 o configure: avoid unportable `==' test(1) operator [1]
 o configure: enable IPv6 support without `getaddrinfo` [44]
 o configure: fix typo in help text [4]
 o conncache: fix multi-thread use of shared connection cache [61]
 o copyrights: fix copyright year range [25]
 o curl: fix --upload-file . hangs if delay in STDIN [35]
 o curl: fix -T globbing [16]
 o curl: show better error message when no homedir is found [47]
 o curl_setup_once: consistently use WHILE_FALSE in macros [54]
 o docs: Change 'experiemental' to 'experimental' [30]
 o docs: fix several typos [62]
 o doh: improved both encoding and decoding [11]
 o examples: add multi-poll.c [14]
 o global_init: undo the "intialized" bump in case of failure [52]
 o http_ntlm: Remove duplicate NSS initialisation [55]
 o lib: Move lib/ssh.h -> lib/vssh/ssh.h [9]
 o multi_poll: avoid busy-loop when called without easy handles attached [15]
 o ngtcp2: fix thread-safety bug in error-handling [33]
 o ngtcp2: free used resources on disconnect [7]
 o ngtcp2: handle key updates as ngtcp2 master branch tells us [8]
 o ngtcp2: increase QUIC window size when data is consumed [12]
 o ngtcp2: use overflow buffer for extra HTTP/3 data [5]
 o ntlm: USE_WIN32_CRYPTO check removed to get USE_NTLM2SESSION set [3]
 o openssl: Revert to less sensitivity for SYSCALL errors [26]
 o openssl: improve error message for SYSCALL during connect [27]
 o openssl: prevent recursive function calls from ctx callbacks [18]
 o openssl: retrieve reported LibreSSL version at runtime [50]
 o openssl: set X509_V_FLAG_PARTIAL_CHAIN by default [46]
 o parsedate: offer a getdate_capped() alternative [53]
 o pause: avoid updating socket if done was already called [22]
 o projects: Fix Visual Studio projects SSH builds [41]
 o projects: Fix Visual Studio wolfSSL configurations
 o quiche: reject HTTP/3 headers in the wrong order [17]
 o remove_handle: clear expire timers after multi_done() [20]
 o schannel: fix --tls-max for when min is --tlsv1 or default [39]
 o setopt: Fix ALPN / NPN user option when built without HTTP2 [42]
 o strerror: Add Curl_winapi_strerror for Win API specific errors [51]
 o strerror: Fix an error looking up some Windows error strings
 o system.h: fix for MCST lcc compiler [23]
 o test1175: verify symbols-in-versions and libcurl-errors.3 in sync [28]
 o test1558: use double slash after file: [21]
 o test1560: require IPv6 for IPv6 aware URL parsing [24]
 o tests: fix permissions of ssh keys in WSL [58]
 o tests: make it possible to set executable extensions [58]
 o tests: use \r\n for log messages in WSL [58]
 o travis: abandon coveralls, it is not reliable [57]
 o travis: build ngtcp2 with --enable-lib-only [32]
 o travis: export the CC/CXX variables when set [34]
 o winbuild: Define CARES_STATICLIB when WITH_CARES=static [59]

This release includes the following known bugs:

 o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html)

This release would not have looked like this without help, code, reports and
advice from friends like these:

  3dyd on github, Anderson Sasaki, Andreas Falkenhahn, bdry on github,
  Bjoern Franke, Christian Schmitz, Christopher Reid, Christoph M. Becker,
  Cynthia Coan, Dan Fandrich, Daniel Gustafsson, Daniel Stenberg,
  David Benjamin, Gergely Nagy, JanB on github, Javier Blazquez, Jeff Mears,
  Jeffrey Walton, John Schroeder, Kamil Dudka, Leonardo Taccari, Marcel Raad,
  Marc Hörsken, Maros Priputen, Massimiliano Fantuzzi, Max Kellermann,
  Melissa Mears, Michael Forney, Mohammad Hasbini, Niall O'Reilly, Paul Groke,
  Paul Hoffman, Paulo Roberto Tomasi, Peter Wu, Ray Satiro, Richard Alcock,
  Richard Bowker, Shailesh Kapse, SLDiggie on github, Steve Holme,
  Tatsuhiro Tsujikawa, Tom van der Woerdt, Victor Magierski, Vlastimil Ovčáčík,
  Wyatt O'Day, Xiaoyin Liu,
  (46 contributors)

        Thanks! (and sorry if I forgot to mention someone)

References to bug reports and discussions on issues:

 [1] = https://curl.haxx.se/bug/?i=4567
 [2] = https://curl.haxx.se/bug/?i=4565
 [3] = https://curl.haxx.se/bug/?i=3704
 [4] = https://curl.haxx.se/bug/?i=4570
 [5] = https://curl.haxx.se/bug/?i=4525
 [6] = https://curl.haxx.se/bug/?i=4604
 [7] = https://curl.haxx.se/bug/?i=4614
 [8] = https://curl.haxx.se/bug/?i=4612
 [9] = https://curl.haxx.se/bug/?i=4609
 [10] = https://curl.haxx.se/bug/?i=4606
 [11] = https://curl.haxx.se/bug/?i=4598
 [12] = https://curl.haxx.se/bug/?i=4600
 [13] = https://curl.haxx.se/bug/?i=4590
 [14] = https://curl.haxx.se/bug/?i=4596
 [15] = https://curl.haxx.se/bug/?i=4594
 [16] = https://curl.haxx.se/bug/?i=4588
 [17] = https://curl.haxx.se/bug/?i=4571
 [18] = https://curl.haxx.se/bug/?i=4585
 [19] = https://curl.haxx.se/bug/?i=4545
 [20] = https://curl.haxx.se/bug/?i=4575
 [21] = https://curl.haxx.se/bug/?i=4554
 [22] = https://curl.haxx.se/bug/?i=4563
 [23] = https://curl.haxx.se/bug/?i=4576
 [24] = https://curl.haxx.se/bug/?i=4556
 [25] = https://curl.haxx.se/bug/?i=4549
 [26] = https://curl.haxx.se/bug/?i=4624
 [27] = https://curl.haxx.se/bug/?i=4593
 [28] = https://curl.haxx.se/bug/?i=4628
 [29] = https://curl.haxx.se/bug/?i=4500
 [30] = https://curl.haxx.se/bug/?i=4618
 [31] = https://curl.haxx.se/bug/?i=4543
 [32] = https://curl.haxx.se/bug/?i=4646
 [33] = https://curl.haxx.se/bug/?i=4645
 [34] = https://curl.haxx.se/bug/?i=4637
 [35] = https://curl.haxx.se/bug/?i=2051
 [36] = https://curl.haxx.se/bug/?i=4599
 [37] = https://curl.haxx.se/bug/?i=4597
 [38] = https://curl.haxx.se/bug/?i=4418
 [39] = https://curl.haxx.se/bug/?i=4633
 [40] = https://curl.haxx.se/bug/?i=4607
 [41] = https://curl.haxx.se/bug/?i=4492
 [42] = https://curl.haxx.se/bug/?i=4668
 [43] = https://curl.haxx.se/bug/?i=4663
 [44] = https://curl.haxx.se/bug/?i=4662
 [45] = https://curl.haxx.se/bug/?i=4665
 [46] = https://curl.haxx.se/mail/lib-2019-11/0094.html
 [47] = https://curl.haxx.se/bug/?i=4644
 [48] = https://curl.haxx.se/mail/lib-2019-12/0007.html
 [49] = https://curl.haxx.se/bug/?i=4658
 [50] = https://curl.haxx.se/bug/?i=2425
 [51] = https://curl.haxx.se/bug/?i=4550
 [52] = https://curl.haxx.se/bug/?i=4636
 [53] = https://curl.haxx.se/bug/?i=4152
 [54] = https://curl.haxx.se/bug/?i=4649
 [55] = https://curl.haxx.se/bug/?i=3935
 [56] = https://curl.haxx.se/bug/?i=4647
 [57] = https://curl.haxx.se/bug/?i=4694
 [58] = https://curl.haxx.se/bug/?i=3899
 [59] = https://curl.haxx.se/bug/?i=4688
 [60] = https://curl.haxx.se/bug/?i=4557
 [61] = https://curl.haxx.se/bug/?i=4544
 [62] = https://curl.haxx.se/bug/?i=4680