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

                                  Changelog

Version 7.75.0 (3 Feb 2021)

Daniel Stenberg (3 Feb 2021)
- RELEASE-NOTES: synced

- THANKS: added contributors from 7.75.0

- copyright: fix year ranges in need of updates

- TODO: remove items for next SONAME bump etc
  
  We want to avoid that completely, so we don't plan for things after such
  an event.

- [Jay Satiro brought this change]

  ngtcp2: Fix build error due to change in ngtcp2_settings
  
  - Separate ngtcp2_transport_params.
  
  ngtcp2/ngtcp2@05d7adc made ngtcp2_transport_params separate from
  ngtcp2_settings.
  
  ngtcp2 master is required to build curl with http3 support.
  
  Closes #6554

- vtls: remove md5sum
  
  As it is not used anymore.
  
  Reported-by: Jacob Hoffman-Andrews
  Bug: https://curl.se/mail/lib-2021-02/0000.html
  
  Closes #6557

- [Alessandro Ghedini brought this change]

  quiche: don't use primary_ip / primary_port
  
  Closes #6555

Alessandro Ghedini (1 Feb 2021)
- travis: enable quiche's FFI feature

Daniel Stenberg (30 Jan 2021)
- [Dmitry Wagin brought this change]

  http: improve AWS HTTP v4 Signature auth
  
  - Add support services without region and service prefixes in
  the URL endpoint (ex. Min.IO, GCP, Yandex Cloud, Mail.Ru Cloud Solutions, etc)
  by providing region and service parameters via aws-sigv4 option.
  - Add [:region[:service]] suffix to aws-sigv4 option;
  - Fix memory allocation errors.
  - Refactor memory management.
  - Use Curl_http_method instead() STRING_CUSTOMREQUEST.
  - Refactor canonical headers generating.
  - Remove repeated sha256_to_hex() usage.
  - Add some docs fixes.
  - Add some codestyle fixes.
  - Add overloaded strndup() for debug - curl_dbg_strndup().
  - Update tests.
  
  Closes #6524

- hyper: fix CONNECT to set 'data' as userdata
  
  Follow-up to 14e075d1a7fd

- [Layla brought this change]

  connect: fix compile errors in `Curl_conninfo_local`
  
  .. for the `#else` (`!HAVE_GETSOCKNAME`) case
  
  Fixes https://github.com/curl/curl/issues/6548
  Closes #6549
  
  Signed-off-by: Layla <layla@insightfulvr.com>

- [Michał Antoniak brought this change]

  transfer: fix GCC 10 warning with flag '-Wint-in-bool-context'
  
  ... and return the error code from the Curl_mime_rewind call.
  
  Closes #6537

- [Michał Antoniak brought this change]

  avoid warning: enum constant in boolean context

- copyright: fix missing year (range) updates

- RELEASE-NOTES: synced

- openssl: lowercase the hostname before using it for SNI
  
  ... because it turns out several servers out there don't actually behave
  correctly otherwise in spite of the fact that the SNI field is
  specifically said to be case insensitive in RFC 6066 section 3.
  
  Reported-by: David Earl
  Fixes #6540
  Closes #6543

- KNOWN_BUGS: cmake: ExternalProject_Add does not set CURL_CA_PATH
  
  Closes #6313

- KNOWN_BUGS: Multi perform hangs waiting for threaded resolver
  
  Closes #4852

- KNOWN_BUGS: "pulseUI VPN client" is known to be buggy
  
  First entry in the new section "applications" for known problems in
  libcurl using applications.
  
  Closes #6306

- tool_writeout: make %{errormsg} blank for no errors
  
  Closes #6539

