                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

                                  Changelog

Version 7.80.0 (10 Nov 2021)

Daniel Stenberg (10 Nov 2021)
- RELEASE-NOTES: synced
  
  for curl 7.80.0

- THANKS: add contributors from the 7.80.0 cycle

- [Tatsuhiro Tsujikawa brought this change]

  ngtcp2: advertise h3 as well as h3-29
  
  Advertise h3 as well as h3-29 since some servers out there require h3
  for QUIC v1.
  
  Closes #7979

- [Tatsuhiro Tsujikawa brought this change]

  ngtcp2: use QUIC v1 consistently
  
  Since we switched to v1 quic_transport_parameters codepoint in #7960
  with quictls, lets use QUIC v1 consistently.
  
  Closes #7979

- [Tatsuhiro Tsujikawa brought this change]

  ngtcp2: compile with the latest nghttp3
  
  Closes #7978

Marc Hoersken (9 Nov 2021)
- tests: add Schannel-specific tests and disable unsupported ones
  
  Adds Schannel variants of SSLpinning tests that include the option
  --ssl-revoke-best-effort to ignore certificate revocation check
  failures which is required due to our custom test CA certificate.
  
  Disable the original variants if the Schannel backend is enabled.
  
  Also skip all IDN tests which are broken while using an msys shell.
  
  This is a step to simplify test exclusions for Windows and MinGW.
  
  Reviewed-by: Jay Satiro
  Reviewed-by: Marcel Raad
  Reviewed-by: Daniel Stenberg
  Closes #7968

Daniel Stenberg (8 Nov 2021)
- docs: NAME fixes in easy option man pages
  
  Closes #7975

- [Roger Young brought this change]

  ftp: make the MKD retry to retry once per directory
  
  Reported-by: Roger Young
  Fixes #7967
  Closes #7976

- tool_operate: reorder code to avoid compiler warning
  
  tool_operate.c(889) : warning C4701: potentially uninitialized local
  variable 'per' use
  
  Follow-up to cc71d352651a0d95
  Reported-by: Marc Hörsken
  Bug: https://github.com/curl/curl/pull/7922#issuecomment-963042676
  Closes #7971

- curl_easy_perform.3: add a para about recv and send data
  
  Reported-by: Godwin Stewart
  Fixes #7973
  Closes #7974

- tool_operate: fclose stream only if fopened
  
  Fixes torture test failures
  Follow-up to cc71d352651
  
  Closes #7972

- libcurl-easy.3: language polish

- limit-rate.d: this is average over several seconds
  
  Closes #7970

- docs: reduce/avoid English contractions
  
  You're => You are
  Hasn't => Has not
  Doesn't => Does not
  Don't => Do not
  You'll => You will
  etc
  
  Closes #7930

- tool_operate: fix torture leaks with etags
  
  Spotted by torture testing 343 344 345 347.
  
  Follow-up from cc71d352651a0
  Pointed-out-by: Dan Fandrich
  
  Closes #7969

- [Amaury Denoyelle brought this change]

  ngtcp2: support latest QUIC TLS RFC9001
  
  QUIC Transport Parameters Extension has been changed between draft-29
  and latest RFC9001. Most notably, its identifier has been updated from
  0xffa5 to 0x0039. The version is selected through the QUIC TLS library
  via the legacy codepoint.
  
  Disable the usage of legacy codepoint in curl to switch to latest
  RFC9001. This is required to be able to keep up with latest QUIC
  implementations.
  
  Acked-by: Tatsuhiro Tsujikawa
  Closes #7960

- test1173: make manpage-syntax.pl spot \n errors in examples

- man pages: fix backslash-n in examples
  
  ... to be proper backslash-backslash-n sequences to render nicely in man
  and on website.
  
  Follow-up to 24155569d8a
  Reported-by: Sergey Markelov
  
  Fixes https://github.com/curl/curl-www/issues/163
  Closes #7962

- scripts/release-notes.pl: use out of repo links verbatim in refs

