summaryrefslogtreecommitdiff
path: root/RELEASE-NOTES
blob: 971336faf9796ba094855bc34057c1e0f7bf2f4c (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
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
Curl and libcurl 7.56.0

 Public curl releases:         169
 Command line options:         211
 curl_easy_setopt() options:   249
 Public functions in libcurl:  74
 Contributors:                 1618

This release includes the following changes:

 o curl: enable compression for SCP/SFTP with --compressed-ssh  [11]
 o libcurl: enable compression for SCP/SFTP with CURLOPT_SSH_COMPRESSION [11]
 o vtls: added dynamic changing SSL backend with curl_global_sslset() [28]
 o new MIME API, curl_mime_init() and friends [32]
 o openssl: initial SSLKEYLOGFILE implementation [36]

This release includes the following bugfixes:

 o FTP: zero terminate the entry path even on bad input [67]
 o examples/ftpuploadresume.c: use portable code
 o runtests: match keywords case insensitively
 o travis: build the examples too [1]
 o strtoofft: reduce integer overflow risks globally [2]
 o zsh.pl: produce a working completion script again [3]
 o cmake: remove dead code for CURL_DISABLE_RTMP [4]
 o progress: Track total times following redirects [5]
 o configure: fix --disable-threaded-resolver [6]
 o cmake: remove dead code for DISABLED_THREADSAFE [7]
 o configure: fix clang version detection
 o darwinssi: fix error: variable length array used
 o travis: add metalink to some osx builds [8]
 o configure: check for __builtin_available() availability [9]
 o http_proxy: fix build error for CURL_DOES_CONVERSIONS [10]
 o examples/ftpuploadresume: checksrc compliance
 o ftp: fix CWD when doing multicwd then nocwd on same connection [12]
 o system.h: remove all CURL_SIZEOF_* defines [13]
 o http: Don't wait on CONNECT when there is no proxy [14]
 o system.h: check for __ppc__ as well [15]
 o http2_recv: return error better on fatal h2 errors [16]
 o scripts/contri*sh: use "git log --use-mailmap"
 o tftp: fix memory leak on too long filename [17]
 o system.h: fix build for hppa [18]
 o cmake: enable picky compiler options with clang and gcc [19]
 o makefile.m32: add support for libidn2 [20]
 o curl: turn off MinGW CRT's globbing [21]
 o request-target.d: mention added in 7.55.0
 o curl: shorten and clean up CA cert verification error message [22]
 o imap: support PREAUTH [23]
 o CURLOPT_USERPWD.3: see also CURLOPT_PROXYUSERPWD
 o examples/threaded-ssl: mention that this is for openssl before 1.1
 o winbuild: fix embedded manifest option [24]
 o tests: Make sure libtests & unittests call curl_global_cleanup()
 o system.h: include sys/poll.h for AIX [25]
 o darwinssl: handle long strings in TLS certs [26]
 o strtooff: fix build for systems with long long but no strtoll [27]
 o asyn-thread: Improved cleanup after OOM situations
 o HELP-US.md: "How to get started helping out in the curl project" [29]
 o curl.h: CURLSSLBACKEND_WOLFSSL used wrong value [30]
 o unit1301: fix error message on first test
 o ossfuzz: moving towards the ideal integration [31]
 o http: fix a memory leakage in checkrtspprefix()
 o examples/post-callback: stop returning one byte at a time
 o schannel: return CURLE_SSL_CACERT on failed verification [33]
 o MAIL-ETIQUETTE: added "1.9 Your emails are public"
 o http-proxy: treat all 2xx as CONNECT success [34]
 o openssl: use OpenSSL's default ciphers by default [35]
 o runtests.pl: support attribute "nonewline" in part verify/upload
 o configure: remove --enable-soname-bump and SONAME_BUMP [37]
 o travis: add c-ares enabled builds linux + osx [38]
 o vtls: fix WolfSSL 3.12 build problems [39]
 o http-proxy: when not doing CONNECT, that phase is done immediately [40]
 o configure: fix curl_off_t check's include order [41]
 o configure: use -Wno-varargs on clang 3.9[.X] debug builds
 o rtsp: do not call fwrite() with NULL pointer FILE * [42]
 o mbedtls: enable CA path processing [43]
 o travis: add build without HTTP/SMTP/IMAP
 o checksrc: verify more code style rules [44]
 o HTTP proxy: on connection re-use, still use the new remote port [45]
 o tests: add initial gssapi test using stub implementation [46]
 o rtsp: Segfault when using WRITEDATA [47]
 o docs: clarify the CURLOPT_INTERLEAVE* options behavior
 o non-ascii: use iconv() with 'char **' argument [48]
 o server/getpart: provide dummy function to build conversion enabled
 o conversions: fix several compiler warnings
 o openssl: add missing includes [49]
 o schannel: Support partial send for when data is too large [50]
 o socks: fix incorrect port number in SOCKS4 error message [51]
 o curl: fix integer overflow in timeout options [52]
 o travis: on mac, don't install openssl or libidn [53]
 o cookies: reject oversized cookies instead of truncating [54]
 o cookies: use lock when using CURLINFO_COOKIELIST [55]
 o curl: check fseek() return code and bail on error
 o examples/post-callback: use long for CURLOPT_POSTFIELDSIZE
 o openssl: only verify RSA private key if supported [56]
 o tests: make the imap server not verify user+password [57]
 o imap: quote atoms properly when escaping characters [58]
 o tests: fix a compiler warning in test 643
 o file_range: avoid integer overflow when figuring out byte range [59]
 o curl.h: include <sys/select.h> on cygwin too [60]
 o reuse_conn: don't copy flags that are known to be equal [61]
 o http: fix adding custom empty headers to repeated requests [62]
 o docs: clarify the use of environment variables for proxy [63]
 o docs: link CURLOPT_CONNECTTIMEOUT and CURLOPT_CONNECTTIMEOUT_MS [64]
 o connect: fix race condition with happy eyeballs timeout [65]
 o cookie: fix memory leak if path was set twice in header [66]
 o vtls: compare and clone ssl configs properly [68]
 o proxy: read the "no_proxy" variable only if necessary [69]

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:

  Anders Bakken, Andrei Karas, Benbuck Nason, Ben Greear, Benjamin Sergeant,
  Bill Pyne, Brian Carpenter, Dan Fandrich, Daniel Stenberg, David Benjamin,
  Dirk Feytons, Even Rouault, Frank Denis, Gergely Nagy, Gisle Vanem,
  Ian Fette, imilli on github, Isaac Boukris, Jackarain on github,
  Jakub Zakrzewski, Jan Alexander Steffens, Johannes Schindelin,
  John David Anglin, joshhe on github, Kamil Dudka, Kevin Smith,
  Lawrence Wagerfield, Maksim Stsepanenka, Marc Aldorasi, Marcel Raad,
  Max Dymond, Michael Kaufmann, Michael Smith, Nick Zitzmann,
  Nicolas Morey-Chaisemartin, Oli Kingshott, Patrick Monnerat, Pavel P,
  Peter Lamare, Peter Wu, Ray Satiro, Rich Gray, Ryan Schmidt, Ryan Winograd,
  SBKarr on github, Tatsuhiro Tsujikawa, Viktor Szakáts,
  (47 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=1777
 [2] = https://curl.haxx.se/bug/?i=1758
 [3] = https://curl.haxx.se/bug/?i=1779
 [4] = https://curl.haxx.se/bug/?i=1785
 [5] = https://curl.haxx.se/bug/?i=1602
 [6] = https://curl.haxx.se/bug/?i=1784
 [7] = https://curl.haxx.se/bug/?i=1786
 [8] = https://curl.haxx.se/bug/?i=1790
 [9] = https://curl.haxx.se/bug/?i=1788
 [10] = https://curl.haxx.se/bug/?i=1793
 [11] = https://curl.haxx.se/bug/?i=1735
 [12] = https://curl.haxx.se/bug/?i=1782
 [13] = https://curl.haxx.se/bug/?i=1767
 [14] = https://curl.haxx.se/bug/?i=1803
 [15] = https://curl.haxx.se/bug/?i=1797
 [16] = https://curl.haxx.se/bug/?i=1021
 [17] = https://curl.haxx.se/bug/?i=1808
 [18] = https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872502#10
 [19] = https://curl.haxx.se/bug/?i=1799
 [20] = https://curl.haxx.se/bug/?i=1815
 [21] = https://curl.haxx.se/bug/?i=1751
 [22] = https://curl.haxx.se/bug/?i=1810
 [23] = https://curl.haxx.se/bug/?i=1818
 [24] = https://curl.haxx.se/bug/?i=1832
 [25] = https://curl.haxx.se/bug/?i=1828
 [26] = https://curl.haxx.se/bug/?i=1823
 [27] = https://curl.haxx.se/bug/?i=1829
 [28] = https://curl.haxx.se/libcurl/c/curl_global_sslset.html
 [29] = https://curl.haxx.se/bug/?i=1837
 [30] = https://curl.haxx.se/mail/lib-2017-08/0120.html
 [31] = https://curl.haxx.se/bug/?i=1842
 [32] = https://curl.haxx.se/bug/?i=1839
 [33] = https://curl.haxx.se/bug/?i=1858
 [34] = https://curl.haxx.se/bug/?i=1859
 [35] = https://curl.haxx.se/bug/?i=1846
 [36] = https://curl.haxx.se/bug/?i=1866
 [37] = https://curl.haxx.se/bug/?i=1861
 [38] = https://curl.haxx.se/bug/?i=1868
 [39] = https://curl.haxx.se/bug/?i=1865
 [40] = https://curl.haxx.se/bug/?i=1853
 [41] = https://curl.haxx.se/bug/?i=1870
 [42] = https://curl.haxx.se/bug/?i=1874
 [43] = https://curl.haxx.se/bug/?i=1877
 [44] = https://curl.haxx.se/bug/?i=1878
 [45] = https://curl.haxx.se/bug/?i=1887
 [46] = https://curl.haxx.se/bug/?i=1687
 [47] = https://curl.haxx.se/bug/?i=1880
 [48] = https://curl.haxx.se/mail/lib-2017-09/0031.html
 [49] = https://curl.haxx.se/bug/?i=1891
 [50] = https://curl.haxx.se/bug/?i=1890
 [51] = https://curl.haxx.se/bug/?i=1892
 [52] = https://curl.haxx.se/bug/?i=1893
 [53] = https://curl.haxx.se/bug/?i=1895
 [54] = https://curl.haxx.se/bug/?i=1894
 [55] = https://curl.haxx.se/bug/?i=1896
 [56] = https://curl.haxx.se/bug/?i=1904
 [57] = https://curl.haxx.se/bug/?i=1902
 [58] = https://curl.haxx.se/bug/?i=1902
 [59] = https://curl.haxx.se/bug/?i=1908
 [60] = https://curl.haxx.se/bug/?i=1925
 [61] = https://curl.haxx.se/bug/?i=1918
 [62] = https://curl.haxx.se/bug/?i=1920
 [63] = https://curl.haxx.se/bug/?i=1921
 [64] = https://curl.haxx.se/bug/?i=1922
 [65] = https://curl.haxx.se/bug/?i=1928
 [66] = https://curl.haxx.se/bug/?i=1932
 [67] = https://curl.haxx.se/docs/adv_20171004.html
 [68] = https://curl.haxx.se/bug/?i=1917
 [69] = https://curl.haxx.se/bug/?i=1919