Jay Satiro (27 Jan 2021)
- [Gisle Vanem brought this change]

  build: fix djgpp builds
  
  - Update build instructions in packages/DOS/README
  
  - Extend 'VPATH' with 'vquic' and 'vssh'.
  
  - Allow 'Makefile.dist' to build both 'lib' and 'src'.
  
  - Allow using the Windows hosted djgpp cross compiler to build for MSDOS
    under Windows.
  
  - 'USE_SSL' -> 'USE_OPENSSL'
  
  - Added a 'link_EXE' macro. Etc, etc.
  
  - Linking 'curl.exe' needs '$(CURLX_CFILES)' too.
  
  - Do not pick-up '../lib/djgpp/*.o' files. Recompile locally.
  
  - Generate a gzipped 'tool_hugehelp.c' if 'USE_ZLIB=1'.
  
  - Remove 'djgpp-clean'
  
  - Adapt to new C-ares directory structure
  
  - Use conditional variable assignments
  
  Clarify the 'conditional variable assignment' in 'common.dj'.
  
  Closes https://github.com/curl/curl/pull/6382

Daniel Stenberg (27 Jan 2021)
- [Ikko Ashimine brought this change]

  hyper: fix typo in c-hyper.c
  
  settting -> setting
  
  Closes #6538

- libssh2: fix CURL_LIBSSH2_DEBUG-enabled build
  
  Follow-up to 2dcc940959772a
  
  Reported-by: Gisle Vanem
  Bug: https://github.com/curl/curl/commit/2dcc940959772a652f6813fb6bd3092095a4877b#commitcomment-46420088

Jay Satiro (27 Jan 2021)
- asyn-thread: fix build for when getaddrinfo missing
  
  This is a follow-up to 8315343 which several days ago moved the resolver
  pointer into the async struct but did not update the code that uses it
  when getaddrinfo is not present.
  
  Closes https://github.com/curl/curl/pull/6536

Daniel Stenberg (27 Jan 2021)
- urldata: move 'ints' to the end of 'connectdata'
  
  To optimize storage slightly.
  
  Closes #6534

- urldata: store ip version in a single byte
  
  Closes #6534

- urldata: remove duplicate 'upkeep_interval_ms' from connectdata
  
  ... and rely only on the value already set in Curl_easy.
  
  Closes #6534

- urldata: remove 'local_ip' from the connectdata struct
  
  As the info is already stored in the transfer handle anyway, there's no
  need to carry around a duplicate buffer for the life-time of the handle.
  
  Closes #6534

- urldata: remove duplicate port number storage
  
  ... and use 'int' for ports. We don't use 'unsigned short' since -1 is
  still often used internally to signify "unknown value" and 0 - 65535 are
  all valid port numbers.
  
  Closes #6534

- urldata: remove the duplicate 'ip_addr_str' field
  
  ... as the numerical IP address is already stored and kept in 'primary_ip'.
  
  Closes #6534

- select: convert Curl_select() to private static function
  
  The old function should not be used anywhere anymore (the only remaining
  gskit use has to be fixed to instead use Curl_poll or none at all).
  
  The static function version is now called our_select() and is only built
  if necessary.
  
  Closes #6531

- Curl_chunker: shrink the struct
  
  ... by removing a field, converting the hex index into a byte and
  rearranging the order. Cuts it down from 48 bytes to 32 on x86_64.
  
  Closes #6527

- curl: include the file name in --xattr/--remote-time error msgs

- curl: s/config->global/global/ in single_transfer()

- curl: move fprintf outputs to warnf
  
  For setting and getting time of the download. To make the outputs
  respect --silent etc.
  
  Reported-by: Viktor Szakats
  Fixes #6533
  Closes #6535

- [Tatsuhiro Tsujikawa brought this change]

  ngtcp2: Fix http3 upload stall
  
  Closes #6521

- [Tatsuhiro Tsujikawa brought this change]

  ngtcp2: Fix stack buffer overflow
  
  Closes #6521

- warnless.h: remove the prototype for curlx_ultosi
  
  Follow-up to 217552503ff3

- warnless: remove curlx_ultosi
  
  ... not used anywhere
  
  Closes #6530

- [Patrick Monnerat brought this change]

  lib: remove conn->data uses
  
  Closes #6515