- tool_operate: a failed etag save now only fails that transfer
  
  When failing to create the output file for saving an etag, only fail
  that particular single transfer and allow others to follow.
  
  In a serial transfer setup, if no transfer at all is done due to them
  all being skipped because of this error, curl will output an error
  message and return exit code 26.
  
  Added test 369 and 370 to verify.
  
  Reported-by: Earnestly on github
  Ref: #7942
  Closes #7945

- [Kevin Burke brought this change]

  .github: retry macos "brew install" command on failure
  
  Previously we saw errors attempting to run "brew install", see
  https://github.com/curl/curl/runs/4095721123?check_suite_focus=true for
  an example, since this command is idempotent, it is safe to run again.
  
  Closes #7955

- CURLOPT_ALTSVC_CTRL.3: mention conn reuse is preferred
  
  Ref: https://github.com/curl/curl/discussions/7954
  
  Closes #7957

- RELEASE-NOTES: synced

- zuul: pin the quiche build to use an older cmake-rs
  
  The latest cmake-rs assumes cmake's --parallel works. That was added in
  cmake 3.12, but a lot of our CI builds run on Ubuntu Bionic which only
  has cmake 3.10.
  
  Fixes #7927
  Closes #7952

- [Marc Hoersken brought this change]

  Revert "src/tool_filetime: disable -Wformat on mingw for this file"
  
  This reverts commit 7c88fe375b15c44d77bccc9ab733b8069d228e6f.
  
  Follow up to #6535 as the pragma is obsolete with warnf
  
  Closes #7941

Jay Satiro (2 Nov 2021)
- schannel: fix memory leak due to failed SSL connection
  
  - Call schannel_shutdown if the SSL connection fails.
  
  Prior to this change schannel_shutdown (which shuts down the SSL
  connection as well as memory cleanup) was not called when the SSL
  connection failed (eg due to failed handshake).
  
  Co-authored-by: Gisle Vanem
  
  Fixes https://github.com/curl/curl/issues/7877
  Closes https://github.com/curl/curl/pull/7878

Daniel Stenberg (2 Nov 2021)
- Curl_updateconninfo: store addresses for QUIC connections too
  
  So that CURLINFO_PRIMARY_IP etc work for HTTP/3 like for other HTTP
  versions.
  
  Reported-by: Jerome Mao
  Fixes #7939
  Closes #7944

- [Sergio Durigan Junior brought this change]

  curl.1: fix typos in the manpage
  
  s/transfering/transferring/
  s/transfered/transferred/
  
  Signed-off-by: Sergio Durigan Junior <sergiodj@sergiodj.net>
  Closes #7937

Marc Hoersken (1 Nov 2021)
- tests/smbserver.py: fix compatibility with impacket 0.9.23+
  
  impacket now performs sanity checks if the requested and to
  be served file path actually is inside the real share path.
  
  Ref: https://github.com/SecureAuthCorp/impacket/pull/1066
  
  Fixes #7924
  Closes #7935

Daniel Stenberg (1 Nov 2021)
- docs: reduce use of "very"
  
  "Very" should be avoided in most texts. If intensifiers are needed, try
  find better words instead.
  
  Closes #7936

- [Tatsuhiro Tsujikawa brought this change]

  ngtcp2: specify the missing required callback functions
  
  Closes #7929

- CURLOPT_[PROXY]_SSL_CIPHER_LIST.3: bold instead of quote
  
  Bold the example ciphers instead of using single quotes, which then also
  avoids the problem of how to use single quotes when first in a line.
  
  Also rephrased the pages a little.
  
  Reported-by: Sergio Durigan Junior
  Ref: #7928
  Closes #7934

