curl and libcurl 7.69.1

 Public curl releases:         190
 Command line options:         230
 curl_easy_setopt() options:   270
 Public functions in libcurl:  82
 Contributors:                 2133

This release includes the following bugfixes:

 o ares: store dns parameters for duphandle [20]
 o cirrus-ci: disable the FreeBSD 13 builds [3]
 o curl_share_setopt.3: Note sharing cookies doesn't enable the engine [11]
 o lib1564: reduce number of mid-wait wakeup calls [16]
 o libssh: Fix matching user-specified MD5 hex key [7]
 o MANUAL: update a dict-using command line
 o mime: do not perform more than one read in a row [18]
 o mime: fix the binary encoder to handle large data properly [17]
 o mime: latch last read callback status [19]
 o multi: skip EINTR check on wakeup socket if it was closed [12]
 o pause: bail out on bad input [8]
 o pause: force a connection recheck after unpausing (take 2) [5]
 o pause: return early for calls that don't change pause state [10]
 o runtests.1: rephrase how to specify what tests to run [2]
 o runtests: fix missing use of exe_ext helper function
 o seek: fix fall back for missing ftruncate on Windows [4]
 o sftp: fix segfault regression introduced by #4747 in 7.69.0 [22]
 o sha256: Added SecureTransport implementation [15]
 o sha256: Added WinCrypt implementation [15]
 o socks4: fix host resolve regression [14]
 o socks5: host name resolv regression fix [6]
 o tests/server: fix missing use of exe_ext helper function [24]
 o tests: fix static ip:port instead of dynamic values being used [23]
 o tests: make sleeping portable by avoiding select [1]
 o unit1612: fix the inclusion and compilation of the HMAC unit test [9]
 o urldata: remove the 'stream_was_rewound' connectdata struct member [13]
 o version: make curl_version* thread-safe without using global context [21]

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:

  amishmm on github, Anders Berg, Andy Fiddaman, Christopher Reid,
  Dan Fandrich, Daniel Stenberg, Ernst Sjöstrand, fds242 on github,
  Fedor Korotkov, Felipe Gasper, Jim Fuller, Marcel Raad, Marc Hörsken,
  MrdUkk on github, Patrick Monnerat, Ray Satiro, RuurdBeerstra on github,
  Steve Holme, vitaha85 on github,
  (19 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=5035
 [2] = https://curl.haxx.se/bug/?i=5033
 [3] = https://curl.haxx.se/bug/?i=5028
 [4] = https://curl.haxx.se/bug/?i=5055
 [5] = https://curl.haxx.se/bug/?i=5049
 [6] = https://curl.haxx.se/bug/?i=5053
 [7] = https://curl.haxx.se/bug/?i=4971
 [8] = https://curl.haxx.se/bug/?i=5050
 [9] = https://curl.haxx.se/bug/?i=5024
 [10] = https://curl.haxx.se/bug/?i=5026
 [11] = https://curl.haxx.se/mail/lib-2020-03/0019.html
 [12] = https://curl.haxx.se/bug/?i=5047
 [13] = https://curl.haxx.se/bug/?i=5046
 [14] = https://curl.haxx.se/bug/?i=5061
 [15] = https://curl.haxx.se/bug/?i=5030
 [16] = https://curl.haxx.se/bug/?i=5037
 [17] = https://curl.haxx.se/bug/?i=4860
 [18] = https://curl.haxx.se/bug/?i=4826
 [19] = https://curl.haxx.se/bug/?i=4813
 [20] = https://curl.haxx.se/bug/?i=4893
 [21] = https://curl.haxx.se/bug/?i=5010
 [22] = https://curl.haxx.se/bug/?i=5041
 [23] = https://curl.haxx.se/bug/?i=5065
 [24] = https://curl.haxx.se/bug/?i=5064