- pingpong: remove the 'conn' struct member
  
  ... as it's superfluous now when Curl_easy is passed in and we can
  derive the connection from that instead and avoid the duplicate copy.
  
  Closes #6525

- hostip/proxy: remove conn->data use
  
  Closes #6513

- url: reduce conn->data references
  
  ... there are a few left but let's keep them to last
  
  Closes #6512

- scripts/singleuse: add curl_easy_option*

Jay Satiro (25 Jan 2021)
- test410: fix for windows
  
  - Pass the very long request header via file instead of command line.
  
  Prior to this change the 49k very long request header string was passed
  via command line and on Windows that is too long so it was truncated and
  the test would fail (specifically msys CI).
  
  Closes https://github.com/curl/curl/pull/6516

Daniel Stenberg (25 Jan 2021)
- libssh2: move data from connection object to transfer object
  
  Readdir data, filenames and attributes are strictly related to the
  transfer and not the connection. This also reduces the total size of the
  fixed connectdata struct.
  
  Closes #6519

- RELEASE-NOTES: synced

- [Patrick Monnerat brought this change]

  lib: remove conn->data uses
  
  Closes #6499

- hyper: remove the conn->data references
  
  Closes #6508

- travis: build ngtcp2 --with-gnutls
  
  ... since they disable it by default since a few days back.
  
  Closes #6506
  Fixes #6493

- hostip: remove conn->data from resolver functions
  
  This also moves the 'async' struct from the connectdata struct into the
  Curl_easy struct, which seems like a better home for it.
  
  Closes #6497

Jay Satiro (22 Jan 2021)
- strerror: skip errnum >= 0 assertion on windows
  
  On Windows an error number may be greater than INT_MAX and negative once
  cast to int.
  
  The assertion is checked only in debug builds.
  
  Closes https://github.com/curl/curl/pull/6504

Daniel Stenberg (21 Jan 2021)
- doh: make Curl_doh_is_resolved survive a NULL pointer
  
  ... if Curl_doh() returned a NULL, this function gets called anyway as
  in a asynch procedure. Then the doh struct pointer is NULL and signifies
  an OOM situation.
  
  Follow-up to 6246a1d8c6776

- wolfssh: remove conn->data references
  
  ... and repair recent build breakage
  
  Closes #6507

- http: empty reply connection are not left intact
  
  ... so mark the connection as closed in this condition to prevent that
  verbose message to wrongly appear.
  
  Reported-by: Matt Holt
  Bug: https://twitter.com/mholt6/status/1352130240265375744
  Closes #6503

- chunk/encoding: remove conn->data references
  
  ... by anchoring more functions on Curl_easy instead of connectdata
  
  Closes #6498

Jay Satiro (20 Jan 2021)
- [Erik Olsson brought this change]

  lib: save a bit of space with some structure packing
  
  - Reorder some internal struct members so that less padding is used.
  
  This is an attempt at saving a bit of space by packing some structs
  (using pahole to find the holes) where it might make sense to do
  so without losing readability.
  
  I.e., I tried to avoid separating fields that seem grouped
  together (like the cwd... fields in struct ftp_conn for instance).
  Also abstained from touching fields behind conditional macros as
  that quickly can get complicated.
  
  Closes https://github.com/curl/curl/pull/6483

Daniel Stenberg (20 Jan 2021)
- INSTALL.md: fix typo
  
  Found-by: Marcel Raad

- [Fabian Keil brought this change]

  http: get CURLOPT_REQUEST_TARGET working with a HTTP proxy
  
  Added test 1613 to verify.
  
  Closes #6490

- Merge branch 'bagder/curl_range-data-conn'

- ftp: remove conn->data leftover

- curl_range: remove conn->data
  
  Closes #6496

- INSTALL: now at 85 operating systems

- quiche: fix unused parameter ‘conn’
  
  Follow-up to 2bdec0b3