- gen.pl: replace leading single quotes with \(aq
  
  ... and allow single quotes to be used "normally" in the .d files.
  
  Makes the output curl.1 use better nroff.
  
  Reported-by: Sergio Durigan Junior
  Ref: #7928
  Closes #7933

Marc Hoersken (1 Nov 2021)
- tests: kill some test servers afterwards to avoid locked logfiles
  
  Reviewed-by: Daniel Stenberg
  Closes #7925

Daniel Stenberg (1 Nov 2021)
- smooth-gtk-thread.c: enhance the mutex lock use
  
  Reported-by: ryancaicse on github
  Fixes #7926
  Closes #7931

Marc Hoersken (31 Oct 2021)
- CI/runtests.pl: restore -u flag, but remove it from CI runs
  
  This makes it possible to use -u again for local testing,
  but removes the flag from CI config files and make targets.
  
  Reviewed-by: Daniel Stenberg
  
  Partially reverts #7841
  Closes #7921

Daniel Stenberg (29 Oct 2021)
- [Jonathan Cardoso Machado brought this change]

  CURLOPT_HSTSWRITEFUNCTION.3: using CURLOPT_HSTS_CTRL is required
  
  Closes #7923

- [Axel Morawietz brought this change]

  imap: display quota information
  
  Show response to "GETQUOTAROOT INBOX" command.
  
  Closes #6973

- RELEASE-NOTES: synced

- [Boris Rasin brought this change]

  cmake: fix error getting LOCATION property on non-imported target
  
  Closes #7885

- [x2018 brought this change]

  url: check the return value of curl_url()
  
  Closes #7917

- [Roy Li brought this change]

  configure.ac: replace krb5-config with pkg-config
  
  The rationale is that custom *-config tools don't work well when
  cross-compiling or using sysroots (such as when using Yocto project) and
  require custom fixing for each of them; pkg-config on the other hand
  works similarly everywhere.
  
  Signed-off-by: Roy Li <rongqing.li@windriver.com>
  Signed-off-by: Alexander Kanavin <alex@linutronix.de>
  
  Closes #7916

- test1160: edited to work with hyper
  
  Closes #7912

- data/DISABLED: enable tests that now work with hyper
  
  Closes #7911

- test559: add 'HTTP' in keywords
  
  Makes it run fine with hyper
  
  Closes #7911

- test552: updated to work with hyper
  
  Closes #7911

Marc Hoersken (27 Oct 2021)
- github: fix incomplete permission to label PRs for Hacktoberfest
  
  Unfortunately the GitHub API requires a token with write permission
  for both issues and pull-requests to edit labels on even just PRs.
  
  Follow up to #7897

Daniel Stenberg (27 Oct 2021)
- opt-manpages: use 'Added in' instead of 'Since'
  
  Closes #7913

Marc Hoersken (27 Oct 2021)
- github: fix missing permission to label PRs for Hacktoberfest
  
  Follow up to #7897
  
  Test references to see if permissions are now sufficient:
  
  Closes #7832
  Closes #7897

- CI: more use of test-ci make target and verbose output
  
  Replace test-nonflaky with test-ci and enable verbose output
  in all remaining CIs except Zuul which is customized a lot.
  
  Reviewed-by: Daniel Stenberg
  Reviewed-by: Jay Satiro
  
  Follow up to #7785
  Closes #7832

- github: add support for Hacktoberfest using labels
  
  Automatically add hacktoberfest-accepted label to PRs opened between
  September 30th and November 1st once a commit with a close reference
  to it is pushed onto the master branch.
  
  With this workflow we can participate in Hacktoberfest while not
  relying on GitHub to identify PRs as merged due to our rebasing.
  
  Requires hacktoberfest-accepted labels to exist for PRs on the
  participating repository. Also requires hacktoberfest topic on
  the participating repository to avoid applying to forked repos.
  
  Reviewed-by: Daniel Stenberg
  
  Fixes #7865
  Closes #7897

Daniel Stenberg (27 Oct 2021)
- http: reject HTTP response codes < 100
  
  ... which then also includes negative ones as test 1430 uses.
  
  This makes native + hyper backend act identically on this and therefore
  test 1430 can now be enabled when building with hyper. Adjust test 1431
  as well.
  
  Closes #7909

- [Kerem Kat brought this change]

  docs: fix typo in CURLOPT_TRAILERFUNCTION example
  
  Closes #7910

- docs/HYPER: remove some remaining issues, add HTTP/0.9 limitation

- configure: when hyper is selected, deselect nghttp2
  
  Closes #7908

- [Patrick Monnerat brought this change]

  sendf: accept zero-length data in Curl_client_write()
  
  Historically, Curl_client_write() used a length value of 0 as a marker
  for a null-terminated data string. This feature has been removed in
  commit f4b85d2. To detect leftover uses of the feature, a DEBUGASSERT
  statement rejecting a length with value 0 was introduced, effectively
  precluding use of this function with zero-length data.
  
  The current commit removes the DEBUGASSERT and makes the function to
  return immediately if length is 0.
  
  A direct effect is to fix trying to output a zero-length distinguished
  name in openldap.
  
  Another DEBUGASSERT statement is also rephrased for better readability.
  
  Closes #7898

- hyper: disable test 1294 since hyper doesn't allow such crazy headers
  
  Closes #7905

- c-hyper: make CURLOPT_SUPPRESS_CONNECT_HEADERS work
  
  Verified by the enabled test 1288
  
  Closes #7905

- test1287: make work on hyper
  
  Closes #7905

- test1266/1267: disabled on hyper: no HTTP/0.9 support
  
  Closes #7905

Viktor Szakats (25 Oct 2021)
- Makefile.m32: fix to not require OpenSSL with -libssh2 or -rtmp options
  
  Previously, -libssh2/-rtmp options assumed that OpenSSL is also enabled
  (and then failed with an error when not finding expected OpenSSL headers),
  but this isn't necessarly true, e.g. when building both libssh2 and curl
  against Schannel. This patch makes sure to only enable the OpenSSL backend
  with -libssh2/-rtmp, when there was no SSL option explicitly selected.
  
  - Re-implement the logic as a single block of script.
  - Also fix an indentation while there.
  
  Assisted-by: Jay Satiro
  
  Closes #7895

Daniel Stenberg (25 Oct 2021)
- docs: consistent use of "Added in"
  
  Make them all say "Added in [version]" without using 'curl' or 'libcurl'
  in that phrase.

- man pages: require all to use the same section header order
  
  This is the same order we already enforce among the options' man pages:
  consistency is good. Add lots of previously missing examples.
  
  Adjust the manpage-syntax script for this purpose, used in test 1173.
  
  Closes #7904

- [David Hu brought this change]

  docs/HTTP3: improve build instructions
  
  1. If writing to a system path if the command is not prefixed with
  `sudo` it will cause a permission denied error
  
  2. The patched OpenSSL branch has been updated to `openssl-3.0.0+quic`
  to match upstream OpenSSL version.
  
  3. We should not disable GnuTLS docs.
  
  Updated some commands about `make install`
  
  Closes #7842

- [Ricardo Martins brought this change]

  CMake: restore support for SecureTransport on iOS
  
  Restore support for building curl for iOS with SecureTransport enabled.
  
  Closes #7501

- tests: enable more tests with hyper
  
  Adjusted 1144, 1164 and 1176.
  
  Closes #7900

- docs: provide "RETURN VALUE" section for more func manpages
  
  Three were missing, one used a non-standard name for the header.
  
  Closes #7902

Jay Satiro (25 Oct 2021)
- curl_multi_socket_action.3: add a "RETURN VALUE" section
  
  .. because it may not be immediately clear to the user what
  curl_multi_socket_action returns.
  
  Ref: https://curl.se/mail/lib-2021-10/0035.html
  
  Closes https://github.com/curl/curl/pull/7901

Daniel Stenberg (24 Oct 2021)
- RELEASE-NOTES: synced

- [Samuel Henrique brought this change]

  tests: use python3 in test 1451
  
  This is a continuation of commit ec91b5a69000bea0794bbb3 in which
  changing this test was missed.  There are no other python2 leftovers
  now.
  
  Based on a Debian patch originally written by Alessandro Ghedini
  <ghedo@debian.org>
  
  Closes #7899

- [Eddie Lumpkin brought this change]

  lib: fixing comment spelling typos in lib files
  
  Closes #7894
  Signed-off-by: ewlumpkin <ewlumpkin@gmail.com>

- openssl: if verifypeer is not requested, skip the CA loading
  
  It was previously done mostly to show a match/non-match in the verbose
  output even when verification was not asked for. This change skips the
  loading of the CA certs unless verifypeer is set to save memory and CPU.
  
  Closes #7892

- curl-confopts.m4:  remove --enable/disable-hidden-symbols
  
  These configure options have been saying "deprecated" since 9e24b9c7af
  (April 2012). It was about time we remove them.
  
  Closes #7891

- c-hyper: don't abort CONNECT responses early when auth-in-progress
  
  ... and make sure to stop ignoring the body once the CONNECT is done.
  
  This should make test 206 work proper again and not be flaky.
  
  Closes #7889

- hyper: does not support disabling CURLOPT_HTTP_TRANSFER_DECODING
  
  Simply because hyper doesn't have this ability. Mentioned in docs now.
  
  Skip test 326 then
  
  Closes #7889

- test262: don't attempt with hyper
  
  This test verifies that curl works with binary zeroes in HTTP response
  headers and hyper refuses such. They're not kosher http.
  
  Closes #7889

- c-hyper: make test 217 run
  
  Closes #7889

- DISABLED: enable test 209+213 for hyper
  
  Follow-up to 823d3ab855c
  
  Closes #7889

- test207: accept a different error code for hyper
  
  It returns HYPERE_UNEXPECTED_EOF for this case which we convert to the
  somewhat generic CURLE_RECV_ERROR.
  
  Closes #7889

- [Érico Nogueira brought this change]

  INSTALL: update symbol hiding option
  
  --enable-hidden-symbols was deprecated in
  9e24b9c7afbcb81120af4cf3f6cdee49a06d8224.
  
  Closes #7890

- http_proxy: multiple CONNECT with hyper done better
  
  Enabled test 206
  
  Closes #7888

- hyper: pass the CONNECT line to the debug callback
  
  Closes #7887

- mailmap: Malik Idrees Hasan Khan

Jay Satiro (21 Oct 2021)
- [Malik Idrees Hasan Khan brought this change]

  build: fix typos
  
  Closes https://github.com/curl/curl/pull/7886

- URL-SYNTAX: add IMAP UID SEARCH example
  
  - Explain the difference between IMAP search via URL (which returns
    message sequence numbers) and IMAP search via custom request (which
    can return UID numbers if prefixed with UID, eg "UID SEARCH ...").
  
  Bug: https://github.com/curl/curl/issues/7626
  Reported-by: orycho@users.noreply.github.com
  
  Ref: https://github.com/curl/curl/issues/2789
  
  Closes https://github.com/curl/curl/pull/7881

Daniel Stenberg (20 Oct 2021)
- manpage: adjust the asterisk in some SYNOPSIS sections
  
  Closes #7884

- curl_multi_perform.3: polish wording
  
   - simplify the example by using curl_multi_poll
  
   - mention curl_multi_add_handle in the text
  
   - cut out the description of pre-7.20.0 return code behavior - that version
     is now more than eleven years old and is basically no longer out there
  
   - adjust the "typical usage" to mention curl_multi_poll
  
  Closes #7883

- docs/THANKS: removed on request

- FAQ: polish the explanation of libcurl

- curl_easy_perform.3: minor wording tweak

- [Erik Stenlund brought this change]

  mime: mention CURL_DISABLE_MIME in comment
  
  CURL_DISABLE_MIME is not mentioned in the comment describing the if else
  preprocessor directive.
  
  Closes #7882

- tls: remove newline from three infof() calls
  
  Follow-up to e7416cf
  
  Reported-by: billionai on github
  Fixes #7879
  Closes #7880

- RELEASE-NOTES: synced

- curl_gssapi: fix build warnings by removing const
  
  Follow-up to 20e980f85b0ea6
  
  In #7875 these inits were modified but I get two warnings that these new
  typecasts are necessary for.
  
  Closes #7876

- [Bo Anderson brought this change]

  curl_gssapi: fix link error on macOS Monterey
  
  Fixes #7657
  Closes #7875

- test1185: verify checksrc
  
  Closes #7866

- checksrc: improve the SPACESEMICOLON error message
  
  and adjust the MULTISPACE one to use plural
  
  Closes #7866

- url: set "k->size" -1 at start of request
  
  The size of the transfer is unknown at that point.
  
  Fixes #7871
  Closes #7872

Daniel Gustafsson (18 Oct 2021)
- doh: remove experimental code for DoH with GET
  
  The code for sending DoH requests with GET was never enabled in a way
  such that it could be used or tested. As there haven't been requests
  for this feature, and since it at this is effectively dead, remove it
  and favor reimplementing the feature in case anyone is interested.
  
  Closes #7870
  Reviewed-by: Daniel Stenberg <daniel@haxx.se>

Daniel Stenberg (18 Oct 2021)
- cirrus: remove FreeBSD 11.4 from the matrix
  
  It has reached End-Of-Life and causes some LDAP CI issues.
  
  Closes #7869

- cirrus: switch to openldap24-client
  
  ... as it seems openldap-client doesn't exist anymore.
  
  Reported-by: Jay Satiro
  Fixes #7868
  Closes #7869

- checksrc: ignore preprocessor lines
  
  In order to check the actual code better, checksrc now ignores
  everything that look like preprocessor instructions. It also means
  that code in macros are now longer checked.
  
  Note that some rules then still don't need to be followed when code is
  exactly below a cpp instruction.
  
  Removes two checksrc exceptions we needed previously because of
  preprocessor lines being checked.
  
  Reported-by: Marcel Raad
  Fixes #7863
  Closes #7864

- urlapi: skip a strlen(), pass in zero
  
  ... to let curl_easy_escape() itself do the strlen. This avoids a (false
  positive) Coverity warning and it avoids us having to store the strlen()
  return value in an int variable.
  
  Reviewed-by: Daniel Gustafsson
  Closes #7862

- misc: update copyright years

- examples/htmltidy: correct wrong printf() use
  
  ... and update the includes to match how current htmltidy wants them
  used.
  
  Reported-by: Stathis Kapnidis
  Fixes #7860
  Closes #7861

Jay Satiro (15 Oct 2021)
- http: set content length earlier
  
  - Make content length (ie download size) accessible to the user in the
    header callback, but only after all headers have been processed (ie
    only in the final call to the header callback).
  
  Background:
  
  For a long time the content length could be retrieved in the header
  callback via CURLINFO_CONTENT_LENGTH_DOWNLOAD_T as soon as it was parsed
  by curl.
  
  Changes were made in 8a16e54 (precedes 7.79.0) to ignore content length
  if any transfer encoding is used. A side effect of that was that
  content length was not set by libcurl until after the header callback
  was called the final time, because until all headers are processed it
  cannot be determined if content length is valid.
  
  This change keeps the same intention --all headers must be processed--
  but now the content length is available before the final call to the
  header function that indicates all headers have been processed (ie
  a blank header).
  
  Bug: https://github.com/curl/curl/commit/8a16e54#r57374914
  Reported-by: sergio-nsk@users.noreply.github.com
  
  Co-authored-by: Daniel Stenberg
  
  Fixes https://github.com/curl/curl/issues/7804
  Closes https://github.com/curl/curl/pull/7803

Daniel Stenberg (15 Oct 2021)
- [Abhinav Singh brought this change]

  aws-sigv4: make signature work when post data is binary
  
  User sets the post fields size for binary data.  Hence, we should not be
  using strlen on it.
  
  Added test 1937 and 1938 to verify.
  
  Closes #7844

- [a1346054 brought this change]

  MacOSX-Framework: remove redundant ';'
  
  Closes #7859

- RELEASE-NOTES: synced

- openssl: with OpenSSL 1.1.0+ a failed RAND_status means goaway
  
  One reason we know it can fail is if a provider is used that doesn't do
  a proper job or is wrongly configured.
  
  Reported-by: Michael Baentsch
  Fixes #7840
  Closes #7856

Marcel Raad (14 Oct 2021)
- [Ryan Mast brought this change]

  cmake: add CURL_ENABLE_SSL option and make CMAKE_USE_* SSL backend options depend on it
  
  Closes https://github.com/curl/curl/pull/7822

Daniel Stenberg (14 Oct 2021)
- http: remove assert that breaks hyper
  
  Reported-by: Jay Satiro
  Fixes #7852
  Closes #7855

- http_proxy: fix one more result assign for hyper
  
  and remove the bad assert again, since it was run even with no error!
  
  Closes #7854

Jay Satiro (14 Oct 2021)
- sws: fix memory leak on exit
  
  - Free the allocated http request struct on cleanup.
  
  Prior to this change if sws was built with leak sanitizer it would
  report a memory leak error during testing.
  
  Closes https://github.com/curl/curl/pull/7849

Daniel Stenberg (14 Oct 2021)
- c-hyper: make Curl_http propagate errors better
  
  Pass on better return codes when errors occur within Curl_http instead
  of insisting that CURLE_OUT_OF_MEMORY is the only possible one.
  
  Pointed-out-by: Jay Satiro
  Closes #7851

- http_proxy: make hyper CONNECT() return the correct error code
  
  For every 'goto error', make sure the result variable holds the error
  code for what went wrong.
  
  Reported-by: Rafał Mikrut
  Fixes #7825
  Closes #7846

- docs/Makefile.am: repair 'make html'
  
  by removing index.html which isn't around anymore
  
  Closes #7853

- [Борис Верховский brought this change]

  curl: correct grammar in generated libcurl code
  
  Closes #7802

- tests: disable test 2043
  
  It uses revoked.badssl.com which now is expired and therefor this now
  permafails. We should not use external sites for tests, this test should
  be converted to use our own infra.
  
  Closes #7845

- runtests: split out ignored tests
  
  Report ignore tests separately from the actual fails.
  
  Don't exit non-zero if test servers couldn't get killed.
  
  Assisted-by: Jay Satiro
  
  Fixes #7818
  Closes #7841

- http2: make getsock not wait for write if there's no remote window
  
  While uploading, check for remote window availability in the getsock
  function so that we don't wait for a writable socket if no data can be
  sent.
  
  Reported-by: Steini2000 on github
  Fixes #7821
  Closes #7839

- test368: verify dash is appended for "-r [num]"
  
  Follow-up to 8758a26f8878

- [Борис Верховский brought this change]

  curl: actually append "-" to --range without number only
  
  Closes #7837

- RELEASE-NOTES: synced

- urlapi: URL decode percent-encoded host names
  
  The host name is stored decoded and can be encoded when used to extract
  the full URL. By default when extracting the URL, the host name will not
  be URL encoded to work as similar as possible as before. When not URL
  encoding the host name, the '%' character will however still be encoded.
  
  Getting the URL with the CURLU_URLENCODE flag set will percent encode
  the host name part.
  
  As a bonus, setting the host name part with curl_url_set() no longer
  accepts a name that contains space, CR or LF.
  
  Test 1560 has been extended to verify percent encodings.
  
  Reported-by: Noam Moshe
  Reported-by: Sharon Brizinov
  Reported-by: Raul Onitza-Klugman
  Reported-by: Kirill Efimov
  Fixes #7830
  Closes #7834

