| curl and libcurl 8.0.0 |
| |
| Public curl releases: 215 |
| Command line options: 250 |
| curl_easy_setopt() options: 302 |
| Public functions in libcurl: 91 |
| Contributors: 2834 |
| |
| This release includes the following changes: |
| |
| o |
| |
| This release includes the following bugfixes: |
| |
| o .cirrus.yml: Bump to FreeBSD 13.2 [9] |
| o BINDINGS: add Fortran binding [33] |
| o build: drop the use of XC_AMEND_DISTCLEAN [62] |
| o cf-socket: fix handling of remote addr for accepted tcp sockets [17] |
| o cf-socket: if socket is already connected, return CURLE_OK [69] |
| o CI: update ngtcp2 and nghttp2 for pytest [13] |
| o cmake: fix enabling LDAPS on Windows [55] |
| o cmake: skip CA-path/bundle auto-detection in cross-builds [57] |
| o cookie: parse without sscanf() |
| o curl: make -w's %{stderr} use the file set with --stderr [30] |
| o CURLOPT_PIPEWAIT: allow waited reuse also for subsequent connections [10] |
| o DEPRECATE: the original legacy mingw version 1 [43] |
| o docs/cmdline-opts: mark all global options [6] |
| o docs: note '--data-urlencode' option [7] |
| o DYNBUF.md: note Curl_dyn_add* calls Curl_dyn_free on failure [70] |
| o easy: remove infof() debug leftover from curl_easy_recv [44] |
| o examples/http3.c: use CURL_HTTP_VERSION_3 [46] |
| o ftp: allocate the wildcard struct on demand [59] |
| o ftp: make the EPSV response parser not use sscanf [25] |
| o ftp: replace sscanf for MDTM 213 response parsing [23] |
| o ftp: replace sscanf for PASV parsing [24] |
| o hostip: avoid sscanf and extra buffer copies [42] |
| o http2: fix for http2-prior-knowledge when reusing connections [14] |
| o http2: fix upload busy loop [71] |
| o http: fix unix domain socket use in https connects [28] |
| o http: rewrite the status line parser without sscanf [29] |
| o http_proxy: parse the status line without sscanf [16] |
| o idn: return error if the conversion ends up with a blank host [45] |
| o krb5: avoid sscanf for parsing [18] |
| o lib1560: test parsing URLs with ridiculously large fields [60] |
| o lib517: verify time stamps without leading zeroes plus some more |
| o libcurl-errors.3: add the CURLHcode errors from curl_easy_header.3 [39] |
| o Makefile.mk: delete redundant `HAVE_LDAP_SSL` macro [56] |
| o misc: remove support for curl_off_t < 8 bytes [19] |
| o mqtt: on send error, return error [40] |
| o ngtcp2-gnutls.yml: bump to gnutls 3.8.0 [11] |
| o ngtcp2: fix unwanted close of file descriptor 0 [26] |
| o page-footer: add explanation for three missing exit codes [37] |
| o parsedate: parse strings without using sscanf() [2] |
| o parsedate: replace sscanf( for time stamp parsing [1] |
| o quic/schannel: fix compiler warnings [36] |
| o rand: use arc4random as fallback when available [48] |
| o rate.d: single URLs make no sense in --rate example [38] |
| o rtsp: avoid sscanf for parsing [15] |
| o runtests: use a hash table for server port numbers [51] |
| o sectransp: fix compiler warning c89 mixed code/declaration [32] |
| o sectransp: make read_cert() use a dynbuf when loading [72] |
| o select: stop treating POLLRDBAND as an error [27] |
| o setopt: move the CURLOPT_CHUNK_DATA pointer to the set struct [35] |
| o socket: detect "dead" connections better, e.g. not fit for reuse [66] |
| o telnet: parse NEW_ENVIRON without sscanf [20] |
| o telnet: parse telnet options without sscanf [22] |
| o telnet: parse the WS= argument without sscanf [21] |
| o test1470: test socks proxy using unix sockets and connect to https [63] |
| o test1960: verify CURL_SOCKOPT_ALREADY_CONNECTED [64] |
| o test2600: detect when ALARM_TIMEOUT is in use and adjust [34] |
| o tests: fix gnutls-serv check [53] |
| o tests: HTTP server fixups [3] |
| o tests: support for imaps/pop3s/smtps protocols [50] |
| o tests: test secure mail protocols with explicit SSL requests [49] |
| o tool: dump headers even if file is write-only [52] |
| o tool_getparam: don't add a new node for just --no-remote-name [5] |
| o tool_operate: avoid fclose(NULL) on bad header dump file [12] |
| o tool_operate: propagate error codes for missing URL after --next [4] |
| o tool_progress: shut off progress meter for --silent in parallel [8] |
| o transfer: limit Windows SO_SNDBUF updates to once a second [73] |
| o urlapi: parse IPv6 literals without ENABLE_IPV6 [61] |
| o wildcard: remove files and move functions into ftplistparser.c |
| o winbuild: fix makefile clean [31] |
| o ws: keep the socket non-blocking [41] |
| o x509asn1.c: use correct format specifier for infof() call [47] |
| |
| This release includes the following known bugs: |
| |
| o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html) |
| |
| Planned upcoming removals include: |
| |
| o gskit |
| o NSS |
| o support for space-separated NOPROXY patterns |
| |
| See https://curl.se/dev/deprecate.html for details |
| |
| This release would not have looked like this without help, code, reports and |
| advice from friends like these: |
| |
| Andy Alt, Balakrishnan Balasubramanian, Brad Spencer, Cristian Morales Vega, |
| Daniel Stenberg, finkjsc on github, Grisha Levit, Harry Sintonen, |
| Ilmari Lauhakangas, JackBoosY on github, Jan Engelhardt, Jelle van der Waa, |
| Jérémy Rabasco, Maciej Domanski, Marcel Raad, marski on github, Matt Jolly, |
| opensslonzos-github on github, Patrick Monnerat, Philip Heiduck, |
| Philipp Engel, Ray Satiro, rwmjones on github, SendSonS on github, |
| Sergey Fionov, Shankar Jadhavar, Stefan Eissing, u20221022 on github, |
| Viktor Szakats, 積丹尼 Dan Jacobson |
| (30 contributors) |
| |
| References to bug reports and discussions on issues: |
| |
| [1] = https://curl.se/bug/?i=10547 |
| [2] = https://curl.se/bug/?i=10547 |
| [3] = https://curl.se/bug/?i=10568 |
| [4] = https://curl.se/bug/?i=10558 |
| [5] = https://curl.se/bug/?i=10564 |
| [6] = https://curl.se/bug/?i=10566 |
| [7] = https://curl.se/bug/?i=10687 |
| [8] = https://curl.se/bug/?i=10573 |
| [9] = https://curl.se/bug/?i=10270 |
| [10] = https://curl.se/bug/?i=10456 |
| [11] = https://curl.se/bug/?i=10507 |
| [12] = https://curl.se/bug/?i=10570 |
| [13] = https://curl.se/bug/?i=10508 |
| [14] = https://curl.se/bug/?i=10634 |
| [15] = https://curl.se/bug/?i=10605 |
| [16] = https://curl.se/bug/?i=10602 |
| [17] = https://curl.se/bug/?i=10622 |
| [18] = https://curl.se/bug/?i=10599 |
| [19] = https://curl.se/bug/?i=10597 |
| [20] = https://curl.se/bug/?i=10596 |
| [21] = https://curl.se/bug/?i=10596 |
| [22] = https://curl.se/bug/?i=10596 |
| [23] = https://curl.se/bug/?i=10590 |
| [24] = https://curl.se/bug/?i=10590 |
| [25] = https://curl.se/bug/?i=10590 |
| [26] = https://curl.se/bug/?i=10593 |
| [27] = https://curl.se/bug/?i=10501 |
| [28] = https://curl.se/bug/?i=10633 |
| [29] = https://curl.se/bug/?i=10585 |
| [30] = https://curl.se/bug/?i=10491 |
| [31] = https://curl.se/bug/?i=10576 |
| [32] = https://curl.se/bug/?i=10574 |
| [33] = https://curl.se/bug/?i=10589 |
| [34] = https://curl.se/bug/?i=10513 |
| [35] = https://curl.se/bug/?i=10635 |
| [36] = https://curl.se/bug/?i=10603 |
| [37] = https://curl.se/bug/?i=10630 |
| [38] = https://curl.se/bug/?i=10638 |
| [39] = https://curl.se/bug/?i=10629 |
| [40] = https://curl.se/bug/?i=10623 |
| [41] = https://curl.se/bug/?i=10615 |
| [42] = https://curl.se/bug/?i=10601 |
| [43] = https://curl.se/bug/?i=10667 |
| [44] = https://curl.se/bug/?i=10628 |
| [45] = https://curl.se/bug/?i=10617 |
| [46] = https://curl.se/bug/?i=10619 |
| [47] = https://curl.se/bug/?i=10614 |
| [48] = https://curl.se/bug/?i=10672 |
| [49] = https://curl.se/bug/?i=10077 |
| [50] = https://curl.se/bug/?i=10077 |
| [51] = https://curl.se/bug/?i=10077 |
| [52] = https://curl.se/bug/?i=10675 |
| [53] = https://curl.se/bug/?i=10688 |
| [55] = https://curl.se/bug/?i=6284 |
| [56] = https://curl.se/bug/?i=10681 |
| [57] = https://curl.se/bug/?i=6178 |
| [59] = https://curl.se/bug/?i=10639 |
| [60] = https://curl.se/bug/?i=10665 |
| [61] = https://curl.se/bug/?i=10660 |
| [62] = https://curl.se/bug/?i=9843 |
| [63] = https://curl.se/bug/?i=10662 |
| [64] = https://curl.se/bug/?i=10651 |
| [66] = https://curl.se/bug/?i=10646 |
| [69] = https://curl.se/bug/?i=10626 |
| [70] = https://curl.se/bug/?i=10645 |
| [71] = https://curl.se/bug/?i=10449 |
| [72] = https://curl.se/bug/?i=10632 |
| [73] = https://curl.se/bug/?i=10611 |