- transfer: fix ‘conn’ undeclared mistake for iconv build
  
  Follow-up to 219d9f8620d

- doh: allocate state struct on demand
  
  ... instead of having it static within the Curl_easy struct. This takes
  away 1176 bytes (18%) from the Curl_easy struct that aren't used very
  often and instead makes the code allocate it when needed.
  
  Closes #6492

- socks: use the download buffer instead
  
  The SOCKS code now uses the generic download buffer for temporary
  storage during the connection procedure, instead of having its own
  private 600 byte buffer that adds to the connectdata struct size. This
  works fine because this point the buffer is allocated but is not use for
  download yet since the connection hasn't completed.
  
  This reduces the connection struct size by 22% on a 64bit arch!
  
  The SOCKS buffer needs to be at least 600 bytes, and the download buffer
  is guaranteed to never be smaller than 1000 bytes.
  
  Closes #6491

- urldata: make magic be the first struct field
  
  By making the `magic` identifier the same size and at the same place
  within the structs (easy, multi, share), libcurl will be able to more
  reliably detect and safely error out if an application passes in the
  wrong handle to APIs. Easier to detect and less likely to cause crashes
  if done.
  
  Such mixups can't be detected at compile-time due to them being
  typedefed void pointers - unless `CURL_STRICTER` is defined.
  
  Closes #6484

- http_chunks: correct and clarify a comment on hexnumber length
  
  ... and also rename the define for max length.
  
  Closes #6489

- curl_path: remove conn->data use
  
  Closes #6487

- transfer: remove conn->data use
  
  Closes #6486

- quic: remove conn->data use
  
  Closes #6485

- [Fabian Keil brought this change]

  Add test1181: Proxy request with --proxy-header "Connection: Keep-Alive"

- [Fabian Keil brought this change]

  Add test1180: Proxy request with -H "Proxy-Connection: Keep-Alive"
  
  At the moment the test fails as curl sends two Proxy-Connection
  headers.

- c-hyper: avoid duplicated Proxy-Connection headers

- http: make providing Proxy-Connection header not cause duplicated headers
  
  Fixes test 1180
  
  Bug: https://curl.se/mail/lib-2021-01/0095.html
  Reported-by: Fabian Keil
  Closes #6472

- runtests: preprocess DISABLED to allow conditionals
  
  ... with this function provided, we can disable tests for specific
  environments and setups directly within this file.
  
  Closes #6477

- runtests: turn preprocessing into a separate function
  
  ... and remove all other variable substitutions as they're now done once
  and for all in the preprocessor.

- lib/Makefile.inc: convert to listing each file on its own line
  
  ... to make it diff friendlier and easier to read.
  
  Closes #6448

- ftplistparser: remove use of conn->data
  
  Closes #6482

- lib: more conn->data cleanups
  
  Closes #6479

- [Patrick Monnerat brought this change]

  vtls: reduce conn->data use
  
  Closes #6474

- hyper: deliver data to application with Curl_client_write
  
  ... just as the native code path does. Avoids sending too large data
  chunks in the callback and more.
  
  Reported-by: Gisle Vanem
  Fixes #6462
  Closes #6473

- gopher: remove accidental conn->data leftover

- libssh: avoid plain free() of libssh-memory
  
  Since curl's own memory debugging system redefines free() calls to track
  and fiddle with memory, it cannot be used on memory allocated by 3rd
  party libraries.
  
  Third party libraries SHOULD NOT require free() to release allocated
  resources for this reason - and libs can use separate healp allocators
  on some systems (like Windows) so free() doesn't necessarily work
  anyway.
  
  Filed as an issue with libssh: https://bugs.libssh.org/T268
  
  Closes #6481

- send: assert that Curl_write_plain() has a ->conn when called
  
  To help catch bad invokes.
  
  Closes #6476

- test410: verify HTTPS GET with a 49K request header
  
  skip test 410 for mesalink in the CI as it otherwise hangs "forever"

