Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/docs/HISTORY.md @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 How curl Became Like This | |
| 2 ========================= | |
| 3 | |
| 4 Towards the end of 1996, Daniel Stenberg was spending time writing an IRC bot | |
| 5 for an Amiga related channel on EFnet. He then came up with the idea to make | |
| 6 currency-exchange calculations available to Internet Relay Chat (IRC) | |
| 7 users. All the necessary data were published on the Web; he just needed to | |
| 8 automate their retrieval. | |
| 9 | |
| 10 Daniel simply adopted an existing command-line open-source tool, httpget, that | |
| 11 Brazilian Rafael Sagula had written and recently released version 0.1 of. After | |
| 12 a few minor adjustments, it did just what he needed. | |
| 13 | |
| 14 1997 | |
| 15 ---- | |
| 16 | |
| 17 HttpGet 1.0 was released on April 8th 1997 with brand new HTTP proxy support. | |
| 18 | |
| 19 We soon found and fixed support for getting currencies over GOPHER. Once FTP | |
| 20 download support was added, the name of the project was changed and urlget 2.0 | |
| 21 was released in August 1997. The http-only days were already passed. | |
| 22 | |
| 23 1998 | |
| 24 ---- | |
| 25 | |
| 26 The project slowly grew bigger. When upload capabilities were added and the | |
| 27 name once again was misleading, a second name change was made and on March 20, | |
| 28 1998 curl 4 was released. (The version numbering from the previous names was | |
| 29 kept.) | |
| 30 | |
| 31 (Unrelated to this project a company called Curl Corporation registered a US | |
| 32 trademark on the name "CURL" on May 18 1998. That company had then already | |
| 33 registered the curl.com domain back in November of the previous year. All this | |
| 34 was revealed to us much later.) | |
| 35 | |
| 36 SSL support was added, powered by the SSLeay library. | |
| 37 | |
| 38 August: first announcement of curl on freshmeat.net. | |
| 39 | |
| 40 October: with the curl 4.9 release and the introduction of cookie support, | |
| 41 curl was no longer released under the GPL license. Now we're at 4000 lines of | |
| 42 code, we switched over to the MPL license to restrict the effects of | |
| 43 "copyleft". | |
| 44 | |
| 45 November: configure script and reported successful compiles on several | |
| 46 major operating systems. The never-quite-understood -F option was added and | |
| 47 curl could now simulate quite a lot of a browser. TELNET support was added. | |
| 48 | |
| 49 Curl 5 was released in December 1998 and introduced the first ever curl man | |
| 50 page. People started making Linux RPM packages out of it. | |
| 51 | |
| 52 1999 | |
| 53 ---- | |
| 54 | |
| 55 January: DICT support added. | |
| 56 | |
| 57 OpenSSL took over and SSLeay was abandoned. | |
| 58 | |
| 59 May: first Debian package. | |
| 60 | |
| 61 August: LDAP:// and FILE:// support added. The curl web site gets 1300 visits | |
| 62 weekly. Moved site to curl.haxx.nu. | |
| 63 | |
| 64 September: Released curl 6.0. 15000 lines of code. | |
| 65 | |
| 66 December 28: added the project on Sourceforge and started using its services | |
| 67 for managing the project. | |
| 68 | |
| 69 2000 | |
| 70 ---- | |
| 71 | |
| 72 Spring: major internal overhaul to provide a suitable library interface. | |
| 73 The first non-beta release was named 7.1 and arrived in August. This offered | |
| 74 the easy interface and turned out to be the beginning of actually getting | |
| 75 other software and programs to be based on and powered by libcurl. Almost | |
| 76 20000 lines of code. | |
| 77 | |
| 78 June: the curl site moves to "curl.haxx.se" | |
| 79 | |
| 80 August, the curl web site gets 4000 visits weekly. | |
| 81 | |
| 82 The PHP guys adopted libcurl already the same month, when the first ever third | |
| 83 party libcurl binding showed up. CURL has been a supported module in PHP since | |
| 84 the release of PHP 4.0.2. This would soon get followers. More than 16 | |
| 85 different bindings exist at the time of this writing. | |
| 86 | |
| 87 September: kerberos4 support was added. | |
| 88 | |
| 89 November: started the work on a test suite for curl. It was later re-written | |
| 90 from scratch again. The libcurl major SONAME number was set to 1. | |
| 91 | |
| 92 2001 | |
| 93 ---- | |
| 94 | |
| 95 January: Daniel released curl 7.5.2 under a new license again: MIT (or | |
| 96 MPL). The MIT license is extremely liberal and can be combined with GPL | |
| 97 in other projects. This would finally put an end to the "complaints" from | |
| 98 people involved in GPLed projects that previously were prohibited from using | |
| 99 libcurl while it was released under MPL only. (Due to the fact that MPL is | |
| 100 deemed "GPL incompatible".) | |
| 101 | |
| 102 March 22: curl supports HTTP 1.1 starting with the release of 7.7. This | |
| 103 also introduced libcurl's ability to do persistent connections. 24000 lines of | |
| 104 code. The libcurl major SONAME number was bumped to 2 due to this overhaul. | |
| 105 The first experimental ftps:// support was added. | |
| 106 | |
| 107 August: curl is bundled in Mac OS X, 10.1. It was already becoming more and | |
| 108 more of a standard utility of Linux distributions and a regular in the BSD | |
| 109 ports collections. The curl web site gets 8000 visits weekly. Curl Corporation | |
| 110 contacted Daniel to discuss "the name issue". After Daniel's reply, they have | |
| 111 never since got back in touch again. | |
| 112 | |
| 113 September: libcurl 7.9 introduces cookie jar and curl_formadd(). During the | |
| 114 forthcoming 7.9.x releases, we introduced the multi interface slowly and | |
| 115 without many whistles. | |
| 116 | |
| 117 2002 | |
| 118 ---- | |
| 119 | |
| 120 June: the curl web site gets 13000 visits weekly. curl and libcurl is | |
| 121 35000 lines of code. Reported successful compiles on more than 40 combinations | |
| 122 of CPUs and operating systems. | |
| 123 | |
| 124 To estimate number of users of the curl tool or libcurl library is next to | |
| 125 impossible. Around 5000 downloaded packages each week from the main site gives | |
| 126 a hint, but the packages are mirrored extensively, bundled with numerous OS | |
| 127 distributions and otherwise retrieved as part of other software. | |
| 128 | |
| 129 September: with the release of curl 7.10 it is released under the MIT license | |
| 130 only. | |
| 131 | |
| 132 2003 | |
| 133 ---- | |
| 134 | |
| 135 January: Started working on the distributed curl tests. The autobuilds. | |
| 136 | |
| 137 February: the curl site averages at 20000 visits weekly. At any given moment, | |
| 138 there's an average of 3 people browsing the curl.haxx.se site. | |
| 139 | |
| 140 Multiple new authentication schemes are supported: Digest (May), NTLM (June) | |
| 141 and Negotiate (June). | |
| 142 | |
| 143 November: curl 7.10.8 is released. 45000 lines of code. ~55000 unique visitors | |
| 144 to the curl.haxx.se site. Five official web mirrors. | |
| 145 | |
| 146 December: full-fledged SSL for FTP is supported. | |
| 147 | |
| 148 2004 | |
| 149 ---- | |
| 150 | |
| 151 January: curl 7.11.0 introduced large file support. | |
| 152 | |
| 153 June: curl 7.12.0 introduced IDN support. 10 official web mirrors. | |
| 154 | |
| 155 This release bumped the major SONAME to 3 due to the removal of the | |
| 156 curl_formparse() function | |
| 157 | |
| 158 August: Curl and libcurl 7.12.1 | |
| 159 | |
| 160 Public curl release number: 82 | |
| 161 Releases counted from the very beginning: 109 | |
| 162 Available command line options: 96 | |
| 163 Available curl_easy_setopt() options: 120 | |
| 164 Number of public functions in libcurl: 36 | |
| 165 Amount of public web site mirrors: 12 | |
| 166 Number of known libcurl bindings: 26 | |
| 167 | |
| 168 2005 | |
| 169 ---- | |
| 170 | |
| 171 April: GnuTLS can now optionally be used for the secure layer when curl is | |
| 172 built. | |
| 173 | |
| 174 April: Added the multi_socket() API | |
| 175 | |
| 176 September: TFTP support was added. | |
| 177 | |
| 178 More than 100,000 unique visitors of the curl web site. 25 mirrors. | |
| 179 | |
| 180 December: security vulnerability: libcurl URL Buffer Overflow | |
| 181 | |
| 182 2006 | |
| 183 ---- | |
| 184 | |
| 185 January: We dropped support for Gopher. We found bugs in the implementation | |
| 186 that turned out to have been introduced years ago, so with the conclusion that | |
| 187 nobody had found out in all this time we removed it instead of fixing it. | |
| 188 | |
| 189 March: security vulnerability: libcurl TFTP Packet Buffer Overflow | |
| 190 | |
| 191 September: The major SONAME number for libcurl was bumped to 4 due to the | |
| 192 removal of ftp third party transfer support. | |
| 193 | |
| 194 November: Added SCP and SFTP support | |
| 195 | |
| 196 2007 | |
| 197 ---- | |
| 198 | |
| 199 February: Added support for the Mozilla NSS library to do the SSL/TLS stuff | |
| 200 | |
| 201 July: security vulnerability: libcurl GnuTLS insufficient cert verification | |
| 202 | |
| 203 2008 | |
| 204 ---- | |
| 205 | |
| 206 November: | |
| 207 | |
| 208 Command line options: 128 | |
| 209 curl_easy_setopt() options: 158 | |
| 210 Public functions in libcurl: 58 | |
| 211 Known libcurl bindings: 37 | |
| 212 Contributors: 683 | |
| 213 | |
| 214 145,000 unique visitors. >100 GB downloaded. | |
| 215 | |
| 216 2009 | |
| 217 ---- | |
| 218 | |
| 219 March: security vulnerability: libcurl Arbitrary File Access | |
| 220 | |
| 221 August: security vulnerability: libcurl embedded zero in cert name | |
| 222 | |
| 223 December: Added support for IMAP, POP3 and SMTP | |
| 224 | |
| 225 2010 | |
| 226 ---- | |
| 227 | |
| 228 January: Added support for RTSP | |
| 229 | |
| 230 February: security vulnerability: libcurl data callback excessive length | |
| 231 | |
| 232 March: The project switched over to use git (hosted by github) instead of CVS | |
| 233 for source code control | |
| 234 | |
| 235 May: Added support for RTMP | |
| 236 | |
| 237 Added support for PolarSSL to do the SSL/TLS stuff | |
| 238 | |
| 239 August: | |
| 240 | |
| 241 Public curl releases: 117 | |
| 242 Command line options: 138 | |
| 243 curl_easy_setopt() options: 180 | |
| 244 Public functions in libcurl: 58 | |
| 245 Known libcurl bindings: 39 | |
| 246 Contributors: 808 | |
| 247 | |
| 248 Gopher support added (re-added actually, see January 2006) | |
| 249 | |
| 250 2011 | |
| 251 ---- | |
| 252 | |
| 253 February: added support for the axTLS backend | |
| 254 | |
| 255 April: added the cyassl backend (later renamed to WolfSSL) | |
| 256 | |
| 257 2012 | |
| 258 ---- | |
| 259 | |
| 260 July: Added support for Schannel (native Windows TLS backend) and Darwin SSL | |
| 261 (Native Mac OS X and iOS TLS backend). | |
| 262 | |
| 263 Supports metalink | |
| 264 | |
| 265 October: SSH-agent support. | |
| 266 | |
| 267 2013 | |
| 268 ---- | |
| 269 | |
| 270 February: Cleaned up internals to always uses the "multi" non-blocking | |
| 271 approach internally and only expose the blocking API with a wrapper. | |
| 272 | |
| 273 September: First small steps on supporting HTTP/2 with nghttp2. | |
| 274 | |
| 275 October: Removed krb4 support. | |
| 276 | |
| 277 December: Happy eyeballs. | |
| 278 | |
| 279 2014 | |
| 280 ---- | |
| 281 | |
| 282 March: first real release supporting HTTP/2 | |
| 283 | |
| 284 September: Web site had 245,000 unique visitors and served 236GB data | |
| 285 | |
| 286 2015 | |
| 287 ---- | |
| 288 | |
| 289 June: support for multiplexing with HTTP/2 | |
| 290 | |
| 291 August: support for HTTP/2 server push | |
| 292 | |
| 293 December: Public Suffix List | |
| 294 | |
| 295 2016 | |
| 296 ---- | |
| 297 | |
| 298 January: the curl tool defaults to HTTP/2 for HTTPS URLs | |
| 299 | |
| 300 December: curl 7.52.0 introduced support for HTTPS-proxy! | |
| 301 | |
| 302 First TLS 1.3 support | |
| 303 | |
| 304 2017 | |
| 305 ---- | |
| 306 | |
| 307 September: Added Multi-SSL support | |
| 308 | |
| 309 The web site serves 3100 GB/month | |
| 310 | |
| 311 Public curl releases: 169 | |
| 312 Command line options: 211 | |
| 313 curl_easy_setopt() options: 249 | |
| 314 Public functions in libcurl: 74 | |
| 315 Contributors: 1609 | |
| 316 | |
| 317 October: SSLKEYLOGFILE support, new MIME API | |
| 318 | |
| 319 November: brotli | |
| 320 | |
| 321 2018 | |
| 322 ---- | |
| 323 | |
| 324 January: new SSH backend powered by libssh | |
| 325 | |
| 326 March: starting with the 1803 release of Windows 10, curl is shipped bundled | |
| 327 with Microsoft's operating system. | |
| 328 | |
| 329 July: curl shows headers using bold type face | |
| 330 | |
| 331 October: added DNS-over-HTTPS (DoH) and the URL API | |
| 332 | |
| 333 MesaLink is a new supported TLS backend | |
| 334 | |
| 335 libcurl now does HTTP/2 (and multiplexing) by default on HTTPS URLs | |
| 336 | |
| 337 curl and libcurl are installed in an estimated 5 *billion* instances | |
| 338 world-wide. | |
| 339 | |
| 340 October 31: Curl and libcurl 7.62.0 | |
| 341 | |
| 342 Public curl releases: 177 | |
| 343 Command line options: 219 | |
| 344 curl_easy_setopt() options: 261 | |
| 345 Public functions in libcurl: 80 | |
| 346 Contributors: 1808 |