- lib: pass in 'struct Curl_easy *' to most functions
  
  ... in most cases instead of 'struct connectdata *' but in some cases in
  addition to.
  
  - We mostly operate on transfers and not connections.
  
  - We need the transfer handle to log, store data and more. Everything in
    libcurl is driven by a transfer (the CURL * in the public API).
  
  - This work clarifies and separates the transfers from the connections
    better.
  
  - We should avoid "conn->data". Since individual connections can be used
    by many transfers when multiplexing, making sure that conn->data
    points to the current and correct transfer at all times is difficult
    and has been notoriously error-prone over the years. The goal is to
    ultimately remove the conn->data pointer for this reason.
  
  Closes #6425

Emil Engler (17 Jan 2021)
- docs: fix typos in NEW-PROTOCOL.md
  
  This fixes a misspelled "it" and a grammatically wrong "-ing" suffix.
  
  Closes #6471

Daniel Stenberg (16 Jan 2021)
- RELEASE-NOTES: synced

Jay Satiro (16 Jan 2021)
- [Razvan Cojocaru brought this change]

  cmake: expose CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG
  
  This does for cmake builds what --disable-openssl-auto-load-config
  does for autoconf builds.
  
  Closes https://github.com/curl/curl/pull/6435

Daniel Stenberg (15 Jan 2021)
- test1918: verify curl_easy_option_by_name() and curl_easy_option_by_id()
  
  ... and as a practical side-effect, make sure that the
  Curl_easyopts_check() function is asserted in debug builds, which we
  want to detect mismatches between the options list in easyoptions.c and
  the options in curl.h
  
  Found-by: Gisle Vanem
  Bug: https://github.com/curl/curl/commit/08e8455dddc5e48e58a12ade3815c01ae3da3b64#commitcomment-45991815
  
  Closes #6461

- [Gisle Vanem brought this change]

  easyoptions: add the missing AWS_SIGV4
  
  Follow-up from AWS_SIGV4

- schannel_verify: fix safefree call typo
  
  Follow-up from e87ad71d1ba00519
  
  Closes #6459

- mime: make sure setting MIMEPOST to NULL resets properly
  
  ... so that a function can first use MIMEPOST and then set it to NULL to
  reset it back to a blank POST.
  
  Added test 584 to verify the fix.
  
  Reported-by: Christoph M. Becker
  
  Fixes #6455
  Closes #6456

- multi: set the PRETRANSFER time-stamp when we switch to PERFORM
  
  ... instead of at end of the DO state. This makes the timer more
  accurate for the protocols that use the DOING state (such as FTP), and
  simplifies how the function (now called init_perform) is called.
  
  The timer will then include the entire procedure up to PERFORM -
  including all instructions for getting the transfer started.
  
  Closes #6454

- CURLINFO_PRETRANSFER_TIME.3: clarify
  
  ... the timer *does* include the instructions for getting the remote
  file.
  
  Ref: #6452
  Closes #6453

- [Gisle Vanem brought this change]

  schannel: plug a memory-leak
  
  ... when built without -DUNICODE.
  
  Closes #6457

Jay Satiro (14 Jan 2021)
- gitattributes: Set batch files to CRLF line endings on checkout
  
  If a batch file is run without CRLF line endings (ie LF-only) then
  arbitrary behavior may occur. I consider that a bug in Windows, however
  the effects can be serious enough (eg unintended code executed) that
  we're fixing it in the repo by requiring CRLF line endings for batch
  files on checkout.
  
  Prior to this change the checked-out line endings of batch files were
  dependent on a user's git preferences. On Windows it is common for git
  users to have automatic CRLF conversion enabled (core.autocrlf true),
  but those users that don't would run into this behavior.
  
  For example a user has reported running the Visual Studio project
  generator batch file (projects/generate.bat) and it looped forever.
  Output showed that the Windows OS interpreter was occasionally jumping
  to arbitrary points in the batch file and executing commands. This
  resulted in unintended files being removed (a removal sequence called)
  and looping forever.
  
  Ref: https://serverfault.com/q/429594
  Ref: https://stackoverflow.com/q/232651
  Ref: https://www.dostips.com/forum/viewtopic.php?t=8988
  Ref: https://git-scm.com/docs/gitattributes#_checking_out_and_checking_in
  Ref: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_autocrlf
  
  Bug: https://github.com/curl/curl/discussions/6427
  Reported-by: Ganesh Kamath
  
  Closes https://github.com/curl/curl/pull/6442

Daniel Stenberg (14 Jan 2021)
- tool_operate: spellfix a comment

- ROADMAP: refreshed
  
  o removed HSTS - already implemented
  o added HTTPS RR records
  o mention HTTP/3 completion

- http_chunks: remove Curl_ prefix from static functions

- transfer: remove Curl_ prefix from static functions

- tftp: remove Curl_ prefix from static functions

- multi: remove Curl_ prefix from static functions

- ldap: remove Curl_ prefix from static functions

- doh: remove Curl_ prefix from static functions

- asyn-ares: remove Curl_ prefix from static functions

- vtls: remove Curl_ prefix from static functions

- bearssl: remove Curl_ prefix from static functions

- mbedtls: remove Curl_ prefix from static functions

- wolfssl: remove Curl_ prefix from static functions

- nss: remove Curl_ prefix from static functions

- gnutls: remove Curl_ prefix from static functions

- openssl: remove Curl_ prefix from static functions
  
  ... as we reserve this prefix to library-wide functions.
  
  Closes #6443

- nss: get the run-time version instead of build-time
  
  Closes #6445

Jay Satiro (12 Jan 2021)
- tool_doswin: Restore original console settings on CTRL signal
  
  - Move Windows terminal init code from tool_main to tool_doswin.
  
  - Restore the original console settings on CTRL+C and CTRL+BREAK.
  
  Background: On Windows the curl tool changes the console settings to
  enable virtual terminal processing (eg color output) if supported
  (ie Win 10). The original settings are restored on exit but prior to
  this change were not restored in the case of the CTRL signals.
  
  Windows VT behavior varies depending on console/powershell/terminal;
  refer to the discussion in #6226.
  
  Assisted-by: Rich Turner
  
  Closes https://github.com/curl/curl/pull/6226

Daniel Stenberg (12 Jan 2021)
- gen.pl: fix perl syntax
  
  Follow-up to 324cf1d2e

- [Emil Engler brought this change]

  help: update to current codebase
  
  This commit bumps the help to the current state of the project.
  
  Closes #6437

- [Emil Engler brought this change]

  docs: fix line length bug in gen.pl
  
  The script warns if the length of $opt and $desc is > 78. However, these
  two variables are on totally separate lines so the check makes no sense.
  Also the $bitmask field is totally forgotten. Currently this leads to
  two warnings within `--resolve` and `--aws-sigv4`.
  
  Closes #6438

- [Emil Engler brought this change]

  docs: fix wrong documentation in help.d
  
  curl does not list all categories when you invoke "--help" without any
  parameters.
  
  Closes #6436

- aws-sigv4.d: polish the wording
  
  Make it shorter and imperative form
  
  Closes #6439

- [Fabian Keil brought this change]

  misc: fix typos
  
  Bug: https://curl.se/mail/lib-2021-01/0063.html
  Closes #6434

- multi_runsingle: bail out early on data->conn == NULL
  
  As that's a significant error condition and scan-build warns for NULL
  pointer dereferences if we don't.
  
  Closes #6433

- multi: skip DONE state if there's no connection left for ftp wildcard
  
  ... to avoid running in that state with data->conn being NULL.

- libssh2: fix "Value stored to 'readdir_len' is never read"
  
  Detected by scan-build

- connect: mark intentional ignores of setsockopt return values
  
  Pointed out by Coverity
  
  Closes #6431

Jay Satiro (11 Jan 2021)
- http_proxy: Fix CONNECT chunked encoding race condition
  
  - During the end-of-headers response phase do not mark the tunnel
    complete unless the response body was completely parsed/ignored.
  
  Prior to this change if the entirety of a CONNECT response with chunked
  encoding was not received by the time the final header was parsed then
  the connection would be marked done prematurely, before all the chunked
  data could be read in and ignored (since this is what we do with any
  CONNECT response body) and the connection could not be used.
  
  Bug: https://curl.se/mail/lib-2021-01/0033.html
  Reported-by: Fabian Keil
  
  Closes https://github.com/curl/curl/pull/6432

Daniel Stenberg (11 Jan 2021)
- RELEASE-NOTES: synced

- url: if IDNA conversion fails, fallback to Transitional
  
  This improves IDNA2003 compatiblity.
  
  Reported-by: Bubu on github
  Fixes #6423
  Closes #6428

- travis: make the Hyper build from its master branch
  
  Closes #6430

- http: make 'authneg' also work for Hyper
  
  When doing a request with a request body expecting a 401/407 back, that
  initial request is sent with a zero content-length. Test 177 and more.
  
  Closes #6424

Jay Satiro (8 Jan 2021)
- cmake: Add an option to disable libidn2
  
  New option USE_LIBIDN2 defaults to ON for libidn2 detection. Prior to
  this change libidn2 detection could not be turned off in cmake builds.
  
  Reported-by: William A Rowe Jr
  
  Fixes https://github.com/curl/curl/issues/6361
  Closes https://github.com/curl/curl/pull/6362

Daniel Stenberg (8 Jan 2021)
- HYPER: no longer needs the special branch

- test179: use consistent header line endings
  
  ... to make "Hyper mode" work better.

- file: don't provide content-length for directories
  
  ... as it is misleading.
  
  Ref #6379
  Closes #6421

- TODO: Directory listing for FILE:
  
  Ref #6379

- curl.h: add CURLPROTO_GOPHERS as own protocol identifier
  
  Follow-up to a1f06f32b860, to make sure it can be handled separately
  from plain gopher.
  
  Closes #6418

- http: have CURLOPT_FAILONERROR fail after all headers
  
  ... so that Retry-After and other meta-content can still be used.
  
  Added 1634 to verify. Adjusted test 194 and 281 since --fail now also
  includes the header-terminating CRLF in the output before it exits.
  
  Fixes #6408
  Closes #6409

- global_init: debug builds allocates a byte in init
  
  ... to make build tools/valgrind warn if no curl_global_cleanup is
  called.
  
  This is conditionally only done for debug builds with the env variable
  CURL_GLOBAL_INIT set.
  
  Closes #6410

- lib/unit tests: add missing curl_global_cleanup() calls

- travis: adapt to Hyper build change
  
  Closes #6419

- pretransfer: setup the User-Agent header here
  
  ... and not in the connection setup, as for multiplexed transfers the
  connection setup might be skipped and then the transfer would end up
  without the set user-agent!
  
  Reported-by: Flameborn on github
  Assisted-by: Andrey Gursky
  Assisted-by: Jay Satiro
  Assisted-by: Mike Gelfand
  Fixes #6312
  Closes #6417

- test66: disable with Hyper
  
  ...as Hyper doesn't support HTTP/0.9

- c-hyper: poll the tasks until end correctly
  
  ... makes test 36 work.
  
  Closes #6412

- [Gergely Nagy brought this change]

  mk-ca-bundle.pl: deterministic output when using -t
  
  Printing trust purposes are now sorted, making the output deterministic
  when running on the same input certdata.txt.
  
  Closes #6413

- KNOWN_BUGS: fixed "wolfSSL lacks support for renegotiation"
  
  Fixed by #6411

- [Himanshu Gupta brought this change]

  wolfssl: add SECURE_RENEGOTIATION support
  
  Closes #6411

- RELEASE-NOTES: synced

- wolfssl: update copyright year range
