gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnurl] branch master updated (7bd28f373 -> 6fcba0825)


From: gnunet
Subject: [gnurl] branch master updated (7bd28f373 -> 6fcba0825)
Date: Wed, 13 Jan 2021 01:16:55 +0100

This is an automated email from the git hooks/post-receive script.

nikita pushed a change to branch master
in repository gnurl.

    from 7bd28f373 Makefile.am
     new 80d73bcca tls: provide the CApath verbose log on its own line
     new 5bb172157 RELEASE-NOTES: synced
     new 7f8863f74 dist: add missing CMake Find modules to the distribution
     new 6b60767bd TODO: Virtual external sockets
     new 15f76a50e runtests: clear pid variables when failing to start a server
     new 327bd5d02 runtests: avoid 'fail to start' repeated messages in attempt 
loops
     new 38039da76 Makefile.m32: add ability to override zstd libs [ci skip]
     new 712d16cbe KNOWN_BUGS:  'no_proxy' string-matches IPv6 numerical 
addreses
     new d71ac6711 runtests: make cleardir() erase dot files too
     new 88b1ca7cb CURLE_PROXY: new error code
     new fab518527 sftp: add new quote commands 'atime' and 'mtime'
     new bc3b5bcf8 setopt: if the buffer exists, refuse the new BUFFERSIZE
     new 98c94596f etag: save and use the full received contents
     new 4be1f8dc0 curl: support XDG_CONFIG_HOME to find .curlrc
     new 4ebac0610 checksrc: verify do-while and spaces between the braces
     new ddf47bbc0 RELEASE-NOTES: synced
     new ebc6c54c7 sftp: add the option CURLKHSTAT_FINE_REPLACE
     new 510d98157 configure: fix pkg-config detecting wolfssl
     new 5620d2cc7 curl: add --output-dir
     new 3a9042ea1 docs: --output-dir is added in 7.73.0, nothing else
     new 0f7c332f9 select.h: make socket validation macros test for 
INVALID_SOCKET
     new e21bd22f8 select: fix poll-based check not detecting connect failure
     new 17f58c8d9 select: reduce duplication of Curl_poll in Curl_socket_check
     new d2a7d7c18 multi: implement wait using winsock events
     new 3334ee6bc multi: expand pre-check for socket readiness
     new 259a81555 lib1560: verify "redirect" to double-slash leading URL
     new be753add3 winbuild: convert the instruction text to README.md
     new f31b2e7cb winbuild/README.md: make <options> visible
     new 7691f68ba ngtcp2: adapt to the new pkt_info arguments
     new a6a17662f doh: add error message for DOH_DNS_NAME_TOO_LONG
     new 99119fc8a git: ignore libtests in 3XXX area
     new 01e2679b4 schannel: fix memory leak when using get_cert_location
     new ce88e21c7 curl_get_line: build only if cookies or alt-svc are enabled
     new d854572cc socketpair: allow CURL_DISABLE_SOCKETPAIR
     new fbe07c682 openssl: Fix wincrypt symbols conflict with BoringSSL
     new 7731c3588 RELEASE-NOTES: synced
     new 9ee5701f1 HTTP/3: update to OpenSSL_1_1_1g-quic-draft-29
     new 6ebe63fac options: API for meta-data about easy options
     new ad691b191 configure: added --disable-get-easy-options
     new 4608fa4ae scripts: improve the "get latest curl release tag" logic
     new 0da301a08 docs/libcurl: update "Added in" version for curl_easy_option*
     new 616c30ad6 lib: make Curl_gethostname accept a const pointer
     new 85868537d buildconf: invoke 'autoreconf -fi' instead
     new 3165ea053 curl.1: fix typo invokved -> invoked
     new 0ac310a82 docs: non-existing macros in man pages
     new c77f6fd1c docs: SSLCERTS: fix English syntax
     new 68a513247 TLS: fix SRP detection by using the proper #ifdefs
     new a2c85bb8e Curl_pgrsTime - return new time to avoid timeout integer 
overflow
     new 003e81e2a multi: handle connection state winsock events
     new 5fcad1c1c sockfilt: handle FD_CLOSE winsock event on write socket
     new 6e18568ba easyoptions: provide debug function when DEBUGBUILD
     new 70984ce1b tests: add test1912 with typechecks
     new a935f0bde RELEASE-NOTES: synced
     new 05729b66c select: simplify return code handling for poll and select
     new 95aea798d CMake: add option to enable Unicode on Windows
     new 5cfb807bb AppVeyor: switch 64-bit Schannel Debug CMake builds to 
Unicode
     new f504f1864 ntlm: fix condition for curl_ntlm_core usage
     new 8bb183114 tests/getpart: use MIME::Base64 instead of home-cooked
     new 61aab81c5 docs: add description about CI platforms to CONTRIBUTE.md
     new de77ae0a7 CI/azure: no longer ignore results of test 1013
     new 8b69ac0c1 buildconf: exec autoreconf to avoid additional process
     new 728f8d3bd conn: check for connection being dead before reuse
     new a33735548 url: remove funny embedded comments in Curl_disonnect calls
     new ede125b7b tls: add CURLOPT_SSL_EC_CURVES and --curves
     new e37e44686 mqtt: enable by default
     new 147eca8ba RELEASE-NOTES: synced
     new 82149e70a curl.1: add see also no-progress-meter on two spots
     new 401d237b8 cmdline-opts/gen.pl: generate nicer "See Also" in curl.1
     new e250b568b optiontable: use DEBUGBUILD
     new 64586af92 lib/Makefile.am: bump VERSIONINFO due to new functions
     new e22682b90 test971: show test mismatches "inline"
     new e3181d022 copyright.pl: ignore buildconf
     new ce56cc8b1 CI/azure: MQTT is now enabled by default
     new 20d74b739 select: align poll emulation to return all relevant events
     new 3e4b32a3e win32: drop support for WinSock version 1, require version 2
     new 8bdc4f8ae telnet.c: depend on static requirement of WinSock version 2
     new 9b3f888a0 llist: make it "struct Curl_llist"
     new 9e90ff083 hash: make it 'struct Curl_hash'
     new add702266 schannel: make it 'struct Curl_schannel*'
     new 221a584df curl_threads: make it 'struct Curl_actual_call'
     new 3acb2abdf vtls: make it 'struct Curl_ssl_session'
     new c26446ff5 wildcard: strip "curl_" prefix from private symbols
     new 5507a6ae4 mqtt.c: avoid curl_ prefix on local variable
     new dd51f04b1 setopt: avoid curl_ on local variable
     new b3fbb2fb9 openssl: avoid error conditions when importing native CA
     new 63a111a27 travis: add a CI job with openssl3 (from git master)
     new 3eff1c509 http_proxy: do not crash with HTTPS_PROXY and NO_PROXY set
     new b4d86d34f scripts/delta: add diffstat summary
     new a27af8b51 libssh2: pass on the error from ssh_force_knownhost_key_type
     new d541f83d5 CMake: remove explicit `CMAKE_ANSI_CFLAGS`
     new d1d310531 connect.c: remove superfluous 'else' in Curl_getconnectinfo
     new df0282a82 RELEASE-NOTES: synced
     new 5dddc1dc7 docs: add categories to all cmdline opts
     new aa8777f63 tool: update --help with categories
     new a86cc7e2a tests: Add tests for new --help
     new 879007f81 easygetopt: pass a valid enum to avoid compiler warning
     new 6ecb63e49 curl: in retry output don't call all problems "transient"
     new 953088d2c winbuild/rundebug.cmd: remove
     new bbf8cae44 build: drop support for building with Watcom
     new e4e725f83 curl:parallel_transfers: make sure retry readds the transfer
     new 363a88ac9 curl: retry delays in parallel mode no longer sleeps blocking
     new e50a877df tests: remove pipelining tests
     new 8ca54a03e test1541: remove since it is a known bug
     new f93455eb0 altsvc: clone setting in curl_easy_duphandle
     new e089704a0 CI/azure: add test number to title for display in analytics
     new 2a82e4dc4 tests/libtests: remove test 1900 and 2033
     new d799b7737 libtest: remove lib1541 leftovers
     new dc95c4e02 cmake: make HTTP_ONLY also disable MQTT
     new d63b3908d FAQ: refreshed some very old language
     new 6d946ad9f openssl: consider ALERT_CERTIFICATE_EXPIRED a failed 
verification
     new 8684bb70d configure: let --enable-debug set -Wenum-conversion with gcc 
>= 10
     new 6f42e3b16 travis: add a build using libressl (from git master)
     new 3532262ed url: use blank credentials when using proxy w/o username and 
password
     new ad425d3e3 RELEASE-NOTES: synced
     new 17fcdf6a3 lib: fix -Wassign-enum warnings
     new ab213d60e libtest: fix build errors
     new 558dffe30 lib583: fix enum mixup
     new 36f60494a curl_mime_headers.3: fix the example's use of 
curl_slist_append
     new 20417a13f base64: enable in build with SMTP
     new 11ab0ad60 base64: also build for pop3 and imap
     new 4ba275a46 HISTORY: mention alt-svc added in 2019
     new 25a25f45a http: consolidate nghttp2_session_mem_recv() call paths
     new 33bca7c9f docs/LICENSE-MIXING: remove
     new 5fbc3ee52 tests: add test1912 to the dist
     new 9fffe925d dynbuf: make sure Curl_dyn_tail() zero terminates
     new c4ea71ae3 dynbuf: provide curlx_ names for reuse by the curl tool
     new 47dd957da curl: use curlx_dynbuf for realloc when loading config files
     new b83947c8d runtests: allow creating files without newlines
     new 5c2d2d2ac test434: test -K use in a single line without newline
     new 51e8f2938 RELEASE-NOTES: synced
     new da5ae38db imap: set cselect_bits to CURL_CSELECT_IN initially
     new 0938f828b curl: make file2string use dynbuf
     new 893bbd745 curl: make file2memory use dynbuf
     new 70a3b003d curl: make glob_match_url use dynbuf
     new a16794984 curl: make checkpasswd use dynbuf
     new 7ea2e1d0c ftp: a 550 response to SIZE returns 
CURLE_REMOTE_FILE_NOT_FOUND
     new 182ff2d63 vtls: deduplicate client certificates in ssl_config_data
     new 4e66207c5 tool_urlglob: fix compiler warning "unreachable code"
     new 0c1e767e8 tool_writeout: add new writeout variable, %{num_headers}
     new 8854b9284 tests/FILEFORMAT: document nonewline support for <file>
     new 304aeace1 tests/FILEFORMAT: document type=shell for <command>
     new 9fe7b6620 travis: use libressl v3.1.4 instead of master
     new 2cc685724 test3015: verify stdout "as text"
     new 0b4c4145a tool_writeout: protect fputs() from NULL
     new 1556b99f1 CI/azure: disable test 571 in the msys2 builds
     new ec6363be1 tool_help.h: update copyright year range
     new 15f5d5989 TODO: add PR reference for native IDN support on macOS
     new af0959995 TODO: dynamically decide to use socketpair
     new 40d67da7c multi: reuse WinSock events variable in Curl_multi_wait
     new 1060955a6 multi: align WinSock mask variables in Curl_multi_wait
     new c0f0e400e urlapi: use more Curl_safefree
     new 48fb543d7 github: use new issue template feature
     new cd048aaa2 github: remove the duplicate "Security vulnerability" entry
     new 83cc96670 man pages: switch to https://example.com URLs
     new cc372af1e ftp: get rid of the PPSENDF macro
     new 7921b41ce easy_reset: clear retry counter
     new 3d8731c8f ftp: avoid risk of reading uninitialized integers
     new 2cf5f9368 RELEASE-NOTES: synced
     new 2df7414a7 CHECKSRC: document two missing warnings
     new 5bd63e061 --help: strdup the category
     new 6f82ebd8a BUGS: convert document to markdown
     new d3d8773b1 docs/TheArtOfHttpScripting: convert to markdown
     new 559ed3ca2 docs/RESOURCES: remove
     new e1485bd06 docs/MQTT: not experimental anymore
     new 553588897 docs/MQTT: remove outdated paaragraphs
     new be2383947 cmake: remove scary warning
     new 2e645e21d parsedate: tune the date to epoch conversion
     new 6434a7398 Curl_handler: add 'family' to each protocol
     new f4873ebd0 krb5: merged security.c and krb specific FTP functions in 
here
     new a8e08a87d setopt: return CURLE_BAD_FUNCTION_ARGUMENT on bad argument
     new e5803089a http_proxy: do not count proxy headers in the header 
bytecount
     new 3e80895da test1297: verify GOT_NOTHING with http proxy tunnel
     new 1ee289f7b curl_krb5.h: rename from krb5.h
     new 5a654a0a6 RELEASE-NOTES: synced
     new 3d64031fa symbian: drop support
     new 0548ecaf6 pingpong: remove a malloc per Curl_pp_vsendf call
     new 235585770 KNOWN_BUGS: Unable to use PKCS12 certificate with Secure 
Transport
     new 7e8561e03 dynbuf: make *addf() not require extra mallocs
     new f74afa40f dynbuf: add Curl_dyn_vaddf
     new 675eeb1c9 pingpong: use a dynbuf for the *_pp_sendf() function
     new 93653ef9e tests/data: Fix some mismatched XML tags in test cases
     new 1397a7de6 ftp: separate FTPS from FTP over "HTTPS proxy"
     new 92a9b88eb Curl_send: return error when pre_receive_plain can't malloc
     new c4693adc6 imap: make imap_send use dynbuf for the send buffer 
management
     new bed5f8454 strerror: honor Unicode API choice on Windows
     new 3d60a2239 ngtcp2: adapt to new NGTCP2_PROTO_VER_MAX define
     new 11522d729 test163[12]: require http to be built-in to run
     new 7772344e1 pause: only trigger a reread if the unpause sticks
     new 4a4c72459 ftp: make a 552 response return CURLE_REMOTE_DISK_FULL
     new 1e3c52fba RELEASE-NOTES: synced
     new abeeffb11 schannel: return CURLE_PEER_FAILED_VERIFICATION for 
untrusted root
     new 422b257fe ROADMAP: updates and cleanups
     new a87cca7b1 sendf: move Curl_sendf to dict.c and make it static
     new 82d66f158 memdebug: remove 9 year old unused debug function
     new edfb6168e libssh2: handle the SSH protocols done over HTTPS proxy
     new a7de1c0d8 TODO: SSH over HTTPS proxy with more backends
     new 83c649329 configure: use "no" instead of "disabled" for the end summary
     new cbe7fad20 ECH: renamed from ESNI in docs and configure
     new b312e3238 sectransp: make it build with --disable-proxy
     new 025b20971 HISTORY: add some 2020 events
     new 021f2c25f MANUAL: update examples to resolve without redirects
     new 2aac895fb src: Consistently spell whitespace without whitespace
     new c8204ed6a configure: don't say HTTPS-proxy is enabled when disabled!
     new 7b9e3c4b4 examples/README: convert to markdown
     new d0c77730e include/README: convert to markdown
     new 422f610b4 tests/README: convert to markdown
     new 8aeb82eec tests/unit/README: convert to markdown
     new 6603917c3 TODO: Add OpenBSD libtool notice
     new ce95c5e01 RELEASE-NOTES: synced
     new 7920be947 vtls: deduplicate some DISABLE_PROXY ifdefs
     new 9a13f7c2a strerror: fix null deref on winapi out-of-memory
     new 3997b3e2a curl: make --libcurl show binary posts correctly
     new 01327600e tool_setopt: escape binary data to hex, not octal
     new 2dd53e82f runtests: allow generating a binary sequence from hex
     new ddecd2826 test1465: verify --libcurl with binary POST data
     new 26a7d51c2 checksrc: warn on space after exclamation mark
     new e6b21d422 runtests: provide curl's version string as %VERSION for tests
     new 6497ed45b ldap: reduce the amount of #ifdefs needed
     new 2ead0ca48 docs/opts: fix typos in two manual pages
     new 639c6bfcf --help: move two options from the misc category
     new b8e4d1cb0 runtests: add %repeat[]% for test files
     new af782db0e build-wolfssl: fix build with Visual Studio 2019
     new 06488441a scripts/release-notes.pl: don't "embed" $ in format string 
for printf()
     new d3a3cacd3 RELEASE-NOTES: synced
     new ec1cb755b curl: make sure setopt CURLOPT_IPRESOLVE passes on a long
     new bc5455fa7 mbedtls: add missing header when defining MBEDTLS_DEBUG
     new 7d8c89d47 checksrc: detect // comments on column 0
     new 1101fbbf4 runtests.pl: use $LIBDIR variable instead of hardcoded path
     new a4c26b0ab HISTORY: curl verifies SSL certs by default since version 
7.10
     new c8ca70547 src/Makefile.m32: fix undefined curlx_dyn_* errors
     new d707a9fa6 windows: fix comparison of mismatched types warning
     new 0a99281c2 CI/tests: use verification curl for test reporting APIs
     new a32687798 strerror: Revert to local codepage for Windows error string
     new 112418070 tests/server/util.c: fix support for Windows Unicode builds
     new d8fffd718 CI/tests: fix invocation of tests for CMake builds
     new fddc603b6 projects/build-wolfssl.bat: fix the copyright year range
     new eafe1eaff mailmap: fixups of some contributors
     new 2cbd2a2ab THANKS: from 7.73.0 and .mailmap fixes
     new 315ee3fe7 RELEASE-NOTES: synced
     new 15997f6db test122[12]: remove these two tests
     new 7c88fe375 src/tool_filetime: disable -Wformat on mingw for this file
     new a654fdc9d RELEASE-NOTES: synced
     new 8b1a10cdf connect: repair build without ipv6 availability
     new 5168e5ad1 strerror: use 'const' as the string should never be modified
     new 621e147ca docs/FEATURE: convert to markdown
     new 88bf689f9 runtests: return error if no tests ran
     new 3862c37b6 libcurl.pc: make it relocatable
     new b7ea3d2c2 urlapi: URL encode a '+' in the query part
     new 475c1aba6 checksrc: warn on empty line before open brace
     new c5ff3fb2c tool_operate: fix compiler warning when --libcurl is disabled
     new 769c9a4ee Makefile.m32: add support for HTTP/3 via ngtcp2+nghttp3
     new e34959c0b http3: fix two build errors, silence warnings
     new a3d5b199f openssl: acknowledge SRP disabling in configure properly
     new 6d1a05b0b CURLOPT_TCP_NODELAY.3: fix comment in example code
     new bfd35d5ed CURLOPT_URL.3: clarify SCP/SFTP URLs are for uploads as well
     new 354afc891 CI/azure: improve on flakiness by avoiding libtool wrappers
     new 6f8596867 CURLOPT_NOBODY.3: fix typo
     new 3bcd81df9 os400: Sync libcurl API options
     new f3b7d72c5 packages/OS400: make the source code-style compliant
     new 65fb4d16a curl_url_set.3: fix typo in the RETURN VALUE section
     new eb97e2c79 RELEASE-NOTES: synced
     new 4282d5f9d runtests: revert the mistaken edit of $CURL
     new 18dd7cc9a CI/travis: add brotli and zstd to the libssh2 build
     new 57501c86d CMake: call the feature unixsockets without dash
     new 6dc563cda CMake: store IDN2 information in curl_config.h
     new 141e23d78 KNOWN_BUGS: mention the individual cmake issues
     new 4bfca0a80 libssh2: require version 1.0 or later
     new 67dede842 cmake: set the unicode feature in curl-config on Windows
     new 6f8871844 CI/appveyor: disable test 571 in two cmake builds
     new 499b3b6ff tool_help: make "output" description less confusing
     new e2bcdf557 CI/appveyor: remove (unused) runtests.pl -b option
     new 96450a1a3 alt-svc: enable by default
     new ddcc110bf libssh2: fix build with disabled proxy support
     new bdbf82a9b RELEASE-NOTES: synced
     new 15ae03988 range.d: clarify that curl will not parse multipart responses
     new 4cbb17a2c CI/github: work-around for brew breakage on macOS
     new b1ff27995 range.d: fix typo
     new 9f4c1c0cc CURLOPT_DNS_USE_GLOBAL_CACHE.3: fix typo
     new 61630a155 runtests: show keywords when no tests ran
     new 4c615eace mailmap: set Viktor Szakats's email
     new 5106f1dc4 curl.1: add an "OUTPUT" section at the top of the manpage
     new 9a844625c libssh2: fix transport over HTTPS proxy
     new 3a1e79800 CMake: make BUILD_TESTING dependent option
     new ce8ac2db2 tool_operate: bail out proper on errors for parallel setup
     new 6f3369bbc configure: use pkgconfig to find openSSL when cross-compiling
     new c80d510a1 RELEASE-NOTES: synced
     new e4d38014c tests: fix some http/2 tests for older versions of nghttpx
     new c131148b6 acinclude: detect manually set minimum macos/ipod version
     new 1144886f3 header.d: mention the "Transfer-Encoding: chunked" handling
     new 584ccb5ef http: pass correct header size to debug callback for chunked 
post
     new 6da7a7e5c tool_operate: --retry for HTTP 408 responses too
     new 95d30409b tests: add missing global_init/cleanup calls
     new 8bcb23593 gnutls: fix memory leaks (certfields memory wasn't released)
     new b8895509a header.d: fix syntax mistake
     new 606d21376 travis: use valgrind when running tests for debug builds
     new d70a5b5a0 sendf: move the verbose-check into Curl_debug
     new 9386e2a37 tool_debug_cb: do not assume zero-terminated data
     new 9f43b28f7 CI/tests: enable test target on TravisCI for CMake builds
     new 7385610d0 hsts: add support for Strict-Transport-Security
     new 2cfc4ed98 hsts: add read/write callbacks
     new 21464a65c curlver: bumped to 7.74.0
     new c436dd82f RELEASE-NOTES: synced
     new 76140ecfd RELEASE-NOTES: synced
     new adb0fcfab rtsp: fixed Session ID comparison to refuse prefix
     new 77a7b93c2 rtsp: fixed the RTST Session ID mismatch in test 570
     new 8bdee9818 rtsp: error out on empty Session ID, unified the code
     new e41ba40de travis: use ninja-build for CMake builds
     new 5cb475de9 KNOWN_BUGS: LDAPS with NSS is slow
     new ce980c255 KNOWN_BUGS: SMB tests fail with Python 2
     new 0673cb4d2 KNOWN_BUGS: FTPS with Schannel times out file list operation
     new 4d2f80067 curl.se: new home
     new fbbbf5aae HISTORY: the new domain
     new ac0a88fd2 copyright: fix year ranges
     new afbf7d260 docs: Fix various typos in documentation
     new 085f91036 hsts: Remove pointless call to free in errorpath
     new afddaa6de examples: fix comment syntax
     new 490879ea8 FAQ: refreshed
     new 6ee57c8bd hsts: remove debug code leftovers
     new f7e72f4d5 tool_operate: set HSTS with CURLOPT_HSTS to pass on filename
     new 20558ff26 url: make sure an HSTS upgrade updates URL and scheme 
correctly
     new ee644bc8b test493: verify --hsts upgrade and that %{url_effective} 
reflects that
     new 3864ad37e FAQ: refresh "Why do I get "certificate verify failed"
     new 65bc68252 FAQ: remove "Why is there a HTTP/1.1 in my HTTP/2 request?"
     new 5d903ce3a altsvc: minimize variable scope and avoid "DEAD_STORE"
     new 374329d77 configure: pass -pthread to Libs.private for pkg-config
     new 5d57a7992 ngtcp2: adapt to recent nghttp3 updates
     new a570f7cd0 Curl_pgrsStartNow: init speed limit time stamps at start
     new fa6bbbe16 examples/httpput: remove use of CURLOPT_PUT
     new 259c70a93 Revert "libcurl.pc: make it relocatable"
     new 5ee44566b THANKS-filter: ignore autobuild links
     new ec48bee3f RELEASE-NOTES: synced
     new 3c5c6e747 mqttd: fclose test file when done
     new 8b151cb94 docs: document the 8MB input string limit
     new 7ae59838f curl_easy_escape: limit output string length to 3 * max input
     new c49d205ae http_proxy: use enum with state names for 'keepon'
     new fd5f35ef0 cmake: don't pass -fvisibility=hidden to clang-cl on Windows
     new 760e85434 cmake: correctly handle linker flags for static libs
     new 71ec4e7d7 httpput-postfields.c: new example doing PUT with POSTFIELDS
     new 0362944a2 curl: only warn not fail, if not finding the home dir
     new 87614768c release-notes.pl: detect #[number] better for Ref: etc
     new df2af7dd8 RELEASE-NOTES: synced
     new 03822c3a6 CURLOPT_HSTS.3: document the file format
     new 24f909ceb tests/*server.py: close log file after each log line
     new 4e65f69b0 cirrus: build with FreeBSD 12.2 in CirrusCI
     new 94979161c KNOWN_BUGS: make a new section for cmake topics
     new cfd42e328 KNOWN_BUGS: cmake build in Linux links libcurl to libdl
     new 943cc00aa KNOWN_BUGS: cmake uses -lpthread instead of Threads::Threads
     new ad4b60826 KNOWN_BUGS: cmake: generated .pc file contains strange 
entries
     new 192099333 KNOWN_BUGS: cmake libcurl.pc uses absolute library paths
     new 529423a27 KNOWN_BUGS: cmake build doesn't fail if zlib not found
     new bf9e14159 KNOWN_BUGS: cmake autodetects cert paths when cross-compiling
     new 33a0b7ad7 KNOWN_BUGS: cmake: libspsl is not supported
     new 73b63876b quiche: remove 'static' from local buffer
     new f21cc6283 cmake: make CURL_ZLIB a tri-state variable
     new ee38a725b cmake: use libcurl.rc in all Windows builds
     new 3a8cdc82d openssl: guard against OOM on context creation
     new 3ba04d5d8 mailmap: Daniel Hwang
     new d18e9c580 CI/cirrus: simplify logic for disabled tests
     new c35320705 tests/server/tftpd.c: close upload file right after transfer
     new 0d16a49c1 curl: add compatibility for Amiga and GCC 6.5
     new ca7fa376c RELEASE-NOTES: synced
     new 10818dc7c KNOWN_BUGS: wakeup socket disconnect causes havoc
     new 7fa6d5e38 KNOWN_BUGS: curl with wolfSSL lacks support for renegotiation
     new 898fca27c http3: use the master branch of GnuTLS for testing
     new 5c8849ced winbuild: remove docs from Makefiles and refer to README.md
     new a95a6ce6b urldata: remove 'void *protop' and create the union 'p'
     new 3e092adf6 Makefile.m32: add support for UNICODE builds
     new 37cdc2a05 asyn: use 'struct thread_data *' instead of 'void *'
     new 77b2f702c examples: update .gitignore
     new 020aa0131 docs/INTERNALS: remove reference to Curl_sendf()
     new 920f49a20 infof/failf calls: fix format specifiers
     new 12cb7a1fe file: avoid duplicated code sequence
     new fc813f80e tool_writeout: use off_t getinfo-types instead of doubles
     new 082422b18 runtests: make 'c-ares' a "feature" to depend on
     new 72ae6737e test506: make it not run in c-ares builds
     new d6ced230f curl_setup: USE_RESOLVE_ON_IPS is for Apple native resolver 
use
     new 0b60d3685 socks: check for DNS entries with the right port number
     new 0cbd5d5c4 vquic/ngtcp2.h: define local_addr as sockaddr_storage
     new ddd3eb99f ngtcp2: advertise h3 ALPN unconditionally
     new c7b02c5d6 ngtcp2: use the minimal version of QUIC supported by ngtcp2
     new 227daceab tests/server/tftpd.c: close upload file in case of abort
     new 732398561 RELEASE-NOTES: synced
     new 65d2f563f ntlm: avoid malloc(0) on zero length user and domain
     new 0d75bf9ae openssl: remove #if 0 leftover
     new 2d4d012a4 openssl: free mem_buf in error path
     new b6b535994 splay: rename Curl_splayremovebyaddr to Curl_splayremove
     new 221c9da9a NEW-PROTOCOL: document what needs to be done to add one
     new d6bfbfadd cmake: check for linux/tcp.h
     new 2d1df660b ngtcp2: Fix build error due to symbol name change
     new 26f682bcc quiche: close the connection
     new 41b3b830f docs: fix typos and markup in ETag manpage sections
     new 753a2c758 tests/util.py: fix compatibility with Python 2
     new 6703eb2f4 SECURITY-PROCESS: disclose on hackerone
     new 1835cb916 openssl: use OPENSSL_init_ssl() with >= 1.1.0
     new b2bde86bb RELEASE-NOTES: synced
     new 7a6fdd503 scripts/completion.pl: parse all opts
     new 2c0d72121 ftp: retry getpeername for FTP with TCP_FASTOPEN
     new 2260e0ebe Revert "multi: implement wait using winsock events"
     new abd846c37 urlapi: don't accept blank port number field without scheme
     new ec9cc725d ftp: CURLOPT_FTP_SKIP_PASV_IP by default
     new 69a358f21 ftp: make wc_statemach loop instead of recurse
     new d9d016727 openssl: make the OCSP verification verify the certificate id
     new cfea4f2f4 cmake: don't use reserved target name 'test'
     new 0611fded4 VERSIONS: refreshed
     new 6d338a87d urldata: restore comment on ssl_connect_data.use
     new e05285975 RELEASE-NOTES: synced
     new 5b9f8acdd Merge tag 'curl-7_74_0'
     new 7e7e69430 gnurl adjustments (paths)
     new e324bd6b2 gnurl: rename new files
     new 1c369d65b adjust makefile for opts
     new 6fcba0825 add lowercase curl

The 411 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .azure-pipelines.yml                               |  31 +-
 .cirrus.yml                                        |  16 +-
 .dir-locals.el                                     |   2 +-
 .github/ISSUE_TEMPLATE/config.yml                  |  11 +
 .lgtm.yml                                          |   2 +-
 .mailmap                                           |  10 +-
 .travis.yml                                        | 317 +++-----
 CHANGES                                            |   2 +-
 CMake/CMakeConfigurableFile.in                     |   2 +-
 CMake/CurlSymbolHiding.cmake                       |   4 +-
 CMake/CurlTests.c                                  |   4 +-
 CMake/FindBearSSL.cmake                            |   2 +-
 CMake/FindGSS.cmake                                |   2 +-
 CMake/FindNGHTTP3.cmake                            |   2 +-
 CMake/FindNGTCP2.cmake                             |   2 +-
 CMake/FindNSS.cmake                                |   2 +-
 CMake/FindQUICHE.cmake                             |   2 +-
 CMake/FindWolfSSL.cmake                            |   2 +-
 CMake/FindZstd.cmake                               |   2 +-
 CMake/Macros.cmake                                 |  13 +-
 CMake/OtherTests.cmake                             |   2 +-
 CMake/Platforms/WindowsCache.cmake                 |   2 +-
 CMake/Utilities.cmake                              |   2 +-
 CMake/cmake_uninstall.cmake.in                     |   2 +-
 CMake/gnurl-config.cmake.in                        |   2 +-
 CMakeLists.txt                                     | 104 ++-
 MacOSX-Framework                                   |   2 +-
 Makefile.am                                        |   3 +-
 Makefile.dist                                      |  16 +-
 README                                             |  10 +-
 README.md                                          |  29 +-
 RELEASE-NOTES                                      | 452 +++++------
 acinclude.m4                                       |  38 +-
 appveyor.yml                                       |  34 +-
 aux-gnurl/gnurl0.awk                               |   1 +
 buildconf                                          | 432 +----------
 buildconf.bat                                      |   2 +-
 configure.ac                                       | 181 +++--
 docs/ALTSVC.md                                     |   4 +-
 docs/BUGS                                          | 302 --------
 docs/BUGS.md                                       | 266 +++++++
 docs/CHECKSRC.md                                   |   6 +-
 docs/CIPHERS.md                                    |   8 +-
 docs/CMakeLists.txt                                |   2 +-
 docs/CONTRIBUTE.md                                 |  45 +-
 docs/CURL-DISABLE.md                               |  18 +
 docs/DYNBUF.md                                     |   6 +
 docs/{ESNI.md => ECH.md}                           |  76 +-
 docs/EXPERIMENTAL.md                               |   4 +-
 docs/FAQ                                           | 267 +++----
 docs/{FEATURES => FEATURES.md}                     | 182 +++--
 docs/HELP-US.md                                    |   8 +-
 docs/HISTORY.md                                    |  40 +-
 docs/HSTS.md                                       |  44 ++
 docs/HTTP-COOKIES.md                               |   2 +-
 docs/HTTP3.md                                      |  16 +-
 docs/INTERNALS.md                                  |  49 +-
 docs/KNOWN_BUGS                                    | 200 +++--
 docs/LICENSE-MIXING.md                             | 128 ----
 docs/MAIL-ETIQUETTE                                |   2 +-
 docs/MANUAL.md                                     |  28 +-
 docs/MQTT.md                                       |  32 -
 docs/Makefile.am                                   |  14 +-
 docs/NEW-PROTOCOL.md                               | 110 +++
 docs/README.md                                     |   6 +-
 docs/RESOURCES                                     |  85 ---
 docs/ROADMAP.md                                    |  32 +-
 docs/SECURITY-PROCESS.md                           |  12 +-
 docs/SSL-PROBLEMS.md                               |   2 +-
 docs/SSLCERTS.md                                   |   6 +-
 docs/THANKS                                        |  53 ++
 docs/THANKS-filter                                 |   3 +-
 docs/TODO                                          |  58 +-
 docs/TheArtOfHttpScripting                         | 758 ------------------
 docs/TheArtOfHttpScripting.md                      | 692 +++++++++++++++++
 docs/VERSIONS.md                                   |  13 +-
 docs/cmdline-opts/CMakeLists.txt                   |   2 +-
 docs/cmdline-opts/Makefile.am                      |   2 +-
 docs/cmdline-opts/Makefile.inc                     |   5 +-
 docs/cmdline-opts/abstract-unix-socket.d           |   1 +
 docs/cmdline-opts/alt-svc.d                        |   1 +
 docs/cmdline-opts/anyauth.d                        |   1 +
 docs/cmdline-opts/append.d                         |   1 +
 docs/cmdline-opts/basic.d                          |   1 +
 docs/cmdline-opts/cacert.d                         |   1 +
 docs/cmdline-opts/capath.d                         |   1 +
 docs/cmdline-opts/cert-status.d                    |   1 +
 docs/cmdline-opts/cert-type.d                      |   1 +
 docs/cmdline-opts/cert.d                           |   1 +
 docs/cmdline-opts/ciphers.d                        |   3 +-
 docs/cmdline-opts/compressed-ssh.d                 |   1 +
 docs/cmdline-opts/compressed.d                     |   1 +
 docs/cmdline-opts/config.d                         |  21 +-
 docs/cmdline-opts/connect-timeout.d                |   1 +
 docs/cmdline-opts/connect-to.d                     |   1 +
 docs/cmdline-opts/continue-at.d                    |   1 +
 docs/cmdline-opts/cookie-jar.d                     |   1 +
 docs/cmdline-opts/cookie.d                         |   1 +
 docs/cmdline-opts/create-dirs.d                    |   1 +
 docs/cmdline-opts/crlf.d                           |   1 +
 docs/cmdline-opts/crlfile.d                        |   1 +
 docs/cmdline-opts/curves.d                         |  18 +
 docs/cmdline-opts/data-ascii.d                     |   1 +
 docs/cmdline-opts/data-binary.d                    |   1 +
 docs/cmdline-opts/data-raw.d                       |   1 +
 docs/cmdline-opts/data-urlencode.d                 |   1 +
 docs/cmdline-opts/data.d                           |   1 +
 docs/cmdline-opts/delegation.d                     |   1 +
 docs/cmdline-opts/digest.d                         |   1 +
 docs/cmdline-opts/disable-eprt.d                   |   1 +
 docs/cmdline-opts/disable-epsv.d                   |   1 +
 docs/cmdline-opts/disable.d                        |   1 +
 docs/cmdline-opts/disallow-username-in-url.d       |   1 +
 docs/cmdline-opts/dns-interface.d                  |   1 +
 docs/cmdline-opts/dns-ipv4-addr.d                  |   1 +
 docs/cmdline-opts/dns-ipv6-addr.d                  |   1 +
 docs/cmdline-opts/dns-servers.d                    |   1 +
 docs/cmdline-opts/doh-url.d                        |   1 +
 docs/cmdline-opts/dump-header.d                    |   1 +
 docs/cmdline-opts/egd-file.d                       |   1 +
 docs/cmdline-opts/engine.d                         |   1 +
 docs/cmdline-opts/etag-compare.d                   |   3 +-
 docs/cmdline-opts/etag-save.d                      |   5 +-
 docs/cmdline-opts/expect100-timeout.d              |   1 +
 docs/cmdline-opts/fail-early.d                     |   1 +
 docs/cmdline-opts/fail.d                           |   1 +
 docs/cmdline-opts/false-start.d                    |   1 +
 docs/cmdline-opts/form-string.d                    |   1 +
 docs/cmdline-opts/form.d                           |   1 +
 docs/cmdline-opts/ftp-account.d                    |   1 +
 docs/cmdline-opts/ftp-alternative-to-user.d        |   1 +
 docs/cmdline-opts/ftp-create-dirs.d                |   1 +
 docs/cmdline-opts/ftp-method.d                     |   1 +
 docs/cmdline-opts/ftp-pasv.d                       |   1 +
 docs/cmdline-opts/ftp-port.d                       |   1 +
 docs/cmdline-opts/ftp-pret.d                       |   1 +
 docs/cmdline-opts/ftp-skip-pasv-ip.d               |   3 +
 docs/cmdline-opts/ftp-ssl-ccc-mode.d               |   1 +
 docs/cmdline-opts/ftp-ssl-ccc.d                    |   1 +
 docs/cmdline-opts/ftp-ssl-control.d                |   1 +
 docs/cmdline-opts/gen.pl                           |  66 +-
 docs/cmdline-opts/get.d                            |   1 +
 docs/cmdline-opts/globoff.d                        |   1 +
 docs/cmdline-opts/happy-eyeballs-timeout-ms.d      |   1 +
 docs/cmdline-opts/haproxy-protocol.d               |   1 +
 docs/cmdline-opts/head.d                           |   1 +
 docs/cmdline-opts/header.d                         |  19 +-
 docs/cmdline-opts/help.d                           |  12 +-
 docs/cmdline-opts/hostpubmd5.d                     |   1 +
 docs/cmdline-opts/hsts.d                           |  18 +
 docs/cmdline-opts/http0.9.d                        |   1 +
 docs/cmdline-opts/http1.0.d                        |   1 +
 docs/cmdline-opts/http1.1.d                        |   1 +
 docs/cmdline-opts/http2-prior-knowledge.d          |   1 +
 docs/cmdline-opts/http2.d                          |   1 +
 docs/cmdline-opts/http3.d                          |   1 +
 docs/cmdline-opts/ignore-content-length.d          |   1 +
 docs/cmdline-opts/include.d                        |   1 +
 docs/cmdline-opts/insecure.d                       |   3 +-
 docs/cmdline-opts/interface.d                      |   1 +
 docs/cmdline-opts/ipv4.d                           |   1 +
 docs/cmdline-opts/ipv6.d                           |   1 +
 docs/cmdline-opts/junk-session-cookies.d           |   1 +
 docs/cmdline-opts/keepalive-time.d                 |   1 +
 docs/cmdline-opts/key-type.d                       |   1 +
 docs/cmdline-opts/key.d                            |   1 +
 docs/cmdline-opts/krb.d                            |   1 +
 docs/cmdline-opts/libcurl.d                        |   1 +
 docs/cmdline-opts/limit-rate.d                     |   1 +
 docs/cmdline-opts/list-only.d                      |   1 +
 docs/cmdline-opts/local-port.d                     |   1 +
 docs/cmdline-opts/location-trusted.d               |   1 +
 docs/cmdline-opts/location.d                       |   1 +
 docs/cmdline-opts/login-options.d                  |   1 +
 docs/cmdline-opts/mail-auth.d                      |   1 +
 docs/cmdline-opts/mail-from.d                      |   1 +
 docs/cmdline-opts/mail-rcpt-allowfails.d           |   1 +
 docs/cmdline-opts/mail-rcpt.d                      |   1 +
 docs/cmdline-opts/manual.d                         |   1 +
 docs/cmdline-opts/max-filesize.d                   |   1 +
 docs/cmdline-opts/max-redirs.d                     |   1 +
 docs/cmdline-opts/max-time.d                       |   1 +
 docs/cmdline-opts/metalink.d                       |   1 +
 docs/cmdline-opts/negotiate.d                      |   1 +
 docs/cmdline-opts/netrc-file.d                     |   1 +
 docs/cmdline-opts/netrc-optional.d                 |   1 +
 docs/cmdline-opts/netrc.d                          |   1 +
 docs/cmdline-opts/next.d                           |   1 +
 docs/cmdline-opts/no-alpn.d                        |   1 +
 docs/cmdline-opts/no-buffer.d                      |   1 +
 docs/cmdline-opts/no-keepalive.d                   |   1 +
 docs/cmdline-opts/no-npn.d                         |   1 +
 docs/cmdline-opts/no-progress-meter.d              |   1 +
 docs/cmdline-opts/no-sessionid.d                   |   1 +
 docs/cmdline-opts/noproxy.d                        |   1 +
 docs/cmdline-opts/ntlm-wb.d                        |   1 +
 docs/cmdline-opts/ntlm.d                           |   1 +
 docs/cmdline-opts/oauth2-bearer.d                  |   1 +
 docs/cmdline-opts/output-dir.d                     |  19 +
 docs/cmdline-opts/output.d                         |   1 +
 docs/cmdline-opts/page-footer                      |   8 +-
 docs/cmdline-opts/page-header                      |  11 +-
 docs/cmdline-opts/parallel-immediate.d             |   1 +
 docs/cmdline-opts/parallel-max.d                   |   1 +
 docs/cmdline-opts/parallel.d                       |   1 +
 docs/cmdline-opts/pass.d                           |   1 +
 docs/cmdline-opts/path-as-is.d                     |   1 +
 docs/cmdline-opts/pinnedpubkey.d                   |   1 +
 docs/cmdline-opts/post301.d                        |   1 +
 docs/cmdline-opts/post302.d                        |   1 +
 docs/cmdline-opts/post303.d                        |   1 +
 docs/cmdline-opts/preproxy.d                       |   1 +
 docs/cmdline-opts/progress-bar.d                   |   1 +
 docs/cmdline-opts/proto-default.d                  |   1 +
 docs/cmdline-opts/proto-redir.d                    |   1 +
 docs/cmdline-opts/proto.d                          |   1 +
 docs/cmdline-opts/proxy-anyauth.d                  |   1 +
 docs/cmdline-opts/proxy-basic.d                    |   1 +
 docs/cmdline-opts/proxy-cacert.d                   |   1 +
 docs/cmdline-opts/proxy-capath.d                   |   1 +
 docs/cmdline-opts/proxy-cert-type.d                |   1 +
 docs/cmdline-opts/proxy-cert.d                     |   1 +
 docs/cmdline-opts/proxy-ciphers.d                  |   1 +
 docs/cmdline-opts/proxy-crlfile.d                  |   1 +
 docs/cmdline-opts/proxy-digest.d                   |   1 +
 docs/cmdline-opts/proxy-header.d                   |   1 +
 docs/cmdline-opts/proxy-insecure.d                 |   1 +
 docs/cmdline-opts/proxy-key-type.d                 |   1 +
 docs/cmdline-opts/proxy-key.d                      |   1 +
 docs/cmdline-opts/proxy-negotiate.d                |   1 +
 docs/cmdline-opts/proxy-ntlm.d                     |   1 +
 docs/cmdline-opts/proxy-pass.d                     |   1 +
 docs/cmdline-opts/proxy-pinnedpubkey.d             |   1 +
 docs/cmdline-opts/proxy-service-name.d             |   1 +
 docs/cmdline-opts/proxy-ssl-allow-beast.d          |   1 +
 docs/cmdline-opts/proxy-tls13-ciphers.d            |   3 +-
 docs/cmdline-opts/proxy-tlsauthtype.d              |   1 +
 docs/cmdline-opts/proxy-tlspassword.d              |   1 +
 docs/cmdline-opts/proxy-tlsuser.d                  |   1 +
 docs/cmdline-opts/proxy-tlsv1.d                    |   1 +
 docs/cmdline-opts/proxy-user.d                     |   1 +
 docs/cmdline-opts/proxy.d                          |   1 +
 docs/cmdline-opts/proxy1.0.d                       |   1 +
 docs/cmdline-opts/proxytunnel.d                    |   1 +
 docs/cmdline-opts/pubkey.d                         |   1 +
 docs/cmdline-opts/quote.d                          |   9 +
 docs/cmdline-opts/random-file.d                    |   1 +
 docs/cmdline-opts/range.d                          |   4 +-
 docs/cmdline-opts/raw.d                            |   1 +
 docs/cmdline-opts/referer.d                        |   1 +
 docs/cmdline-opts/remote-header-name.d             |   1 +
 docs/cmdline-opts/remote-name-all.d                |   1 +
 docs/cmdline-opts/remote-name.d                    |   1 +
 docs/cmdline-opts/remote-time.d                    |   1 +
 docs/cmdline-opts/request-target.d                 |   1 +
 docs/cmdline-opts/request.d                        |   1 +
 docs/cmdline-opts/resolve.d                        |   1 +
 docs/cmdline-opts/retry-all-errors.d               |   1 +
 docs/cmdline-opts/retry-connrefused.d              |   1 +
 docs/cmdline-opts/retry-delay.d                    |   1 +
 docs/cmdline-opts/retry-max-time.d                 |   1 +
 docs/cmdline-opts/retry.d                          |   1 +
 docs/cmdline-opts/sasl-authzid.d                   |   1 +
 docs/cmdline-opts/sasl-ir.d                        |   1 +
 docs/cmdline-opts/service-name.d                   |   1 +
 docs/cmdline-opts/show-error.d                     |   2 +
 docs/cmdline-opts/silent.d                         |   3 +-
 docs/cmdline-opts/socks4.d                         |   1 +
 docs/cmdline-opts/socks4a.d                        |   1 +
 docs/cmdline-opts/socks5-basic.d                   |   1 +
 docs/cmdline-opts/socks5-gssapi-nec.d              |   1 +
 docs/cmdline-opts/socks5-gssapi-service.d          |   1 +
 docs/cmdline-opts/socks5-gssapi.d                  |   1 +
 docs/cmdline-opts/socks5-hostname.d                |   1 +
 docs/cmdline-opts/socks5.d                         |   1 +
 docs/cmdline-opts/speed-limit.d                    |   1 +
 docs/cmdline-opts/speed-time.d                     |   1 +
 docs/cmdline-opts/ssl-allow-beast.d                |   1 +
 docs/cmdline-opts/ssl-no-revoke.d                  |   1 +
 docs/cmdline-opts/ssl-reqd.d                       |   1 +
 docs/cmdline-opts/ssl-revoke-best-effort.d         |   1 +
 docs/cmdline-opts/ssl.d                            |   1 +
 docs/cmdline-opts/sslv2.d                          |   1 +
 docs/cmdline-opts/sslv3.d                          |   1 +
 docs/cmdline-opts/stderr.d                         |   1 +
 docs/cmdline-opts/styled-output.d                  |   1 +
 docs/cmdline-opts/suppress-connect-headers.d       |   1 +
 docs/cmdline-opts/tcp-fastopen.d                   |   1 +
 docs/cmdline-opts/tcp-nodelay.d                    |   1 +
 docs/cmdline-opts/telnet-option.d                  |   1 +
 docs/cmdline-opts/tftp-blksize.d                   |   1 +
 docs/cmdline-opts/tftp-no-options.d                |   1 +
 docs/cmdline-opts/time-cond.d                      |   1 +
 docs/cmdline-opts/tls-max.d                        |   1 +
 docs/cmdline-opts/tls13-ciphers.d                  |   3 +-
 docs/cmdline-opts/tlsauthtype.d                    |   1 +
 docs/cmdline-opts/tlspassword.d                    |   1 +
 docs/cmdline-opts/tlsuser.d                        |   1 +
 docs/cmdline-opts/tlsv1.0.d                        |   1 +
 docs/cmdline-opts/tlsv1.1.d                        |   1 +
 docs/cmdline-opts/tlsv1.2.d                        |   1 +
 docs/cmdline-opts/tlsv1.3.d                        |   1 +
 docs/cmdline-opts/tlsv1.d                          |   1 +
 docs/cmdline-opts/tr-encoding.d                    |   1 +
 docs/cmdline-opts/trace-ascii.d                    |   1 +
 docs/cmdline-opts/trace-time.d                     |   1 +
 docs/cmdline-opts/trace.d                          |   1 +
 docs/cmdline-opts/unix-socket.d                    |   1 +
 docs/cmdline-opts/upload-file.d                    |   1 +
 docs/cmdline-opts/url.d                            |   1 +
 docs/cmdline-opts/use-ascii.d                      |   1 +
 docs/cmdline-opts/user-agent.d                     |   1 +
 docs/cmdline-opts/user.d                           |   1 +
 docs/cmdline-opts/verbose.d                        |   1 +
 docs/cmdline-opts/version.d                        |   3 +
 docs/cmdline-opts/write-out.d                      |   5 +
 docs/cmdline-opts/xattr.d                          |   1 +
 docs/examples/.gitignore                           |  12 +-
 docs/examples/10-at-a-time.c                       |   4 +-
 docs/examples/Makefile.am                          |   4 +-
 docs/examples/Makefile.example                     |   2 +-
 docs/examples/Makefile.inc                         |   4 +-
 docs/examples/Makefile.m32                         |  32 +-
 docs/examples/Makefile.netware                     |   2 +-
 docs/examples/{README => README.md}                |  22 +-
 docs/examples/adddocsref.pl                        |   4 +-
 docs/examples/altsvc.c                             |   4 +-
 docs/examples/anyauthput.c                         |   2 +-
 docs/examples/cacertinmem.c                        |   4 +-
 docs/examples/certinfo.c                           |   4 +-
 docs/examples/chkspeed.c                           |   4 +-
 docs/examples/cookie_interface.c                   |   4 +-
 docs/examples/debug.c                              |   4 +-
 docs/examples/ephiperfifo.c                        |   2 +-
 docs/examples/evhiperfifo.c                        |   4 +-
 docs/examples/externalsocket.c                     |   4 +-
 docs/examples/fileupload.c                         |   4 +-
 docs/examples/ftp-wildcard.c                       |   4 +-
 docs/examples/ftpget.c                             |   4 +-
 docs/examples/ftpgetinfo.c                         |   6 +-
 docs/examples/ftpgetresp.c                         |   4 +-
 docs/examples/ftpsget.c                            |   4 +-
 docs/examples/ftpupload.c                          |   4 +-
 docs/examples/ftpuploadfrommem.c                   |   4 +-
 docs/examples/ftpuploadresume.c                    |   4 +-
 docs/examples/getinfo.c                            |   4 +-
 docs/examples/getinmemory.c                        |   4 +-
 docs/examples/getredirect.c                        |   4 +-
 docs/examples/ghiper.c                             |   4 +-
 docs/examples/hiperfifo.c                          |   4 +-
 docs/examples/href_extractor.c                     |   4 +-
 docs/examples/htmltidy.c                           |   4 +-
 docs/examples/htmltitle.cpp                        |   4 +-
 docs/examples/http-post.c                          |   4 +-
 docs/examples/http2-download.c                     |   2 +-
 docs/examples/http2-pushinmemory.c                 |   4 +-
 docs/examples/http2-serverpush.c                   |   4 +-
 docs/examples/http2-upload.c                       |   2 +-
 docs/examples/http3-present.c                      |   4 +-
 docs/examples/http3.c                              |   4 +-
 docs/examples/httpcustomheader.c                   |   4 +-
 docs/examples/httpput-postfields.c                 | 101 +++
 docs/examples/httpput.c                            |   9 +-
 docs/examples/https.c                              |   4 +-
 docs/examples/imap-append.c                        |   4 +-
 docs/examples/imap-authzid.c                       |   4 +-
 docs/examples/imap-copy.c                          |   4 +-
 docs/examples/imap-create.c                        |   4 +-
 docs/examples/imap-delete.c                        |   4 +-
 docs/examples/imap-examine.c                       |   4 +-
 docs/examples/imap-fetch.c                         |   4 +-
 docs/examples/imap-list.c                          |   4 +-
 docs/examples/imap-lsub.c                          |   4 +-
 docs/examples/imap-multi.c                         |   4 +-
 docs/examples/imap-noop.c                          |   4 +-
 docs/examples/imap-search.c                        |   4 +-
 docs/examples/imap-ssl.c                           |   4 +-
 docs/examples/imap-store.c                         |   4 +-
 docs/examples/imap-tls.c                           |   4 +-
 docs/examples/makefile.dj                          |   2 +-
 docs/examples/multi-app.c                          |   4 +-
 docs/examples/multi-debugcallback.c                |   4 +-
 docs/examples/multi-double.c                       |   4 +-
 docs/examples/multi-event.c                        |   2 +-
 docs/examples/multi-formadd.c                      |   4 +-
 docs/examples/multi-poll.c                         |   4 +-
 docs/examples/multi-post.c                         |   4 +-
 docs/examples/multi-single.c                       |   4 +-
 docs/examples/multi-uv.c                           |   2 +-
 docs/examples/multithread.c                        |   6 +-
 docs/examples/opensslthreadlock.c                  |   4 +-
 docs/examples/parseurl.c                           |   4 +-
 docs/examples/persistent.c                         |   4 +-
 docs/examples/pop3-authzid.c                       |   4 +-
 docs/examples/pop3-dele.c                          |   4 +-
 docs/examples/pop3-list.c                          |   4 +-
 docs/examples/pop3-multi.c                         |   4 +-
 docs/examples/pop3-noop.c                          |   4 +-
 docs/examples/pop3-retr.c                          |   4 +-
 docs/examples/pop3-ssl.c                           |   4 +-
 docs/examples/pop3-stat.c                          |   4 +-
 docs/examples/pop3-tls.c                           |   4 +-
 docs/examples/pop3-top.c                           |   4 +-
 docs/examples/pop3-uidl.c                          |   4 +-
 docs/examples/post-callback.c                      |   4 +-
 docs/examples/postinmemory.c                       |   4 +-
 docs/examples/postit2-formadd.c                    |   4 +-
 docs/examples/postit2.c                            |   4 +-
 docs/examples/progressfunc.c                       |   4 +-
 docs/examples/resolve.c                            |   4 +-
 docs/examples/sampleconv.c                         |   4 +-
 docs/examples/sendrecv.c                           |   4 +-
 docs/examples/sepheaders.c                         |   4 +-
 docs/examples/sessioninfo.c                        |   2 +-
 docs/examples/sftpget.c                            |   4 +-
 docs/examples/sftpuploadresume.c                   |   4 +-
 docs/examples/shared-connection-cache.c            |   6 +-
 docs/examples/simple.c                             |   4 +-
 docs/examples/simplepost.c                         |   4 +-
 docs/examples/simplessl.c                          |   4 +-
 docs/examples/smooth-gtk-thread.c                  |   4 +-
 docs/examples/smtp-authzid.c                       |   4 +-
 docs/examples/smtp-expn.c                          |   4 +-
 docs/examples/smtp-mail.c                          |   4 +-
 docs/examples/smtp-mime.c                          |   4 +-
 docs/examples/smtp-multi.c                         |   4 +-
 docs/examples/smtp-ssl.c                           |   4 +-
 docs/examples/smtp-tls.c                           |   4 +-
 docs/examples/smtp-vrfy.c                          |   4 +-
 docs/examples/sslbackend.c                         |   8 +-
 docs/examples/synctime.c                           |   4 +-
 docs/examples/threaded-shared-conn.c               |   4 +-
 docs/examples/threaded-ssl.c                       |   4 +-
 docs/examples/url2file.c                           |   4 +-
 docs/examples/urlapi.c                             |   4 +-
 docs/examples/usercertinmem.c                      |   4 +-
 docs/examples/version-check.pl                     |   2 +-
 docs/examples/xmlstream.c                          |   4 +-
 docs/gnurl-config.1                                |   2 +-
 docs/libcurl/CMakeLists.txt                        |   2 +-
 docs/libcurl/Makefile.am                           |   2 +-
 docs/libcurl/Makefile.inc                          |   5 +-
 docs/libcurl/gnurl_easy_cleanup.3                  |   6 +-
 docs/libcurl/gnurl_easy_duphandle.3                |   4 +-
 docs/libcurl/gnurl_easy_escape.3                   |   5 +-
 docs/libcurl/gnurl_easy_getinfo.3                  |   5 +-
 docs/libcurl/gnurl_easy_init.3                     |   4 +-
 ...GNURLOPT_STDERR.3 => gnurl_easy_option_by_id.3} |  42 +-
 ...URLOPT_STDERR.3 => gnurl_easy_option_by_name.3} |  40 +-
 docs/libcurl/gnurl_easy_option_next.3              |  74 ++
 docs/libcurl/gnurl_easy_pause.3                    |   4 +-
 docs/libcurl/gnurl_easy_perform.3                  |   4 +-
 docs/libcurl/gnurl_easy_recv.3                     |   4 +-
 docs/libcurl/gnurl_easy_reset.3                    |   2 +-
 docs/libcurl/gnurl_easy_send.3                     |   4 +-
 docs/libcurl/gnurl_easy_setopt.3                   |  24 +-
 docs/libcurl/gnurl_easy_strerror.3                 |   2 +-
 docs/libcurl/gnurl_easy_unescape.3                 |   2 +-
 docs/libcurl/gnurl_easy_upkeep.3                   |   4 +-
 docs/libcurl/gnurl_escape.3                        |   2 +-
 docs/libcurl/gnurl_formadd.3                       |   2 +-
 docs/libcurl/gnurl_formfree.3                      |   4 +-
 docs/libcurl/gnurl_formget.3                       |   4 +-
 docs/libcurl/gnurl_free.3                          |   4 +-
 docs/libcurl/gnurl_getdate.3                       |   4 +-
 docs/libcurl/gnurl_getenv.3                        |   2 +-
 docs/libcurl/gnurl_global_cleanup.3                |   4 +-
 docs/libcurl/gnurl_global_init.3                   |   2 +-
 docs/libcurl/gnurl_global_init_mem.3               |   4 +-
 docs/libcurl/gnurl_global_sslset.3                 |   2 +-
 docs/libcurl/gnurl_mime_addpart.3                  |   4 +-
 docs/libcurl/gnurl_mime_data.3                     |   2 +-
 docs/libcurl/gnurl_mime_data_cb.3                  |   4 +-
 docs/libcurl/gnurl_mime_encoder.3                  |   2 +-
 docs/libcurl/gnurl_mime_filedata.3                 |   2 +-
 docs/libcurl/gnurl_mime_filename.3                 |   2 +-
 docs/libcurl/gnurl_mime_free.3                     |   4 +-
 docs/libcurl/gnurl_mime_headers.3                  |   6 +-
 docs/libcurl/gnurl_mime_init.3                     |   6 +-
 docs/libcurl/gnurl_mime_name.3                     |   2 +-
 docs/libcurl/gnurl_mime_subparts.3                 |   4 +-
 docs/libcurl/gnurl_mime_type.3                     |   2 +-
 docs/libcurl/gnurl_mprintf.3                       |   4 +-
 docs/libcurl/gnurl_multi_add_handle.3              |   4 +-
 docs/libcurl/gnurl_multi_assign.3                  |   2 +-
 docs/libcurl/gnurl_multi_cleanup.3                 |   4 +-
 docs/libcurl/gnurl_multi_fdset.3                   |   4 +-
 docs/libcurl/gnurl_multi_info_read.3               |   2 +-
 docs/libcurl/gnurl_multi_init.3                    |   2 +-
 docs/libcurl/gnurl_multi_perform.3                 |   2 +-
 docs/libcurl/gnurl_multi_poll.3                    |   4 +-
 docs/libcurl/gnurl_multi_remove_handle.3           |   4 +-
 docs/libcurl/gnurl_multi_setopt.3                  |   4 +-
 docs/libcurl/gnurl_multi_socket.3                  |   4 +-
 docs/libcurl/gnurl_multi_socket_action.3           |   4 +-
 docs/libcurl/gnurl_multi_strerror.3                |   2 +-
 docs/libcurl/gnurl_multi_timeout.3                 |   2 +-
 docs/libcurl/gnurl_multi_wait.3                    |   4 +-
 docs/libcurl/gnurl_multi_wakeup.3                  |   4 +-
 docs/libcurl/gnurl_share_cleanup.3                 |   4 +-
 docs/libcurl/gnurl_share_init.3                    |   2 +-
 docs/libcurl/gnurl_share_setopt.3                  |   2 +-
 docs/libcurl/gnurl_share_strerror.3                |   2 +-
 docs/libcurl/gnurl_slist_append.3                  |   4 +-
 docs/libcurl/gnurl_slist_free_all.3                |   4 +-
 docs/libcurl/gnurl_strequal.3                      |   4 +-
 docs/libcurl/gnurl_unescape.3                      |   2 +-
 docs/libcurl/gnurl_url.3                           |   4 +-
 docs/libcurl/gnurl_url_cleanup.3                   |   4 +-
 docs/libcurl/gnurl_url_dup.3                       |   4 +-
 docs/libcurl/gnurl_url_get.3                       |   4 +-
 docs/libcurl/gnurl_url_set.3                       |   4 +-
 docs/libcurl/gnurl_version.3                       |   2 +-
 docs/libcurl/gnurl_version_info.3                  |   8 +-
 docs/libcurl/libgnurl-easy.3                       |   2 +-
 docs/libcurl/libgnurl-env.3                        |   6 +-
 docs/libcurl/libgnurl-errors.3                     |   2 +-
 docs/libcurl/libgnurl-multi.3                      |   2 +-
 docs/libcurl/libgnurl-security.3                   |   6 +-
 docs/libcurl/libgnurl-share.3                      |   4 +-
 docs/libcurl/libgnurl-thread.3                     |   4 +-
 docs/libcurl/libgnurl-tutorial.3                   |   4 +-
 docs/libcurl/libgnurl-url.3                        |   4 +-
 docs/libcurl/libgnurl.3                            |   2 +-
 docs/libcurl/libgnurl.m4                           |   2 +-
 docs/libcurl/mksymbolsmanpage.pl                   |   4 +-
 docs/libcurl/opts/CMakeLists.txt                   |   2 +-
 docs/libcurl/opts/GNURLINFO_ACTIVESOCKET.3         |   4 +-
 docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3      |   2 +-
 docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME_T.3    |   2 +-
 docs/libcurl/opts/GNURLINFO_CERTINFO.3             |   2 +-
 docs/libcurl/opts/GNURLINFO_CONDITION_UNMET.3      |   4 +-
 docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3         |   2 +-
 docs/libcurl/opts/GNURLINFO_CONNECT_TIME_T.3       |   2 +-
 .../opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD.3       |   4 +-
 .../opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3     |   4 +-
 .../libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD.3 |   4 +-
 .../opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3       |   4 +-
 docs/libcurl/opts/GNURLINFO_CONTENT_TYPE.3         |   4 +-
 docs/libcurl/opts/GNURLINFO_COOKIELIST.3           |   4 +-
 docs/libcurl/opts/GNURLINFO_EFFECTIVE_METHOD.3     |   4 +-
 docs/libcurl/opts/GNURLINFO_EFFECTIVE_URL.3        |   4 +-
 docs/libcurl/opts/GNURLINFO_FILETIME.3             |   2 +-
 docs/libcurl/opts/GNURLINFO_FILETIME_T.3           |   2 +-
 docs/libcurl/opts/GNURLINFO_FTP_ENTRY_PATH.3       |   2 +-
 docs/libcurl/opts/GNURLINFO_HEADER_SIZE.3          |   4 +-
 docs/libcurl/opts/GNURLINFO_HTTPAUTH_AVAIL.3       |   4 +-
 docs/libcurl/opts/GNURLINFO_HTTP_CONNECTCODE.3     |   2 +-
 docs/libcurl/opts/GNURLINFO_HTTP_VERSION.3         |   4 +-
 docs/libcurl/opts/GNURLINFO_LASTSOCKET.3           |   4 +-
 docs/libcurl/opts/GNURLINFO_LOCAL_IP.3             |   4 +-
 docs/libcurl/opts/GNURLINFO_LOCAL_PORT.3           |   4 +-
 docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3      |   2 +-
 docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME_T.3    |   2 +-
 docs/libcurl/opts/GNURLINFO_NUM_CONNECTS.3         |   4 +-
 docs/libcurl/opts/GNURLINFO_OS_ERRNO.3             |   4 +-
 docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3     |   2 +-
 docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME_T.3   |   2 +-
 docs/libcurl/opts/GNURLINFO_PRIMARY_IP.3           |   4 +-
 docs/libcurl/opts/GNURLINFO_PRIMARY_PORT.3         |   4 +-
 docs/libcurl/opts/GNURLINFO_PRIVATE.3              |   4 +-
 docs/libcurl/opts/GNURLINFO_PROTOCOL.3             |   4 +-
 docs/libcurl/opts/GNURLINFO_PROXYAUTH_AVAIL.3      |   4 +-
 docs/libcurl/opts/GNURLINFO_PROXY_ERROR.3          | 104 +++
 .../opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3        |   2 +-
 docs/libcurl/opts/GNURLINFO_REDIRECT_COUNT.3       |   4 +-
 docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3        |   2 +-
 docs/libcurl/opts/GNURLINFO_REDIRECT_TIME_T.3      |   2 +-
 docs/libcurl/opts/GNURLINFO_REDIRECT_URL.3         |   4 +-
 docs/libcurl/opts/GNURLINFO_REQUEST_SIZE.3         |   4 +-
 docs/libcurl/opts/GNURLINFO_RESPONSE_CODE.3        |   4 +-
 docs/libcurl/opts/GNURLINFO_RETRY_AFTER.3          |   6 +-
 docs/libcurl/opts/GNURLINFO_RTSP_CLIENT_CSEQ.3     |   2 +-
 docs/libcurl/opts/GNURLINFO_RTSP_CSEQ_RECV.3       |   2 +-
 docs/libcurl/opts/GNURLINFO_RTSP_SERVER_CSEQ.3     |   2 +-
 docs/libcurl/opts/GNURLINFO_RTSP_SESSION_ID.3      |   2 +-
 docs/libcurl/opts/GNURLINFO_SCHEME.3               |   4 +-
 docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD.3        |   4 +-
 docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3      |   4 +-
 docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD.3          |   4 +-
 docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.3        |   4 +-
 docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD.3       |   4 +-
 docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.3     |   4 +-
 docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD.3         |   4 +-
 docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3       |   4 +-
 docs/libcurl/opts/GNURLINFO_SSL_ENGINES.3          |   2 +-
 docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3     |   2 +-
 docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3   |   2 +-
 docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME_T.3 |   2 +-
 docs/libcurl/opts/GNURLINFO_TLS_SESSION.3          |   2 +-
 docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3          |   2 +-
 docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3           |   2 +-
 docs/libcurl/opts/GNURLINFO_TOTAL_TIME_T.3         |   2 +-
 .../opts/GNURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3     |   2 +-
 .../opts/GNURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3   |   2 +-
 docs/libcurl/opts/GNURLMOPT_MAXCONNECTS.3          |   2 +-
 .../opts/GNURLMOPT_MAX_CONCURRENT_STREAMS.3        |   2 +-
 docs/libcurl/opts/GNURLMOPT_MAX_HOST_CONNECTIONS.3 |   2 +-
 docs/libcurl/opts/GNURLMOPT_MAX_PIPELINE_LENGTH.3  |   2 +-
 .../libcurl/opts/GNURLMOPT_MAX_TOTAL_CONNECTIONS.3 |   2 +-
 docs/libcurl/opts/GNURLMOPT_PIPELINING.3           |   2 +-
 docs/libcurl/opts/GNURLMOPT_PIPELINING_SERVER_BL.3 |   2 +-
 docs/libcurl/opts/GNURLMOPT_PIPELINING_SITE_BL.3   |   2 +-
 docs/libcurl/opts/GNURLMOPT_PUSHDATA.3             |   2 +-
 docs/libcurl/opts/GNURLMOPT_PUSHFUNCTION.3         |   2 +-
 docs/libcurl/opts/GNURLMOPT_SOCKETDATA.3           |   2 +-
 docs/libcurl/opts/GNURLMOPT_SOCKETFUNCTION.3       |   2 +-
 docs/libcurl/opts/GNURLMOPT_TIMERDATA.3            |   2 +-
 docs/libcurl/opts/GNURLMOPT_TIMERFUNCTION.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3  |   2 +-
 docs/libcurl/opts/GNURLOPT_ACCEPTTIMEOUT_MS.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3       |   4 +-
 docs/libcurl/opts/GNURLOPT_ADDRESS_SCOPE.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_ALTSVC.3                |   9 +-
 docs/libcurl/opts/GNURLOPT_ALTSVC_CTRL.3           |  12 +-
 docs/libcurl/opts/GNURLOPT_APPEND.3                |   2 +-
 docs/libcurl/opts/GNURLOPT_AUTOREFERER.3           |   4 +-
 docs/libcurl/opts/GNURLOPT_BUFFERSIZE.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_CAINFO.3                |   2 +-
 docs/libcurl/opts/GNURLOPT_CAPATH.3                |   2 +-
 docs/libcurl/opts/GNURLOPT_CERTINFO.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_CHUNK_BGN_FUNCTION.3    |   2 +-
 docs/libcurl/opts/GNURLOPT_CHUNK_DATA.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_CHUNK_END_FUNCTION.3    |   2 +-
 docs/libcurl/opts/GNURLOPT_CLOSESOCKETDATA.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_CLOSESOCKETFUNCTION.3   |   2 +-
 docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT.3        |   4 +-
 docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT_MS.3     |   4 +-
 docs/libcurl/opts/GNURLOPT_CONNECT_ONLY.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_CONNECT_TO.3            |   4 +-
 .../opts/GNURLOPT_CONV_FROM_NETWORK_FUNCTION.3     |   2 +-
 .../opts/GNURLOPT_CONV_FROM_UTF8_FUNCTION.3        |   2 +-
 .../opts/GNURLOPT_CONV_TO_NETWORK_FUNCTION.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_COOKIE.3                |   4 +-
 docs/libcurl/opts/GNURLOPT_COOKIEFILE.3            |   6 +-
 docs/libcurl/opts/GNURLOPT_COOKIEJAR.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_COOKIELIST.3            |   4 +-
 docs/libcurl/opts/GNURLOPT_COOKIESESSION.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_COPYPOSTFIELDS.3        |   4 +-
 docs/libcurl/opts/GNURLOPT_CRLF.3                  |   2 +-
 docs/libcurl/opts/GNURLOPT_CRLFILE.3               |   2 +-
 docs/libcurl/opts/GNURLOPT_CURLU.3                 |   4 +-
 docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_DEBUGDATA.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_DEBUGFUNCTION.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_DEFAULT_PROTOCOL.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_DIRLISTONLY.3           |   2 +-
 .../opts/GNURLOPT_DISALLOW_USERNAME_IN_URL.3       |   4 +-
 docs/libcurl/opts/GNURLOPT_DNS_CACHE_TIMEOUT.3     |   4 +-
 docs/libcurl/opts/GNURLOPT_DNS_INTERFACE.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_DNS_LOCAL_IP4.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_DNS_LOCAL_IP6.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_DNS_SERVERS.3           |   4 +-
 docs/libcurl/opts/GNURLOPT_DNS_SHUFFLE_ADDRESSES.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_DNS_USE_GLOBAL_CACHE.3  |   4 +-
 docs/libcurl/opts/GNURLOPT_DOH_URL.3               |   4 +-
 docs/libcurl/opts/GNURLOPT_EGDSOCKET.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_ERRORBUFFER.3           |   4 +-
 docs/libcurl/opts/GNURLOPT_EXPECT_100_TIMEOUT_MS.3 |   4 +-
 docs/libcurl/opts/GNURLOPT_FAILONERROR.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_FILETIME.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_FNMATCH_DATA.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_FNMATCH_FUNCTION.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_FOLLOWLOCATION.3        |   4 +-
 docs/libcurl/opts/GNURLOPT_FORBID_REUSE.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_FRESH_CONNECT.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_FTPPORT.3               |   2 +-
 docs/libcurl/opts/GNURLOPT_FTPSSLAUTH.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_FTP_ACCOUNT.3           |   2 +-
 .../opts/GNURLOPT_FTP_ALTERNATIVE_TO_USER.3        |   2 +-
 .../opts/GNURLOPT_FTP_CREATE_MISSING_DIRS.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_FTP_FILEMETHOD.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_FTP_RESPONSE_TIMEOUT.3  |   2 +-
 docs/libcurl/opts/GNURLOPT_FTP_SKIP_PASV_IP.3      |  10 +-
 docs/libcurl/opts/GNURLOPT_FTP_SSL_CCC.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_FTP_USE_EPRT.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_FTP_USE_EPSV.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_FTP_USE_PRET.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_GSSAPI_DELEGATION.3     |   2 +-
 .../opts/GNURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_HAPROXYPROTOCOL.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_HEADER.3                |   4 +-
 docs/libcurl/opts/GNURLOPT_HEADERDATA.3            |   4 +-
 docs/libcurl/opts/GNURLOPT_HEADERFUNCTION.3        |   4 +-
 docs/libcurl/opts/GNURLOPT_HEADEROPT.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_HSTS.3                  |  81 ++
 ...GNURLOPT_READDATA.3 => GNURLOPT_HSTSREADDATA.3} |  41 +-
 docs/libcurl/opts/GNURLOPT_HSTSREADFUNCTION.3      |  81 ++
 ...NURLOPT_READDATA.3 => GNURLOPT_HSTSWRITEDATA.3} |  39 +-
 docs/libcurl/opts/GNURLOPT_HSTSWRITEFUNCTION.3     |  79 ++
 .../{GNURLOPT_ALTSVC.3 => GNURLOPT_HSTS_CTRL.3}    |  46 +-
 docs/libcurl/opts/GNURLOPT_HTTP09_ALLOWED.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_HTTP200ALIASES.3        |   4 +-
 docs/libcurl/opts/GNURLOPT_HTTPAUTH.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_HTTPGET.3               |   4 +-
 docs/libcurl/opts/GNURLOPT_HTTPHEADER.3            |   4 +-
 docs/libcurl/opts/GNURLOPT_HTTPPOST.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_HTTPPROXYTUNNEL.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_HTTP_CONTENT_DECODING.3 |   2 +-
 .../libcurl/opts/GNURLOPT_HTTP_TRANSFER_DECODING.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_HTTP_VERSION.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_IGNORE_CONTENT_LENGTH.3 |   4 +-
 docs/libcurl/opts/GNURLOPT_INFILESIZE.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_INFILESIZE_LARGE.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_INTERFACE.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_INTERLEAVEDATA.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_INTERLEAVEFUNCTION.3    |   2 +-
 docs/libcurl/opts/GNURLOPT_IOCTLDATA.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_IOCTLFUNCTION.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_IPRESOLVE.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_ISSUERCERT.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_ISSUERCERT_BLOB.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_KEEP_SENDING_ON_ERROR.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_KEYPASSWD.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_KRBLEVEL.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_LOCALPORT.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_LOCALPORTRANGE.3        |   4 +-
 docs/libcurl/opts/GNURLOPT_LOGIN_OPTIONS.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_LOW_SPEED_LIMIT.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_LOW_SPEED_TIME.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_MAIL_AUTH.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_MAIL_FROM.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_MAIL_RCPT.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_MAIL_RCPT_ALLLOWFAILS.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_MAXAGE_CONN.3           |   4 +-
 docs/libcurl/opts/GNURLOPT_MAXCONNECTS.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_MAXFILESIZE.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_MAXFILESIZE_LARGE.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_MAXREDIRS.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_MAX_RECV_SPEED_LARGE.3  |   2 +-
 docs/libcurl/opts/GNURLOPT_MAX_SEND_SPEED_LARGE.3  |   2 +-
 docs/libcurl/opts/GNURLOPT_MIMEPOST.3              |   4 +-
 docs/libcurl/opts/GNURLOPT_NETRC.3                 |   2 +-
 docs/libcurl/opts/GNURLOPT_NETRC_FILE.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_NEW_DIRECTORY_PERMS.3   |   2 +-
 docs/libcurl/opts/GNURLOPT_NEW_FILE_PERMS.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_NOBODY.3                |   4 +-
 docs/libcurl/opts/GNURLOPT_NOPROGRESS.3            |   4 +-
 docs/libcurl/opts/GNURLOPT_NOPROXY.3               |   8 +-
 docs/libcurl/opts/GNURLOPT_NOSIGNAL.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_OPENSOCKETDATA.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_OPENSOCKETFUNCTION.3    |   2 +-
 docs/libcurl/opts/GNURLOPT_PASSWORD.3              |   4 +-
 docs/libcurl/opts/GNURLOPT_PATH_AS_IS.3            |   4 +-
 docs/libcurl/opts/GNURLOPT_PINNEDPUBLICKEY.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_PIPEWAIT.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_PORT.3                  |   4 +-
 docs/libcurl/opts/GNURLOPT_POST.3                  |   4 +-
 docs/libcurl/opts/GNURLOPT_POSTFIELDS.3            |   4 +-
 docs/libcurl/opts/GNURLOPT_POSTFIELDSIZE.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_POSTFIELDSIZE_LARGE.3   |   4 +-
 docs/libcurl/opts/GNURLOPT_POSTQUOTE.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_POSTREDIR.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_PREQUOTE.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_PRE_PROXY.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_PRIVATE.3               |   4 +-
 docs/libcurl/opts/GNURLOPT_PROGRESSDATA.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_PROGRESSFUNCTION.3      |   4 +-
 docs/libcurl/opts/GNURLOPT_PROTOCOLS.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY.3                 |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXYAUTH.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXYHEADER.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXYPASSWORD.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXYPORT.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXYTYPE.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXYUSERNAME.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXYUSERPWD.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_CAINFO.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_CAPATH.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_CRLFILE.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_ISSUERCERT.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_ISSUERCERT_BLOB.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_KEYPASSWD.3       |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_PINNEDPUBLICKEY.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SERVICE_NAME.3    |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLCERT.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLCERTTYPE.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLCERT_BLOB.3    |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLKEY.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLKEYTYPE.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLKEY_BLOB.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLVERSION.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSL_CIPHER_LIST.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSL_OPTIONS.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYHOST.3  |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYPEER.3  |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_TLS13_CIPHERS.3   |   4 +-
 .../libcurl/opts/GNURLOPT_PROXY_TLSAUTH_PASSWORD.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_TYPE.3    |   2 +-
 .../libcurl/opts/GNURLOPT_PROXY_TLSAUTH_USERNAME.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_TRANSFER_MODE.3   |   2 +-
 docs/libcurl/opts/GNURLOPT_PUT.3                   |   2 +-
 docs/libcurl/opts/GNURLOPT_QUOTE.3                 |  10 +-
 docs/libcurl/opts/GNURLOPT_RANDOM_FILE.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_RANGE.3                 |   6 +-
 docs/libcurl/opts/GNURLOPT_READDATA.3              |   4 +-
 docs/libcurl/opts/GNURLOPT_READFUNCTION.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_REDIR_PROTOCOLS.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_REFERER.3               |   6 +-
 docs/libcurl/opts/GNURLOPT_REQUEST_TARGET.3        |   4 +-
 docs/libcurl/opts/GNURLOPT_RESOLVE.3               |   4 +-
 docs/libcurl/opts/GNURLOPT_RESOLVER_START_DATA.3   |   4 +-
 .../opts/GNURLOPT_RESOLVER_START_FUNCTION.3        |   4 +-
 docs/libcurl/opts/GNURLOPT_RESUME_FROM.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_RESUME_FROM_LARGE.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_RTSP_CLIENT_CSEQ.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_RTSP_REQUEST.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_RTSP_SERVER_CSEQ.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_RTSP_SESSION_ID.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_RTSP_STREAM_URI.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_RTSP_TRANSPORT.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_SASL_AUTHZID.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_SASL_IR.3               |   2 +-
 docs/libcurl/opts/GNURLOPT_SEEKDATA.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_SEEKFUNCTION.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_SERVICE_NAME.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_SHARE.3                 |   2 +-
 docs/libcurl/opts/GNURLOPT_SOCKOPTDATA.3           |   4 +-
 docs/libcurl/opts/GNURLOPT_SOCKOPTFUNCTION.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_SOCKS5_AUTH.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_SOCKS5_GSSAPI_NEC.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_SOCKS5_GSSAPI_SERVICE.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_SSH_AUTH_TYPES.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_SSH_COMPRESSION.3       |   2 +-
 .../opts/GNURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_SSH_KEYDATA.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_SSH_KEYFUNCTION.3       |  13 +-
 docs/libcurl/opts/GNURLOPT_SSH_KNOWNHOSTS.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_SSH_PRIVATE_KEYFILE.3   |   2 +-
 docs/libcurl/opts/GNURLOPT_SSH_PUBLIC_KEYFILE.3    |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLCERT.3               |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLCERTTYPE.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLCERT_BLOB.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLENGINE.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLENGINE_DEFAULT.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLKEY.3                |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLKEYTYPE.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLKEY_BLOB.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLVERSION.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_CIPHER_LIST.3       |   4 +-
 docs/libcurl/opts/GNURLOPT_SSL_CTX_DATA.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_CTX_FUNCTION.3      |   4 +-
 ...PT_ADDRESS_SCOPE.3 => GNURLOPT_SSL_EC_CURVES.3} |  29 +-
 docs/libcurl/opts/GNURLOPT_SSL_ENABLE_ALPN.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_ENABLE_NPN.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_FALSESTART.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_OPTIONS.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_SESSIONID_CACHE.3   |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_VERIFYHOST.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_VERIFYPEER.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_SSL_VERIFYSTATUS.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_STDERR.3                |   4 +-
 docs/libcurl/opts/GNURLOPT_STREAM_DEPENDS.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_STREAM_DEPENDS_E.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_STREAM_WEIGHT.3         |   2 +-
 .../opts/GNURLOPT_SUPPRESS_CONNECT_HEADERS.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_TCP_FASTOPEN.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_TCP_KEEPALIVE.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_TCP_KEEPIDLE.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_TCP_KEEPINTVL.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_TCP_NODELAY.3           |   6 +-
 docs/libcurl/opts/GNURLOPT_TELNETOPTIONS.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_TFTP_BLKSIZE.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_TFTP_NO_OPTIONS.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_TIMECONDITION.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_TIMEOUT.3               |   4 +-
 docs/libcurl/opts/GNURLOPT_TIMEOUT_MS.3            |   4 +-
 docs/libcurl/opts/GNURLOPT_TIMEVALUE.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_TIMEVALUE_LARGE.3       |   4 +-
 docs/libcurl/opts/GNURLOPT_TLS13_CIPHERS.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_TLSAUTH_PASSWORD.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_TLSAUTH_TYPE.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_TLSAUTH_USERNAME.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_TRAILERDATA.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_TRAILERFUNCTION.3       |   6 +-
 docs/libcurl/opts/GNURLOPT_TRANSFERTEXT.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_TRANSFER_ENCODING.3     |   4 +-
 docs/libcurl/opts/GNURLOPT_UNIX_SOCKET_PATH.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_UNRESTRICTED_AUTH.3     |   4 +-
 docs/libcurl/opts/GNURLOPT_UPKEEP_INTERVAL_MS.3    |   2 +-
 docs/libcurl/opts/GNURLOPT_UPLOAD.3                |   2 +-
 docs/libcurl/opts/GNURLOPT_UPLOAD_BUFFERSIZE.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_URL.3                   |  21 +-
 docs/libcurl/opts/GNURLOPT_USERAGENT.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_USERNAME.3              |   4 +-
 docs/libcurl/opts/GNURLOPT_USERPWD.3               |   4 +-
 docs/libcurl/opts/GNURLOPT_USE_SSL.3               |   2 +-
 docs/libcurl/opts/GNURLOPT_VERBOSE.3               |   4 +-
 docs/libcurl/opts/GNURLOPT_WILDCARDMATCH.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_WRITEDATA.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_WRITEFUNCTION.3         |   9 +-
 docs/libcurl/opts/GNURLOPT_XFERINFODATA.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_XFERINFOFUNCTION.3      |   4 +-
 docs/libcurl/opts/GNURLOPT_XOAUTH2_BEARER.3        |   2 +-
 docs/libcurl/opts/Makefile.am                      |   4 +-
 docs/libcurl/opts/Makefile.inc                     |  12 +-
 docs/libcurl/opts/template.3                       |   2 +-
 docs/libcurl/symbols-in-versions                   |  78 +-
 docs/libcurl/symbols.pl                            |   2 +-
 docs/mk-ca-bundle.1                                |   6 +-
 docs/options-in-versions                           |   3 +
 gnurl-config.in                                    |   2 +-
 include/Makefile.am                                |   4 +-
 include/README                                     |  18 -
 include/README.md                                  |  14 +
 include/gnurl/Makefile.am                          |   6 +-
 include/gnurl/curl.h                               | 193 +++--
 include/gnurl/curlver.h                            |   8 +-
 include/gnurl/easy.h                               |   2 +-
 include/gnurl/mprintf.h                            |   4 +-
 include/gnurl/multi.h                              |   2 +-
 include/gnurl/options.h                            |  68 ++
 include/gnurl/stdcheaders.h                        |   4 +-
 include/gnurl/system.h                             |   4 +-
 include/gnurl/typecheck-gcc.h                      |   8 +-
 include/gnurl/urlapi.h                             |   4 +-
 lib/.gitattributes                                 |   2 +-
 lib/CMakeLists.txt                                 |  17 +-
 lib/Makefile.Watcom                                | 274 -------
 lib/Makefile.am                                    |   9 +-
 lib/Makefile.inc                                   |  10 +-
 lib/Makefile.m32                                   |  40 +-
 lib/Makefile.netware                               |   6 +-
 lib/Makefile.vxworks                               |   2 +-
 lib/altsvc.c                                       |  36 +-
 lib/altsvc.h                                       |  13 +-
 lib/amigaos.c                                      |   4 +-
 lib/amigaos.h                                      |   4 +-
 lib/arpa_telnet.h                                  |   4 +-
 lib/asyn-ares.c                                    |  29 +-
 lib/asyn-thread.c                                  |  26 +-
 lib/asyn.h                                         |   2 +-
 lib/base64.c                                       |   7 +-
 lib/checksrc.pl                                    |  31 +-
 lib/config-amigaos.h                               |   6 +-
 lib/config-dos.h                                   |   2 +-
 lib/config-mac.h                                   |   4 +-
 lib/config-os400.h                                 |   5 +-
 lib/config-plan9.h                                 |   4 +-
 lib/config-riscos.h                                |   2 +-
 lib/config-symbian.h                               | 793 -------------------
 lib/config-tpf.h                                   |   4 +-
 lib/config-vxworks.h                               |   2 +-
 lib/config-win32.h                                 |   2 +-
 lib/config-win32ce.h                               |   4 +-
 lib/conncache.c                                    |  36 +-
 lib/conncache.h                                    |   6 +-
 lib/connect.c                                      | 133 ++--
 lib/connect.h                                      |   4 +-
 lib/content_encoding.c                             |   6 +-
 lib/content_encoding.h                             |   2 +-
 lib/cookie.c                                       |   4 +-
 lib/cookie.h                                       |   4 +-
 lib/curl_addrinfo.c                                |   2 +-
 lib/curl_addrinfo.h                                |   2 +-
 lib/curl_base64.h                                  |   4 +-
 lib/curl_config.h.cmake                            |  20 +-
 lib/curl_ctype.c                                   |   4 +-
 lib/curl_ctype.h                                   |   4 +-
 lib/curl_des.c                                     |   4 +-
 lib/curl_des.h                                     |   4 +-
 lib/curl_endian.c                                  |   4 +-
 lib/curl_endian.h                                  |   4 +-
 lib/curl_fnmatch.c                                 |   4 +-
 lib/curl_fnmatch.h                                 |   4 +-
 lib/curl_get_line.c                                |   9 +-
 lib/curl_get_line.h                                |   4 +-
 lib/curl_gethostname.c                             |   6 +-
 lib/curl_gethostname.h                             |   6 +-
 lib/curl_gssapi.c                                  |   4 +-
 lib/curl_gssapi.h                                  |   4 +-
 lib/curl_hmac.h                                    |   2 +-
 lib/{curl_sec.h => curl_krb5.h}                    |  14 +-
 lib/curl_ldap.h                                    |   4 +-
 lib/curl_md4.h                                     |   2 +-
 lib/curl_md5.h                                     |   2 +-
 lib/curl_memory.h                                  |   4 +-
 lib/curl_memrchr.c                                 |   4 +-
 lib/curl_memrchr.h                                 |   4 +-
 lib/curl_multibyte.c                               |   2 +-
 lib/curl_multibyte.h                               |   2 +-
 lib/curl_ntlm_core.c                               |  18 +-
 lib/curl_ntlm_core.h                               |  10 +-
 lib/curl_ntlm_wb.c                                 |   2 +-
 lib/curl_ntlm_wb.h                                 |   4 +-
 lib/curl_path.c                                    |   6 +-
 lib/curl_path.h                                    |   4 +-
 lib/curl_printf.h                                  |   4 +-
 lib/curl_range.c                                   |   4 +-
 lib/curl_range.h                                   |   4 +-
 lib/curl_rtmp.c                                    |  10 +-
 lib/curl_rtmp.h                                    |   4 +-
 lib/curl_sasl.c                                    |   2 +-
 lib/curl_sasl.h                                    |   4 +-
 lib/curl_setup.h                                   |  36 +-
 lib/curl_setup_once.h                              |   2 +-
 lib/curl_sha256.h                                  |   2 +-
 lib/curl_sspi.c                                    |   2 +-
 lib/curl_sspi.h                                    |   4 +-
 lib/curl_threads.c                                 |   8 +-
 lib/curl_threads.h                                 |   4 +-
 lib/curlx.h                                        |   2 +-
 lib/dict.c                                         |  97 ++-
 lib/dict.h                                         |   4 +-
 lib/doh.c                                          |  11 +-
 lib/doh.h                                          |   2 +-
 lib/dotdot.c                                       |   2 +-
 lib/dotdot.h                                       |   4 +-
 lib/dynbuf.c                                       |  50 +-
 lib/dynbuf.h                                       |  27 +-
 lib/easy.c                                         |  46 +-
 lib/easygetopt.c                                   |  96 +++
 lib/easyif.h                                       |   2 +-
 lib/easyoptions.c                                  | 353 +++++++++
 src/tool_strdup.c => lib/easyoptions.h             |  27 +-
 lib/escape.c                                       |   4 +-
 lib/escape.h                                       |   2 +-
 lib/file.c                                         |  30 +-
 lib/file.h                                         |   4 +-
 lib/fileinfo.c                                     |   4 +-
 lib/fileinfo.h                                     |   6 +-
 lib/firefox-db2pem.sh                              |   2 +-
 lib/formdata.c                                     |   2 +-
 lib/formdata.h                                     |   2 +-
 lib/ftp.c                                          | 670 ++++++++--------
 lib/ftp.h                                          |   3 +-
 lib/ftplistparser.c                                |  10 +-
 lib/ftplistparser.h                                |   4 +-
 lib/getenv.c                                       |   2 +-
 lib/getinfo.c                                      |   5 +-
 lib/getinfo.h                                      |   4 +-
 lib/gopher.c                                       |   9 +-
 lib/gopher.h                                       |   4 +-
 lib/hash.c                                         |  84 +-
 lib/hash.h                                         |  50 +-
 lib/hmac.c                                         |   2 +-
 lib/hostasyn.c                                     |   2 +-
 lib/hostcheck.c                                    |   4 +-
 lib/hostcheck.h                                    |   4 +-
 lib/hostip.c                                       |   8 +-
 lib/hostip.h                                       |  10 +-
 lib/hostip4.c                                      |   2 +-
 lib/hostip6.c                                      |   2 +-
 lib/hostsyn.c                                      |   4 +-
 lib/hsts.c                                         | 522 +++++++++++++
 lib/hsts.h                                         |  65 ++
 lib/http.c                                         |  83 +-
 lib/http.h                                         |   2 +-
 lib/http2.c                                        | 178 ++---
 lib/http2.h                                        |   2 +-
 lib/http_chunks.c                                  |   2 +-
 lib/http_chunks.h                                  |   4 +-
 lib/http_digest.c                                  |   2 +-
 lib/http_digest.h                                  |   2 +-
 lib/http_negotiate.c                               |   2 +-
 lib/http_negotiate.h                               |   2 +-
 lib/http_ntlm.c                                    |   2 +-
 lib/http_ntlm.h                                    |   2 +-
 lib/http_proxy.c                                   |  32 +-
 lib/http_proxy.h                                   |   2 +-
 lib/idn_win32.c                                    |   2 +-
 lib/if2ip.c                                        |   2 +-
 lib/if2ip.h                                        |   4 +-
 lib/imap.c                                         |  65 +-
 lib/imap.h                                         |   7 +-
 lib/inet_ntop.h                                    |   4 +-
 lib/inet_pton.c                                    |   4 +-
 lib/inet_pton.h                                    |   4 +-
 lib/krb5.c                                         | 595 ++++++++++++++-
 lib/ldap.c                                         |  72 +-
 lib/libcurl.rc                                     |   8 +-
 lib/libgnurl.plist                                 |   2 +-
 lib/llist.c                                        |  14 +-
 lib/llist.h                                        |  30 +-
 lib/makefile.amiga                                 |   2 +-
 lib/makefile.dj                                    |   2 +-
 lib/md4.c                                          |   2 +-
 lib/md5.c                                          |   2 +-
 lib/memdebug.c                                     |  53 +-
 lib/memdebug.h                                     |   2 +-
 lib/mime.c                                         |   2 +-
 lib/mime.h                                         |   2 +-
 lib/mk-ca-bundle.pl                                |   2 +-
 lib/mk-ca-bundle.vbs                               |   2 +-
 lib/mprintf.c                                      |  57 +-
 lib/mqtt.c                                         |  40 +-
 lib/mqtt.h                                         |   4 +-
 lib/multi.c                                        |  94 ++-
 lib/multihandle.h                                  |  16 +-
 lib/multiif.h                                      |   2 +-
 lib/netrc.c                                        |   4 +-
 lib/netrc.h                                        |   4 +-
 lib/non-ascii.c                                    |   4 +-
 lib/non-ascii.h                                    |   4 +-
 lib/nonblock.c                                     |   4 +-
 lib/nonblock.h                                     |   4 +-
 lib/nwlib.c                                        |   2 +-
 lib/nwos.c                                         |   4 +-
 lib/openldap.c                                     |  14 +-
 lib/optiontable.pl                                 | 118 +++
 lib/parsedate.c                                    |  59 +-
 lib/parsedate.h                                    |   4 +-
 lib/pingpong.c                                     |  61 +-
 lib/pingpong.h                                     |   6 +-
 lib/pop3.c                                         |  19 +-
 lib/pop3.h                                         |   4 +-
 lib/progress.c                                     |  17 +-
 lib/progress.h                                     |   6 +-
 lib/psl.c                                          |   4 +-
 lib/psl.h                                          |   4 +-
 lib/quic.h                                         |   4 +-
 lib/rand.c                                         |   4 +-
 lib/rand.h                                         |   4 +-
 lib/rename.c                                       |   6 +-
 lib/rename.h                                       |   2 +-
 lib/rtsp.c                                         |  46 +-
 lib/rtsp.h                                         |   4 +-
 lib/security.c                                     | 579 --------------
 lib/select.c                                       | 177 ++---
 lib/select.h                                       |  17 +-
 lib/sendf.c                                        | 179 ++---
 lib/sendf.h                                        |   6 +-
 lib/setopt.c                                       | 294 ++++---
 lib/setopt.h                                       |   2 +-
 lib/setup-os400.h                                  |   2 +-
 lib/setup-vms.h                                    |   2 +-
 lib/setup-win32.h                                  |   5 +-
 lib/sha256.c                                       |   2 +-
 lib/share.c                                        |   4 +-
 lib/share.h                                        |   8 +-
 lib/sigpipe.h                                      |   4 +-
 lib/slist.c                                        |   4 +-
 lib/slist.h                                        |   4 +-
 lib/smb.c                                          |  33 +-
 lib/smb.h                                          |  11 +-
 lib/smtp.c                                         |  27 +-
 lib/smtp.h                                         |   2 +-
 lib/sockaddr.h                                     |   4 +-
 lib/socketpair.c                                   |   6 +-
 lib/socketpair.h                                   |   4 +-
 lib/socks.c                                        | 169 ++--
 lib/socks.h                                        |  28 +-
 lib/socks_gssapi.c                                 |   6 +-
 lib/socks_sspi.c                                   |   2 +-
 lib/speedcheck.c                                   |   4 +-
 lib/speedcheck.h                                   |   4 +-
 lib/splay.c                                        |  10 +-
 lib/splay.h                                        |  16 +-
 lib/strcase.c                                      |   2 +-
 lib/strcase.h                                      |   2 +-
 lib/strdup.c                                       |   2 +-
 lib/strdup.h                                       |   4 +-
 lib/strerror.c                                     |  44 +-
 lib/strerror.h                                     |   2 +-
 lib/strtok.c                                       |   2 +-
 lib/strtok.h                                       |   4 +-
 lib/strtoofft.c                                    |   4 +-
 lib/strtoofft.h                                    |   4 +-
 lib/system_win32.c                                 |  13 +-
 lib/system_win32.h                                 |   2 +-
 lib/telnet.c                                       | 164 +---
 lib/telnet.h                                       |   4 +-
 lib/tftp.c                                         |   3 +-
 lib/tftp.h                                         |   4 +-
 lib/timeval.c                                      |   2 +-
 lib/timeval.h                                      |   4 +-
 lib/transfer.c                                     |  19 +-
 lib/transfer.h                                     |   4 +-
 lib/url.c                                          | 223 ++----
 lib/url.h                                          |   2 +-
 lib/urlapi-int.h                                   |   6 +-
 lib/urlapi.c                                       |  48 +-
 lib/urldata.h                                      |  91 ++-
 lib/vauth/cleartext.c                              |   2 +-
 lib/vauth/cram.c                                   |   2 +-
 lib/vauth/digest.c                                 |   2 +-
 lib/vauth/digest.h                                 |   4 +-
 lib/vauth/digest_sspi.c                            |   2 +-
 lib/vauth/krb5_gssapi.c                            |   4 +-
 lib/vauth/krb5_sspi.c                              |   2 +-
 lib/vauth/ntlm.c                                   |   3 +-
 lib/vauth/ntlm.h                                   |   4 +-
 lib/vauth/ntlm_sspi.c                              |   2 +-
 lib/vauth/oauth2.c                                 |   4 +-
 lib/vauth/spnego_gssapi.c                          |   4 +-
 lib/vauth/spnego_sspi.c                            |   2 +-
 lib/vauth/vauth.c                                  |   2 +-
 lib/vauth/vauth.h                                  |   4 +-
 lib/version.c                                      |  24 +-
 lib/version_win32.c                                |   2 +-
 lib/version_win32.h                                |   2 +-
 lib/vquic/ngtcp2.c                                 |  96 ++-
 lib/vquic/ngtcp2.h                                 |   4 +-
 lib/vquic/quiche.c                                 |  43 +-
 lib/vquic/quiche.h                                 |   5 +-
 lib/vquic/vquic.c                                  |   2 +-
 lib/vquic/vquic.h                                  |   2 +-
 lib/vssh/libssh.c                                  |  69 +-
 lib/vssh/libssh2.c                                 | 217 ++++--
 lib/vssh/ssh.h                                     |   8 +-
 lib/vssh/wolfssh.c                                 |  10 +-
 lib/vssh/wolfssh.h                                 |   2 +-
 lib/vtls/bearssl.c                                 |   2 +-
 lib/vtls/bearssl.h                                 |   4 +-
 lib/vtls/gskit.c                                   |   4 +-
 lib/vtls/gskit.h                                   |   4 +-
 lib/vtls/gtls.c                                    |  72 +-
 lib/vtls/gtls.h                                    |   4 +-
 lib/vtls/keylog.c                                  |   2 +-
 lib/vtls/keylog.h                                  |   2 +-
 lib/vtls/mbedtls.c                                 |  16 +-
 lib/vtls/mbedtls.h                                 |   4 +-
 lib/vtls/mbedtls_threadlock.c                      |   2 +-
 lib/vtls/mbedtls_threadlock.h                      |   2 +-
 lib/vtls/mesalink.c                                |  24 +-
 lib/vtls/mesalink.h                                |   6 +-
 lib/vtls/nss.c                                     |  67 +-
 lib/vtls/nssg.h                                    |   4 +-
 lib/vtls/openssl.c                                 | 253 +++---
 lib/vtls/openssl.h                                 |   4 +-
 lib/vtls/schannel.c                                |  57 +-
 lib/vtls/schannel.h                                |  12 +-
 lib/vtls/schannel_verify.c                         |   2 +-
 lib/vtls/sectransp.c                               |  26 +-
 lib/vtls/sectransp.h                               |   4 +-
 lib/vtls/vtls.c                                    |  17 +-
 lib/vtls/vtls.h                                    |  18 +-
 lib/vtls/wolfssl.c                                 |  24 +-
 lib/vtls/wolfssl.h                                 |   4 +-
 lib/warnless.c                                     |   4 +-
 lib/warnless.h                                     |   2 +-
 lib/wildcard.c                                     |   4 +-
 lib/wildcard.h                                     |  14 +-
 lib/x509asn1.c                                     |   2 +-
 lib/x509asn1.h                                     |   2 +-
 libgnurl.pc.in                                     |   4 +-
 m4/curl-compilers.m4                               |  10 +-
 m4/curl-confopts.m4                                |  44 +-
 m4/curl-functions.m4                               |   2 +-
 m4/curl-openssl.m4                                 |   2 +-
 m4/curl-override.m4                                |   2 +-
 m4/curl-reentrant.m4                               |   2 +-
 maketgz                                            |   4 +-
 packages/Android/Android.mk                        |   2 +-
 packages/DOS/common.dj                             |   2 +-
 packages/Makefile.am                               |  20 +-
 packages/OS400/ccsidcurl.c                         |  69 +-
 packages/OS400/ccsidcurl.h                         |  56 +-
 packages/OS400/chkstrings.c                        |  34 +-
 packages/OS400/curl.inc.in                         |  30 +-
 packages/OS400/initscript.sh                       |   2 +-
 packages/OS400/make-include.sh                     |   2 +-
 packages/OS400/make-lib.sh                         |   2 +-
 packages/OS400/make-src.sh                         |   2 +-
 packages/OS400/make-tests.sh                       |   2 +-
 packages/OS400/makefile.sh                         |   2 +-
 packages/OS400/os400sys.c                          | 412 ++++------
 packages/OS400/os400sys.h                          |   2 +-
 packages/Symbian/bwins/libcurlu.def                |  60 --
 packages/Symbian/eabi/libcurlu.def                 |  60 --
 packages/Symbian/group/bld.inf                     |  10 -
 packages/Symbian/group/curl.iby                    |  15 -
 packages/Symbian/group/curl.mmp                    |  64 --
 packages/Symbian/group/curl.pkg                    |  26 -
 packages/Symbian/group/libcurl.iby                 |  14 -
 packages/Symbian/group/libcurl.mmp                 |  67 --
 packages/Symbian/group/libcurl.pkg                 |  22 -
 packages/Symbian/readme.txt                        |  93 ---
 packages/TPF/curl.mak                              |   2 +-
 packages/TPF/maketpf.env_curl                      |   2 +-
 packages/TPF/maketpf.env_curllib                   |   2 +-
 packages/vms/Makefile.am                           |   2 +-
 packages/vms/curl_crtl_init.c                      |   2 +-
 packages/vms/curl_gnv_build_steps.txt              |   2 +-
 packages/vms/curlmsg.h                             |   2 +-
 packages/vms/curlmsg.msg                           |   2 +-
 packages/vms/curlmsg_vms.h                         |   2 +-
 plan9/include/mkfile                               |   4 +-
 plan9/lib/mkfile                                   |   4 +-
 plan9/lib/mkfile.inc                               |   4 +-
 plan9/mkfile                                       |   4 +-
 plan9/mkfile.proto                                 |   4 +-
 plan9/src/mkfile                                   |   4 +-
 plan9/src/mkfile.inc                               |   4 +-
 scripts/Makefile.am                                |   2 +-
 scripts/completion.pl                              |   4 +-
 scripts/contributors.sh                            |   4 +-
 scripts/contrithanks.sh                            |   6 +-
 scripts/copyright.pl                               |  15 +-
 scripts/coverage.sh                                |   2 +-
 scripts/delta                                      |  39 +-
 scripts/installcheck.sh                            |   2 +-
 scripts/log2changes.pl                             |   2 +-
 scripts/release-notes.pl                           |  11 +-
 scripts/singleuse.pl                               |   2 +-
 scripts/travis/before_script.sh                    |   2 +-
 scripts/travis/iconv-env.sh                        |   2 +-
 scripts/travis/script.sh                           |   5 +-
 scripts/updatemanpages.pl                          |   2 +-
 src/CMakeLists.txt                                 |   8 +-
 src/Makefile.Watcom                                | 234 ------
 src/Makefile.am                                    |   6 +-
 src/Makefile.inc                                   |   8 +-
 src/Makefile.m32                                   |  41 +-
 src/Makefile.netware                               |   6 +-
 src/curl.rc                                        |   8 +-
 src/makefile.amiga                                 |   2 +-
 src/makefile.dj                                    |   2 +-
 src/mkhelp.pl.in                                   |   4 +-
 src/slist_wc.c                                     |   4 +-
 src/slist_wc.h                                     |   4 +-
 src/tool_binmode.c                                 |   4 +-
 src/tool_binmode.h                                 |   4 +-
 src/tool_bname.c                                   |   4 +-
 src/tool_bname.h                                   |   4 +-
 src/tool_cb_dbg.c                                  |   4 +-
 src/tool_cb_dbg.h                                  |   4 +-
 src/tool_cb_hdr.c                                  |  70 +-
 src/tool_cb_hdr.h                                  |   4 +-
 src/tool_cb_prg.c                                  |   2 +-
 src/tool_cb_prg.h                                  |   4 +-
 src/tool_cb_rea.c                                  |   2 +-
 src/tool_cb_rea.h                                  |   4 +-
 src/tool_cb_see.c                                  |   2 +-
 src/tool_cb_see.h                                  |   2 +-
 src/tool_cb_wrt.c                                  |  34 +-
 src/tool_cb_wrt.h                                  |   2 +-
 src/tool_cfgable.c                                 |   5 +-
 src/tool_cfgable.h                                 |   6 +-
 src/tool_convert.c                                 |   4 +-
 src/tool_convert.h                                 |   4 +-
 src/tool_dirhie.c                                  |   2 +-
 src/tool_dirhie.h                                  |   4 +-
 src/tool_doswin.c                                  |   2 +-
 src/tool_doswin.h                                  |   2 +-
 src/tool_easysrc.c                                 |   8 +-
 src/tool_easysrc.h                                 |   4 +-
 src/tool_filetime.c                                |   7 +-
 src/tool_filetime.h                                |   4 +-
 src/tool_formparse.c                               |   2 +-
 src/tool_formparse.h                               |   2 +-
 src/tool_getparam.c                                |  28 +-
 src/tool_getparam.h                                |   4 +-
 src/tool_getpass.c                                 |  12 +-
 src/tool_getpass.h                                 |   4 +-
 src/tool_help.c                                    | 848 +++++++++++++++------
 src/tool_help.h                                    |   6 +-
 src/tool_helpers.c                                 |   4 +-
 src/tool_helpers.h                                 |   4 +-
 src/tool_homedir.c                                 |  48 +-
 src/tool_homedir.h                                 |   6 +-
 src/tool_hugehelp.c.cvs                            |   2 +-
 src/tool_hugehelp.h                                |   4 +-
 src/tool_libinfo.c                                 |   4 +-
 src/tool_libinfo.h                                 |   4 +-
 src/tool_main.c                                    |   7 +-
 src/tool_main.h                                    |   4 +-
 src/tool_metalink.c                                |   2 +-
 src/tool_metalink.h                                |   2 +-
 src/tool_msgs.c                                    |   4 +-
 src/tool_msgs.h                                    |   4 +-
 src/tool_operate.c                                 | 140 ++--
 src/tool_operate.h                                 |   7 +-
 src/tool_operhlp.c                                 |   2 +-
 src/tool_operhlp.h                                 |   4 +-
 src/tool_panykey.c                                 |  12 +-
 src/tool_panykey.h                                 |  10 +-
 src/tool_paramhlp.c                                | 118 +--
 src/tool_paramhlp.h                                |   4 +-
 src/tool_parsecfg.c                                |  73 +-
 src/tool_parsecfg.h                                |   4 +-
 src/tool_progress.c                                |   6 +-
 src/tool_progress.h                                |   4 +-
 src/tool_sdecls.h                                  |   2 +-
 src/tool_setopt.c                                  |  63 +-
 src/tool_setopt.h                                  |  15 +-
 src/tool_setup.h                                   |   4 +-
 src/tool_sleep.c                                   |   2 +-
 src/tool_sleep.h                                   |   4 +-
 src/tool_strdup.c                                  |   2 +-
 src/tool_strdup.h                                  |   4 +-
 src/tool_urlglob.c                                 |  52 +-
 src/tool_urlglob.h                                 |   2 +-
 src/tool_util.c                                    |   2 +-
 src/tool_util.h                                    |   4 +-
 src/tool_version.h                                 |   4 +-
 src/tool_vms.c                                     |   2 +-
 src/tool_vms.h                                     |   4 +-
 src/tool_writeout.c                                |  95 +--
 src/tool_writeout.h                                |   6 +-
 src/tool_writeout_json.c                           |  24 +-
 src/tool_writeout_json.h                           |   6 +-
 src/tool_xattr.c                                   |   4 +-
 src/tool_xattr.h                                   |   4 +-
 tests/CMakeLists.txt                               |   7 +-
 tests/FILEFORMAT.md                                |  42 +-
 tests/Makefile.am                                  |  21 +-
 tests/{README => README.md}                        | 214 ++----
 tests/appveyor.pm                                  |  12 +-
 tests/azure.pm                                     |  21 +-
 tests/badsymbols.pl.in                             |   2 +-
 tests/certs/Makefile.am                            |   2 +-
 tests/certs/scripts/Makefile.am                    |   2 +-
 tests/convsrctest.pl.in                            |   2 +-
 tests/data/CMakeLists.txt                          |   2 +-
 tests/data/DISABLED                                |  30 +-
 tests/data/Makefile.am                             |   2 +-
 tests/data/Makefile.inc                            |  91 ++-
 tests/data/test1                                   |   4 +-
 tests/data/test10                                  |   4 +-
 tests/data/test1001                                |   6 +-
 tests/data/test1002                                |  10 +-
 tests/data/test1004                                |   4 +-
 tests/data/test1008                                |   7 +-
 tests/data/test1011                                |   6 +-
 tests/data/test1012                                |   6 +-
 tests/data/test1015                                |   5 +-
 tests/data/test1021                                |   8 +-
 tests/data/test1024                                |   6 +-
 tests/data/test1025                                |   6 +-
 tests/data/test1028                                |   4 +-
 tests/data/test1029                                |   4 +-
 tests/data/test1030                                |   6 +-
 tests/data/test1031                                |   5 +-
 tests/data/test1032                                |   4 +-
 tests/data/test1033                                |   4 +-
 tests/data/test1035                                |   3 -
 tests/data/test1040                                |   4 +-
 tests/data/test1041                                |   4 +-
 tests/data/test1042                                |   4 +-
 tests/data/test1043                                |   4 +-
 tests/data/test1045                                |   4 +-
 tests/data/test1046                                |   4 +-
 tests/data/test1051                                |   5 +-
 tests/data/test1052                                |   5 +-
 tests/data/test1053                                |   6 +-
 tests/data/test1054                                |   5 +-
 tests/data/test1055                                |   4 +-
 tests/data/test1056                                |   5 +-
 tests/data/test1058                                |   4 +-
 tests/data/test1059                                |   4 +-
 tests/data/test1060                                |  10 +-
 tests/data/test1061                                |  10 +-
 tests/data/test1064                                |   5 +-
 tests/data/test1065                                |   5 +-
 tests/data/test1066                                |   5 +-
 tests/data/test1067                                |   5 +-
 tests/data/test1068                                |   4 +-
 tests/data/test1070                                |   4 +-
 tests/data/test1071                                |   5 +-
 tests/data/test1072                                |   4 +-
 tests/data/test1073                                |   4 +-
 tests/data/test1074                                |   5 +-
 tests/data/test1075                                |   5 +-
 tests/data/test1076                                |   6 +-
 tests/data/test1077                                |   5 +-
 tests/data/test1078                                |   6 +-
 tests/data/test1079                                |   5 +-
 tests/data/test1080                                |   5 +-
 tests/data/test1081                                |   5 +-
 tests/data/test1082                                |   4 +-
 tests/data/test1083                                |   4 +-
 tests/data/test1087                                |   6 +-
 tests/data/test1088                                |   6 +-
 tests/data/test1089                                |   5 +-
 tests/data/test1090                                |   5 +-
 tests/data/test1092                                |   4 +-
 tests/data/test1095                                |   6 +-
 tests/data/test1096                                |   1 +
 tests/data/test1097                                |   7 +-
 tests/data/test1098                                |   5 +-
 tests/data/test11                                  |   5 +-
 tests/data/test1100                                |  10 +-
 tests/data/test1101                                |   4 +-
 tests/data/test1104                                |   5 +-
 tests/data/test1105                                |   6 +-
 tests/data/test1106                                |   4 +-
 tests/data/test1109                                |   4 +-
 tests/data/test1110                                |   4 +-
 tests/data/test1111                                |   4 +-
 tests/data/test1115                                |   4 +-
 tests/data/test1116                                |   4 +-
 tests/data/test1117                                |   5 +-
 tests/data/test1118                                |   4 +-
 tests/data/test1119                                |   1 -
 tests/data/test1121                                |   4 +-
 tests/data/test1122                                |   4 +-
 tests/data/test1123                                |   4 +-
 tests/data/test1124                                |   4 +-
 tests/data/test1125                                |   4 +-
 tests/data/test1126                                |   4 +-
 tests/data/test1127                                |   4 +-
 tests/data/test1128                                |   5 +-
 tests/data/test1129                                |   7 +-
 tests/data/test1130                                |   5 +-
 tests/data/test1131                                |   5 +-
 tests/data/test1133                                |   4 +-
 tests/data/test1134                                |   5 +-
 tests/data/test1136                                |   2 +-
 tests/data/test1138                                |   6 +-
 tests/data/test1141                                |   5 +-
 tests/data/test1142                                |   4 +-
 tests/data/test1143                                |   4 +-
 tests/data/test1144                                |   4 +-
 tests/data/test1148                                |   4 +-
 tests/data/test1150                                |   5 +-
 tests/data/test1151                                |   6 +-
 tests/data/test1154                                |   6 +-
 tests/data/test1155                                |   6 +-
 tests/data/test1157                                |   4 +-
 tests/data/test1158                                |   4 +-
 tests/data/test1159                                |   4 +-
 tests/data/test1160                                |   6 +-
 tests/data/test1161                                |   6 +-
 tests/data/test1164                                |   4 +-
 tests/data/test1166                                |   5 +-
 tests/data/test1168                                |   5 +-
 tests/data/test1170                                |   4 +-
 tests/data/test1171                                |   4 +-
 tests/data/test1172                                |   4 +-
 tests/data/test1174                                |   4 +-
 tests/data/test1176                                |   4 +-
 tests/data/test1178                                |   4 +-
 tests/data/test118                                 |   1 +
 tests/data/test119                                 |   1 +
 tests/data/test1197                                |   5 +-
 tests/data/test12                                  |   4 +-
 tests/data/test1204                                |   5 +-
 tests/data/test1205                                |   4 +-
 tests/data/test1210                                |   4 +-
 tests/data/test1212                                |   4 +-
 tests/data/test1213                                |   4 +-
 tests/data/test1214                                |   4 +-
 tests/data/test1215                                |   7 +-
 tests/data/test1216                                |   5 +-
 tests/data/test1218                                |   6 +-
 tests/data/test1221                                |  53 --
 tests/data/test1222                                |  53 --
 tests/data/test1223                                |   4 +-
 tests/data/test1228                                |   5 +-
 tests/data/test1229                                |   5 +-
 tests/data/test1230                                |   5 +-
 tests/data/test1231                                |   5 +-
 tests/data/test1232                                |   5 +-
 tests/data/test1235                                |  11 +-
 tests/data/test1237                                |   4 +-
 tests/data/test1239                                |   4 +-
 tests/data/test1240                                |   5 +-
 tests/data/test1241                                |   5 +-
 tests/data/test1244                                |   4 +-
 tests/data/test1245                                |   4 +-
 tests/data/test1246                                |   5 +-
 tests/data/test1248                                |   4 +-
 tests/data/test1249                                |   4 +-
 tests/data/test1250                                |   4 +-
 tests/data/test1251                                |   4 +-
 tests/data/test1252                                |   4 +-
 tests/data/test1253                                |   4 +-
 tests/data/test1254                                |   4 +-
 tests/data/test1255                                |   4 +-
 tests/data/test1256                                |   4 +-
 tests/data/test1257                                |   4 +-
 tests/data/test1258                                |   5 +-
 tests/data/test1259                                |   4 +-
 tests/data/test1261                                |   4 +-
 tests/data/test1265                                |   4 +-
 tests/data/test1266                                |   4 +-
 tests/data/test1267                                |   4 +-
 tests/data/test1270                                |   4 +-
 tests/data/test1271                                |   4 +-
 tests/data/test1280                                |   7 +-
 tests/data/test1283                                |   4 +-
 tests/data/test1284                                |   5 +-
 tests/data/test1285                                |   5 +-
 tests/data/test1286                                |   7 +-
 tests/data/test1287                                |   5 +-
 tests/data/test1288                                |   5 +-
 tests/data/test1290                                |   4 +-
 tests/data/test1292                                |   4 +-
 tests/data/test1293                                |   4 +-
 tests/data/test1294                                |   4 +-
 tests/data/test1295                                |   4 +-
 tests/data/test1296                                |   4 +-
 tests/data/test1297                                |  65 ++
 tests/data/test1298                                |   4 +-
 tests/data/test1299                                |   4 +-
 tests/data/test13                                  |   4 +-
 tests/data/test1310                                |   7 +-
 tests/data/test1311                                |   4 +-
 tests/data/test1312                                |   4 +-
 tests/data/test1313                                |   4 +-
 tests/data/test1314                                |   5 +-
 tests/data/test1315                                |   4 +-
 tests/data/test1317                                |   4 +-
 tests/data/test1318                                |   5 +-
 tests/data/test1319                                |   5 +-
 tests/data/test1320                                |   5 +-
 tests/data/test1321                                |   5 +-
 tests/data/test1322                                |   4 +-
 tests/data/test1324                                |   4 +-
 tests/data/test1325                                |   5 +-
 tests/data/test1328                                |   5 +-
 tests/data/test1331                                |   5 +-
 tests/data/test1332                                |   6 +-
 tests/data/test1333                                |   4 +-
 tests/data/test1334                                |   4 +-
 tests/data/test1335                                |   4 +-
 tests/data/test1336                                |   4 +-
 tests/data/test1337                                |   4 +-
 tests/data/test1338                                |   4 +-
 tests/data/test1339                                |   4 +-
 tests/data/test1340                                |   4 +-
 tests/data/test1341                                |   4 +-
 tests/data/test1342                                |   4 +-
 tests/data/test1343                                |   4 +-
 tests/data/test1344                                |   4 +-
 tests/data/test1345                                |   4 +-
 tests/data/test1346                                |   4 +-
 tests/data/test1347                                |   4 +-
 tests/data/test1364                                |   4 +-
 tests/data/test1365                                |   4 +-
 tests/data/test1366                                |   4 +-
 tests/data/test1367                                |   4 +-
 tests/data/test1368                                |   4 +-
 tests/data/test1369                                |   4 +-
 tests/data/test1370                                |   4 +-
 tests/data/test1371                                |   4 +-
 tests/data/test1372                                |   4 +-
 tests/data/test1373                                |   4 +-
 tests/data/test1374                                |   4 +-
 tests/data/test1375                                |   4 +-
 tests/data/test1376                                |   4 +-
 tests/data/test1377                                |   4 +-
 tests/data/test138                                 |   1 +
 tests/data/test14                                  |   5 +-
 tests/data/test1400                                |   8 +-
 tests/data/test1401                                |   8 +-
 tests/data/test1402                                |   8 +-
 tests/data/test1403                                |   8 +-
 tests/data/test1404                                |   7 +-
 tests/data/test1405                                |   3 +-
 tests/data/test1406                                |   3 +-
 tests/data/test1407                                |   3 +-
 tests/data/test1408                                |   5 +-
 tests/data/test1411                                |   4 +-
 tests/data/test1412                                |  10 +-
 tests/data/test1413                                |   5 +-
 tests/data/test1415                                |   6 +-
 tests/data/test1416                                |   4 +-
 tests/data/test1417                                |   4 +-
 tests/data/test1418                                |   7 +-
 tests/data/test1419                                |   5 +-
 tests/data/test1420                                |   3 +-
 tests/data/test1421                                |   5 +-
 tests/data/test1422                                |   4 +-
 tests/data/test1423                                |   4 +-
 tests/data/test1424                                |   4 +-
 tests/data/test1425                                | Bin 1726 -> 1721 bytes
 tests/data/test1426                                | Bin 1663 -> 1658 bytes
 tests/data/test1428                                |   7 +-
 tests/data/test1429                                |   4 +-
 tests/data/test1430                                |   4 +-
 tests/data/test1431                                |   4 +-
 tests/data/test1432                                |   4 +-
 tests/data/test1433                                |   4 +-
 tests/data/test1434                                |   4 +-
 tests/data/test1435                                |   4 +-
 tests/data/test1436                                |   6 +-
 tests/data/test1437                                |   6 +-
 tests/data/test1438                                |   4 +-
 tests/data/test1439                                |   6 +-
 tests/data/test1443                                |   4 +-
 tests/data/test1448                                |   5 +-
 tests/data/test1455                                |   4 +-
 tests/data/test1456                                |   5 +-
 tests/data/test1457                                |   4 +-
 tests/data/test1458                                |   4 +-
 tests/data/test1460                                |   3 -
 tests/data/test1461                                |  53 ++
 tests/data/test1462                                |  61 ++
 tests/data/{test76 => test1463}                    |  23 +-
 tests/data/{test702 => test1464}                   |  34 +-
 tests/data/{test1402 => test1465}                  | Bin 3016 -> 2964 bytes
 tests/data/test15                                  |   4 +-
 tests/data/test150                                 |   7 +-
 tests/data/test1502                                |   3 -
 tests/data/test1503                                |   3 -
 tests/data/test1504                                |   3 -
 tests/data/test1505                                |   3 -
 tests/data/test151                                 |   5 +-
 tests/data/test152                                 |   5 +-
 tests/data/test1524                                |   6 +-
 tests/data/test153                                 |  10 +-
 tests/data/test1538                                |   3 +-
 tests/data/test154                                 |   6 +-
 tests/data/test155                                 |   7 +-
 tests/data/test1551                                |   3 -
 tests/data/test1556                                |   5 +-
 tests/data/test156                                 |   5 +-
 tests/data/test1561                                |   9 +-
 tests/data/test1562                                |   6 +-
 tests/data/test1563                                |   4 +-
 tests/data/test1566                                |   6 +-
 tests/data/test1567                                |   3 -
 tests/data/test157                                 |   4 +-
 tests/data/test158                                 |   3 +-
 tests/data/test159                                 |   5 +-
 tests/data/test1591                                |   3 -
 tests/data/test1593                                |   3 -
 tests/data/test1594                                |   3 -
 tests/data/test1595                                |   3 -
 tests/data/test1596                                |   3 -
 tests/data/test16                                  |   4 +-
 tests/data/test160                                 |   5 +-
 tests/data/test162                                 |   5 +-
 tests/data/test163                                 |   4 +-
 tests/data/test1630                                |   4 +-
 tests/data/test1631                                |   3 +-
 tests/data/test1632                                |   3 +-
 tests/data/test1633                                |   7 +-
 tests/data/test164                                 |   4 +-
 tests/data/test165                                 |   5 +-
 tests/data/test1653                                |   2 +-
 tests/data/test1654                                |   2 +-
 tests/data/test166                                 |   4 +-
 tests/data/test1660                                |  81 ++
 tests/data/test167                                 |   7 +-
 tests/data/test168                                 |   9 +-
 tests/data/test169                                 |   9 +-
 tests/data/test170                                 |   5 +-
 tests/data/test1700                                |   7 +-
 tests/data/test1701                                |   5 +-
 tests/data/test1702                                |   5 +-
 tests/data/test171                                 |   6 +-
 tests/data/test172                                 |   6 +-
 tests/data/test173                                 |   4 +-
 tests/data/test174                                 |   5 +-
 tests/data/test175                                 |   7 +-
 tests/data/test176                                 |   7 +-
 tests/data/test177                                 |   5 +-
 tests/data/test178                                 |   4 +-
 tests/data/test179                                 |   4 +-
 tests/data/test18                                  |   9 +-
 tests/data/test180                                 |   4 +-
 tests/data/test1800                                |   4 +-
 tests/data/test1801                                |   4 +-
 tests/data/test181                                 |   4 +-
 tests/data/test183                                 |   7 +-
 tests/data/test184                                 |   6 +-
 tests/data/test185                                 |   6 +-
 tests/data/test186                                 |   4 +-
 tests/data/test187                                 |   5 +-
 tests/data/test188                                 |   7 +-
 tests/data/test189                                 |   7 +-
 tests/data/test1900                                |  61 --
 tests/data/test1901                                |  63 --
 tests/data/test1902                                |  62 --
 tests/data/test1903                                |  62 --
 tests/data/test1904                                |   7 +-
 tests/data/test1905                                |   5 +-
 tests/data/test1906                                |   3 -
 tests/data/test1907                                |   3 -
 tests/data/test1908                                |  20 +-
 tests/data/test1909                                |   5 +-
 tests/data/test1910                                |   5 +-
 tests/data/{test1541 => test1911}                  |  19 +-
 tests/data/{test1541 => test1912}                  |  20 +-
 tests/data/{test118 => test1913}                   |  37 +-
 tests/data/{test118 => test1914}                   |  38 +-
 tests/data/test1915                                |  50 ++
 tests/data/test192                                 |   4 +-
 tests/data/test193                                 |   5 +-
 tests/data/test194                                 |   4 +-
 tests/data/test197                                 |   5 +-
 tests/data/test198                                 |   5 +-
 tests/data/test199                                 |   5 +-
 tests/data/test2                                   |   4 +-
 tests/data/test2001                                |   4 +-
 tests/data/test2002                                |   4 +-
 tests/data/test2003                                |   5 +-
 tests/data/test2005                                |   4 +-
 tests/data/test2006                                |   4 +-
 tests/data/test2007                                |   4 +-
 tests/data/test2008                                |   4 +-
 tests/data/test2009                                |   4 +-
 tests/data/test2010                                |   4 +-
 tests/data/test2011                                |   4 +-
 tests/data/test2012                                |   4 +-
 tests/data/test2023                                |   3 -
 tests/data/test2024                                |   3 -
 tests/data/test2025                                |   3 -
 tests/data/test2026                                |   3 -
 tests/data/test2027                                |   3 -
 tests/data/test2028                                |   3 -
 tests/data/test2029                                |   3 -
 tests/data/test2030                                |   3 -
 tests/data/test2031                                |   3 -
 tests/data/test2032                                |   3 -
 tests/data/test2033                                | 125 ---
 tests/data/test2034                                |   4 +-
 tests/data/test2036                                |   3 -
 tests/data/test2037                                |   3 +-
 tests/data/test2040                                |   5 +-
 tests/data/test2041                                |   4 +-
 tests/data/test2046                                |   5 +-
 tests/data/test2047                                |   5 +-
 tests/data/test2049                                |   7 +-
 tests/data/test2050                                |   5 +-
 tests/data/test2051                                |   6 +-
 tests/data/test2052                                |   5 +-
 tests/data/test2053                                |   5 +-
 tests/data/test2054                                |   7 +-
 tests/data/test2055                                |   5 +-
 tests/data/test2056                                |   4 +-
 tests/data/test2057                                |   5 +-
 tests/data/test2058                                |   6 +-
 tests/data/test2059                                |   6 +-
 tests/data/test206                                 |   7 +-
 tests/data/test2060                                |   6 +-
 tests/data/test2061                                |   6 +-
 tests/data/test2062                                |   6 +-
 tests/data/test2063                                |   6 +-
 tests/data/test2064                                |   6 +-
 tests/data/test2065                                |   6 +-
 tests/data/test2066                                |   6 +-
 tests/data/test2067                                |   5 +-
 tests/data/test2068                                |   5 +-
 tests/data/test2069                                |   5 +-
 tests/data/test207                                 |   4 +-
 tests/data/test2070                                |   4 +-
 tests/data/test2073                                |   4 +-
 tests/data/test2074                                |   4 +-
 tests/data/test2076                                |   5 +-
 tests/data/test2078                                |   4 +-
 tests/data/test208                                 |   4 +-
 tests/data/test209                                 |   7 +-
 tests/data/test2100                                | Bin 1647 -> 1642 bytes
 tests/data/test213                                 |   7 +-
 tests/data/test214                                 |   4 +-
 tests/data/test217                                 |   4 +-
 tests/data/test218                                 |   4 +-
 tests/data/test22                                  |   5 +-
 tests/data/test220                                 |   4 +-
 tests/data/test221                                 |   4 +-
 tests/data/test222                                 |   4 +-
 tests/data/test223                                 |   4 +-
 tests/data/test224                                 |   4 +-
 tests/data/test230                                 |   4 +-
 tests/data/test232                                 |   4 +-
 tests/data/test233                                 |   5 +-
 tests/data/test234                                 |   5 +-
 tests/data/test235                                 |   3 +
 tests/data/test236                                 |   1 +
 tests/data/test239                                 |   7 +-
 tests/data/test24                                  |   5 +-
 tests/data/test240                                 |   4 +-
 tests/data/test241                                 |   4 +-
 tests/data/test242                                 |   4 +-
 tests/data/test243                                 |   9 +-
 tests/data/test245                                 |   7 +-
 tests/data/test246                                 |   7 +-
 tests/data/test249                                 |   4 +-
 tests/data/test25                                  |  15 +-
 tests/data/test256                                 |   4 +-
 tests/data/test257                                 |   9 +-
 tests/data/test258                                 |   6 +-
 tests/data/test259                                 |   6 +-
 tests/data/test26                                  |   5 +-
 tests/data/test260                                 |   4 +-
 tests/data/test262                                 | Bin 1137 -> 1132 bytes
 tests/data/test263                                 |   4 +-
 tests/data/test264                                 |   4 +-
 tests/data/test265                                 |   7 +-
 tests/data/test266                                 |   4 +-
 tests/data/test267                                 |   7 +-
 tests/data/test268                                 |   4 +-
 tests/data/test269                                 |   4 +-
 tests/data/test27                                  |   6 +-
 tests/data/test273                                 |   6 +-
 tests/data/test274                                 |   5 +-
 tests/data/test275                                 |   7 +-
 tests/data/test276                                 |   5 +-
 tests/data/test277                                 |   5 +-
 tests/data/test278                                 |   4 +-
 tests/data/test279                                 |   4 +-
 tests/data/test28                                  |   5 +-
 tests/data/test281                                 |   4 +-
 tests/data/test282                                 |   4 +-
 tests/data/test29                                  |   4 +-
 tests/data/test292                                 |   4 +-
 tests/data/test293                                 |   4 +-
 tests/data/test299                                 |   4 +-
 tests/data/test3                                   |   4 +-
 tests/data/test30                                  |   4 +-
 tests/data/test300                                 |   4 +-
 tests/data/test3000                                |   4 +-
 tests/data/test3001                                |   4 +-
 tests/data/{test293 => test3008}                   |  31 +-
 tests/data/{test293 => test3009}                   |  31 +-
 tests/data/test301                                 |   4 +-
 tests/data/{test293 => test3011}                   |  31 +-
 tests/data/{test293 => test3012}                   |  34 +-
 tests/data/{test74 => test3013}                    |  51 +-
 tests/data/{test1439 => test3014}                  |  10 +-
 tests/data/{test193 => test3015}                   |  60 +-
 tests/data/test302                                 |   3 -
 tests/data/test303                                 |   4 +-
 tests/data/test304                                 |   4 +-
 tests/data/test305                                 |   3 -
 tests/data/test306                                 |   4 +-
 tests/data/test307                                 |   4 +-
 tests/data/test309                                 |   5 +-
 tests/data/test31                                  |   6 +-
 tests/data/test310                                 |   4 +-
 tests/data/test314                                 |   4 +-
 tests/data/test315                                 |   4 +-
 tests/data/test316                                 |   4 +-
 tests/data/test317                                 |   5 +-
 tests/data/test318                                 |   5 +-
 tests/data/test319                                 |   4 +-
 tests/data/test32                                  |   5 +-
 tests/data/test325                                 |   4 +-
 tests/data/test326                                 |   4 +-
 tests/data/test327                                 |   7 +-
 tests/data/test328                                 |   2 +-
 tests/data/test329                                 |   5 +-
 tests/data/test33                                  |   5 +-
 tests/data/test330                                 |   5 +-
 tests/data/test331                                 |   5 +-
 tests/data/test334                                 |   4 +-
 tests/data/test335                                 |   9 +-
 tests/data/test338                                 |   5 +-
 tests/data/test339                                 |   8 +-
 tests/data/test34                                  |   4 +-
 tests/data/test341                                 |   3 -
 tests/data/test342                                 |   6 +-
 tests/data/test343                                 |   8 +-
 tests/data/test344                                 |   6 +-
 tests/data/test345                                 |   8 +-
 tests/data/test346                                 |   4 +-
 tests/data/{test339 => test347}                    |  15 +-
 tests/data/{test1096 => test348}                   |  43 +-
 tests/data/test35                                  | Bin 810 -> 805 bytes
 tests/data/test355                                 |   4 +-
 tests/data/test356                                 |   6 +-
 tests/data/test357                                 |   5 +-
 tests/data/test358                                 |   5 +-
 tests/data/test359                                 |   5 +-
 tests/data/test36                                  |   4 +-
 tests/data/test37                                  |   4 +-
 tests/data/test38                                  |   4 +-
 tests/data/test39                                  |   4 +-
 tests/data/test393                                 |   4 +-
 tests/data/test394                                 |   4 +-
 tests/data/test395                                 |   4 +-
 tests/data/test396                                 |   4 +-
 tests/data/test397                                 |   4 +-
 tests/data/test4                                   |   5 +-
 tests/data/test40                                  |   6 +-
 tests/data/test42                                  |   6 +-
 tests/data/test43                                  |   5 +-
 tests/data/test430                                 |   6 +-
 tests/data/test431                                 |   6 +-
 tests/data/test432                                 |   6 +-
 tests/data/{test2078 => test433}                   |  45 +-
 tests/data/{test1290 => test434}                   |  26 +-
 tests/data/test44                                  |   4 +-
 tests/data/test45                                  |   5 +-
 tests/data/test46                                  |   8 +-
 tests/data/test47                                  |   4 +-
 tests/data/test48                                  |   5 +-
 tests/data/test49                                  |   6 +-
 tests/data/test490                                 |   5 +-
 tests/data/test491                                 |   4 +-
 tests/data/test492                                 |   7 +-
 tests/data/test493                                 |  61 ++
 tests/data/test5                                   |   4 +-
 tests/data/test50                                  |   6 +-
 tests/data/test506                                 |   7 +-
 tests/data/test51                                  |   6 +-
 tests/data/test511                                 |   4 +-
 tests/data/test512                                 |   3 -
 tests/data/test514                                 |   3 -
 tests/data/test515                                 |   3 -
 tests/data/test516                                 |   3 -
 tests/data/test52                                  |   6 +-
 tests/data/test522                                 |   3 -
 tests/data/test523                                 |   3 -
 tests/data/test53                                  |   4 +-
 tests/data/test530                                 |  83 --
 tests/data/test533                                 |   2 +-
 tests/data/test534                                 |   2 +-
 tests/data/test54                                  |   4 +-
 tests/data/test540                                 |   3 -
 tests/data/test544                                 |   3 -
 tests/data/test546                                 |   2 +-
 tests/data/test547                                 |   6 -
 tests/data/test548                                 |   6 -
 tests/data/test549                                 |   3 -
 tests/data/test55                                  |   6 +-
 tests/data/test550                                 |   3 -
 tests/data/test551                                 |   3 -
 tests/data/test552                                 | Bin 142947 -> 2967 bytes
 tests/data/test553                                 |  21 +-
 tests/data/test555                                 |   6 -
 tests/data/test556                                 |   3 -
 tests/data/test558                                 |   4 +-
 tests/data/test56                                  |   4 +-
 tests/data/test560                                 |   3 -
 tests/data/test561                                 |   3 -
 tests/data/test57                                  |   4 +-
 tests/data/test573                                 |   3 -
 tests/data/test58                                  |   4 +-
 tests/data/test580                                 |   3 -
 tests/data/test581                                 |   3 -
 tests/data/test584                                 | 102 ---
 tests/data/test585                                 |   3 -
 tests/data/test589                                 |   3 -
 tests/data/test59                                  |   4 +-
 tests/data/test590                                 |   7 +-
 tests/data/test6                                   |   4 +-
 tests/data/test60                                  |   4 +-
 tests/data/test61                                  |   6 +-
 tests/data/test62                                  |   7 +-
 tests/data/test63                                  |   4 +-
 tests/data/test64                                  |   6 +-
 tests/data/test65                                  |   6 +-
 tests/data/test658                                 |   3 -
 tests/data/test659                                 |   3 -
 tests/data/test66                                  |   4 +-
 tests/data/test662                                 |   5 +-
 tests/data/test663                                 |   5 +-
 tests/data/test669                                 |   6 +-
 tests/data/test67                                  |   7 +-
 tests/data/test674                                 |   3 -
 tests/data/test68                                  |   7 +-
 tests/data/test69                                  |   9 +-
 tests/data/test7                                   |   4 +-
 tests/data/test70                                  |   7 +-
 tests/data/test700                                 |   4 +-
 tests/data/test701                                 |   4 +-
 tests/data/test702                                 |   2 +-
 tests/data/test703                                 |   2 +-
 tests/data/test708                                 |   4 +-
 tests/data/test709                                 |   4 +-
 tests/data/test710                                 |   4 +-
 tests/data/test716                                 |   2 +-
 tests/data/test717                                 |   4 +-
 tests/data/test72                                  |   7 +-
 tests/data/test73                                  |   6 +-
 tests/data/test74                                  |   5 +-
 tests/data/test75                                  |   3 -
 tests/data/test76                                  |   3 -
 tests/data/test77                                  |   4 +-
 tests/data/test78                                  |   4 +-
 tests/data/test79                                  |   4 +-
 tests/data/test8                                   |   4 +-
 tests/data/test80                                  |   7 +-
 tests/data/test81                                  |   7 +-
 tests/data/test82                                  |   5 +-
 tests/data/test83                                  |   7 +-
 tests/data/test84                                  |   5 +-
 tests/data/test85                                  |   5 +-
 tests/data/test86                                  |   9 +-
 tests/data/test88                                  |   6 +-
 tests/data/test89                                  |  11 +-
 tests/data/test9                                   |   4 +-
 tests/data/test90                                  |  13 +-
 tests/data/test91                                  |   9 +-
 tests/data/test92                                  |   4 +-
 tests/data/test93                                  |   4 +-
 tests/data/test94                                  |   5 +-
 tests/data/test95                                  |   7 +-
 tests/data/test97                                  |   4 +-
 tests/data/test970                                 |   6 +-
 tests/data/test971                                 |   5 +
 tests/data/test98                                  |   4 +-
 tests/data/test99                                  |   4 +-
 tests/dictserver.py.in                             |  11 +-
 tests/directories.pm                               |   2 +-
 tests/disable-scan.pl.in                           |   4 +-
 tests/error-codes.pl.in                            |   4 +-
 tests/extern-scan.pl.in                            |   2 +-
 tests/ftp.pm                                       |   2 +-
 tests/ftpserver.pl.in                              |  19 +-
 tests/fuzz/download_fuzzer.sh                      |   2 +-
 tests/getpart.pm                                   |   9 +-
 tests/http2-server.pl.in                           |   2 +-
 tests/httpserver.pl.in                             |   2 +-
 tests/keywords.pl.in                               |   2 +-
 tests/libtest/.gitignore                           |   2 +-
 tests/libtest/CMakeLists.txt                       |   2 +-
 tests/libtest/Makefile.am                          |   2 +-
 tests/libtest/Makefile.inc                         |  43 +-
 tests/libtest/chkdecimalpoint.c                    |   4 +-
 tests/libtest/chkhostname.c                        |   4 +-
 tests/libtest/first.c                              |   4 +-
 tests/libtest/lib1156.c                            |   2 +-
 tests/libtest/lib1500.c                            |   4 +-
 tests/libtest/lib1501.c                            |   4 +-
 tests/libtest/lib1502.c                            |   4 +-
 tests/libtest/lib1506.c                            |   4 +-
 tests/libtest/lib1507.c                            |   2 +-
 tests/libtest/lib1508.c                            |   2 +-
 tests/libtest/lib1509.c                            |   2 +-
 tests/libtest/lib1510.c                            |   4 +-
 tests/libtest/lib1511.c                            |   4 +-
 tests/libtest/lib1512.c                            |   4 +-
 tests/libtest/lib1513.c                            |   4 +-
 tests/libtest/lib1514.c                            |   2 +-
 tests/libtest/lib1515.c                            |   2 +-
 tests/libtest/lib1517.c                            |   4 +-
 tests/libtest/lib1518.c                            |   4 +-
 tests/libtest/lib1520.c                            |   2 +-
 tests/libtest/lib1522.c                            |   4 +-
 tests/libtest/lib1523.c                            |   9 +-
 tests/libtest/lib1525.c                            |   2 +-
 tests/libtest/lib1526.c                            |   2 +-
 tests/libtest/lib1527.c                            |   2 +-
 tests/libtest/lib1528.c                            |   4 +-
 tests/libtest/lib1529.c                            |   4 +-
 tests/libtest/lib1530.c                            |   4 +-
 tests/libtest/lib1531.c                            |   2 +-
 tests/libtest/lib1532.c                            |   4 +-
 tests/libtest/lib1533.c                            |   2 +-
 tests/libtest/lib1534.c                            |   4 +-
 tests/libtest/lib1535.c                            |   2 +-
 tests/libtest/lib1536.c                            |   2 +-
 tests/libtest/lib1537.c                            |   4 +-
 tests/libtest/lib1538.c                            |  16 +-
 tests/libtest/lib1540.c                            |   2 +-
 tests/libtest/lib1541.c                            |  11 +-
 tests/libtest/lib1550.c                            |   6 +-
 tests/libtest/lib1551.c                            |   4 +-
 tests/libtest/lib1552.c                            |   4 +-
 tests/libtest/lib1553.c                            |   4 +-
 tests/libtest/lib1554.c                            |   2 +-
 tests/libtest/lib1555.c                            |   4 +-
 tests/libtest/lib1556.c                            |   4 +-
 tests/libtest/lib1557.c                            |   4 +-
 tests/libtest/lib1558.c                            |   6 +-
 tests/libtest/lib1559.c                            |   4 +-
 tests/libtest/lib1560.c                            |  19 +-
 tests/libtest/lib1564.c                            |   2 +-
 tests/libtest/lib1565.c                            |   4 +-
 tests/libtest/lib1567.c                            |   2 +-
 tests/libtest/lib1591.c                            |   4 +-
 tests/libtest/lib1592.c                            |  12 +-
 tests/libtest/lib1593.c                            |   4 +-
 tests/libtest/lib1594.c                            |   4 +-
 tests/libtest/lib1900.c                            |   2 +-
 tests/libtest/lib1905.c                            |   4 +-
 tests/libtest/lib1906.c                            |   4 +-
 tests/libtest/lib1907.c                            |   4 +-
 tests/libtest/lib1908.c                            |  17 +-
 tests/libtest/lib1910.c                            |   2 +-
 tests/libtest/lib1911.c                            |  89 +++
 tests/libtest/lib1912.c                            |  80 ++
 tests/libtest/{lib1908.c => lib1913.c}             |  11 +-
 tests/libtest/lib1915.c                            |  95 +++
 tests/libtest/lib3010.c                            |   2 +-
 tests/libtest/lib500.c                             |   2 +-
 tests/libtest/lib501.c                             |   2 +-
 tests/libtest/lib502.c                             |   2 +-
 tests/libtest/lib503.c                             |   2 +-
 tests/libtest/lib504.c                             |   2 +-
 tests/libtest/lib505.c                             |   6 +-
 tests/libtest/lib506.c                             |   4 +-
 tests/libtest/lib507.c                             |   4 +-
 tests/libtest/lib508.c                             |   4 +-
 tests/libtest/lib509.c                             |   2 +-
 tests/libtest/lib510.c                             |   4 +-
 tests/libtest/lib511.c                             |   4 +-
 tests/libtest/lib512.c                             |   2 +-
 tests/libtest/lib513.c                             |   4 +-
 tests/libtest/lib514.c                             |   4 +-
 tests/libtest/lib515.c                             |   4 +-
 tests/libtest/lib516.c                             |   4 +-
 tests/libtest/lib517.c                             |   4 +-
 tests/libtest/lib518.c                             |   4 +-
 tests/libtest/lib519.c                             |   2 +-
 tests/libtest/lib520.c                             |   4 +-
 tests/libtest/lib521.c                             |   2 +-
 tests/libtest/lib523.c                             |   2 +-
 tests/libtest/lib524.c                             |   2 +-
 tests/libtest/lib525.c                             |   4 +-
 tests/libtest/lib526.c                             |   4 +-
 tests/libtest/lib530.c                             |   4 +-
 tests/libtest/lib533.c                             |   4 +-
 tests/libtest/lib537.c                             |   4 +-
 tests/libtest/lib539.c                             |   4 +-
 tests/libtest/lib540.c                             |   4 +-
 tests/libtest/lib541.c                             |   6 +-
 tests/libtest/lib542.c                             |   4 +-
 tests/libtest/lib543.c                             |   2 +-
 tests/libtest/lib544.c                             |   4 +-
 tests/libtest/lib547.c                             |   2 +-
 tests/libtest/lib549.c                             |   2 +-
 tests/libtest/lib552.c                             |   4 +-
 tests/libtest/lib553.c                             |   2 +-
 tests/libtest/lib554.c                             |   4 +-
 tests/libtest/lib555.c                             |   4 +-
 tests/libtest/lib556.c                             |   6 +-
 tests/libtest/lib557.c                             |   2 +-
 tests/libtest/lib558.c                             |   2 +-
 tests/libtest/lib559.c                             |   2 +-
 tests/libtest/lib560.c                             |   2 +-
 tests/libtest/lib562.c                             |   4 +-
 tests/libtest/lib564.c                             |   4 +-
 tests/libtest/lib566.c                             |   2 +-
 tests/libtest/lib567.c                             |   2 +-
 tests/libtest/lib568.c                             |   2 +-
 tests/libtest/lib569.c                             |   4 +-
 tests/libtest/lib570.c                             |   8 +-
 tests/libtest/lib571.c                             |   4 +-
 tests/libtest/lib572.c                             |   2 +-
 tests/libtest/lib573.c                             |   2 +-
 tests/libtest/lib574.c                             |   4 +-
 tests/libtest/lib575.c                             |   4 +-
 tests/libtest/lib576.c                             |   2 +-
 tests/libtest/lib578.c                             |   4 +-
 tests/libtest/lib579.c                             |   2 +-
 tests/libtest/lib582.c                             |   2 +-
 tests/libtest/lib583.c                             |  15 +-
 tests/libtest/lib586.c                             |   2 +-
 tests/libtest/lib589.c                             |   4 +-
 tests/libtest/lib590.c                             |   4 +-
 tests/libtest/lib591.c                             |   2 +-
 tests/libtest/lib597.c                             |   4 +-
 tests/libtest/lib598.c                             |   2 +-
 tests/libtest/lib599.c                             |   4 +-
 tests/libtest/lib643.c                             |   2 +-
 tests/libtest/lib650.c                             |   4 +-
 tests/libtest/lib651.c                             |   2 +-
 tests/libtest/lib652.c                             |   2 +-
 tests/libtest/lib653.c                             |   4 +-
 tests/libtest/lib654.c                             |   2 +-
 tests/libtest/lib655.c                             |   4 +-
 tests/libtest/lib658.c                             |   4 +-
 tests/libtest/lib659.c                             |   4 +-
 tests/libtest/lib661.c                             |   4 +-
 tests/libtest/lib666.c                             |   2 +-
 tests/libtest/lib667.c                             |   2 +-
 tests/libtest/lib668.c                             |   2 +-
 tests/libtest/lib670.c                             |   2 +-
 tests/libtest/lib674.c                             |   2 +-
 tests/libtest/libauthretry.c                       |   4 +-
 tests/libtest/libntlmconnect.c                     |   4 +-
 tests/libtest/mk-lib1521.pl                        |  18 +-
 tests/libtest/notexists.pl                         |   2 +-
 tests/libtest/sethostname.c                        |   2 +-
 tests/libtest/sethostname.h                        |   4 +-
 tests/libtest/stub_gssapi.c                        |   4 +-
 tests/libtest/stub_gssapi.h                        |   2 +-
 tests/libtest/test.h                               |  48 +-
 tests/libtest/test1013.pl                          |   2 +-
 tests/libtest/test1022.pl                          |   2 +-
 tests/libtest/test307.pl                           |   2 +-
 tests/libtest/test610.pl                           |   2 +-
 tests/libtest/test613.pl                           |   2 +-
 tests/libtest/testtrace.c                          |   4 +-
 tests/libtest/testtrace.h                          |   2 +-
 tests/libtest/testutil.c                           |   2 +-
 tests/libtest/testutil.h                           |   2 +-
 tests/manpage-scan.pl.in                           |   2 +-
 tests/mem-include-scan.pl.in                       |   2 +-
 tests/memanalyze.pl.in                             |   4 +-
 tests/negtelnetserver.py.in                        |  10 +-
 tests/nroff-scan.pl.in                             |   2 +-
 tests/objnames-test08.sh                           | 217 ------
 tests/objnames-test10.sh                           | 217 ------
 tests/objnames.inc                                 | 107 ---
 tests/options-scan.pl                              |   6 +-
 tests/pathhelp.pm                                  |   2 +-
 tests/rtspserver.pl.in                             |   2 +-
 tests/runtests.1                                   |   2 +-
 tests/runtests.pl.in                               | 195 ++---
 tests/secureserver.pl.in                           |   2 +-
 tests/server/CMakeLists.txt                        |   2 +-
 tests/server/Makefile.am                           |   4 +-
 tests/server/Makefile.inc                          |   2 +-
 tests/server/base64.pl                             |   2 +-
 tests/server/disabled.c                            |   4 +-
 tests/server/fake_ntlm.c                           |   2 +-
 tests/server/getpart.c                             |   2 +-
 tests/server/getpart.h                             |   2 +-
 tests/server/mqttd.c                               |   9 +-
 tests/server/resolve.c                             |   2 +-
 tests/server/rtspd.c                               |   2 +-
 tests/server/server_setup.h                        |   2 +-
 tests/server/server_sockaddr.h                     |   2 +-
 tests/server/sockfilt.c                            |   8 +-
 tests/server/socksd.c                              |   2 +-
 tests/server/sws.c                                 |   2 +-
 tests/server/testpart.c                            |   2 +-
 tests/server/tftp.h                                |   2 +-
 tests/server/tftpd.c                               |  15 +-
 tests/server/util.c                                |  13 +-
 tests/server/util.h                                |   2 +-
 tests/serverhelp.pm                                |   2 +-
 tests/smbserver.py.in                              |  24 +-
 tests/sshhelp.pm                                   |   2 +-
 tests/sshserver.pl.in                              |   2 +-
 tests/symbol-scan.pl.in                            |   4 +-
 tests/testcurl.1                                   |   8 +-
 tests/testcurl.pl.in                               |  14 +-
 tests/tftpserver.pl.in                             |   2 +-
 tests/unit/CMakeLists.txt                          |   2 +-
 tests/unit/Makefile.am                             |   6 +-
 tests/unit/Makefile.inc                            |   7 +-
 tests/unit/{README => README.md}                   |  42 +-
 tests/unit/curlcheck.h                             |   2 +-
 tests/unit/unit1300.c                              |  32 +-
 tests/unit/unit1301.c                              |   4 +-
 tests/unit/unit1302.c                              |   2 +-
 tests/unit/unit1303.c                              |   4 +-
 tests/unit/unit1304.c                              |   4 +-
 tests/unit/unit1305.c                              |   4 +-
 tests/unit/unit1307.c                              |   4 +-
 tests/unit/unit1308.c                              |   4 +-
 tests/unit/unit1309.c                              |   4 +-
 tests/unit/unit1323.c                              |   4 +-
 tests/unit/unit1330.c                              |   2 +-
 tests/unit/unit1394.c                              |   2 +-
 tests/unit/unit1395.c                              |   2 +-
 tests/unit/unit1396.c                              |   4 +-
 tests/unit/unit1397.c                              |   4 +-
 tests/unit/unit1398.c                              |   4 +-
 tests/unit/unit1399.c                              |   4 +-
 tests/unit/unit1600.c                              |   2 +-
 tests/unit/unit1601.c                              |   2 +-
 tests/unit/unit1602.c                              |   6 +-
 tests/unit/unit1603.c                              |   6 +-
 tests/unit/unit1604.c                              |   4 +-
 tests/unit/unit1605.c                              |   2 +-
 tests/unit/unit1606.c                              |   4 +-
 tests/unit/unit1607.c                              |   4 +-
 tests/unit/unit1608.c                              |   2 +-
 tests/unit/unit1609.c                              |   4 +-
 tests/unit/unit1610.c                              |   2 +-
 tests/unit/unit1611.c                              |   2 +-
 tests/unit/unit1612.c                              |   2 +-
 tests/unit/unit1620.c                              |   2 +-
 tests/unit/unit1621.c                              |   4 +-
 tests/unit/unit1650.c                              |   2 +-
 tests/unit/unit1651.c                              |   4 +-
 tests/unit/unit1652.c                              |   4 +-
 tests/unit/unit1653.c                              |  44 +-
 tests/unit/unit1654.c                              |  17 +-
 tests/unit/unit1655.c                              |   2 +-
 tests/unit/unit1660.c                              | 171 +++++
 tests/{curl_test_data.py.in => util.py}            |  35 +-
 tests/valgrind.pm                                  |   2 +-
 tests/valgrind.supp                                |  32 +
 tests/version-scan.pl.in                           |   2 +-
 winbuild/README.md                                 | 132 ++++
 2356 files changed, 14316 insertions(+), 15112 deletions(-)
 create mode 100644 .github/ISSUE_TEMPLATE/config.yml
 delete mode 100644 docs/BUGS
 create mode 100644 docs/BUGS.md
 rename docs/{ESNI.md => ECH.md} (55%)
 rename docs/{FEATURES => FEATURES.md} (54%)
 create mode 100644 docs/HSTS.md
 delete mode 100644 docs/LICENSE-MIXING.md
 create mode 100644 docs/NEW-PROTOCOL.md
 delete mode 100644 docs/RESOURCES
 delete mode 100644 docs/TheArtOfHttpScripting
 create mode 100644 docs/TheArtOfHttpScripting.md
 create mode 100644 docs/cmdline-opts/curves.d
 create mode 100644 docs/cmdline-opts/hsts.d
 create mode 100644 docs/cmdline-opts/output-dir.d
 rename docs/examples/{README => README.md} (57%)
 create mode 100644 docs/examples/httpput-postfields.c
 copy docs/libcurl/{opts/GNURLOPT_STDERR.3 => gnurl_easy_option_by_id.3} (55%)
 copy docs/libcurl/{opts/GNURLOPT_STDERR.3 => gnurl_easy_option_by_name.3} (57%)
 create mode 100644 docs/libcurl/gnurl_easy_option_next.3
 create mode 100644 docs/libcurl/opts/GNURLINFO_PROXY_ERROR.3
 create mode 100644 docs/libcurl/opts/GNURLOPT_HSTS.3
 copy docs/libcurl/opts/{GNURLOPT_READDATA.3 => GNURLOPT_HSTSREADDATA.3} (55%)
 create mode 100644 docs/libcurl/opts/GNURLOPT_HSTSREADFUNCTION.3
 copy docs/libcurl/opts/{GNURLOPT_READDATA.3 => GNURLOPT_HSTSWRITEDATA.3} (57%)
 create mode 100644 docs/libcurl/opts/GNURLOPT_HSTSWRITEFUNCTION.3
 copy docs/libcurl/opts/{GNURLOPT_ALTSVC.3 => GNURLOPT_HSTS_CTRL.3} (50%)
 copy docs/libcurl/opts/{GNURLOPT_ADDRESS_SCOPE.3 => GNURLOPT_SSL_EC_CURVES.3} 
(63%)
 delete mode 100644 include/README
 create mode 100644 include/README.md
 create mode 100644 include/gnurl/options.h
 delete mode 100644 lib/Makefile.Watcom
 delete mode 100644 lib/config-symbian.h
 rename lib/{curl_sec.h => curl_krb5.h} (84%)
 create mode 100644 lib/easygetopt.c
 create mode 100644 lib/easyoptions.c
 copy src/tool_strdup.c => lib/easyoptions.h (73%)
 create mode 100644 lib/hsts.c
 create mode 100644 lib/hsts.h
 create mode 100644 lib/optiontable.pl
 delete mode 100644 lib/security.c
 delete mode 100644 packages/Symbian/bwins/libcurlu.def
 delete mode 100644 packages/Symbian/eabi/libcurlu.def
 delete mode 100644 packages/Symbian/group/bld.inf
 delete mode 100644 packages/Symbian/group/curl.iby
 delete mode 100644 packages/Symbian/group/curl.mmp
 delete mode 100644 packages/Symbian/group/curl.pkg
 delete mode 100644 packages/Symbian/group/libcurl.iby
 delete mode 100644 packages/Symbian/group/libcurl.mmp
 delete mode 100644 packages/Symbian/group/libcurl.pkg
 delete mode 100644 packages/Symbian/readme.txt
 delete mode 100644 src/Makefile.Watcom
 rename tests/{README => README.md} (53%)
 delete mode 100644 tests/data/test1221
 delete mode 100644 tests/data/test1222
 create mode 100644 tests/data/test1297
 create mode 100644 tests/data/test1461
 create mode 100644 tests/data/test1462
 copy tests/data/{test76 => test1463} (53%)
 copy tests/data/{test702 => test1464} (51%)
 copy tests/data/{test1402 => test1465} (73%)
 create mode 100644 tests/data/test1660
 delete mode 100644 tests/data/test1900
 delete mode 100644 tests/data/test1901
 delete mode 100644 tests/data/test1902
 delete mode 100644 tests/data/test1903
 copy tests/data/{test1541 => test1911} (54%)
 rename tests/data/{test1541 => test1912} (54%)
 copy tests/data/{test118 => test1913} (50%)
 copy tests/data/{test118 => test1914} (50%)
 create mode 100644 tests/data/test1915
 delete mode 100644 tests/data/test2033
 copy tests/data/{test293 => test3008} (68%)
 copy tests/data/{test293 => test3009} (69%)
 copy tests/data/{test293 => test3011} (65%)
 copy tests/data/{test293 => test3012} (62%)
 copy tests/data/{test74 => test3013} (54%)
 copy tests/data/{test1439 => test3014} (80%)
 copy tests/data/{test193 => test3015} (50%)
 copy tests/data/{test339 => test347} (77%)
 copy tests/data/{test1096 => test348} (53%)
 copy tests/data/{test2078 => test433} (52%)
 copy tests/data/{test1290 => test434} (50%)
 create mode 100644 tests/data/test493
 delete mode 100644 tests/data/test530
 delete mode 100644 tests/data/test584
 create mode 100644 tests/libtest/lib1911.c
 create mode 100644 tests/libtest/lib1912.c
 copy tests/libtest/{lib1908.c => lib1913.c} (81%)
 create mode 100644 tests/libtest/lib1915.c
 delete mode 100755 tests/objnames-test08.sh
 delete mode 100755 tests/objnames-test10.sh
 delete mode 100644 tests/objnames.inc
 rename tests/unit/{README => README.md} (60%)
 create mode 100644 tests/unit/unit1660.c
 rename tests/{curl_test_data.py.in => util.py} (64%)
 create mode 100644 winbuild/README.md

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 82a590eb6..3e474cfe2 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -73,7 +73,7 @@ stages:
         torture:
           name: torture
           install: libnghttp2-dev
-          configure: --enable-debug --disable-shared 
--disable-threaded-resolver --enable-alt-svc
+          configure: --enable-debug --disable-shared 
--disable-threaded-resolver
           tests: -n -t --shallow=40 !FTP
     steps:
     - script: sudo apt-get update && sudo apt-get install -y stunnel4 
python-impacket libzstd-dev libbrotli-dev $(install)
@@ -83,7 +83,7 @@ stages:
       displayName: 'configure $(name)'
 
     - script: make
-      displayName: 'make'
+      displayName: 'make && cd tests && make'
 
     - script: make test-nonflaky
       displayName: 'test'
@@ -117,15 +117,15 @@ stages:
           container_img: mback2k/curl-docker-winbuildenv-msys2-mingw32:ltsc2019
           container_cmd: C:\msys64\usr\bin\sh
           prepare: pacman -S --needed --noconfirm --noprogressbar 
libssh2-devel mingw-w64-i686-libssh2
-          configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 
--prefix=/mingw32 --enable-debug --enable-werror --enable-mqtt --with-libssh2
-          tests: ~612 ~1056 ~1299 !SCP
+          configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 
--prefix=/mingw32 --enable-debug --enable-werror --with-libssh2
+          tests: ~571 ~612 ~1056 ~1299 !SCP
         msys2_mingw64_debug_openssl:
           name: 64-bit OpenSSL and MQTT
           container_img: mback2k/curl-docker-winbuildenv-msys2-mingw64:ltsc2019
           container_cmd: C:\msys64\usr\bin\sh
           prepare: pacman -S --needed --noconfirm --noprogressbar 
libssh2-devel mingw-w64-x86_64-libssh2
-          configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 
--prefix=/mingw64 --enable-debug --enable-werror --enable-mqtt --with-libssh2
-          tests: ~612 ~1056 ~1299 !SCP
+          configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 
--prefix=/mingw64 --enable-debug --enable-werror --with-libssh2
+          tests: ~571 ~612 ~1056 ~1299 !SCP
         msys1_mingw_debug_openssl:
           name: 32-bit OpenSSL (legacy)
           container_img: mback2k/curl-docker-winbuildenv-msys1-mingw:ltsc2019
@@ -150,32 +150,32 @@ stages:
           container_cmd: C:\msys64\usr\bin\sh
           prepare: pacman -S --needed --noconfirm --noprogressbar 
libssh2-devel mingw-w64-i686-libssh2
           configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 
--prefix=/mingw32 --enable-debug --enable-werror --enable-sspi --without-ssl 
--with-schannel --with-winidn --with-libssh2
-          tests: ~165 ~310 ~612 ~1013 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 
~2046 ~2047 ~3000 ~3001 !SCP
+          tests: ~165 ~310 ~571 ~612 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 ~2046 
~2047 ~3000 ~3001 !SCP
         msys2_mingw64_debug_schannel:
           name: 64-bit Schannel/SSPI/WinIDN
           container_img: mback2k/curl-docker-winbuildenv-msys2-mingw64:ltsc2019
           container_cmd: C:\msys64\usr\bin\sh
           prepare: pacman -S --needed --noconfirm --noprogressbar 
libssh2-devel mingw-w64-x86_64-libssh2
           configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 
--prefix=/mingw64 --enable-debug --enable-werror --enable-sspi --without-ssl 
--with-schannel --with-winidn --with-libssh2
-          tests: ~165 ~310 ~612 ~1013 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 
~2046 ~2047 ~3000 ~3001 !SCP
+          tests: ~165 ~310 ~571 ~612 ~1056 ~1299 ~1448 ~2034 ~2037 ~2041 ~2046 
~2047 ~3000 ~3001 !SCP
         msys1_mingw_debug_schannel:
           name: 32-bit Schannel/SSPI/WinIDN (legacy)
           container_img: mback2k/curl-docker-winbuildenv-msys1-mingw:ltsc2019
           container_cmd: C:\MinGW\msys\1.0\bin\sh
           configure: --host=i686-pc-mingw32 --build=i686-pc-mingw32 
--prefix=/mingw --enable-debug --enable-sspi --without-ssl --with-schannel 
--with-winidn
-          tests: ~203 ~305 ~310 ~311 ~312 ~313 ~404 ~1013 ~1056 ~1143 ~2034 
~2035 ~2037 ~2038 ~2041 ~2042 ~2048 ~3000 ~3001
+          tests: ~203 ~305 ~310 ~311 ~312 ~313 ~404 ~1056 ~1143 ~2034 ~2035 
~2037 ~2038 ~2041 ~2042 ~2048 ~3000 ~3001
         msys1_mingw32_debug_schannel:
           name: 32-bit Schannel/SSPI/WinIDN w/o zlib
           container_img: mback2k/curl-docker-winbuildenv-msys1-mingw32:ltsc2019
           container_cmd: C:\MinGW\msys\1.0\bin\sh
           configure: --host=i686-w64-mingw32 --build=i686-w64-mingw32 
--prefix=/mingw32 --enable-debug --enable-werror --enable-sspi --without-ssl 
--with-schannel --with-winidn --without-zlib
-          tests: ~203 ~310 ~1013 ~1056 ~1143 ~1299 ~2034 ~2037 ~2041 ~3000 
~3001
+          tests: ~203 ~310 ~1056 ~1143 ~1299 ~2034 ~2037 ~2041 ~3000 ~3001
         msys1_mingw64_debug_schannel:
           name: 64-bit Schannel/SSPI/WinIDN w/o zlib
           container_img: mback2k/curl-docker-winbuildenv-msys1-mingw64:ltsc2019
           container_cmd: C:\MinGW\msys\1.0\bin\sh
           configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 
--prefix=/mingw64  --enable-debug --enable-werror --enable-sspi --without-ssl 
--with-schannel --with-winidn --without-zlib
-          tests: ~203 ~310 ~1013 ~1056 ~1143 ~1299 ~2034 ~2037 ~2041 ~3000 
~3001
+          tests: ~203 ~310 ~1056 ~1143 ~1299 ~2034 ~2037 ~2041 ~3000 ~3001
     container:
       image: $(container_img)
       env:
@@ -188,11 +188,14 @@ stages:
     - script: $(container_cmd) -l -c "cd $(echo '%cd%') && ./buildconf && 
./configure $(configure)"
       displayName: 'configure $(name)'
 
-    - script: $(container_cmd) -l -c "cd $(echo '%cd%') && make"
+    - script: $(container_cmd) -l -c "cd $(echo '%cd%') && make && cd tests && 
make"
       displayName: 'make'
 
+    - script: $(container_cmd) -l -c "cd $(echo '%cd%') && make install && 
PATH=/usr/bin:/bin find . -type f -path '*/.libs/*.exe' -print -execdir mv -t 
.. {} \;"
+      displayName: 'install'
+
     - script: $(container_cmd) -l -c "cd $(echo '%cd%') && make test-nonflaky"
       displayName: 'test'
       env:
         AZURE_ACCESS_TOKEN: "$(System.AccessToken)"
-        TFLAGS: "-r $(tests)"
+        TFLAGS: "-vc /usr/bin/curl.exe -r $(tests)"
diff --git a/.cirrus.yml b/.cirrus.yml
index a1cd12a5a..a88ed7bd1 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -28,6 +28,7 @@ task:
     matrix:
       # A stable 13.0 image likely won't be available before early 2021
       # image_family: freebsd-13-0-snap
+      image_family: freebsd-12-2
       image_family: freebsd-12-1
       image_family: freebsd-11-4
 
@@ -63,15 +64,8 @@ task:
     # Some tests won't run if run as root so run them as another user.
     # Make directories world writable so the test step can write wherever it 
needs.
     - find . -type d -exec chmod 777 {} \;
-    # TODO: A number of tests are failing on different FreeBSD versions and so
-    # are disabled.  This should be investigated.
-    - SKIP_TESTS=''
-    - uname -r
-    - case `uname -r` in
-        13.0*) SKIP_TESTS='!SFTP !SCP';;
-        12.1*) SKIP_TESTS='!SFTP !SCP';;
-        11.*) SKIP_TESTS='!SFTP !SCP';;
-      esac
-    - sudo -u nobody make V=1 TFLAGS="-n -a -p !flaky ${SKIP_TESTS}" 
test-nonflaky
+    # The OpenSSH server instance for the testsuite cannot be started on 
FreeBSD,
+    # therefore the SFTP and SCP tests are disabled right away from the 
beginning.
+    - sudo -u nobody make V=1 TFLAGS="-n -a -p !flaky !SFTP !SCP" test-nonflaky
   install_script:
     - make V=1 install
diff --git a/.dir-locals.el b/.dir-locals.el
index 7c209357d..06dc613f2 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -9,7 +9,7 @@
 ;;;
 ;;; This software is licensed as described in the file COPYING, which
 ;;; you should have received as part of this distribution. The terms
-;;; are also available at https://curl.haxx.se/docs/copyright.html.
+;;; are also available at https://curl.se/docs/copyright.html.
 ;;;
 ;;; You may opt to use, copy, modify, merge, publish, distribute and/or sell
 ;;; copies of the Software, and permit persons to whom the Software is
diff --git a/.github/ISSUE_TEMPLATE/config.yml 
b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 000000000..b16554c6e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,11 @@
+blank_issues_enabled: false
+contact_links:
+  - name: Feature request
+    url: https://curl.se/mail/
+    about: To propose new features or enhancements, please bring that 
discussion to a suitable curl mailing list.
+  - name: Question
+    url: https://curl.se/mail/
+    about: Questions should go to the mailing list
+  - name: Commercial support
+    url: https://curl.se/support.html
+    about: Several companies are offering paid support for curl/libcurl
diff --git a/.lgtm.yml b/.lgtm.yml
index 4063cd3a7..c97528684 100644
--- a/.lgtm.yml
+++ b/.lgtm.yml
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/.mailmap b/.mailmap
index 15024a240..367dc9c6e 100644
--- a/.mailmap
+++ b/.mailmap
@@ -5,8 +5,8 @@ Alessandro Ghedini <alessandro@ghedini.me> 
<alessandro@cloudflare.com>
 Alessandro Ghedini <alessandro@ghedini.me> <al3xbio@gmail.com>
 Björn Stenberg <bjorn@haxx.se>
 Björn Stenberg <bjorn@haxx.se> <bjst@bjorn>
-Viktor Szakats <commit@vszakats.net>
-Viktor Szakats <commit@vszakats.net> <vszakats@users.noreply.github.com>
+Viktor Szakats <commit@vsz.me> <commit@vszakats.net>
+Viktor Szakats <commit@vsz.me> <vszakats@users.noreply.github.com>
 Daniel Gustafsson <daniel@yesql.se> <dgustafsson@pivotal.io>
 Daniel Gustafsson <daniel@yesql.se> <daniel@hobbit.se>
 Linus Nielsen <linus@haxx.se>
@@ -72,3 +72,9 @@ Douglas Steinwand <dzs-curl@dzs.fx.org>
 James Fuller <jim@webcomposite.com>
 Don J Olmstead <don.j.olmstead@gmail.com>
 Nicolas Sterchele <sterchelen@gmail.com>
+Sergey Raevskiy <ccik@inbox.ru>
+SecuritySense on github <si@securitysense.co.uk>
+Mipsters on github <tomaviv57@gmail.com>
+Pavel Novikov <paul.skeptic@yandex.ru>
+apique13 on github <apique@PC42.isdom.isoft.fr>
+Daniel Hwang <danielleehwang@gmail.com>
diff --git a/.travis.yml b/.travis.yml
index db47499fc..9ce8ee441 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -27,231 +27,98 @@ env:
   - LD_LIBRARY_PATH=/usr/local/lib
 
 addons:
-    apt:
-        config:
-            retries: true
-        sources: &common_sources
-            - ubuntu-toolchain-r-test
-        packages: &common_packages
-            - cmake
-            - gcc-8
-            - valgrind
-            - libev-dev
-            - libc-ares-dev
-            - g++-8
-            - libstdc++-8-dev
-            - stunnel4
-            - libidn2-0-dev
-            - gnutls-bin
-            - libgnutls28-dev
-            - python-impacket
-            - pax
-            - ncompress
+  apt: &common_apt
+    config:
+      retries: true
+    packages: &common_packages
+    - cmake
+    - valgrind
+    - libev-dev
+    - libc-ares-dev
+    - g++-8
+    - libstdc++-8-dev
+    - stunnel4
+    - libidn2-dev
+    - gnutls-bin
+    - libgnutls28-dev
+    - python-impacket
+    - ninja-build
+    - pax
+    - ncompress
 
-matrix:
-    include:
-        - os: linux
-          compiler: gcc
-          dist: trusty
-          env:
-              - T=normal C="" CHECKSRC=1
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-        - os: linux
-          compiler: gcc
-          dist: trusty
-          env:
-              - T=normal C="--enable-mqtt"
-        - os: linux
-          compiler: gcc
-          dist: bionic
-          env:
-              - T=normal C="--disable-verbose" CPPFLAGS="-Wno-variadic-macros" 
NOTESTS=1
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-        - os: linux
-          compiler: gcc
-          dist: bionic
-          before_install:
-              # Install and use the current stable release of Go
-              - gimme --list
-              - eval "$(gimme stable)"
-              - gimme --list
-          env:
-              - T=novalgrind C=""
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-          addons:
-              apt:
-                  sources:
-                      - ppa:longsleep/golang-backports
-                      - *common_sources
-                  packages:
-                      - *common_packages
-        - os: linux
-          compiler: gcc
-          dist: xenial
-          env:
-              - T=novalgrind C="--enable-alt-svc" NOTESTS=
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-        - os: linux
-          compiler: clang
-          dist: xenial
-          env:
-              - T=debug
-              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                      - llvm-toolchain-xenial-7
-                  packages:
-                      - *common_packages
-                      - clang-7
-        - os: linux
-          compiler: clang
-          dist: xenial
-          env:
-              - T=debug C="--enable-alt-svc"
-              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                      - llvm-toolchain-xenial-7
-                  packages:
-                      - *common_packages
-                      - clang-7
-        - os: linux
-          compiler: clang
-          dist: bionic
-          env:
-              - T=debug C="--with-gnutls --without-ssl"
-              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                      - llvm-toolchain-bionic-7
-                  packages:
-                      - *common_packages
-                      - clang-7
-        - os: linux
-          compiler: gcc
-          dist: trusty
-          env:
-              - T=iconv
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-        - os: linux
-          compiler: gcc
-          dist: bionic
-          env:
-              - T=cmake
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-        - os: linux
-          compiler: clang
-          dist: bionic
-          env:
-              - T=cmake
-              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                      - llvm-toolchain-bionic-7
-                  packages:
-                      - *common_packages
-                      - clang-7
-        - os: linux
-          compiler: gcc
-          dist: xenial
-          env:
-              - T=torture
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                  packages:
-                      - *common_packages
-                      - lcov
-        - os: linux
-          compiler: gcc
-          dist: bionic
-          env:
-              - T=distcheck
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-        - os: linux
-          compiler: clang
-          dist: bionic
-          env:
-              - T=fuzzer
-              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                      - llvm-toolchain-bionic-7
-                  packages:
-                      - *common_packages
-                      - clang-7
-        - os: linux
-          compiler: clang
-          dist: bionic
-          env:
-              - T=tidy
-              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                      - llvm-toolchain-bionic-7
-                  packages:
-                      - *common_packages
-                      - clang-7
-                      - clang-tidy-7
-        - os: linux
-          compiler: clang
-          dist: bionic
-          env:
-              - T=scan-build
-              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                      - llvm-toolchain-bionic-7
-                  packages:
-                      - *common_packages
-                      - clang-7
-        - os: linux
-          compiler: clang
-          dist: xenial
-          env:
-              - T=debug 
CFLAGS="-fsanitize=address,undefined,signed-integer-overflow 
-fno-sanitize-recover=undefined,integer -Wformat -Werror=format-security 
-Werror=array-bounds -g" LDFLAGS="-fsanitize=address,undefined 
-fno-sanitize-recover=undefined,integer" LIBS="-ldl -lubsan"
-              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                      - llvm-toolchain-xenial-7
-                  packages:
-                      - *common_packages
-                      - clang-7
-        - os: linux
-          arch: arm64
-          compiler: gcc
-          dist: bionic
-          env:
-              - T=debug C="--enable-alt-svc"
-              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
-          addons:
-              apt:
-                  sources:
-                      - *common_sources
-                  packages:
-                      - *common_packages
-                      - libev-dev
-                      - libtool
-                      - pkg-config
-                      - zlib1g-dev
+jobs:
+  include:
+  - env:
+    - T=normal C="" CHECKSRC=1
+    - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
+  - env:
+    - T=normal C="--disable-verbose" CPPFLAGS="-Wno-variadic-macros" NOTESTS=1
+    - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
+  - env:
+    - T=debug
+    - &clang OVERRIDE_CC="CC=clang-9" OVERRIDE_CXX="CXX=clang++-9"
+    compiler: clang
+    addons:
+      apt:
+        <<: *common_apt
+        packages:
+        - &clang_packages [*common_packages, clang-9]
+  - env:
+    - T=debug C="--enable-hsts --disable-alt-svc"
+    - *clang
+    compiler: clang
+    addons:
+      apt:
+        <<: *common_apt
+        packages:
+        - *clang_packages
+  - env:
+    - T=debug C="--with-gnutls --without-ssl"
+    - *clang
+    compiler: clang
+    addons:
+      apt:
+        <<: *common_apt
+        packages:
+        - *clang_packages
+  - env:
+    - T=iconv
+    - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
+  - env:
+    - T=torture
+    - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
+    addons:
+      apt:
+        <<: *common_apt
+        packages:
+        - *common_packages
+        - lcov
+  - env:
+    - T=distcheck
+    - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
+    addons:
+      apt:
+        <<: *common_apt
+        packages:
+        - *common_packages
+  - env:
+    - T=scan-build
+    - *clang
+    compiler: clang
+    addons:
+      apt:
+        <<: *common_apt
+        packages:
+        - *clang_packages
+  - env:
+    - T=debug CFLAGS="-fsanitize=address,undefined,signed-integer-overflow 
-fno-sanitize-recover=undefined,integer -Wformat -Werror=format-security 
-Werror=array-bounds -g" LDFLAGS="-fsanitize=address,undefined 
-fno-sanitize-recover=undefined,integer" LIBS="-ldl -lubsan" TFLAGS=-n
+    - *clang
+    compiler: clang
+    addons:
+      apt:
+        <<: *common_apt
+        packages:
+        - *clang_packages
 
 before_install:
 - export "${OVERRIDE_CC-blank=}"
diff --git a/CHANGES b/CHANGES
index 4d13ef696..3e2cd9947 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,4 @@
-See https://curl.haxx.se/changes.html for the edited and human readable online
+See https://curl.se/changes.html for the edited and human readable online
 version of what has changed over the years in different curl releases.
 
 Generate a CHANGES file like the one present in every release like this:
diff --git a/CMake/CMakeConfigurableFile.in b/CMake/CMakeConfigurableFile.in
index 2bafe2c10..8ccd016a6 100644
--- a/CMake/CMakeConfigurableFile.in
+++ b/CMake/CMakeConfigurableFile.in
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/CurlSymbolHiding.cmake b/CMake/CurlSymbolHiding.cmake
index aaac9fead..e99ea6f64 100644
--- a/CMake/CurlSymbolHiding.cmake
+++ b/CMake/CurlSymbolHiding.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -27,7 +27,7 @@ mark_as_advanced(CURL_HIDDEN_SYMBOLS)
 if(CURL_HIDDEN_SYMBOLS)
   set(SUPPORTS_SYMBOL_HIDING FALSE)
 
-  if(CMAKE_C_COMPILER_ID MATCHES "Clang")
+  if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT MSVC)
     set(SUPPORTS_SYMBOL_HIDING TRUE)
     set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
     set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
diff --git a/CMake/CurlTests.c b/CMake/CurlTests.c
index 3ef35f025..949910d5e 100644
--- a/CMake/CurlTests.c
+++ b/CMake/CurlTests.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/FindBearSSL.cmake b/CMake/FindBearSSL.cmake
index a8f72c92d..9455f4ba3 100644
--- a/CMake/FindBearSSL.cmake
+++ b/CMake/FindBearSSL.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/FindGSS.cmake b/CMake/FindGSS.cmake
index 02111a20f..4e4747d6c 100644
--- a/CMake/FindGSS.cmake
+++ b/CMake/FindGSS.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/FindNGHTTP3.cmake b/CMake/FindNGHTTP3.cmake
index 73ce9e188..643b60097 100644
--- a/CMake/FindNGHTTP3.cmake
+++ b/CMake/FindNGHTTP3.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/FindNGTCP2.cmake b/CMake/FindNGTCP2.cmake
index a1ed8cd4b..5757009a5 100644
--- a/CMake/FindNGTCP2.cmake
+++ b/CMake/FindNGTCP2.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/FindNSS.cmake b/CMake/FindNSS.cmake
index 5fdb2b776..899c6b075 100644
--- a/CMake/FindNSS.cmake
+++ b/CMake/FindNSS.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/FindQUICHE.cmake b/CMake/FindQUICHE.cmake
index 01d17582b..0247364d4 100644
--- a/CMake/FindQUICHE.cmake
+++ b/CMake/FindQUICHE.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/FindWolfSSL.cmake b/CMake/FindWolfSSL.cmake
index 54df1a86c..42256b3cd 100644
--- a/CMake/FindWolfSSL.cmake
+++ b/CMake/FindWolfSSL.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/FindZstd.cmake b/CMake/FindZstd.cmake
index 44c741ae8..eaba39746 100644
--- a/CMake/FindZstd.cmake
+++ b/CMake/FindZstd.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/Macros.cmake b/CMake/Macros.cmake
index e11f11155..b9fd33e8d 100644
--- a/CMake/Macros.cmake
+++ b/CMake/Macros.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -107,3 +107,14 @@ macro(curl_nroff_check)
     message(WARNING "Found no *nroff program")
   endif()
 endmacro()
+
+macro(optional_dependency DEPENDENCY)
+  set(CURL_${DEPENDENCY} AUTO CACHE STRING "Build curl with ${DEPENDENCY} 
support (AUTO, ON or OFF)")
+  set_property(CACHE CURL_${DEPENDENCY} PROPERTY STRINGS AUTO ON OFF)
+
+  if(CURL_${DEPENDENCY} STREQUAL AUTO)
+    find_package(${DEPENDENCY})
+  elseif(CURL_${DEPENDENCY})
+    find_package(${DEPENDENCY} REQUIRED)
+  endif()
+endmacro()
diff --git a/CMake/OtherTests.cmake b/CMake/OtherTests.cmake
index 7cec6da6d..80c0b7275 100644
--- a/CMake/OtherTests.cmake
+++ b/CMake/OtherTests.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/Platforms/WindowsCache.cmake 
b/CMake/Platforms/WindowsCache.cmake
index 9ae9b56f0..12cec52dc 100644
--- a/CMake/Platforms/WindowsCache.cmake
+++ b/CMake/Platforms/WindowsCache.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/Utilities.cmake b/CMake/Utilities.cmake
index 59b17d074..8f9b861ba 100644
--- a/CMake/Utilities.cmake
+++ b/CMake/Utilities.cmake
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/cmake_uninstall.cmake.in b/CMake/cmake_uninstall.cmake.in
index 4a0de5e6b..e96c1432a 100644
--- a/CMake/cmake_uninstall.cmake.in
+++ b/CMake/cmake_uninstall.cmake.in
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMake/gnurl-config.cmake.in b/CMake/gnurl-config.cmake.in
index 240c3a96e..aa58ed3b9 100644
--- a/CMake/gnurl-config.cmake.in
+++ b/CMake/gnurl-config.cmake.in
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 687929a79..8696fee5a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -49,7 +49,8 @@ project(GNURL C)
 
 message(WARNING "the curl cmake build system is poorly maintained. Be aware")
 
-file(STRINGS $GNURL_SOURCE_DIR}/include/gnurl/curlver.h 
CURL_VERSION_H_CONTENTS REGEX "#define LIBCURL_VERSION( |_NUM )")
+file(STRINGS ${GNURL_SOURCE_DIR}/include/gnurl/curlver.h 
CURL_VERSION_H_CONTENTS REGEX "#define LIBCURL_VERSION( |_NUM )")
+
 string(REGEX MATCH "#define LIBCURL_VERSION \"[^\"]*"
   CURL_VERSION ${CURL_VERSION_H_CONTENTS})
 string(REGEX REPLACE "[^\"]+\"" "" CURL_VERSION ${CURL_VERSION})
@@ -65,7 +66,7 @@ message(STATUS "gnurl version=[${CURL_VERSION}]")
 # SET(PACKAGE_NAME "curl")
 # SET(PACKAGE_VERSION "-")
 # SET(PACKAGE_STRING "curl-")
-# SET(PACKAGE_BUGREPORT "a suitable curl mailing list => 
https://curl.haxx.se/mail/";)
+# SET(PACKAGE_BUGREPORT "a suitable curl mailing list => 
https://curl.se/mail/";)
 set(OPERATING_SYSTEM "${CMAKE_SYSTEM_NAME}")
 set(OS "\"${CMAKE_SYSTEM_NAME}\"")
 
@@ -79,6 +80,7 @@ option(ENABLE_ARES "Set to ON to enable c-ares support" OFF)
 if(WIN32)
   option(CURL_STATIC_CRT "Set to ON to build libcurl with static CRT on 
Windows (/MT)." OFF)
   option(ENABLE_INET_PTON "Set to OFF to prevent usage of inet_pton when 
building against modern SDKs while still requiring compatibility with older 
Windows versions, such as Windows XP, Windows Server 2003 etc." ON)
+  option(ENABLE_UNICODE "Set to ON to use the Unicode version of the Windows 
API functions" OFF)
   set(CURL_TARGET_WINDOWS_VERSION "" CACHE STRING "Minimum target Windows 
version as hex string")
   if(CURL_TARGET_WINDOWS_VERSION)
     add_definitions(-D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION})
@@ -92,6 +94,12 @@ if(WIN32)
     add_definitions(-D_WIN32_WINNT=0x0501)
     set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} 
-D_WIN32_WINNT=0x0501")
   endif()
+  if(ENABLE_UNICODE)
+    add_definitions(-DUNICODE -D_UNICODE)
+    if(MINGW)
+      add_compile_options(-municode)
+    endif()
+  endif()
 endif()
 option(CURL_LTO "Turn on compiler Link Time Optimizations" OFF)
 
@@ -195,28 +203,30 @@ mark_as_advanced(CURL_DISABLE_SMTP)
 
 option(CURL_DISABLE_GOPHER "to disable Gopher" ON)
 mark_as_advanced(CURL_DISABLE_GOPHER)
-option(CURL_ENABLE_MQTT "to enable MQTT" OFF)
-mark_as_advanced(CURL_ENABLE_MQTT)
+option(CURL_DISABLE_MQTT "to disable MQTT" OFF)
+mark_as_advanced(CURL_DISABLE_MQTT)
 
 if(HTTP_ONLY)
+  set(CURL_DISABLE_DICT ON)
+  set(CURL_DISABLE_FILE ON)
   set(CURL_DISABLE_FTP ON)
+  set(CURL_DISABLE_GOPHER ON)
+  set(CURL_DISABLE_IMAP ON)
   set(CURL_DISABLE_LDAP ON)
   set(CURL_DISABLE_LDAPS ON)
-  set(CURL_DISABLE_TELNET ON)
-  set(CURL_DISABLE_DICT ON)
-  set(CURL_DISABLE_FILE ON)
-  set(CURL_DISABLE_TFTP ON)
-  set(CURL_DISABLE_RTSP ON)
+  set(CURL_DISABLE_MQTT ON)
   set(CURL_DISABLE_POP3 ON)
-  set(CURL_DISABLE_IMAP ON)
+  set(CURL_DISABLE_RTSP ON)
   set(CURL_DISABLE_SMB ON)
   set(CURL_DISABLE_SMTP ON)
-  set(CURL_DISABLE_GOPHER ON)
+  set(CURL_DISABLE_TELNET ON)
+  set(CURL_DISABLE_TFTP ON)
 endif()
 
+option(CURL_DISABLE_ALTSVC "to disable alt-svc support" OFF)
+mark_as_advanced(CURL_DISABLE_ALTSVC)
 option(CURL_DISABLE_COOKIES "to disable cookies support" OFF)
 mark_as_advanced(CURL_DISABLE_COOKIES)
-
 option(CURL_DISABLE_CRYPTO_AUTH "to disable cryptographic authentication" OFF)
 mark_as_advanced(CURL_DISABLE_CRYPTO_AUTH)
 
@@ -259,10 +269,6 @@ if(ENABLE_MANUAL)
   set(USE_MANUAL ON)
 endif()
 
-# We need ansi c-flags, especially on HP
-set(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
-set(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS})
-
 if(CURL_STATIC_CRT)
   set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
   set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
@@ -667,28 +673,25 @@ check_library_exists_concat("idn2" idn2_lookup_ul 
HAVE_LIBIDN2)
 # Check for symbol dlopen (same as HAVE_LIBDL)
 check_library_exists("${GNURL_LIBS}" dlopen "" HAVE_DLOPEN)
 
-option(CURL_ZLIB "Set to ON to enable building curl with zlib support." ON)
 set(HAVE_LIBZ OFF)
 set(HAVE_ZLIB_H OFF)
 set(USE_ZLIB OFF)
-if(CURL_ZLIB)
-  find_package(ZLIB QUIET)
-  if(ZLIB_FOUND)
-    set(HAVE_ZLIB_H ON)
-    set(HAVE_LIBZ ON)
-    set(USE_ZLIB ON)
-
-    # Depend on ZLIB via imported targets if supported by the running
-    # version of CMake.  This allows our dependents to get our dependencies
-    # transitively.
-    if(NOT CMAKE_VERSION VERSION_LESS 3.4)
-      list(APPEND GNURL_LIBS ZLIB::ZLIB)
-    else()
-      list(APPEND GNURL_LIBS ${ZLIB_LIBRARIES})
-      include_directories(${ZLIB_INCLUDE_DIRS})
-    endif()
-    list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS})
+optional_dependency(ZLIB)
+if(ZLIB_FOUND)
+  set(HAVE_ZLIB_H ON)
+  set(HAVE_LIBZ ON)
+  set(USE_ZLIB ON)
+
+  # Depend on ZLIB via imported targets if supported by the running
+  # version of CMake.  This allows our dependents to get our dependencies
+  # transitively.
+  if(NOT CMAKE_VERSION VERSION_LESS 3.4)
+    list(APPEND GNURL_LIBS ZLIB::ZLIB)
+  else()
+    list(APPEND GNURL_LIBS ${ZLIB_LIBRARIES})
+    include_directories(${ZLIB_INCLUDE_DIRS})
   endif()
+  list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS})
 endif()
 
 option(CURL_BROTLI "Set to ON to enable building curl with brotli support." 
OFF)
@@ -770,8 +773,8 @@ if(CMAKE_USE_GSSAPI)
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GSS_COMPILER_FLAGS}")
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} 
${GSS_LINKER_FLAGS}")
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GSS_LINKER_FLAGS}")
+    set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} 
${GSS_LINKER_FLAGS}")
     list(APPEND GNURL_LIBS ${GSS_LIBRARIES})
-
   else()
     message(WARNING "GSSAPI support has been requested but no supporting 
libraries found. Skipping.")
   endif()
@@ -785,8 +788,6 @@ else()
   unset(USE_UNIX_SOCKETS CACHE)
 endif()
 
-option(ENABLE_ALT_SVC "Enable alt-svc support" OFF)
-set(USE_ALTSVC ${ENABLE_ALT_SVC})
 
 #
 # CA handling
@@ -907,6 +908,7 @@ check_include_file_concat("net/if.h"         HAVE_NET_IF_H)
 check_include_file_concat("netdb.h"          HAVE_NETDB_H)
 check_include_file_concat("netinet/in.h"     HAVE_NETINET_IN_H)
 check_include_file_concat("netinet/tcp.h"    HAVE_NETINET_TCP_H)
+check_include_file("linux/tcp.h"      HAVE_LINUX_TCP_H)
 
 check_include_file_concat("pem.h"            HAVE_PEM_H)
 check_include_file_concat("poll.h"           HAVE_POLL_H)
@@ -1320,16 +1322,16 @@ if(BUILD_GNURL_EXE)
   add_subdirectory(src)
 endif()
 
-option(BUILD_TESTING "Build tests" "${PERL_FOUND}")
-if(NOT PERL_FOUND)
-  message(STATUS "Perl not found, testing disabled.")
-elseif(BUILD_TESTING)
+cmake_dependent_option(BUILD_TESTING "Build tests"
+  ON "PERL_FOUND;NOT CURL_DISABLE_TESTS"
+  OFF)
+if(BUILD_TESTING)
   add_subdirectory(tests)
 endif()
 
 # NTLM support requires crypto function adaptions from various SSL libs
 # TODO alternative SSL libs tests for SSP1, GNUTLS, NSS
-if(NOT CURL_DISABLE_CRYPTO_AUTH AND (USE_OPENSSL OR USE_WINDOWS_SSPI OR 
USE_DARWINSSL OR USE_MBEDTLS OR USE_WIN32_CRYPTO))
+if(NOT CURL_DISABLE_CRYPTO_AUTH AND (USE_OPENSSL OR USE_DARWINSSL OR 
USE_MBEDTLS OR USE_WIN32_CRYPTO))
   set(use_ntlm ON)
 else()
   set(use_ntlm OFF)
@@ -1348,7 +1350,7 @@ endmacro()
 set(_items)
 _add_if("SSL"           SSL_ENABLED)
 _add_if("IPv6"          ENABLE_IPV6)
-_add_if("unix-sockets"  USE_UNIX_SOCKETS)
+_add_if("unixsockets"   USE_UNIX_SOCKETS)
 _add_if("libz"          HAVE_LIBZ)
 _add_if("brotli"        HAVE_BROTLI)
 _add_if("zstd"          HAVE_ZSTD)
@@ -1359,7 +1361,7 @@ _add_if("Largefile"     (CURL_SIZEOF_CURL_OFF_T GREATER 
4) AND
 # TODO SSP1 (Schannel) check is missing
 _add_if("SSPI"          USE_WINDOWS_SSPI)
 _add_if("GSS-API"       HAVE_GSSAPI)
-_add_if("alt-svc"       ENABLE_ALT_SVC)
+_add_if("alt-svc"       NOT CURL_DISABLE_ALTSVC)
 # TODO SSP1 missing for SPNEGO
 _add_if("SPNEGO"        NOT CURL_DISABLE_CRYPTO_AUTH AND
                         (HAVE_GSSAPI OR USE_WINDOWS_SSPI))
@@ -1367,14 +1369,7 @@ _add_if("Kerberos"      NOT CURL_DISABLE_CRYPTO_AUTH AND
                         (HAVE_GSSAPI OR USE_WINDOWS_SSPI))
 # NTLM support requires crypto function adaptions from various SSL libs
 # TODO alternative SSL libs tests for SSP1, GNUTLS, NSS
-
-#if(NOT CURL_DISABLE_CRYPTO_AUTH AND (USE_OPENSSL OR USE_WINDOWS_SSPI OR 
USE_SECTRANSP OR USE_MBEDTLS OR USE_NSS OR USE_GNUTLS))
-#  _add_if("NTLM"        1)
-#  # TODO missing option (autoconf: --enable-ntlm-wb)
-#  _add_if("NTLM_WB"     NOT CURL_DISABLE_HTTP AND NTLM_WB_ENABLED)
-#endif()
-
-_add_if("NTLM"        use_ntlm)
+_add_if("NTLM"        use_ntlm OR USE_WINDOWS_SSPI)
 # TODO missing option (autoconf: --enable-ntlm-wb)
 _add_if("NTLM_WB"     use_ntlm AND NOT CURL_DISABLE_HTTP AND NTLM_WB_ENABLED)
 # TODO missing option (--enable-tls-srp), depends on GNUTLS_SRP/OPENSSL_SRP
@@ -1384,6 +1379,7 @@ _add_if("HTTP2"         USE_NGHTTP2)
 _add_if("HTTP3"         USE_NGTCP2 OR USE_QUICHE)
 _add_if("MultiSSL"      CURL_WITH_MULTI_SSL)
 _add_if("HTTPS-proxy"   SSL_ENABLED AND (USE_OPENSSL OR USE_GNUTLS OR USE_NSS))
+_add_if("unicode"       ENABLE_UNICODE)
 string(REPLACE ";" " " SUPPORT_FEATURES "${_items}")
 message(STATUS "Enabled features: ${SUPPORT_FEATURES}")
 
@@ -1416,7 +1412,7 @@ _add_if("SCP"           USE_LIBSSH2 OR USE_LIBSSH)
 _add_if("SFTP"          USE_LIBSSH2 OR USE_LIBSSH)
 _add_if("RTSP"          NOT CURL_DISABLE_RTSP)
 _add_if("RTMP"          USE_LIBRTMP)
-_add_if("MQTT"          CURL_ENABLE_MQTT)
+_add_if("MQTT"          NOT CURL_DISABLE_MQTT)
 if(_items)
   list(SORT _items)
 endif()
diff --git a/MacOSX-Framework b/MacOSX-Framework
index c182fef1f..18e24d658 100755
--- a/MacOSX-Framework
+++ b/MacOSX-Framework
@@ -10,7 +10,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/Makefile.am b/Makefile.am
index 75d9ce110..5c4815b2b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -202,6 +202,7 @@ checksrc:
        (cd tests && $(MAKE) checksrc)
        (cd include/gnurl && $(MAKE) checksrc)
        (cd docs/examples && $(MAKE) checksrc)
+       (cd packages && $(MAKE) checksrc)
 
 tidy:
        (cd src && $(MAKE) tidy)
diff --git a/Makefile.dist b/Makefile.dist
index a6316ab5f..69217a9eb 100644
--- a/Makefile.dist
+++ b/Makefile.dist
@@ -5,11 +5,11 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -28,18 +28,6 @@ ssl:
        ./configure --with-ssl
        make
 
-watcom: .SYMBOLIC
-       cd lib && $(MAKE) -u -f Makefile.Watcom
-       cd src && $(MAKE) -u -f Makefile.Watcom
-
-watcom-clean: .SYMBOLIC
-       cd lib && $(MAKE) -u -f Makefile.Watcom clean
-       cd src && $(MAKE) -u -f Makefile.Watcom clean
-
-watcom-vclean: .SYMBOLIC
-       cd lib && $(MAKE) -u -f Makefile.Watcom vclean
-       cd src && $(MAKE) -u -f Makefile.Watcom vclean
-
 mingw32:
        $(MAKE) -C lib -f Makefile.m32
        $(MAKE) -C src -f Makefile.m32
diff --git a/README b/README
index db9f6a10c..022e10e55 100644
--- a/README
+++ b/README
@@ -204,16 +204,14 @@ README
 
   You find answers to the most frequent questions we get in the FAQ document.
 
-  Study the COPYING file for distribution terms and similar. If you distribute
-  curl binaries or other binaries that involve libcurl, you might enjoy the
-  LICENSE-MIXING document.
+  Study the COPYING file for distribution terms.
 
-  All of those documents and more can be found in the docs/ directory.
+  Those documents and more can be found in the docs/ directory.
 
 CONTACT
 
   If you have problems, questions, ideas or suggestions, please contact us
-  by posting to a suitable mailing list. See https://curl.haxx.se/mail/
+  by posting to a suitable mailing list. See https://curl.se/mail/
 
   All contributors to the project are listed in the THANKS document.
 
@@ -221,7 +219,7 @@ WEBSITE
 
   Visit the curl website for the latest news and downloads:
 
-        https://curl.haxx.se/
+        https://curl.se/
 
 GIT
 
diff --git a/README.md b/README.md
index 363fd4929..1479aa36d 100644
--- a/README.md
+++ b/README.md
@@ -3,35 +3,35 @@ gnurl
 
 [![Travis-CI Build 
Status](https://travis-ci.org/teknokatze/gnurl.svg?branch=master)](https://travis-ci.org/teknokatze/gnurl)
 [![Cirrus Build 
Status](https://api.cirrus-ci.com/github/teknokatze/gnurl.svg?branch=master)](https://cirrus-ci.com/github/teknokatze/gnurl)
+![curl logo](https://curl.se/logo/curl-logo.svg)
 
 Curl is a command-line tool for transferring data specified with URL
 syntax. Find out how to use curl by reading [the curl.1 man
-page](https://curl.haxx.se/docs/manpage.html) or [the MANUAL
-document](https://curl.haxx.se/docs/manual.html). Find out how to install Curl
-by reading [the INSTALL document](https://curl.haxx.se/docs/install.html).
+page](https://curl.se/docs/manpage.html) or [the MANUAL
+document](https://curl.se/docs/manual.html). Find out how to install Curl
+by reading [the INSTALL document](https://curl.se/docs/install.html).
 
 libcurl is the library curl is using to do its job. It is readily available to
 be used by your software. Read [the libcurl.3 man
-page](https://curl.haxx.se/libcurl/c/libcurl.html) to learn how!
+page](https://curl.se/libcurl/c/libcurl.html) to learn how!
 
-You can find answers to the most frequent questions for curl in [the FAQ 
document](https://curl.haxx.se/docs/faq.html).
+You can find answers to the most frequent questions for curl in [the FAQ
+document](https://curl.se/docs/faq.html).
 
-Study [the COPYING file](https://curl.haxx.se/docs/copyright.html) for
-distribution terms and similar. If you distribute curl binaries or other
-binaries that involve libcurl, you might enjoy [the LICENSE-MIXING
-document](https://curl.haxx.se/legal/licmix.html).
+Study [the COPYING file](https://curl.se/docs/copyright.html) for
+distribution terms.
 
 ## Contact
 
-For curl, if you have problems, questions, ideas or suggestions, please 
contact us by posting to a suitable [mailing list](https://curl.haxx.se/mail/).
+For curl, if you have problems, questions, ideas or suggestions, please 
contact us by posting to a suitable [mailing list](https://curl.se/mail/).
 For gnurl, if you have problems, questions, ideas or suggestions, please 
contact us by posting to a suitable [mailing 
list](https://gnunet.org/en/engage.html) or bug tracker.
 
-All curl contributors to the project are listed in [the THANKS 
document](https://curl.haxx.se/docs/thanks.html).
+All curl contributors to the project are listed in [the THANKS 
document](https://curl.se/docs/thanks.html).
 
 ## Website
 
 Visit the [gnurl web site](https://gnunet.org/en/gnurl.html/) for the latest 
news and downloads.
-For curl specific information, visit the [curl web 
site](https://curl.haxx.se/).
+For curl specific information, visit the [curl web site](https://curl.se/).
 
 ## Git
 
@@ -44,7 +44,7 @@ To download the very latest source from the Git server do 
this:
 ## Security problems
 
 gnurl is a fork of curl. Any security problems should first be tested with 
curl.
-In the unlikely case that you suspect a gnurl specific security problem, 
report it to the author of this software (ng0, gnunet.org).
+In the unlikely case that you suspect a gnurl specific security problem, 
report it to the author of this fork software (Nikita, gnunet).
 
 ## Notice
 
@@ -54,8 +54,7 @@ included here to comply with the distribution terms.
 
 ## Backers
 
-In the unlikely case anyone wants to sponsor my work, which primarily covers 
NetBSD and GNUnet now, [[click here](https://www.patreon.com/ng0)].
-The continued work on this (micro)fork of curl is financed for by [[Taler 
SA](https://taler.net)].
+In the unlikely case anyone wants to sponsor my work, which primarily covers 
NetBSD and GNUnet now, [[click here](https://www.patreon.com/teknokatze)].
 
 ## Curl - Please support the development of curl, section below from 
[curl/curl](https://github.com/curl/curl)
 
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 363c7c947..a96762961 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,242 +1,248 @@
-curl and libcurl 7.72.0
+curl and libcurl 7.74.0
 
- Public curl releases:         194
- Command line options:         232
- curl_easy_setopt() options:   277
- Public functions in libcurl:  82
- Contributors:                 2239
+ Public curl releases:         196
+ Command line options:         235
+ curl_easy_setopt() options:   284
+ Public functions in libcurl:  85
+ Contributors:                 2287
 
 This release includes the following changes:
 
- o content_encoding: add zstd decoding support [1]
- o CURL_PUSH_ERROROUT: allow the push callback to fail the parent stream [31]
- o CURLINFO_EFFECTIVE_METHOD: added [34]
+ o hsts: add experimental support for Strict-Transport-Security [37]
 
 This release includes the following bugfixes:
 
- o CVE-2020-8231: libcurl: wrong connect-only connection [98]
- o appveyor: collect libcurl.dll variants with prefix or suffix [38]
- o asyn-ares: correct some bad comments [94]
- o bearssl: fix build with disabled proxy support [16]
- o buildconf: avoid array concatenation in die() [64]
- o buildconf: retire ares buildconf invocation
- o checksrc: ban gmtime/localtime [40]
- o checksrc: invoke script with -D to find .checksrc proper [63]
- o CI/azure: install libssh2 for use with msys2-based builds [67]
- o CI/azure: unconditionally enable warnings-as-errors with autotools [19]
- o CI/macos: enable warnings as errors for CMake builds [4]
- o CI/macos: set minimum macOS version [56]
- o CI/macos: unconditionally enable warnings-as-errors with autotools [21]
- o CI: Add muse CI analyzer [79]
- o cirrus-ci: upgrade 11-STABLE to 11.4 [2]
- o CMake: don't complain about missing nroff [87]
- o CMake: fix test for warning suppressions [17]
- o cmake: fix windows xp build [13]
- o configure.ac: Sort features name in summary [6]
- o configure: allow disabling warnings [26]
- o configure: cleanup wolfssl + pkg-config conflicts when cross compiling. [48]
- o configure: show zstd "no" in summary when built without it [49]
- o connect: remove redundant message about connect failure [66]
- o curl-config: ignore REQUIRE_LIB_DEPS in --libs output [96]
- o curl.1: add a few missing valid exit codes [76]
- o curl: add %{method} to the -w variables
- o curl: improve the existing file check with -J [43]
- o curl_multi_setopt: fix compiler warning "result is always false" [42]
- o curl_version_info.3: CURL_VERSION_KERBEROS4 is deprecated [9]
- o CURLINFO_CERTINFO.3: fix typo [3]
- o CURLOPT_NOBODY.3: clarify what setting to 0 means [46]
- o docs: add date of 7.20 to CURLM_CALL_MULTI_PERFORM mentions [18]
- o docs: Add video link to docs/CONTRIBUTE.md [95]
- o docs: change "web site" to "website" [86]
- o docs: clarify MAX_SEND/RECV_SPEED functionality [92]
- o docs: Update a few leftover mentions of DarwinSSL [29]
- o doh: remove redundant cast [20]
- o file2memory: use a define instead of -1 unsigned value [30]
- o ftp: don't do ssl_shutdown instead of ssl_close [85]
- o ftpserver: don't verify SMTP MAIL FROM names [8]
- o getinfo: reset retry-after value in initinfo [51]
- o gnutls: repair the build with `CURL_DISABLE_PROXY` [5]
- o gtls: survive not being able to get name/issuer [73]
- o h2: repair trailer handling [81]
- o http2: close the http2 connection when no more requests may be sent [7]
- o http2: fix nghttp2_strerror -> nghttp2_http2_strerror in debug messages [11]
- o libssh2: s/ssherr/sftperr/ [78]
- o libtest/Makefile.am: add -no-undefined for libstubgss for Cygwin [91]
- o md(4|5): don't use deprecated macOS functions [23]
- o mprintf: Fix dollar string handling [54]
- o mprintf: Fix stack overflows [53]
- o multi: Condition 'extrawait' is always true [60]
- o multi: Remove 10-year old out-commented code [97]
- o multi: remove two checks always true [36]
- o multi: update comment to say easyp list is linear [44]
- o multi_remove_handle: close unused connect-only connections [62]
- o ngtcp2: adapt to error code rename [69]
- o ngtcp2: adjust to recent sockaddr updates [27]
- o ngtcp2: update to modified qlog callback prototype [14]
- o nss: fix build with disabled proxy support [32]
- o ntlm: free target_info before (re-)malloc [55]
- o openssl: fix build with LibreSSL < 2.9.1 [61]
- o page-header: provide protocol details in the curl.1 man page [28]
- o quiche: handle calling disconnect twice [50]
- o runtests.pl: treat LibreSSL and BoringSSL as OpenSSL [59]
- o runtests: move the gnutls-serv tests to a dynamic port [74]
- o runtests: move the smbserver to use a dynamic port number [71]
- o runtests: move the TELNET server to a dynamic port [68]
- o runtests: run the DICT server on a random port number [90]
- o runtests: run the http2 tests on a random port number [72]
- o runtests: support dynamicly base64 encoded sections in tests [75]
- o setopt: unset NOBODY switches to GET if still HEAD [47]
- o smtp_parse_address: handle blank input string properly [89]
- o socks: use size_t for size variable [39]
- o strdup: remove the odd strlen check [24]
- o test1119: verify stdout in the test [33]
- o test1139: make it display the difference on test failures
- o test1140: compare stdout [93]
- o test1908: treat file as text [83]
- o tests/FILEFORMAT.md: mention %HTTP2PORT
- o tests/sshserver.pl: fix compatibility with OpenSSH for Windows
- o TLS naming: fix more Winssl and Darwinssl leftovers [88]
- o tls-max.d: this option is only for TLS-using connections [45]
- o tlsv1.3.d. only for TLS-using connections [37]
- o tool_doswin: Simplify Windows version detection [57]
- o tool_getparam: make --krb option work again [10]
- o TrackMemory tests: ignore realloc and free in getenv.c [84]
- o transfer: fix data_pending for builds with both h2 and h3 enabled [41]
- o transfer: fix memory-leak with CURLOPT_CURLU in a duped handle [15]
- o transfer: move retrycount from connect struct to easy handle [77]
- o travis/script.sh: fix use of `-n' with unquoted envvar [80]
- o travis: add ppc64le and s390x builds [65]
- o travis: update quiche builds for new boringssl layout [25]
- o url: fix CURLU and location following [70]
- o url: silence MSVC warning [12]
- o util: silence conversion warnings [22]
- o win32: Add Curl_verify_windows_version() to curlx [58]
- o WIN32: stop forcing narrow-character API [52]
- o windows: add unicode to feature list [35]
- o windows: disable Unix Sockets for old mingw [82]
+ o CVE-2020-8286: Inferior OCSP verification [93]
+ o CVE-2020-8285: FTP wildcard stack overflow [95]
+ o CVE-2020-8284: trusting FTP PASV responses [97]
+ o acinclude: detect manually set minimum macos/ipod version [46]
+ o alt-svc: enable (in the build) by default [20]
+ o alt-svc: minimize variable scope and avoid "DEAD_STORE" [51]
+ o asyn: use 'struct thread_data *' instead of 'void *' [84]
+ o checksrc: warn on empty line before open brace [13]
+ o CI/appveyor: disable test 571 in two cmake builds [22]
+ o CI/azure: improve on flakiness by avoiding libtool wrappers [7]
+ o CI/tests: enable test target on TravisCI for CMake builds [38]
+ o CI/travis: add brotli and zstd to the libssh2 build [27]
+ o cirrus: build with FreeBSD 12.2 in CirrusCI [80]
+ o cmake: call the feature unixsockets without dash [26]
+ o cmake: check for linux/tcp.h [91]
+ o cmake: correctly handle linker flags for static libs [52]
+ o cmake: don't pass -fvisibility=hidden to clang-cl on Windows [53]
+ o cmake: don't use reserved target name 'test' [79]
+ o cmake: make BUILD_TESTING dependent option [30]
+ o cmake: make CURL_ZLIB a tri-state variable [70]
+ o cmake: set the unicode feature in curl-config on Windows [23]
+ o cmake: store IDN2 information in curl_config.h [25]
+ o cmake: use libcurl.rc in all Windows builds [69]
+ o configure: pass -pthread to Libs.private for pkg-config [50]
+ o configure: use pkgconfig to find openSSL when cross-compiling [28]
+ o connect: repair build without ipv6 availability [19]
+ o curl.1: add an "OUTPUT" section at the top of the manpage [32]
+ o curl.se: new home [59]
+ o curl: add compatibility for Amiga and GCC 6.5 [61]
+ o curl: only warn not fail, if not finding the home dir [15]
+ o curl_easy_escape: limit output string length to 3 * max input [55]
+ o Curl_pgrsStartNow: init speed limit time stamps at start [48]
+ o curl_setup: USE_RESOLVE_ON_IPS is for Apple native resolver use
+ o curl_url_set.3: fix typo in the RETURN VALUE section [3]
+ o CURLOPT_DNS_USE_GLOBAL_CACHE.3: fix typo [34]
+ o CURLOPT_HSTS.3: document the file format [82]
+ o CURLOPT_NOBODY.3: fix typo [6]
+ o CURLOPT_TCP_NODELAY.3: fix comment in example code [8]
+ o CURLOPT_URL.3: clarify SCP/SFTP URLs are for uploads as well
+ o docs: document the 8MB input string limit [57]
+ o docs: fix typos and markup in ETag manpage sections [87]
+ o docs: Fix various typos in documentation [58]
+ o examples/httpput: remove use of CURLOPT_PUT [39]
+ o FAQ: refreshed [56]
+ o file: avoid duplicated code sequence [77]
+ o ftp: retry getpeername for FTP with TCP_FASTOPEN [100]
+ o gnutls: fix memory leaks (certfields memory wasn't released) [41]
+ o header.d: mention the "Transfer-Encoding: chunked" handling [45]
+ o HISTORY: the new domain
+ o http3: fix two build errors, silence warnings [10]
+ o http3: use the master branch of GnuTLS for testing [88]
+ o http: pass correct header size to debug callback for chunked post [44]
+ o http_proxy: use enum with state names for 'keepon' [54]
+ o httpput-postfields.c: new example doing PUT with POSTFIELDS [35]
+ o infof/failf calls: fix format specifiers [78]
+ o libssh2: fix build with disabled proxy support [17]
+ o libssh2: fix transport over HTTPS proxy [31]
+ o libssh2: require version 1.0 or later [24]
+ o Makefile.m32: add support for HTTP/3 via ngtcp2+nghttp3 [11]
+ o Makefile.m32: add support for UNICODE builds [85]
+ o mqttd: fclose test file when done [60]
+ o NEW-PROTOCOL: document what needs to be done to add one [92]
+ o ngtcp2: adapt to recent nghttp3 updates [49]
+ o ngtcp2: advertise h3 ALPN unconditionally [72]
+ o ngtcp2: Fix build error due to symbol name change [90]
+ o ngtcp2: use the minimal version of QUIC supported by ngtcp2 [67]
+ o ntlm: avoid malloc(0) on zero length user and domain [96]
+ o openssl: acknowledge SRP disabling in configure properly [9]
+ o openssl: free mem_buf in error path [94]
+ o openssl: guard against OOM on context creation [68]
+ o openssl: use OPENSSL_init_ssl() with >= 1.1.0 [66]
+ o os400: Sync libcurl API options [5]
+ o packages/OS400: make the source code-style compliant [4]
+ o quiche: close the connection [89]
+ o quiche: remove 'static' from local buffer [71]
+ o range.d: clarify that curl will not parse multipart responses [36]
+ o range.d: fix typo
+ o Revert "multi: implement wait using winsock events" [99]
+ o rtsp: error out on empty Session ID, unified the code
+ o rtsp: fixed Session ID comparison to refuse prefix [65]
+ o rtsp: fixed the RTST Session ID mismatch in test 570 [64]
+ o runtests: return error if no tests ran [16]
+ o runtests: revert the mistaken edit of $CURL
+ o runtests: show keywords when no tests ran [33]
+ o scripts/completion.pl: parse all opts [101]
+ o socks: check for DNS entries with the right port number [74]
+ o src/tool_filetime: disable -Wformat on mingw for this file [2]
+ o strerror: use 'const' as the string should never be modified [18]
+ o test122[12]: remove these two tests [1]
+ o test506: make it not run in c-ares builds [75]
+ o tests/*server.py: close log file after each log line [81]
+ o tests/server/tftpd.c: close upload file right after transfer [62]
+ o tests/util.py: fix compatibility with Python 2 [83]
+ o tests: add missing global_init/cleanup calls [42]
+ o tests: fix some http/2 tests for older versions of nghttpx [47]
+ o tool_debug_cb: do not assume zero-terminated data
+ o tool_help: make "output" description less confusing [21]
+ o tool_operate: --retry for HTTP 408 responses too [43]
+ o tool_operate: bail out proper on errors during parallel transfers [29]
+ o tool_operate: fix compiler warning when --libcurl is disabled [12]
+ o tool_writeout: use off_t getinfo-types instead of doubles [76]
+ o travis: use ninja-build for CMake builds [63]
+ o travis: use valgrind when running tests for debug builds [40]
+ o urlapi: don't accept blank port number field without scheme [98]
+ o urlapi: URL encode a '+' in the query part [14]
+ o urldata: remove 'void *protop' and create the union 'p' [86]
+ o vquic/ngtcp2.h: define local_addr as sockaddr_storage [73]
 
 This release includes the following known bugs:
 
- o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html)
+ o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
 
 This release would not have looked like this without help, code, reports and
 advice from friends like these:
 
-  Alessandro Ghedini, Alex Kiernan, Baruch Siach, Bevan Weiss, Brian Inglis,
-  BrumBrum on hackerone, Cameron Cawley, Carlo Marcelo Arenas Belón,
-  causal-agent on github, Cherish98 on github, Dan Fandrich, Daniel Gustafsson,
-  Daniel Stenberg, Denis Goleshchikhin, divinity76 on github, Ehren Bendler,
-  Emil Engler, Erik Johansson, Filip Salomonsson, Gilles Vollant, Gisle Vanem,
-  H3RSKO on github, ihsinme on github, Jeremy Maitin-Shepard,
-  joey-l-us on github, Jonathan Cardoso Machado, Jonathan Nieder, Kamil Dudka,
-  Ken Brown, Laramie Leavitt, lilongyan-huawei on github, Marc Aldorasi,
-  Marcel Raad, Marc Hörsken, Masaya Suzuki, Matthias Naegler,
-  Nicolas Sterchele, NobodyXu on github, Peter Wu, ramsay-jones on github,
-  Rasmus Melchior Jacobsen, Ray Satiro, sspiri on github, Stefan Yohansson,
-  Tadej Vengust, Tatsuhiro Tsujikawa, tbugfinder on github,
-  Thomas M. DuBuisson, Tobias Stoeckmann, Tomas Berger, Viktor Szakats,
-  xwxbug on github,
-  (52 contributors)
+  Andreas Fischer, asavah on github, b9a1 on github, Baruch Siach,
+  Basuke Suzuki, bobmitchell1956 on github, BrumBrum on hackerone,
+  Cristian Morales Vega, d4d on hackerone, Daiki Ueno, Daniel Gustafsson,
+  Daniel Stenberg, Dietmar Hauser, Dirk Wetter, emanruse on github,
+  Emil Engler, hamstergene on github, Harry Sintonen, Jacob Hoffman-Andrews,
+  Jakub Zakrzewski, Jeroen Ooms, Jon Rumsey, José Joaquín Atria, Junho Choi,
+  Kael1117 on github, Klaus Crusius, Kovalkov Dmitrii, Marcel Raad,
+  Marc Hörsken, Marc Schlatter, Niranjan Hasabnis, nosajsnikta on github,
+  Oliver Urbann, Per Nilsson, Philipp Klaus Krause, Ray Satiro,
+  Rikard Falkeborn, Rui LIU, Sergei Nikulov, Thomas Danielsson, Tobias Hieta,
+  Tom G. Christensen, Varnavas Papaioannou, Viktor Szakats, Vincent Torri,
+  xnynx on github,
+  (46 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=5453
- [2] = https://curl.haxx.se/bug/?i=5668
- [3] = https://curl.haxx.se/bug/?i=5655
- [4] = https://curl.haxx.se/bug/?i=5716
- [5] = https://curl.haxx.se/bug/?i=5645
- [6] = https://curl.haxx.se/bug/?i=5656
- [7] = https://curl.haxx.se/bug/?i=5643
- [8] = https://curl.haxx.se/bug/?i=5639
- [9] = https://curl.haxx.se/bug/?i=5642
- [10] = https://bugzilla.redhat.com/1833193
- [11] = https://curl.haxx.se/bug/?i=5641
- [12] = https://curl.haxx.se/bug/?i=5638
- [13] = https://curl.haxx.se/bug/?i=5662
- [14] = https://curl.haxx.se/bug/?i=5675
- [15] = https://curl.haxx.se/bug/?i=5665
- [16] = https://curl.haxx.se/bug/?i=5666
- [17] = https://curl.haxx.se/bug/?i=5714
- [18] = https://curl.haxx.se/bug/?i=5744
- [19] = https://curl.haxx.se/bug/?i=5706
- [20] = https://curl.haxx.se/bug/?i=5704
- [21] = https://curl.haxx.se/bug/?i=5694
- [22] = https://curl.haxx.se/bug/?i=5695
- [23] = https://curl.haxx.se/bug/?i=5695
- [24] = https://curl.haxx.se/bug/?i=5697
- [25] = https://curl.haxx.se/bug/?i=5691
- [26] = https://curl.haxx.se/bug/?i=5689
- [27] = https://curl.haxx.se/bug/?i=5690
- [28] = https://curl.haxx.se/bug/?i=5679
- [29] = https://curl.haxx.se/bug/?i=5688
- [30] = https://curl.haxx.se/bug/?i=5683
- [31] = https://curl.haxx.se/bug/?i=5636
- [32] = https://curl.haxx.se/bug/?i=5667
- [33] = https://curl.haxx.se/bug/?i=5644
- [34] = https://curl.haxx.se/bug/?i=5511
- [35] = https://curl.haxx.se/bug/?i=5491
- [36] = https://curl.haxx.se/bug/?i=5676
- [37] = https://curl.haxx.se/bug/?i=5764
- [38] = https://curl.haxx.se/bug/?i=5659
- [39] = https://curl.haxx.se/bug/?i=5654
- [40] = https://curl.haxx.se/bug/?i=5732
- [41] = https://curl.haxx.se/bug/?i=5734
- [42] = 
https://github.com/curl/curl/commit/61a08508f6a458fe21bbb18cd2a9bac2f039452b#commitcomment-40941232
- [43] = https://hackerone.com/reports/926638
- [44] = https://curl.haxx.se/bug/?i=5737
- [45] = https://curl.haxx.se/bug/?i=5764
- [46] = https://curl.haxx.se/bug/?i=5729
- [47] = https://curl.haxx.se/bug/?i=5725
- [48] = https://curl.haxx.se/bug/?i=5605
- [49] = https://curl.haxx.se/bug/?i=5720
- [50] = https://curl.haxx.se/bug/?i=5726
- [51] = https://curl.haxx.se/bug/?i=5661
- [52] = https://curl.haxx.se/bug/?i=5658
- [53] = https://curl.haxx.se/bug/?i=5722
- [54] = https://curl.haxx.se/bug/?i=5722
- [55] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24379
- [56] = https://curl.haxx.se/bug/?i=5723
- [57] = https://curl.haxx.se/bug/?i=5754
- [58] = https://curl.haxx.se/bug/?i=5754
- [59] = https://curl.haxx.se/bug/?i=5762
- [60] = https://curl.haxx.se/bug/?i=5759
- [61] = https://curl.haxx.se/bug/?i=5757
- [62] = https://curl.haxx.se/bug/?i=5749
- [63] = https://curl.haxx.se/bug/?i=5715
- [64] = https://curl.haxx.se/bug/?i=5701
- [65] = https://curl.haxx.se/bug/?i=5752
- [66] = https://curl.haxx.se/bug/?i=5708
- [67] = https://curl.haxx.se/bug/?i=5721
- [68] = https://curl.haxx.se/bug/?i=5785
- [69] = https://curl.haxx.se/bug/?i=5786
- [70] = https://curl.haxx.se/bug/?i=5709
- [71] = https://curl.haxx.se/bug/?i=5782
- [72] = https://curl.haxx.se/bug/?i=5779
- [73] = https://curl.haxx.se/bug/?i=5778
- [74] = https://curl.haxx.se/bug/?i=5778
- [75] = https://curl.haxx.se/bug/?i=5761
- [76] = https://curl.haxx.se/bug/?i=5777
- [77] = https://curl.haxx.se/bug/?i=5794
- [78] = 
https://github.com/curl/curl/commit/7370b4e39f1390e701f5b68d910c619151daf72b#r41334700
- [79] = https://curl.haxx.se/bug/?i=5772
- [80] = https://curl.haxx.se/bug/?i=5773
- [81] = https://curl.haxx.se/bug/?i=5663
- [82] = https://curl.haxx.se/bug/?i=5674
- [83] = https://curl.haxx.se/bug/?i=5767
- [84] = https://curl.haxx.se/bug/?i=5767
- [85] = https://curl.haxx.se/bug/?i=5797
- [86] = https://curl.haxx.se/bug/?i=5822
- [87] = https://curl.haxx.se/bug/?i=5817
- [88] = https://curl.haxx.se/bug/?i=5795
- [89] = https://curl.haxx.se/bug/?i=5792
- [90] = https://curl.haxx.se/bug/?i=5783
- [91] = https://curl.haxx.se/bug/?i=5819
- [92] = https://curl.haxx.se/bug/?i=5788
- [93] = https://curl.haxx.se/bug/?i=5814
- [94] = https://curl.haxx.se/bug/?i=5812
- [95] = https://curl.haxx.se/bug/?i=5811
- [96] = https://curl.haxx.se/bug/?i=5793
- [97] = https://curl.haxx.se/bug/?i=5805
- [98] = https://curl.haxx.se/docs/CVE-2020-8231.html
+ [1] = https://curl.se/bug/?i=6080
+ [2] = https://curl.se/bug/?i=6079
+ [3] = https://curl.se/bug/?i=6102
+ [4] = https://curl.se/bug/?i=6085
+ [5] = https://curl.se/bug/?i=6083
+ [6] = https://curl.se/bug/?i=6097
+ [7] = https://curl.se/bug/?i=6049
+ [8] = https://curl.se/bug/?i=6096
+ [9] = https://curl.se/mail/lib-2020-10/0037.html
+ [10] = https://curl.se/bug/?i=6093
+ [11] = https://curl.se/bug/?i=6092
+ [12] = https://curl.se/bug/?i=6095
+ [13] = https://curl.se/bug/?i=6088
+ [14] = https://curl.se/bug/?i=6086
+ [15] = https://curl.se/bug/?i=6200
+ [16] = https://curl.se/bug/?i=6053
+ [17] = https://curl.se/bug/?i=6125
+ [18] = https://curl.se/bug/?i=6068
+ [19] = https://curl.se/bug/?i=6069
+ [20] = https://curl.se/bug/?i=5868
+ [21] = https://curl.se/bug/?i=6118
+ [22] = https://curl.se/bug/?i=6119
+ [23] = https://curl.se/bug/?i=6117
+ [24] = https://curl.se/bug/?i=6116
+ [25] = https://curl.se/bug/?i=6108
+ [26] = https://curl.se/bug/?i=6108
+ [27] = https://curl.se/bug/?i=6105
+ [28] = https://curl.se/bug/?i=6145
+ [29] = https://curl.se/bug/?i=6141
+ [30] = https://curl.se/bug/?i=6072
+ [31] = https://curl.se/bug/?i=6113
+ [32] = https://curl.se/bug/?i=6134
+ [33] = https://curl.se/bug/?i=6126
+ [34] = https://curl.se/bug/?i=6131
+ [35] = https://curl.se/bug/?i=6188
+ [36] = https://curl.se/bug/?i=6124
+ [37] = https://curl.se/bug/?i=5896
+ [38] = https://curl.se/bug/?i=6074
+ [39] = https://curl.se/bug/?i=6186
+ [40] = https://curl.se/bug/?i=6154
+ [41] = https://curl.se/bug/?i=6153
+ [42] = https://curl.se/bug/?i=6156
+ [43] = https://curl.se/bug/?i=6155
+ [44] = https://curl.se/bug/?i=6147
+ [45] = https://curl.se/bug/?i=6148
+ [46] = https://curl.se/bug/?i=6138
+ [47] = https://curl.se/bug/?i=6139
+ [48] = https://curl.se/bug/?i=6162
+ [49] = https://curl.se/bug/?i=6185
+ [50] = https://curl.se/bug/?i=6168
+ [51] = https://curl.se/bug/?i=6182
+ [52] = https://curl.se/bug/?i=6195
+ [53] = https://curl.se/bug/?i=6194
+ [54] = https://curl.se/mail/lib-2020-11/0026.html
+ [55] = https://curl.se/bug/?i=6192
+ [56] = https://curl.se/bug/?i=6177
+ [57] = https://curl.se/bug/?i=6190
+ [58] = https://curl.se/bug/?i=6171
+ [59] = https://curl.se/bug/?i=6172
+ [60] = https://curl.se/bug/?i=6058
+ [61] = https://curl.se/bug/?i=6220
+ [62] = https://curl.se/bug/?i=6058
+ [63] = https://curl.se/bug/?i=6077
+ [64] = https://curl.se/bug/?i=6161
+ [65] = https://curl.se/bug/?i=6161
+ [66] = https://curl.se/bug/?i=6254
+ [67] = https://curl.se/bug/?i=6250
+ [68] = https://curl.se/bug/?i=6224
+ [69] = https://curl.se/bug/?i=6215
+ [70] = https://curl.se/bug/?i=6173
+ [71] = https://curl.se/bug/?i=6223
+ [72] = https://curl.se/bug/?i=6250
+ [73] = https://curl.se/bug/?i=6250
+ [74] = https://curl.se/bug/?i=6247
+ [75] = https://curl.se/bug/?i=6247
+ [76] = https://curl.se/bug/?i=6248
+ [77] = https://curl.se/bug/?i=6249
+ [78] = https://curl.se/bug/?i=6241
+ [79] = https://curl.se/bug/?i=6257
+ [80] = https://curl.se/bug/?i=6211
+ [81] = https://curl.se/bug/?i=6058
+ [82] = https://curl.se/bug/?i=6205
+ [83] = https://curl.se/bug/?i=6259
+ [84] = https://curl.se/bug/?i=6239
+ [85] = https://curl.se/bug/?i=6228
+ [86] = https://curl.se/bug/?i=6238
+ [87] = https://curl.se/bug/?i=6273
+ [88] = https://curl.se/bug/?i=6235
+ [89] = https://curl.se/bug/?i=6213
+ [90] = https://curl.se/bug/?i=6271
+ [91] = https://curl.se/bug/?i=6252
+ [92] = https://curl.se/bug/?i=6263
+ [93] = https://curl.se/docs/CVE-2020-8286.html
+ [94] = https://curl.se/bug/?i=6267
+ [95] = https://curl.se/docs/CVE-2020-8285.html
+ [96] = https://curl.se/bug/?i=6264
+ [97] = https://curl.se/docs/CVE-2020-8284.html
+ [98] = https://curl.se/bug/?i=6283
+ [99] = https://curl.se/bug/?i=6146
+ [100] = https://curl.se/bug/?i=6252
+ [101] = https://curl.se/bug/?i=6280
diff --git a/acinclude.m4 b/acinclude.m4
index 089449bac..61ecd4fe1 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -661,7 +661,7 @@ dnl -------------------------------------------------
 dnl Check for libraries needed for WINLDAP support,
 dnl and prepended to LIBS any needed libraries.
 dnl This macro can take an optional parameter with a
-dnl white space separated list of libraries to check
+dnl whitespace separated list of libraries to check
 dnl before the WINLDAP default ones.
 
 AC_DEFUN([CURL_CHECK_LIBS_WINLDAP], [
@@ -755,7 +755,7 @@ dnl -------------------------------------------------
 dnl Check for libraries needed for LDAP support,
 dnl and prepended to LIBS any needed libraries.
 dnl This macro can take an optional parameter with a
-dnl white space separated list of libraries to check
+dnl whitespace separated list of libraries to check
 dnl before the default ones.
 
 AC_DEFUN([CURL_CHECK_LIBS_LDAP], [
@@ -1880,11 +1880,6 @@ AC_DEFUN([CURL_CHECK_FUNC_SELECT], [
 #endif
 #endif
 #ifndef HAVE_WINDOWS_H
-#ifdef HAVE_PROTO_BSDSOCKET_H
-#include <proto/bsdsocket.h>
-struct Library *SocketBase = NULL;
-#define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0)
-#endif
 #ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #elif defined(HAVE_UNISTD_H)
@@ -1893,6 +1888,11 @@ struct Library *SocketBase = NULL;
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
+#ifdef HAVE_PROTO_BSDSOCKET_H
+#include <proto/bsdsocket.h>
+struct Library *SocketBase = NULL;
+#define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0)
+#endif
 #endif
     ]],[[
       select(0, 0, 0, 0, 0);
@@ -1945,11 +1945,6 @@ struct Library *SocketBase = NULL;
 #endif
 #endif
 #ifndef HAVE_WINDOWS_H
-#ifdef HAVE_PROTO_BSDSOCKET_H
-#include <proto/bsdsocket.h>
-struct Library *SocketBase = NULL;
-#define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0)
-#endif
 #ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #elif defined(HAVE_UNISTD_H)
@@ -1958,6 +1953,11 @@ struct Library *SocketBase = NULL;
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
+#ifdef HAVE_PROTO_BSDSOCKET_H
+#include <proto/bsdsocket.h>
+struct Library *SocketBase = NULL;
+#define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0)
+#endif
 #define SELECTCALLCONV
 #endif
 #ifndef HAVE_STRUCT_TIMEVAL
@@ -2526,14 +2526,20 @@ AC_DEFUN([CURL_MAC_CFLAGS], [
   AC_MSG_RESULT([$tst_cflags]);
 
   if test "$tst_cflags" = "yes"; then
-    AC_MSG_CHECKING([for *version-min in CFLAGS])
+    AC_MSG_CHECKING([for *version-min set by user])
     min=""
-    if test -z "$(echo $CFLAGS | grep m.*os.*-version-min)"; then
+    if test -n "$IPHONEOS_DEPLOYMENT_TARGET"; then
+      var="IPHONEOS_DEPLOYMENT_TARGET"
+    elif test -n "$MACOSX_DEPLOYMENT_TARGET"; then
+      var="MACOSX_DEPLOYMENT_TARGET"
+    elif test -z "$(echo $CFLAGS $CC | grep m.*os.*-version-min)"; then
       min="-mmacosx-version-min=10.8"
       CFLAGS="$CFLAGS $min"
+    else
+      var="CFLAGS or CC"
     fi
     if test -z "$min"; then
-      AC_MSG_RESULT([set by user])
+      AC_MSG_RESULT([set by user in $var])
     else
       AC_MSG_RESULT([$min set])
     fi
diff --git a/appveyor.yml b/appveyor.yml
index e34784159..dee5218bc 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -31,6 +31,7 @@ environment:
         PRJ_CFG: Release
         OPENSSL: OFF
         SCHANNEL: ON
+        ENABLE_UNICODE: OFF
         HTTP_ONLY: OFF
         TESTING: OFF
         SHARED: ON
@@ -43,6 +44,7 @@ environment:
         PRJ_CFG: Release
         OPENSSL: ON
         SCHANNEL: OFF
+        ENABLE_UNICODE: OFF
         HTTP_ONLY: OFF
         TESTING: OFF
         SHARED: ON
@@ -55,6 +57,7 @@ environment:
         PRJ_CFG: Release
         OPENSSL: OFF
         SCHANNEL: ON
+        ENABLE_UNICODE: OFF
         HTTP_ONLY: OFF
         TESTING: OFF
         SHARED: OFF
@@ -67,6 +70,7 @@ environment:
         PRJ_CFG: Debug
         OPENSSL: OFF
         SCHANNEL: OFF
+        ENABLE_UNICODE: OFF
         HTTP_ONLY: OFF
         TESTING: ON
         SHARED: OFF
@@ -79,10 +83,11 @@ environment:
         PRJ_CFG: Debug
         OPENSSL: OFF
         SCHANNEL: ON
+        ENABLE_UNICODE: ON
         HTTP_ONLY: OFF
         TESTING: ON
         SHARED: OFF
-        DISABLED_TESTS: "!1139 !1501"
+        DISABLED_TESTS: "~571 !1139 !1501 "
         COMPILER_PATH: ""
       - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
         BUILD_SYSTEM: CMake
@@ -91,10 +96,11 @@ environment:
         PRJ_CFG: Debug
         OPENSSL: OFF
         SCHANNEL: OFF
+        ENABLE_UNICODE: OFF
         HTTP_ONLY: OFF
         TESTING: ON
         SHARED: OFF
-        DISABLED_TESTS: "!1139 !1501"
+        DISABLED_TESTS: "~571 !1139 !1501"
         COMPILER_PATH: ""
       - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
         BUILD_SYSTEM: CMake
@@ -103,6 +109,7 @@ environment:
         PRJ_CFG: Debug
         OPENSSL: OFF
         SCHANNEL: OFF
+        ENABLE_UNICODE: OFF
         HTTP_ONLY: ON
         TESTING: ON
         SHARED: OFF
@@ -115,6 +122,7 @@ environment:
         PRJ_CFG: Debug
         OPENSSL: OFF
         SCHANNEL: ON
+        ENABLE_UNICODE: ON
         HTTP_ONLY: OFF
         TESTING: ON
         SHARED: OFF
@@ -128,6 +136,7 @@ environment:
         PRJ_CFG: Debug
         OPENSSL: OFF
         SCHANNEL: ON
+        ENABLE_UNICODE: ON
         HTTP_ONLY: OFF
         TESTING: ON
         SHARED: OFF
@@ -141,6 +150,7 @@ environment:
         PRJ_CFG: Debug
         OPENSSL: OFF
         SCHANNEL: ON
+        ENABLE_UNICODE: OFF
         HTTP_ONLY: OFF
         TESTING: ON
         SHARED: OFF
@@ -154,6 +164,7 @@ environment:
         PRJ_CFG: Debug
         OPENSSL: OFF
         SCHANNEL: OFF
+        ENABLE_UNICODE: OFF
         HTTP_ONLY: OFF
         TESTING: ON
         SHARED: OFF
@@ -221,12 +232,12 @@ environment:
         BUILD_SYSTEM: autotools
         TESTING: ON
         DISABLED_TESTS: "!19 ~1056 !1233"
-        CONFIG_ARGS: "--enable-debug --enable-werror --enable-alt-svc 
--disable-threaded-resolver --disable-proxy"
+        CONFIG_ARGS: "--enable-debug --enable-werror 
--disable-threaded-resolver --disable-proxy"
       - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
         BUILD_SYSTEM: autotools
         TESTING: ON
         DISABLED_TESTS: "!19 !504 !704 !705 ~1056 !1233"
-        CONFIG_ARGS: "--enable-debug --enable-werror --enable-alt-svc 
--disable-threaded-resolver"
+        CONFIG_ARGS: "--enable-debug --enable-werror 
--disable-threaded-resolver"
       - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
         BUILD_SYSTEM: autotools
         TESTING: ON
@@ -250,6 +261,7 @@ build_script:
         -DBUILD_TESTING=%TESTING%
         -DCURL_WERROR=ON
         -DENABLE_DEBUG=ON
+        -DENABLE_UNICODE=%ENABLE_UNICODE%
         -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=""
         -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=""
         -DCMAKE_INSTALL_PREFIX="C:/CURL"
@@ -279,11 +291,19 @@ build_script:
       if %BUILD_SYSTEM%==autotools (
         bash.exe -e -l -c "cd /c/projects/curl && ./buildconf && ./configure 
%CONFIG_ARGS% && make && make examples && cd tests && make"
       )))))
+    - if %TESTING%==ON (
+        if %BUILD_SYSTEM%==CMake (
+          cmake --build . --config %PRJ_CFG% --parallel 2 --target testdeps
+      ))
 
 test_script:
     - if %TESTING%==ON (
-        echo APPVEYOR_API_URL=%APPVEYOR_API_URL% &&
-        bash.exe -e -l -c "cd /c/projects/curl/tests && ./runtests.pl -a 
-b$(($(echo '%APPVEYOR_API_URL%' | cut -d'/' -f3 | cut -d':' -f2)+1)) -p !flaky 
%DISABLED_TESTS%" )
+        if %BUILD_SYSTEM%==CMake (
+          set TFLAGS=%DISABLED_TESTS% &&
+          cmake --build . --config %PRJ_CFG% --target test-nonflaky
+        ) else (
+          echo APPVEYOR_API_URL=%APPVEYOR_API_URL% &&
+          bash.exe -e -l -c "cd /c/projects/curl/tests && ./runtests.pl -a -p 
!flaky %DISABLED_TESTS%" ))
 
 # select branches to avoid testing feature branches twice (as branch and as 
pull request)
 branches:
diff --git a/aux-gnurl/gnurl0.awk b/aux-gnurl/gnurl0.awk
index 955bc9763..8c97dd9c2 100755
--- a/aux-gnurl/gnurl0.awk
+++ b/aux-gnurl/gnurl0.awk
@@ -4,5 +4,6 @@
     gsub("CURLOPT_","GNURLOPT_");
     gsub("CURLMOPT_","GNURLMOPT_");
     gsub("CURLINFO_","GNURLINFO_");
+    gsub(" curl_"," gnurl_");
     print $0
 }
diff --git a/buildconf b/buildconf
index cb9a21bb9..4e4c17e99 100755
--- a/buildconf
+++ b/buildconf
@@ -1,432 +1,4 @@
 #!/bin/sh
-#***************************************************************************
-#                                  _   _ ____  _
-#  Project                     ___| | | |  _ \| |
-#                             / __| | | | |_) | |
-#                            | (__| |_| |  _ <| |___
-#                             \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-###########################################################################
 
-#--------------------------------------------------------------------------
-# die prints argument string to stdout and exits this shell script.
-#
-die(){
-  echo "buildconf: $*"
-  exit 1
-}
-
-#--------------------------------------------------------------------------
-# findtool works as 'which' but we use a different name to make it more
-# obvious we aren't using 'which'! ;-)
-# Unlike 'which' does, the current directory is ignored.
-#
-findtool(){
-  file="$1"
-
-  if { echo "$file" | grep "/" >/dev/null 2>&1; } then
-    # when file is given with a path check it first
-    if test -f "$file"; then
-      echo "$file"
-      return
-    fi
-  fi
-
-  old_IFS=$IFS; IFS=':'
-  for path in $PATH
-  do
-    IFS=$old_IFS
-    # echo "checks for $file in $path" >&2
-    if test "$path" -a "$path" != '.' -a -f "$path/$file"; then
-      echo "$path/$file"
-      return
-    fi
-  done
-  IFS=$old_IFS
-}
-
-#--------------------------------------------------------------------------
-# removethis() removes all files and subdirectories with the given name,
-# inside and below the current subdirectory at invocation time.
-#
-removethis(){
-  if test "$#" = "1"; then
-    find . -depth -name $1 -exec rm -rf {} \;
-  fi
-}
-
-#--------------------------------------------------------------------------
-# Ensure that buildconf runs from the subdirectory where configure.ac lives
-#
-if test ! -f configure.ac ||
-  test ! -f src/tool_main.c ||
-  test ! -f lib/urldata.h ||
-  test ! -f include/gnurl/curl.h ||
-  test ! -f m4/curl-functions.m4; then
-  echo "Can not run buildconf from outside of curl's source subdirectory!"
-  echo "Change to the subdirectory where buildconf is found, and try again."
-  exit 1
-fi
-
-#--------------------------------------------------------------------------
-# autoconf 2.57 or newer. Unpatched version 2.67 does not generate proper
-# configure script. Unpatched version 2.68 is simply unusable, we should
-# disallow 2.68 usage.
-#
-need_autoconf="2.57"
-ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|head -n 1| sed -e 
's/^[^0-9]*//' -e 's/[a-z]* *$//'`
-if test -z "$ac_version"; then
-  echo "buildconf: autoconf not found."
-  echo "            You need autoconf version $need_autoconf or newer 
installed."
-  exit 1
-fi
-old_IFS=$IFS; IFS='.'; set $ac_version; IFS=$old_IFS
-if test "$1" = "2" -a "$2" -lt "57" || test "$1" -lt "2"; then
-  echo "buildconf: autoconf version $ac_version found."
-  echo "            You need autoconf version $need_autoconf or newer 
installed."
-  echo "            If you have a sufficient autoconf installed, but it"
-  echo "            is not named 'autoconf', then try setting the"
-  echo "            AUTOCONF environment variable."
-  exit 1
-fi
-
-if test "$1" = "2" -a "$2" -eq "67"; then
-  echo "buildconf: autoconf version $ac_version (BAD)"
-  echo "            Unpatched version generates broken configure script."
-elif test "$1" = "2" -a "$2" -eq "68"; then
-  echo "buildconf: autoconf version $ac_version (BAD)"
-  echo "            Unpatched version generates unusable configure script."
-else
-  echo "buildconf: autoconf version $ac_version (ok)"
-fi
-
-am4te_version=`${AUTOM4TE:-autom4te} --version 2>/dev/null|head -n 1| sed -e 
's/autom4te\(.*\)/\1/' -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
-if test -z "$am4te_version"; then
-  echo "buildconf: autom4te not found. Weird autoconf installation!"
-  exit 1
-fi
-if test "$am4te_version" = "$ac_version"; then
-  echo "buildconf: autom4te version $am4te_version (ok)"
-else
-  echo "buildconf: autom4te version $am4te_version (ERROR: does not match 
autoconf version)"
-  exit 1
-fi
-
-#--------------------------------------------------------------------------
-# autoheader 2.50 or newer
-#
-ah_version=`${AUTOHEADER:-autoheader} --version 2>/dev/null|head -n 1| sed -e 
's/^[^0-9]*//' -e 's/[a-z]* *$//'`
-if test -z "$ah_version"; then
-  echo "buildconf: autoheader not found."
-  echo "            You need autoheader version 2.50 or newer installed."
-  exit 1
-fi
-old_IFS=$IFS; IFS='.'; set $ah_version; IFS=$old_IFS
-if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
-  echo "buildconf: autoheader version $ah_version found."
-  echo "            You need autoheader version 2.50 or newer installed."
-  echo "            If you have a sufficient autoheader installed, but it"
-  echo "            is not named 'autoheader', then try setting the"
-  echo "            AUTOHEADER environment variable."
-  exit 1
-fi
-
-echo "buildconf: autoheader version $ah_version (ok)"
-
-#--------------------------------------------------------------------------
-# automake 1.7 or newer
-#
-need_automake="1.7"
-am_version=`${AUTOMAKE:-automake} --version 2>/dev/null|head -n 1| sed -e 
's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//' -e 's/\(.*\)\(-p.*\)/\1/'`
-if test -z "$am_version"; then
-  echo "buildconf: automake not found."
-  echo "            You need automake version $need_automake or newer 
installed."
-  exit 1
-fi
-old_IFS=$IFS; IFS='.'; set $am_version; IFS=$old_IFS
-if test "$1" = "1" -a "$2" -lt "7" || test "$1" -lt "1"; then
-  echo "buildconf: automake version $am_version found."
-  echo "            You need automake version $need_automake or newer 
installed."
-  echo "            If you have a sufficient automake installed, but it"
-  echo "            is not named 'automake', then try setting the"
-  echo "            AUTOMAKE environment variable."
-  exit 1
-fi
-
-echo "buildconf: automake version $am_version (ok)"
-
-acloc_version=`${ACLOCAL:-aclocal} --version 2>/dev/null|head -n 1| sed -e 
's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//' -e 's/\(.*\)\(-p.*\)/\1/'`
-if test -z "$acloc_version"; then
-  echo "buildconf: aclocal not found. Weird automake installation!"
-  exit 1
-fi
-if test "$acloc_version" = "$am_version"; then
-  echo "buildconf: aclocal version $acloc_version (ok)"
-else
-  echo "buildconf: aclocal version $acloc_version (ERROR: does not match 
automake version)"
-  exit 1
-fi
-
-#--------------------------------------------------------------------------
-# GNU libtoolize preliminary check
-#
-want_lt_major=1
-want_lt_minor=4
-want_lt_patch=2
-want_lt_version=1.4.2
-
-# This approach that tries 'glibtoolize' first is intended for systems that
-# have GNU libtool named as 'glibtoolize' and libtoolize not being GNU's.
-
-libtoolize=`findtool glibtoolize 2>/dev/null`
-if test ! -x "$libtoolize"; then
-  libtoolize=`findtool ${LIBTOOLIZE:-libtoolize}`
-fi
-if test -z "$libtoolize"; then
-  echo "buildconf: libtoolize not found."
-  echo "  You need GNU libtoolize $want_lt_version or newer installed."
-  exit 1
-fi
-
-lt_pver=`$libtoolize --version 2>/dev/null|head -n 1`
-lt_qver=`echo $lt_pver|sed -e "s/([^)]*)//g" -e "s/^[^0-9]*//g"`
-lt_version=`echo $lt_qver|sed -e "s/[- ].*//" -e "s/\([a-z]*\)$//"`
-if test -z "$lt_version"; then
-  echo "buildconf: libtoolize not found."
-  echo "  You need GNU libtoolize $want_lt_version or newer installed."
-  exit 1
-fi
-old_IFS=$IFS; IFS='.'; set $lt_version; IFS=$old_IFS
-lt_major=$1
-lt_minor=$2
-lt_patch=$3
-
-if test -z "$lt_major"; then
-  lt_status="bad"
-elif test "$lt_major" -gt "$want_lt_major"; then
-  lt_status="good"
-elif test "$lt_major" -lt "$want_lt_major"; then
-  lt_status="bad"
-elif test -z "$lt_minor"; then
-  lt_status="bad"
-elif test "$lt_minor" -gt "$want_lt_minor"; then
-  lt_status="good"
-elif test "$lt_minor" -lt "$want_lt_minor"; then
-  lt_status="bad"
-elif test -z "$lt_patch"; then
-  lt_status="bad"
-elif test "$lt_patch" -gt "$want_lt_patch"; then
-  lt_status="good"
-elif test "$lt_patch" -lt "$want_lt_patch"; then
-  lt_status="bad"
-else
-  lt_status="good"
-fi
-if test "$lt_status" != "good"; then
-  echo "buildconf: libtoolize version $lt_version found."
-  echo "  You need GNU libtoolize $want_lt_version or newer installed."
-  exit 1
-fi
-
-echo "buildconf: libtoolize version $lt_version (ok)"
-
-#--------------------------------------------------------------------------
-# m4 check
-#
-m4=`(${M4:-m4} --version 0<&- || ${M4:-gm4} --version) 2>/dev/null 0<&- | head 
-n 1`;
-m4_version=`echo $m4 | sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//'`
-
-if { echo $m4 | grep "GNU" >/dev/null 2>&1; } then
-  echo "buildconf: GNU m4 version $m4_version (ok)"
-else
-  if test -z "$m4"; then
-    echo "buildconf: m4 version not recognized. You need a GNU m4 or 
compatible installed!"
-  else
-    echo "buildconf: m4 version $m4 found. You need a GNU m4 or compatible 
installed!"
-  fi
-  # Early testing on NetBSD 8.0 showed that the hard failure here is
-  # overkill, at least for gnurl.
-  # exit 1
-fi
-
-#--------------------------------------------------------------------------
-# perl check
-#
-PERL=`findtool ${PERL:-perl}`
-if test -z "$PERL"; then
-  echo "buildconf: perl not found"
-  exit 1
-fi
-
-#--------------------------------------------------------------------------
-# Remove files generated on previous buildconf/configure run.
-#
-for fname in .deps \
-    .libs \
-    *.la \
-    *.lo \
-    *.a \
-    *.o \
-    Makefile \
-    Makefile.in \
-    aclocal.m4 \
-    aclocal.m4.bak \
-    autom4te.cache \
-    compile \
-    config.guess \
-    curl_config.h \
-    curl_config.h.in \
-    config.log \
-    config.lt \
-    config.status \
-    config.sub \
-    configure \
-    configurehelp.pm \
-    gnurl-config \
-    depcomp \
-    libcares.pc \
-    libcurl.pc \
-    libtool \
-    libtool.m4 \
-    libtool.m4.tmp \
-    ltmain.sh \
-    ltoptions.m4 \
-    ltsugar.m4 \
-    ltversion.m4 \
-    lt~obsolete.m4 \
-    missing \
-    install-sh \
-    stamp-h1 \
-    stamp-h2 \
-    stamp-h3 ; do
-  removethis "$fname"
-done
-
-#--------------------------------------------------------------------------
-# run the correct scripts now
-#
-
-echo "buildconf: running libtoolize"
-${libtoolize} --copy --force || die "libtoolize command failed"
-
-# When using libtool 1.5.X (X < 26) we copy libtool.m4 to our local m4
-# subdirectory and this local copy is patched to fix some warnings that
-# are triggered when running aclocal and using autoconf 2.62 or later.
-
-if test "$lt_major" = "1" && test "$lt_minor" = "5"; then
-  if test -z "$lt_patch" || test "$lt_patch" -lt "26"; then
-    echo "buildconf: copying libtool.m4 to local m4 subdir"
-    ac_dir=`${ACLOCAL:-aclocal} --print-ac-dir`
-    if test -f $ac_dir/libtool.m4; then
-      cp -f $ac_dir/libtool.m4 m4/libtool.m4
-    else
-      echo "buildconf: $ac_dir/libtool.m4 not found"
-    fi
-    if test -f m4/libtool.m4; then
-      echo "buildconf: renaming some variables in local m4/libtool.m4"
-      $PERL -i.tmp -pe \
-        's/lt_prog_compiler_pic_works/lt_cv_prog_compiler_pic_works/g; \
-         s/lt_prog_compiler_static_works/lt_cv_prog_compiler_static_works/g;' \
-        m4/libtool.m4
-      rm -f m4/libtool.m4.tmp
-    fi
-  fi
-fi
-
-if test -f m4/libtool.m4; then
-  echo "buildconf: converting all mv to mv -f in local m4/libtool.m4"
-  $PERL -i.tmp -pe 's/\bmv +([^-\s])/mv -f $1/g' m4/libtool.m4
-  rm -f m4/libtool.m4.tmp
-fi
-
-echo "buildconf: running aclocal"
-#shellcheck disable=SC2154
-${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS || die "aclocal command failed"
-
-echo "buildconf: converting all mv to mv -f in local aclocal.m4"
-$PERL -i.bak -pe 's/\bmv +([^-\s])/mv -f $1/g' aclocal.m4
-
-echo "buildconf: running autoheader"
-${AUTOHEADER:-autoheader} || die "autoheader command failed"
-
-echo "buildconf: running autoconf"
-${AUTOCONF:-autoconf} || die "autoconf command failed"
-
-echo "buildconf: running automake"
-${AUTOMAKE:-automake} --add-missing --copy || die "automake command failed"
-
-#--------------------------------------------------------------------------
-# GNU libtool complementary check
-#
-# Depending on the libtool and automake versions being used, config.guess
-# might not be installed in the subdirectory until automake has finished.
-# So we can not attempt to use it until this very last buildconf stage.
-#
-if test ! -f ./config.guess; then
-  echo "buildconf: config.guess not found"
-else
-  buildhost=`./config.guess 2>/dev/null|head -n 1`
-  case $buildhost in
-    *-*-darwin*)
-      need_lt_major=1
-      need_lt_minor=5
-      need_lt_patch=26
-      need_lt_check="yes"
-      ;;
-    *-*-hpux*)
-      need_lt_major=1
-      need_lt_minor=5
-      need_lt_patch=24
-      need_lt_check="yes"
-      ;;
-  esac
-  if test ! -z "$need_lt_check"; then
-    if test -z "$lt_major"; then
-      lt_status="bad"
-    elif test "$lt_major" -gt "$need_lt_major"; then
-      lt_status="good"
-    elif test "$lt_major" -lt "$need_lt_major"; then
-      lt_status="bad"
-    elif test -z "$lt_minor"; then
-      lt_status="bad"
-    elif test "$lt_minor" -gt "$need_lt_minor"; then
-      lt_status="good"
-    elif test "$lt_minor" -lt "$need_lt_minor"; then
-      lt_status="bad"
-    elif test -z "$lt_patch"; then
-      lt_status="bad"
-    elif test "$lt_patch" -gt "$need_lt_patch"; then
-      lt_status="good"
-    elif test "$lt_patch" -lt "$need_lt_patch"; then
-      lt_status="bad"
-    else
-      lt_status="good"
-    fi
-    if test "$lt_status" != "good"; then
-      need_lt_version="$need_lt_major.$need_lt_minor.$need_lt_patch"
-      echo "buildconf: libtool version $lt_version found."
-      echo "            $buildhost requires GNU libtool $need_lt_version or 
newer installed."
-      rm -f configure
-      exit 1
-    fi
-  fi
-fi
-
-#--------------------------------------------------------------------------
-# Finished successfully.
-#
-echo "buildconf: OK"
-exit 0
+echo "*** Do not use buildconf. Instead, just use: autoreconf -fi" >&2
+exec ${AUTORECONF:-autoreconf} -fi "${@}"
diff --git a/buildconf.bat b/buildconf.bat
index 043523315..13ae07e1a 100644
--- a/buildconf.bat
+++ b/buildconf.bat
@@ -10,7 +10,7 @@ rem * Copyright (C) 1998 - 2019, Daniel Stenberg, 
<daniel@haxx.se>, et al.
 rem *
 rem * This software is licensed as described in the file COPYING, which
 rem * you should have received as part of this distribution. The terms
-rem * are also available at https://curl.haxx.se/docs/copyright.html.
+rem * are also available at https://curl.se/docs/copyright.html.
 rem *
 rem * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 rem * copies of the Software, and permit persons to whom the Software is
diff --git a/configure.ac b/configure.ac
index fb8fe15df..66b4e6635 100755
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -24,7 +24,7 @@ dnl Process this file with autoconf to produce a configure 
script.
 AC_PREREQ(2.57)
 
 dnl We don't know the version number "statically" so we use a dash here
-AC_INIT([gnurl], [-], [a suitable curl mailing list: 
https://curl.haxx.se/mail/])
+AC_INIT([gnurl], [-], [a suitable curl mailing list: https://curl.se/mail/])
 
 XC_OVR_ZZ50
 XC_OVR_ZZ60
@@ -49,7 +49,7 @@ CURL_CHECK_OPTION_CURLDEBUG
 CURL_CHECK_OPTION_SYMBOL_HIDING
 CURL_CHECK_OPTION_ARES
 CURL_CHECK_OPTION_RT
-CURL_CHECK_OPTION_ESNI
+CURL_CHECK_OPTION_ECH
 
 XC_CHECK_PATH_SEPARATOR
 
@@ -136,7 +136,7 @@ AC_SUBST(VERSIONNUM)
 dnl Solaris pkgadd support definitions
 PKGADD_PKG="HAXXcurl"
 PKGADD_NAME="curl - a client that groks URLs"
-PKGADD_VENDOR="curl.haxx.se"
+PKGADD_VENDOR="curl.se"
 AC_SUBST(PKGADD_PKG)
 AC_SUBST(PKGADD_NAME)
 AC_SUBST(PKGADD_VENDOR)
@@ -192,6 +192,12 @@ AS_IF([test "x$valgrind" = "xno"],
                  [Running tests with valgrind])
        valgrind_msg="yes"])
 
+# curl_altsvc_msg="enabled";
+#    ssl_backends=
+#
+#
+# enable_altsvc="yes"
+
 dnl
 dnl Save some initial values the user might have provided
 dnl
@@ -410,6 +416,10 @@ AC_HELP_STRING([--disable-http],[Disable HTTP support]),
        AC_SUBST(CURL_DISABLE_HTTP, [1])
        AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
        AC_SUBST(CURL_DISABLE_RTSP, [1])
+       dnl toggle off alt-svc too when HTTP is disabled
+       AC_DEFINE(CURL_DISABLE_ALTSVC, 1, [disable alt-svc])
+       curl_altsvc_msg="no";
+       enable_altsvc="no"
        ;;
   *)   AC_MSG_RESULT(yes)
        ;;
@@ -545,6 +555,7 @@ AC_HELP_STRING([--disable-proxy],[Disable proxy support]),
        AC_MSG_RESULT(no)
        AC_DEFINE(CURL_DISABLE_PROXY, 1, [to disable proxies])
        AC_SUBST(CURL_DISABLE_PROXY, [1])
+       https_proxy="no"
        ;;
   *)   AC_MSG_RESULT(yes)
        ;;
@@ -726,11 +737,10 @@ AC_HELP_STRING([--disable-mqtt],[Disable MQTT support]),
 [ case "$enableval" in
   no)
        AC_MSG_RESULT(no)
+       AC_DEFINE(CURL_DISABLE_MQTT, 1, [to disable MQTT])
+       AC_SUBST(CURL_DISABLE_MQTT, [1])
        ;;
   *)   AC_MSG_RESULT(yes)
-       experimental="$experimental MQTT"
-       AC_DEFINE(CURL_ENABLE_MQTT, 1, [to enable MQTT])
-       AC_SUBST(CURL_ENABLE_MQTT, [1])
        ;;
   esac ],
        AC_MSG_RESULT(no)
@@ -937,14 +947,14 @@ then
   ])
 fi
 
-if test "$HAVE_GETHOSTBYNAME" != "1"
+if test "$HAVE_GETHOSTBYNAME" != "1" -o "${with_amissl+set}" = set
 then
   dnl This is for AmigaOS with bsdsocket.library - needs testing before -lnet
   AC_MSG_CHECKING([for gethostbyname for AmigaOS bsdsocket.library])
   AC_LINK_IFELSE([
     AC_LANG_PROGRAM([[
-#include <proto/bsdsocket.h>
-struct Library *SocketBase = NULL;
+  #include <proto/bsdsocket.h>
+  struct Library *SocketBase = NULL;
     ]],[[
       gethostbyname("www.dummysite.com");
     ]])
@@ -1832,20 +1842,14 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
   yes)
     AC_MSG_ERROR([You must not build gnurl with OpenSSL, use --without-ssl!])
     dnl --with-ssl (without path) used
-    if test x$cross_compiling != xyes; then
-      dnl only do pkg-config magic when not cross-compiling
-      PKGTEST="yes"
-    fi
+    PKGTEST="yes"
     PREFIX_OPENSSL=/usr/local/ssl
     LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
     ;;
   off)
     AC_MSG_ERROR([You must not build gnurl with OpenSSL, use --without-ssl!])
     dnl no --with-ssl option given, just check default places
-    if test x$cross_compiling != xyes; then
-      dnl only do pkg-config magic when not cross-compiling
-      PKGTEST="yes"
-    fi
+    PKGTEST="yes"
     PREFIX_OPENSSL=
     ;;
   *)
@@ -2561,8 +2565,12 @@ if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; 
then
             AC_DEFINE(HAVE_WOLFSSL_DES_ECB_ENCRYPT, 1,
                       [if you have wolfSSL_DES_ecb_encrypt])
             if test -n "$addcflags"; then
-              CPPFLAGS="$addcflags/wolfssl $CPPFLAGS"
-              AC_MSG_NOTICE([Add $addcflags/wolfssl to CPPFLAGS])
+              dnl use a for loop to strip off whitespace
+              for f in $addcflags; do
+                CPPFLAGS="$f/wolfssl $CPPFLAGS"
+                AC_MSG_NOTICE([Add $f/wolfssl to CPPFLAGS])
+                break
+              done
             else
               dnl user didn't give a path, so guess/hope they installed wolfssl
               dnl headers to system default location
@@ -3136,7 +3144,8 @@ if test X"$OPT_LIBSSH2" != Xno; then
   CPPFLAGS="$CPPFLAGS $CPP_SSH2"
   LIBS="$LIB_SSH2 $LIBS"
 
-  AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
+  dnl check for function added in libssh2 version 1.0
+  AC_CHECK_LIB(ssh2, libssh2_session_block_directions)
 
   AC_CHECK_HEADERS(libssh2.h,
     curl_ssh_msg="enabled (libSSH2)"
@@ -3643,7 +3652,7 @@ case "$OPT_H2" in
     ;;
 esac
 
-curl_h2_msg="disabled (--with-nghttp2)"
+curl_h2_msg="no      (--with-nghttp2)"
 if test X"$want_h2" != Xno; then
   dnl backup the pre-nghttp2 variables
   CLEANLDFLAGS="$LDFLAGS"
@@ -3702,7 +3711,7 @@ dnl Check for ngtcp2 (QUIC)
 dnl **********************************************************************
 
 OPT_TCP2="yes"
-curl_h3_msg="disabled (--with-ngtcp2, --with-quiche)"
+curl_h3_msg="no      (--with-ngtcp2, --with-quiche)"
 
 if test "x$disable_http" = "xyes"; then
   # without HTTP, ngtcp2 is no use
@@ -3730,7 +3739,7 @@ case "$OPT_TCP2" in
     ;;
 esac
 
-curl_tcp2_msg="disabled (--with-ngtcp2)"
+curl_tcp2_msg="no      (--with-ngtcp2)"
 if test X"$want_tcp2" != Xno; then
   dnl backup the pre-ngtcp2 variables
   CLEANLDFLAGS="$LDFLAGS"
@@ -3929,7 +3938,7 @@ case "$OPT_NGHTTP3" in
     ;;
 esac
 
-curl_http3_msg="disabled (--with-nghttp3)"
+curl_http3_msg="no      (--with-nghttp3)"
 if test X"$want_nghttp3" != Xno; then
   dnl backup the pre-nghttp3 variables
   CLEANLDFLAGS="$LDFLAGS"
@@ -4601,6 +4610,8 @@ if test "$want_pthreads" != "no"; then
       if test "$USE_THREADS_POSIX" != "1"
       then
         CFLAGS="$CFLAGS -pthread"
+        # assign PTHREAD for pkg-config use
+        PTHREAD=" -pthread"
         AC_CHECK_LIB(pthread, pthread_create,
                      [USE_THREADS_POSIX=1],
                      [ CFLAGS="$save_CFLAGS"])
@@ -4786,6 +4797,24 @@ AC_HELP_STRING([--disable-cookies],[Disable cookies 
support]),
        AC_MSG_RESULT(yes)
 )
 
+dnl ************************************************************
+dnl disable socketpair
+dnl
+AC_MSG_CHECKING([whether to support socketpair])
+AC_ARG_ENABLE(socketpair,
+AC_HELP_STRING([--enable-socketpair],[Enable socketpair support])
+AC_HELP_STRING([--disable-socketpair],[Disable socketpair support]),
+[ case "$enableval" in
+  no)
+       AC_MSG_RESULT(no)
+       AC_DEFINE(CURL_DISABLE_SOCKETPAIR, 1, [to disable socketpair support])
+       ;;
+  *)   AC_MSG_RESULT(yes)
+       ;;
+  esac ],
+       AC_MSG_RESULT(yes)
+)
+
 dnl ************************************************************
 dnl disable HTTP authentication support
 dnl
@@ -4912,58 +4941,96 @@ AC_HELP_STRING([--disable-dnsshuffle],[Disable DNS 
shuffling]),
        AC_MSG_RESULT(yes)
 )
 
+dnl ************************************************************
+dnl disable the curl_easy_options API
+dnl
+AC_MSG_CHECKING([whether to support curl_easy_option*])
+AC_ARG_ENABLE(get-easy-option,
+AC_HELP_STRING([--enable-get-easy-options],[Enable curl_easy_options])
+AC_HELP_STRING([--disable-get-easy-options],[Disable curl_easy_options]),
+[ case "$enableval" in
+  no)
+       AC_MSG_RESULT(no)
+       AC_DEFINE(CURL_DISABLE_GETOPTIONS, 1, [to disable curl_easy_options])
+       ;;
+  *)   AC_MSG_RESULT(yes)
+       ;;
+  esac ],
+       AC_MSG_RESULT(yes)
+)
+
 dnl ************************************************************
 dnl switch on/off alt-svc
 dnl
-curl_altsvc_msg="no      (--enable-alt-svc)";
 AC_MSG_CHECKING([whether to support alt-svc])
 AC_ARG_ENABLE(alt-svc,
 AC_HELP_STRING([--enable-alt-svc],[Enable alt-svc support])
 AC_HELP_STRING([--disable-alt-svc],[Disable alt-svc support]),
+[ case "$enableval" in
+  no)
+       AC_MSG_RESULT(no)
+       AC_DEFINE(CURL_DISABLE_ALTSVC, 1, [disable alt-svc])
+       curl_altsvc_msg="no";
+       enable_altsvc="no"
+       ;;
+  *) AC_MSG_RESULT(yes)
+       ;;
+  esac ],
+       AC_MSG_RESULT(no)
+)
+
+dnl ************************************************************
+dnl switch on/off hsts
+dnl
+curl_hsts_msg="no      (--enable-hsts)";
+AC_MSG_CHECKING([whether to support HSTS])
+AC_ARG_ENABLE(hsts,
+AC_HELP_STRING([--enable-hsts],[Enable HSTS support])
+AC_HELP_STRING([--disable-hsts],[Disable HSTS support]),
 [ case "$enableval" in
   no)
        AC_MSG_RESULT(no)
        ;;
   *) AC_MSG_RESULT(yes)
-       curl_altsvc_msg="enabled";
-       enable_altsvc="yes"
+       curl_hsts_msg="enabled";
+       enable_hsts="yes"
        ;;
   esac ],
        AC_MSG_RESULT(no)
 )
 
-if test "$enable_altsvc" = "yes"; then
-  AC_DEFINE(USE_ALTSVC, 1, [to enable alt-svc])
-  experimental="$experimental alt-svc"
+if test "$enable_hsts" = "yes"; then
+  AC_DEFINE(USE_HSTS, 1, [to enable HSTS])
+  experimental="$experimental HSTS"
 fi
 
 dnl *************************************************************
-dnl check whether ESNI support, if desired, is actually available
+dnl check whether ECH support, if desired, is actually available
 dnl
-if test "x$want_esni" != "xno"; then
-  AC_MSG_CHECKING([whether ESNI support is available])
+if test "x$want_ech" != "xno"; then
+  AC_MSG_CHECKING([whether ECH support is available])
 
   dnl assume NOT and look for sufficient condition
-  ESNI_ENABLED=0
-  ESNI_SUPPORT=''
+  ECH_ENABLED=0
+  ECH_SUPPORT=''
 
-  dnl OpenSSL with a chosen ESNI function should be enough
+  dnl OpenSSL with a chosen ECH function should be enough
   dnl so more exhaustive checking seems unnecessary for now
   if test "x$OPENSSL_ENABLED" = "x1"; then
-    AC_CHECK_FUNCS(SSL_get_esni_status,
-      ESNI_SUPPORT="ESNI support available (OpenSSL with SSL_get_esni_status)"
-      ESNI_ENABLED=1)
+    AC_CHECK_FUNCS(SSL_get_ech_status,
+      ECH_SUPPORT="ECH support available (OpenSSL with SSL_get_ech_status)"
+      ECH_ENABLED=1)
 
   dnl add 'elif' chain here for additional implementations
   fi
 
   dnl now deal with whatever we found
-  if test "x$ESNI_ENABLED" = "x1"; then
-    AC_DEFINE(USE_ESNI, 1, [if ESNI support is available])
-    AC_MSG_RESULT($ESNI_SUPPORT)
-    experimental="$experimental ESNI"
+  if test "x$ECH_ENABLED" = "x1"; then
+    AC_DEFINE(USE_ECH, 1, [if ECH support is available])
+    AC_MSG_RESULT($ECH_SUPPORT)
+    experimental="$experimental ECH"
   else
-    AC_MSG_ERROR([--enable-esni ignored: No ESNI support found])
+    AC_MSG_ERROR([--enable-ech ignored: No ECH support found])
   fi
 fi
 
@@ -4975,7 +5042,7 @@ CURL_CONFIGURE_SYMBOL_HIDING
 dnl
 dnl All the library dependencies put into $LIB apply to libcurl only.
 dnl
-LIBCURL_LIBS=$LIBS
+LIBCURL_LIBS="$LIBS$PTHREAD"
 
 AC_SUBST(LIBCURL_LIBS)
 AC_SUBST(CURL_NETWORK_LIBS)
@@ -5053,6 +5120,9 @@ fi
 if test "x$enable_altsvc" = "xyes"; then
   SUPPORT_FEATURES="$SUPPORT_FEATURES alt-svc"
 fi
+if test "x$enable_hsts" = "xyes"; then
+  SUPPORT_FEATURES="$SUPPORT_FEATURES HSTS"
+fi
 
 if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \
     \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then
@@ -5094,13 +5164,16 @@ if test "x$CURL_WITH_MULTI_SSL" = "x1"; then
   SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL"
 fi
 
-if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \
-    -o "x$NSS_ENABLED" = "x1"; then
-  SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy"
+dnl if not explictily turned off, HTTPS-proxy comes with some TLS backends
+if test "x$https_proxy" != "xno"; then
+  if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \
+      -o "x$NSS_ENABLED" = "x1"; then
+    SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy"
+  fi
 fi
 
-if test "x$ESNI_ENABLED" = "x1"; then
-  SUPPORT_FEATURES="$SUPPORT_FEATURES ESNI"
+if test "x$ECH_ENABLED" = "x1"; then
+  SUPPORT_FEATURES="$SUPPORT_FEATURES ECH"
 fi
 
 dnl replace spaces with newlines
@@ -5146,7 +5219,7 @@ fi
 if test "x$CURL_DISABLE_GOPHER" != "x1"; then
   SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS GOPHER"
 fi
-if test "x$CURL_ENABLE_MQTT" = "x1"; then
+if test "x$CURL_DISABLE_MQTT" != "x1"; then
   SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS MQTT"
 fi
 if test "x$CURL_DISABLE_POP3" != "x1"; then
@@ -5163,7 +5236,7 @@ if test "x$CURL_DISABLE_IMAP" != "x1"; then
 fi
 if test "x$CURL_DISABLE_SMB" != "x1" \
     -a "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" \
-    -a \( "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
+    -a \( "x$OPENSSL_ENABLED" = "x1" \
       -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \
       -o "x$NSS_ENABLED" = "x1" -o "x$SECURETRANSPORT_ENABLED" = "x1" \
       -o "x$WOLFSSL_NTLM" = "x1" \); then
@@ -5298,7 +5371,7 @@ AC_MSG_NOTICE([Configured to build gnurl/libgnurl:
   Alt-svc:          ${curl_altsvc_msg}
   HTTP2:            ${curl_h2_msg}
   HTTP3:            ${curl_h3_msg}
-  ESNI:             ${curl_esni_msg}
+  ECH:              ${curl_ech_msg}
   Protocols:        ${SUPPORT_PROTOCOLS}
   Features:         ${SUPPORT_FEATURES}
   valgrind tests:   ${valgrind_msg}
diff --git a/docs/ALTSVC.md b/docs/ALTSVC.md
index 6a462bbbc..25437d6f9 100644
--- a/docs/ALTSVC.md
+++ b/docs/ALTSVC.md
@@ -1,11 +1,13 @@
 # Alt-Svc
 
-curl features **EXPERIMENTAL** support for the Alt-Svc: HTTP header.
+curl features support for the Alt-Svc: HTTP header.
 
 ## Enable Alt-Svc in build
 
 `./configure --enable-alt-svc`
 
+(enabled by default since 7.73.0)
+
 ## Standard
 
 [RFC 7838](https://tools.ietf.org/html/rfc7838)
diff --git a/docs/BUGS b/docs/BUGS
deleted file mode 100644
index 480e0caec..000000000
--- a/docs/BUGS
+++ /dev/null
@@ -1,302 +0,0 @@
-                                  _   _ ____  _
-                              ___| | | |  _ \| |
-                             / __| | | | |_) | |
-                            | (__| |_| |  _ <| |___
-                             \___|\___/|_| \_\_____|
-
-BUGS
-
- 1. Bugs
-  1.1 There are still bugs
-  1.2 Where to report
-  1.3 Security bugs
-  1.4 What to report
-  1.5 libcurl problems
-  1.6 Who will fix the problems
-  1.7 How to get a stack trace
-  1.8 Bugs in libcurl bindings
-  1.9 Bugs in old versions
-
- 2. Bug fixing procedure
- 2.1 What happens on first filing
- 2.2 First response
- 2.3 Not reproducible
- 2.4 Unresponsive
- 2.5 Lack of time/interest
- 2.6 KNOWN_BUGS
- 2.7 TODO
- 2.8 Closing off stalled bugs
-
-==============================================================================
-
-1.1 There are still bugs
-
-  Curl and libcurl keep being developed. Adding features and changing code
-  means that bugs will sneak in, no matter how hard we try not to.
-
-  Of course there are lots of bugs left. And lots of misfeatures.
-
-  To help us make curl the stable and solid product we want it to be, we need
-  bug reports and bug fixes.
-
-1.2 Where to report
-
-  If you can't fix a bug yourself and submit a fix for it, try to report an as
-  detailed report as possible to a curl mailing list to allow one of us to
-  have a go at a solution. You can optionally also post your bug/problem at
-  curl's bug tracking system over at
-
-        https://github.com/curl/curl/issues
-
-  Please read the rest of this document below first before doing that!
-
-  If you feel you need to ask around first, find a suitable mailing list and
-  post there. The lists are available on https://curl.haxx.se/mail/
-
-1.3 Security bugs
-
-  If you find a bug or problem in curl or libcurl that you think has a
-  security impact, for example a bug that can put users in danger or make them
-  vulnerable if the bug becomes public knowledge, then please report that bug
-  using our security development process.
-
-  Security related bugs or bugs that are suspected to have a security impact,
-  should be reported on the curl security tracker at HackerOne:
-
-        https://hackerone.com/curl
-
-  This ensures that the report reaches the curl security team so that they
-  first can be deal with the report away from the public to minimize the harm
-  and impact it will have on existing users out there who might be using the
-  vulnerable versions.
-
-  The curl project's process for handling security related issues is
-  documented here:
-
-        https://curl.haxx.se/dev/secprocess.html
-
-1.4 What to report
-
-  When reporting a bug, you should include all information that will help us
-  understand what's wrong, what you expected to happen and how to repeat the
-  bad behavior. You therefore need to tell us:
-
-   - your operating system's name and version number
-
-   - what version of curl you're using (curl -V is fine)
-
-   - versions of the used libraries that libcurl is built to use
-
-   - what URL you were working with (if possible), at least which protocol
-
-  and anything and everything else you think matters. Tell us what you
-  expected to happen, tell use what did happen, tell us how you could make it
-  work another way. Dig around, try out, test. Then include all the tiny bits
-  and pieces in your report. You will benefit from this yourself, as it will
-  enable us to help you quicker and more accurately.
-
-  Since curl deals with networks, it often helps us if you include a protocol
-  debug dump with your bug report. The output you get by using the -v or
-  --trace options.
-
-  If curl crashed, causing a core dump (in unix), there is hardly any use to
-  send that huge file to anyone of us. Unless we have an exact same system
-  setup as you, we can't do much with it. Instead we ask you to get a stack
-  trace and send that (much smaller) output to us instead!
-
-  The address and how to subscribe to the mailing lists are detailed in the
-  MANUAL file.
-
-1.5 libcurl problems
-
-  When you've written your own application with libcurl to perform transfers,
-  it is even more important to be specific and detailed when reporting bugs.
-
-  Tell us the libcurl version and your operating system. Tell us the name and
-  version of all relevant sub-components like for example the SSL library
-  you're using and what name resolving your libcurl uses. If you use SFTP or
-  SCP, the libssh2 version is relevant etc.
-
-  Showing us a real source code example repeating your problem is the best way
-  to get our attention and it will greatly increase our chances to understand
-  your problem and to work on a fix (if we agree it truly is a problem).
-
-  Lots of problems that appear to be libcurl problems are actually just abuses
-  of the libcurl API or other malfunctions in your applications. It is advised
-  that you run your problematic program using a memory debug tool like
-  valgrind or similar before you post memory-related or "crashing" problems to
-  us.
-
-1.6 Who will fix the problems
-
-  If the problems or bugs you describe are considered to be bugs, we want to
-  have the problems fixed.
-
-  There are no developers in the curl project that are paid to work on bugs.
-  All developers that take on reported bugs do this on a voluntary basis. We
-  do it out of an ambition to keep curl and libcurl excellent products and out
-  of pride.
-
-  But please do not assume that you can just lump over something to us and it
-  will then magically be fixed after some given time. Most often we need
-  feedback and help to understand what you've experienced and how to repeat a
-  problem. Then we may only be able to assist YOU to debug the problem and to
-  track down the proper fix.
-
-  We get reports from many people every month and each report can take a
-  considerable amount of time to really go to the bottom with.
-
-1.7 How to get a stack trace
-
-  First, you must make sure that you compile all sources with -g and that you
-  don't 'strip' the final executable. Try to avoid optimizing the code as
-  well, remove -O, -O2 etc from the compiler options.
-
-  Run the program until it cores.
-
-  Run your debugger on the core file, like '<debugger> curl core'. <debugger>
-  should be replaced with the name of your debugger, in most cases that will
-  be 'gdb', but 'dbx' and others also occur.
-
-  When the debugger has finished loading the core file and presents you a
-  prompt, enter 'where' (without the quotes) and press return.
-
-  The list that is presented is the stack trace. If everything worked, it is
-  supposed to contain the chain of functions that were called when curl
-  crashed. Include the stack trace with your detailed bug report. It'll help a
-  lot.
-
-1.8 Bugs in libcurl bindings
-
-  There will of course pop up bugs in libcurl bindings. You should then
-  primarily approach the team that works on that particular binding and see
-  what you can do to help them fix the problem.
-
-  If you suspect that the problem exists in the underlying libcurl, then
-  please convert your program over to plain C and follow the steps outlined
-  above.
-
-1.9 Bugs in old versions
-
-  The curl project typically releases new versions every other month, and we
-  fix several hundred bugs per year. For a huge table of releases, number of
-  bug fixes and more, see: https://curl.haxx.se/docs/releases.html
-
-  The developers in the curl project do not have bandwidth or energy enough to
-  maintain several branches or to spend much time on hunting down problems in
-  old versions when chances are we already fixed them or at least that they've
-  changed nature and appearance in later versions.
-
-  When you experience a problem and want to report it, you really SHOULD
-  include the version number of the curl you're using when you experience the
-  issue. If that version number shows us that you're using an out-of-date
-  curl, you should also try out a modern curl version to see if the problem
-  persists or how/if it has changed in appearance.
-
-  Even if you cannot immediately upgrade your application/system to run the
-  latest curl version, you can most often at least run a test version or
-  experimental build or similar, to get this confirmed or not.
-
-  At times people insist that they cannot upgrade to a modern curl version,
-  but instead they "just want the bug fixed". That's fine, just don't count on
-  us spending many cycles on trying to identify which single commit, if that's
-  even possible, that at some point in the past fixed the problem you're now
-  experiencing.
-
-  Security wise, it is almost always a bad idea to lag behind the current curl
-  versions by a lot. We keeping discovering and reporting security problems
-  over time see you can see in this table:
-  https://curl.haxx.se/docs/vulnerabilities.html
-
-2. Bug fixing procedure
-
-2.1 What happens on first filing
-
-  When a new issue is posted in the issue tracker or on the mailing list, the
-  team of developers first need to see the report. Maybe they took the day
-  off, maybe they're off in the woods hunting. Have patience. Allow at least a
-  few days before expecting someone to have responded.
-
-  In the issue tracker you can expect that some labels will be set on the
-  issue to help categorize it.
-
-2.2 First response
-
-  If your issue/bug report wasn't perfect at once (and few are), chances are
-  that someone will ask follow-up questions. Which version did you use? Which
-  options did you use? How often does the problem occur? How can we reproduce
-  this problem? Which protocols does it involve? Or perhaps much more specific
-  and deep diving questions. It all depends on your specific issue.
-
-  You should then respond to these follow-up questions and provide more info
-  about the problem, so that we can help you figure it out. Or maybe you can
-  help us figure it out. An active back-and-forth communication is important
-  and the key for finding a cure and landing a fix.
-
-2.3 Not reproducible
-
-  For problems that we can't reproduce and can't understand even after having
-  gotten all the info we need and having studied the source code over again,
-  are really hard to solve so then we may require further work from you who
-  actually see or experience the problem.
-
-2.4 Unresponsive
-
-  If the problem haven't been understood or reproduced, and there's nobody
-  responding to follow-up questions or questions asking for clarifications or
-  for discussing possible ways to move forward with the task, we take that as
-  a strong suggestion that the bug is not important.
-
-  Unimportant issues will be closed as inactive sooner or later as they can't
-  be fixed. The inactivity period (waiting for responses) should not be
-  shorter than two weeks but may extend months.
-
-2.5 Lack of time/interest
-
-  Bugs that are filed and are understood can unfortunately end up in the
-  "nobody cares enough about it to work on it" category. Such bugs are
-  perfectly valid problems that *should* get fixed but apparently aren't. We
-  try to mark such bugs as "KNOWN_BUGS material" after a time of inactivity
-  and if no activity is noticed after yet some time those bugs are added to
-  KNOWN_BUGS and are closed in the issue tracker.
-
-2.6 KNOWN_BUGS
-
-  This is a list of known bugs. Bugs we know exist and that have been pointed
-  out but that haven't yet been fixed. The reasons for why they haven't been
-  fixed can involve anything really, but the primary reason is that nobody has
-  considered these problems to be important enough to spend the necessary time
-  and effort to have them fixed.
-
-  The KNOWN_BUGS are always up for grabs and we will always love the ones who
-  bring one of them back to live and offers solutions to them.
-
-  The KNOWN_BUGS document has a sibling document known as TODO.
-
-2.7 TODO
-
-  Issues that are filed or reported that aren't really bugs but more missing
-  features or ideas for future improvements and so on are marked as
-  'enhancement' or 'feature-request' and will be added to the TODO document
-  instead and the issue is closed. We don't keep TODO items in the issue
-  tracker.
-
-  The TODO document is full of ideas and suggestions of what we can add or fix
-  one day. You're always encouraged and free to grab one of those items and
-  take up a discussion with the curl development team on how that could be
-  implemented or provided in the project so that you can work on ticking it
-  odd that document.
-
-  If the issue is rather a bug and not a missing feature or functionality, it
-  is listed in KNOWN_BUGS instead.
-
-2.8 Closing off stalled bugs
-
-  The issue and pull request trackers on https://github.com/curl/curl will
-  only hold "active" entries (using a non-precise definition of what active
-  actually is, but they're at least not completely dead). Those that are
-  abandoned or in other ways dormant will be closed and sometimes added to
-  TODO and KNOWN_BUGS instead.
-
-  This way, we only have "active" issues open on github. Irrelevant issues and
-  pull requests will not distract developers or casual visitors.
diff --git a/docs/BUGS.md b/docs/BUGS.md
new file mode 100644
index 000000000..c091cda75
--- /dev/null
+++ b/docs/BUGS.md
@@ -0,0 +1,266 @@
+# BUGS
+
+## There are still bugs
+
+ Curl and libcurl keep being developed. Adding features and changing code
+ means that bugs will sneak in, no matter how hard we try not to.
+
+ Of course there are lots of bugs left. And lots of misfeatures.
+
+ To help us make curl the stable and solid product we want it to be, we need
+ bug reports and bug fixes.
+
+## Where to report
+
+ If you can't fix a bug yourself and submit a fix for it, try to report an as
+ detailed report as possible to a curl mailing list to allow one of us to have
+ a go at a solution. You can optionally also submit your problem in [curl's
+ bug tracking system](https://github.com/curl/curl/issues).
+
+ Please read the rest of this document below first before doing that!
+
+ If you feel you need to ask around first, find a suitable [mailing list](
+ https://curl.se/mail/) and post your questions there.
+
+## Security bugs
+
+ If you find a bug or problem in curl or libcurl that you think has a security
+ impact, for example a bug that can put users in danger or make them
+ vulnerable if the bug becomes public knowledge, then please report that bug
+ using our security development process.
+
+ Security related bugs or bugs that are suspected to have a security impact,
+ should be reported on the [curl security tracker at
+ HackerOne](https://hackerone.com/curl).
+
+ This ensures that the report reaches the curl security team so that they
+ first can be deal with the report away from the public to minimize the harm
+ and impact it will have on existing users out there who might be using the
+ vulnerable versions.
+
+ The curl project's process for handling security related issues is
+ [documented separately](https://curl.se/dev/secprocess.html).
+
+## What to report
+
+ When reporting a bug, you should include all information that will help us
+ understand what's wrong, what you expected to happen and how to repeat the
+ bad behavior. You therefore need to tell us:
+
+ - your operating system's name and version number
+
+ - what version of curl you're using (`curl -V` is fine)
+
+ - versions of the used libraries that libcurl is built to use
+
+ - what URL you were working with (if possible), at least which protocol
+
+ and anything and everything else you think matters. Tell us what you expected
+ to happen, tell use what did happen, tell us how you could make it work
+ another way. Dig around, try out, test. Then include all the tiny bits and
+ pieces in your report. You will benefit from this yourself, as it will enable
+ us to help you quicker and more accurately.
+
+ Since curl deals with networks, it often helps us if you include a protocol
+ debug dump with your bug report. The output you get by using the `-v` or
+ `--trace` options.
+
+ If curl crashed, causing a core dump (in unix), there is hardly any use to
+ send that huge file to anyone of us. Unless we have an exact same system
+ setup as you, we can't do much with it. Instead we ask you to get a stack
+ trace and send that (much smaller) output to us instead!
+
+ The address and how to subscribe to the mailing lists are detailed in the
+ `MANUAL.md` file.
+
+## libcurl problems
+
+ When you've written your own application with libcurl to perform transfers,
+ it is even more important to be specific and detailed when reporting bugs.
+
+ Tell us the libcurl version and your operating system. Tell us the name and
+ version of all relevant sub-components like for example the SSL library
+ you're using and what name resolving your libcurl uses. If you use SFTP or
+ SCP, the libssh2 version is relevant etc.
+
+ Showing us a real source code example repeating your problem is the best way
+ to get our attention and it will greatly increase our chances to understand
+ your problem and to work on a fix (if we agree it truly is a problem).
+
+ Lots of problems that appear to be libcurl problems are actually just abuses
+ of the libcurl API or other malfunctions in your applications. It is advised
+ that you run your problematic program using a memory debug tool like valgrind
+ or similar before you post memory-related or "crashing" problems to us.
+
+## Who will fix the problems
+
+ If the problems or bugs you describe are considered to be bugs, we want to
+ have the problems fixed.
+
+ There are no developers in the curl project that are paid to work on bugs.
+ All developers that take on reported bugs do this on a voluntary basis. We do
+ it out of an ambition to keep curl and libcurl excellent products and out of
+ pride.
+
+ But please do not assume that you can just lump over something to us and it
+ will then magically be fixed after some given time. Most often we need
+ feedback and help to understand what you've experienced and how to repeat a
+ problem. Then we may only be able to assist YOU to debug the problem and to
+ track down the proper fix.
+
+ We get reports from many people every month and each report can take a
+ considerable amount of time to really go to the bottom with.
+
+## How to get a stack trace
+
+ First, you must make sure that you compile all sources with `-g` and that you
+ don't 'strip' the final executable. Try to avoid optimizing the code as well,
+ remove `-O`, `-O2` etc from the compiler options.
+
+ Run the program until it cores.
+
+ Run your debugger on the core file, like `<debugger> curl
+ core`. `<debugger>` should be replaced with the name of your debugger, in
+ most cases that will be `gdb`, but `dbx` and others also occur.
+
+ When the debugger has finished loading the core file and presents you a
+ prompt, enter `where` (without quotes) and press return.
+
+ The list that is presented is the stack trace. If everything worked, it is
+ supposed to contain the chain of functions that were called when curl
+ crashed. Include the stack trace with your detailed bug report. It'll help a
+ lot.
+
+## Bugs in libcurl bindings
+
+ There will of course pop up bugs in libcurl bindings. You should then
+ primarily approach the team that works on that particular binding and see
+ what you can do to help them fix the problem.
+
+ If you suspect that the problem exists in the underlying libcurl, then please
+ convert your program over to plain C and follow the steps outlined above.
+
+## Bugs in old versions
+
+ The curl project typically releases new versions every other month, and we
+ fix several hundred bugs per year. For a huge table of releases, number of
+ bug fixes and more, see: https://curl.se/docs/releases.html
+
+ The developers in the curl project do not have bandwidth or energy enough to
+ maintain several branches or to spend much time on hunting down problems in
+ old versions when chances are we already fixed them or at least that they've
+ changed nature and appearance in later versions.
+
+ When you experience a problem and want to report it, you really SHOULD
+ include the version number of the curl you're using when you experience the
+ issue. If that version number shows us that you're using an out-of-date curl,
+ you should also try out a modern curl version to see if the problem persists
+ or how/if it has changed in appearance.
+
+ Even if you cannot immediately upgrade your application/system to run the
+ latest curl version, you can most often at least run a test version or
+ experimental build or similar, to get this confirmed or not.
+
+ At times people insist that they cannot upgrade to a modern curl version, but
+ instead they "just want the bug fixed". That's fine, just don't count on us
+ spending many cycles on trying to identify which single commit, if that's
+ even possible, that at some point in the past fixed the problem you're now
+ experiencing.
+
+ Security wise, it is almost always a bad idea to lag behind the current curl
+ versions by a lot. We keeping discovering and reporting security problems
+ over time see you can see in [this
+ table](https://curl.se/docs/vulnerabilities.html)
+
+# Bug fixing procedure
+
+## What happens on first filing
+
+ When a new issue is posted in the issue tracker or on the mailing list, the
+ team of developers first need to see the report. Maybe they took the day off,
+ maybe they're off in the woods hunting. Have patience. Allow at least a few
+ days before expecting someone to have responded.
+
+ In the issue tracker you can expect that some labels will be set on the issue
+ to help categorize it.
+
+## First response
+
+ If your issue/bug report wasn't perfect at once (and few are), chances are
+ that someone will ask follow-up questions. Which version did you use? Which
+ options did you use? How often does the problem occur? How can we reproduce
+ this problem? Which protocols does it involve? Or perhaps much more specific
+ and deep diving questions. It all depends on your specific issue.
+
+ You should then respond to these follow-up questions and provide more info
+ about the problem, so that we can help you figure it out. Or maybe you can
+ help us figure it out. An active back-and-forth communication is important
+ and the key for finding a cure and landing a fix.
+
+## Not reproducible
+
+ For problems that we can't reproduce and can't understand even after having
+ gotten all the info we need and having studied the source code over again,
+ are really hard to solve so then we may require further work from you who
+ actually see or experience the problem.
+
+## Unresponsive
+
+ If the problem haven't been understood or reproduced, and there's nobody
+ responding to follow-up questions or questions asking for clarifications or
+ for discussing possible ways to move forward with the task, we take that as a
+ strong suggestion that the bug is not important.
+
+ Unimportant issues will be closed as inactive sooner or later as they can't
+ be fixed. The inactivity period (waiting for responses) should not be shorter
+ than two weeks but may extend months.
+
+## Lack of time/interest
+
+ Bugs that are filed and are understood can unfortunately end up in the
+ "nobody cares enough about it to work on it" category. Such bugs are
+ perfectly valid problems that *should* get fixed but apparently aren't. We
+ try to mark such bugs as `KNOWN_BUGS material` after a time of inactivity and
+ if no activity is noticed after yet some time those bugs are added to
+ `KNOWN_BUGS` and are closed in the issue tracker.
+
+## `KNOWN_BUGS`
+
+ This is a list of known bugs. Bugs we know exist and that have been pointed
+ out but that haven't yet been fixed. The reasons for why they haven't been
+ fixed can involve anything really, but the primary reason is that nobody has
+ considered these problems to be important enough to spend the necessary time
+ and effort to have them fixed.
+
+ The `KNOWN_BUGS` are always up for grabs and we will always love the ones who
+ bring one of them back to live and offers solutions to them.
+
+ The `KNOWN_BUGS` document has a sibling document known as `TODO`.
+
+## `TODO`
+
+ Issues that are filed or reported that aren't really bugs but more missing
+ features or ideas for future improvements and so on are marked as
+ 'enhancement' or 'feature-request' and will be added to the `TODO` document
+ instead and the issue is closed. We don't keep TODO items in the issue
+ tracker.
+
+ The `TODO` document is full of ideas and suggestions of what we can add or
+ fix one day. You're always encouraged and free to grab one of those items and
+ take up a discussion with the curl development team on how that could be
+ implemented or provided in the project so that you can work on ticking it odd
+ that document.
+
+ If the issue is rather a bug and not a missing feature or functionality, it
+ is listed in `KNOWN_BUGS` instead.
+
+## Closing off stalled bugs
+
+ The [issue and pull request trackers](https://github.com/curl/curl) only
+ holds "active" entries open (using a non-precise definition of what active
+ actually is, but they're at least not completely dead). Those that are
+ abandoned or in other ways dormant will be closed and sometimes added to
+ `TODO` and `KNOWN_BUGS` instead.
+
+ This way, we only have "active" issues open on github. Irrelevant issues and
+ pull requests will not distract developers or casual visitors.
diff --git a/docs/CHECKSRC.md b/docs/CHECKSRC.md
index 96150922b..d36763bc5 100644
--- a/docs/CHECKSRC.md
+++ b/docs/CHECKSRC.md
@@ -70,6 +70,8 @@ warnings are:
 - `NOSPACEEQUALS`: An equals sign was found without preceding space. We prefer
   `a = 2` and *not* `a=2`.
 
+- `ONELINECONDITION`: do not put the conditional block on the same line as 
`if()`
+
 - `OPENCOMMENT`: File ended with a comment (`/*`) still "open".
 
 - `PARENBRACE`: `){` was used without sufficient space in between.
@@ -98,7 +100,9 @@ warnings are:
 
 - `TABS`: TAB characters are not allowed!
 
-- `TRAILINGSPACE`: Trailing white space on the line
+- `TRAILINGSPACE`: Trailing whitespace on the line
+
+- `TYPEDEFSTRUCT`: we frown upon (most) typedefed structs
 
 - `UNUSEDIGNORE`: a checksrc inlined warning ignore was asked for but not used,
    that's an ignore that should be removed or changed to get used.
diff --git a/docs/CIPHERS.md b/docs/CIPHERS.md
index 19aedf36f..2190ff156 100644
--- a/docs/CIPHERS.md
+++ b/docs/CIPHERS.md
@@ -1,15 +1,15 @@
 # Ciphers
 
 With curl's options
-[`CURLOPT_SSL_CIPHER_LIST`](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html)
+[`CURLOPT_SSL_CIPHER_LIST`](https://curl.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html)
 and
-[`--ciphers`](https://curl.haxx.se/docs/manpage.html#--ciphers)
+[`--ciphers`](https://curl.se/docs/manpage.html#--ciphers)
 users can control which ciphers to consider when negotiating TLS connections.
 
 TLS 1.3 ciphers are supported since curl 7.61 for OpenSSL 1.1.1+ with options
-[`CURLOPT_TLS13_CIPHERS`](https://curl.haxx.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html)
+[`CURLOPT_TLS13_CIPHERS`](https://curl.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html)
 and
-[`--tls13-ciphers`](https://curl.haxx.se/docs/manpage.html#--tls13-ciphers)
+[`--tls13-ciphers`](https://curl.se/docs/manpage.html#--tls13-ciphers)
 . If you are using a different SSL backend you can try setting TLS 1.3 cipher
 suites by using the respective regular cipher option.
 
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index 22863bc0f..b3230ec52 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/CONTRIBUTE.md b/docs/CONTRIBUTE.md
index 3d4bf49e0..6b86b25c4 100644
--- a/docs/CONTRIBUTE.md
+++ b/docs/CONTRIBUTE.md
@@ -8,14 +8,14 @@ flaws or bugs.
 
 ### Join the Community
 
-Skip over to [https://curl.haxx.se/mail/](https://curl.haxx.se/mail/) and join
+Skip over to [https://curl.se/mail/](https://curl.se/mail/) and join
 the appropriate mailing list(s).  Read up on details before you post
 questions. Read this file before you start sending patches! We prefer
 questions sent to and discussions being held on the mailing list(s), not sent
 to individuals.
 
 Before posting to one of the curl mailing lists, please read up on the
-[mailing list etiquette](https://curl.haxx.se/mail/etiquette.html).
+[mailing list etiquette](https://curl.se/mail/etiquette.html).
 
 We also hang out on IRC in #curl on irc.freenode.net
 
@@ -49,12 +49,12 @@ always provide us with your full real name when 
contributing!
 ### What To Read
 
 Source code, the man pages, the [INTERNALS
-document](https://curl.haxx.se/dev/internals.html),
-[TODO](https://curl.haxx.se/docs/todo.html),
-[KNOWN_BUGS](https://curl.haxx.se/docs/knownbugs.html) and the [most recent
-changes](https://curl.haxx.se/dev/sourceactivity.html) in git. Just lurking on
+document](https://curl.se/dev/internals.html),
+[TODO](https://curl.se/docs/todo.html),
+[KNOWN_BUGS](https://curl.se/docs/knownbugs.html) and the [most recent
+changes](https://curl.se/dev/sourceactivity.html) in git. Just lurking on
 the [curl-library mailing
-list](https://curl.haxx.se/mail/list.cgi?list=curl-library) will give you a
+list](https://curl.se/mail/list.cgi?list=curl-library) will give you a
 lot of insights on what's going on right now. Asking there is a good idea too.
 
 ## Write a good patch
@@ -62,7 +62,7 @@ lot of insights on what's going on right now. Asking there is 
a good idea too.
 ### Follow code style
 
 When writing C code, follow the
-[CODE_STYLE](https://curl.haxx.se/dev/code-style.html) already established in
+[CODE_STYLE](https://curl.se/dev/code-style.html) already established in
 the project. Consistent style makes code easier to read and mistakes less
 likely to happen. Run `make checksrc` before you submit anything, to make sure
 you follow the basic style. That script doesn't verify everything, but if it
@@ -131,7 +131,7 @@ verified your changes.
 Ideally you file a [pull request on
 github](https://github.com/curl/curl/pulls), but you can also send your plain
 patch to [the curl-library mailing
-list](https://curl.haxx.se/mail/list.cgi?list=curl-library).
+list](https://curl.se/mail/list.cgi?list=curl-library).
 
 Either way, your change will be reviewed and discussed there and you will be
 expected to correct flaws pointed out and update accordingly, or the change
@@ -172,6 +172,33 @@ you are expected to fix the problem. If you don't 
understand when the issue is
 or have other problems to fix the complaint, just ask and other project
 members will likely be able to help out.
 
+Consider the following table while looking at pull request failures:
+
+ | CI platform as shown in PR          | State  | What to look at next       |
+ | ----------------------------------- | ------ | -------------------------- |
+ | CI / codeql                         | stable | quality check results      |
+ | CI / fuzzing                        | stable | fuzzing results            |
+ | CI / macos ...                      | stable | all errors and failures    |
+ | Code scanning results / CodeQL      | stable | quality check results      |
+ | FreeBSD FreeBSD: ...                | stable | all errors and failures    |
+ | LGTM analysis: Python               | stable | new findings               |
+ | LGTM analysis:  C/C++               | stable | new findings               |
+ | buildbot/curl_winssl_ ...           | stable | all errors and failures    |
+ | continuous-integration/appveyor/pr  | stable | all errors and failures    |
+ | continuous-integration/travis-ci/pr | stable | all errors and failures    |
+ | curl.curl (linux ...)               | stable | all errors and failures    |
+ | curl.curl (windows ...)             | flaky  | repetitive errors/failures |
+ | deepcode-ci-bot                     | stable | new findings               |
+ | musedev                             | stable | new findings               |
+
+Sometimes the tests fail due to a dependency service temporarily being offline
+or otherwise unavailable, eg. package downloads. In this case you can just
+try to update your pull requests to rerun the tests later as described below.
+
+You can update your pull requests by pushing new commits or force-pushing
+changes to existing commits. Force-pushing an amended commit without any
+actual content changed also allows you to retrigger the tests for that commit.
+
 When you adjust your pull requests after review, consider squashing the
 commits so that we can review the full updated version more easily.
 
diff --git a/docs/CURL-DISABLE.md b/docs/CURL-DISABLE.md
index 83436b473..6f703a3d9 100644
--- a/docs/CURL-DISABLE.md
+++ b/docs/CURL-DISABLE.md
@@ -1,5 +1,9 @@
 # Code defines to disable features and protocols
 
+## CURL_DISABLE_ALTSVC
+
+Disable support for Alt-Svc: HTTP headers.
+
 ## CURL_DISABLE_COOKIES
 
 Disable support for HTTP cookies.
@@ -24,6 +28,11 @@ Disable the FILE protocol
 
 Disable the FTP (and FTPS) protocol
 
+## CURL_DISABLE_GETOPTIONS
+
+Disable the `curl_easy_options` API calls that lets users get information
+about existing options to `curl_easy_setopt`.
+
 ## CURL_DISABLE_GOPHER
 
 Disable the GOPHER protocol.
@@ -57,6 +66,10 @@ Disable the --libcurl option from the curl tool.
 
 Disable MIME support.
 
+## CURL_DISABLE_MQTT
+
+Disable MQTT support.
+
 ## CURL_DISABLE_NETRC
 
 Disable the netrc parser.
@@ -97,6 +110,11 @@ Disable the SMB(S) protocols
 
 Disable the SMTP(S) protocols
 
+## CURL_DISABLE_SOCKETPAIR
+
+Disable the use of socketpair internally to allow waking up and canceling
+curl_multi_poll().
+
 ## CURL_DISABLE_TELNET
 
 Disable the TELNET protocol
diff --git a/docs/DYNBUF.md b/docs/DYNBUF.md
index 382c1365d..aa528ec3a 100644
--- a/docs/DYNBUF.md
+++ b/docs/DYNBUF.md
@@ -42,6 +42,12 @@ Append a C string to the end of the buffer.
 
 Append a `printf()`-style string to the end of the buffer.
 
+## vaddf
+
+    CURLcode Curl_dyn_vaddf(struct dynbuf *s, const char *fmt, va_list ap);
+
+Append a `vprintf()`-style string to the end of the buffer.
+
 ## reset
 
     void Curl_dyn_reset(struct dynbuf *s);
diff --git a/docs/ESNI.md b/docs/ECH.md
similarity index 55%
rename from docs/ESNI.md
rename to docs/ECH.md
index 7feaa75ad..ad64a6a60 100644
--- a/docs/ESNI.md
+++ b/docs/ECH.md
@@ -1,24 +1,23 @@
-# TLS: ESNI support in curl and libcurl
+# TLS: ECH support in curl and libcurl
 
 ## Summary
 
-**ESNI** means **Encrypted Server Name Indication**, a TLS 1.3
-extension which is currently the subject of an
-[IETF Draft][tlsesni].
+**ECH** means **Encrypted Client Hello**, a TLS 1.3 extension which is
+currently the subject of an [IETF Draft][tlsesni]. (ECH was formerly known as
+ESNI).
 
-This file is intended to show the latest current state of ESNI support
+This file is intended to show the latest current state of ECH support
 in **curl** and **libcurl**.
 
-At end of August 2019, an [experimental fork of curl][niallorcurl],
-built using an [experimental fork of OpenSSL][sftcdopenssl], which in
-turn provided an implementation of ESNI, was demonstrated
-interoperating with a server belonging to the [DEfO
-Project][defoproj].
+At end of August 2019, an [experimental fork of curl][niallorcurl], built
+using an [experimental fork of OpenSSL][sftcdopenssl], which in turn provided
+an implementation of ECH, was demonstrated interoperating with a server
+belonging to the [DEfO Project][defoproj].
 
 Further sections here describe
 
 -   resources needed for building and demonstrating **curl** support
-    for ESNI,
+    for ECH,
 
 -   progress to date,
 
@@ -28,18 +27,18 @@ Further sections here describe
 
 ## Resources needed
 
-To build and demonstrate ESNI support in **curl** and/or **libcurl**,
+To build and demonstrate ECH support in **curl** and/or **libcurl**,
 you will need
 
--   a TLS library, supported by **libcurl**, which implements ESNI;
+-   a TLS library, supported by **libcurl**, which implements ECH;
 
--   an edition of **curl** and/or **libcurl** which supports the ESNI
+-   an edition of **curl** and/or **libcurl** which supports the ECH
     implementation of the chosen TLS library;
 
 -   an environment for building and running **curl**, and at least
     building **OpenSSL**;
 
--   a server, supporting ESNI, against which to run a demonstration
+-   a server, supporting ECH, against which to run a demonstration
     and perhaps a specific target URL;
 
 -   some instructions.
@@ -58,56 +57,53 @@ The following set of resources is currently known to be 
available.
 
 -   Details [below](#pr4011);
 
--   New **curl** feature: `CURL_VERSION_ESNI`;
+-   New configuration option: `--enable-ech`;
 
--   New configuration option: `--enable-esni`;
-
--   Build-time check for availability of resources needed for ESNI
+-   Build-time check for availability of resources needed for ECH
     support;
 
--   Pre-processor symbol `USE_ESNI` for conditional compilation of
-    ESNI support code, subject to configuration option and
+-   Pre-processor symbol `USE_ECH` for conditional compilation of
+    ECH support code, subject to configuration option and
     availability of needed resources.
 
 ## TODO
 
--   (next PR) Add libcurl options to set ESNI parameters.
+-   (next PR) Add libcurl options to set ECH parameters.
 
--   (next PR) Add curl tool command line options to set ESNI parameters.
+-   (next PR) Add curl tool command line options to set ECH parameters.
 
--   (WIP) Extend DoH functions so that published ESNI parameters can be
+-   (WIP) Extend DoH functions so that published ECH parameters can be
     retrieved from DNS instead of being required as options.
 
--   (WIP) Work with OpenSSL community to finalize ESNI API.
+-   (WIP) Work with OpenSSL community to finalize ECH API.
 
--   Track OpenSSL ESNI API in libcurl
+-   Track OpenSSL ECH API in libcurl
 
 -   Identify and implement any changes needed for CMake.
 
 -   Optimize build-time checking of available resources.
 
--   Encourage ESNI support work on other TLS/SSL backends.
+-   Encourage ECH support work on other TLS/SSL backends.
 
 ## Additional detail
 
 ### PR 4011
 
-**TLS: Provide ESNI support framework for curl and libcurl**
+**TLS: Provide ECH support framework for curl and libcurl**
 
-The proposed change provides a framework to facilitate work to
-implement ESNI support in curl and libcurl. It is not intended
-either to provide ESNI functionality or to favour any particular
-TLS-providing backend. Specifically, the change reserves a
-feature bit for ESNI support (symbol `CURL_VERSION_ESNI`),
-implements setting and reporting of this bit, includes dummy
-book-keeping for the symbol, adds a build-time configuration
-option (`--enable-esni`), provides an extensible check for
-resources available to provide ESNI support, and defines a
-compiler pre-processor symbol (`USE_ESNI`) accordingly.
+The proposed change provides a framework to facilitate work to implement ECH
+support in curl and libcurl. It is not intended either to provide ECH
+functionality or to favour any particular TLS-providing backend. Specifically,
+the change reserves a feature bit for ECH support (symbol
+`CURL_VERSION_ECH`), implements setting and reporting of this bit, includes
+dummy book-keeping for the symbol, adds a build-time configuration option
+(`--enable-ech`), provides an extensible check for resources available to
+provide ECH support, and defines a compiler pre-processor symbol (`USE_ECH`)
+accordingly.
 
 Proposed-by: @niallor (Niall O'Reilly)\
 Encouraged-by: @sftcd (Stephen Farrell)\
-See-also: [this message](https://curl.haxx.se/mail/lib-2019-05/0108.html)
+See-also: [this message](https://curl.se/mail/lib-2019-05/0108.html)
 
 Limitations:
 -   Book-keeping (symbols-in-versions) needs real release number, not 'DUMMY'.
@@ -117,7 +113,7 @@ Limitations:
 -   Check for available resources, although extensible, refers only to
     specific work in progress ([described
     here](https://github.com/sftcd/openssl/tree/master/esnistuff)) to
-    implement ESNI for OpenSSL, as this is the immediate motivation
+    implement ECH for OpenSSL, as this is the immediate motivation
     for the proposed change.
 
 ## References
diff --git a/docs/EXPERIMENTAL.md b/docs/EXPERIMENTAL.md
index bca2bd910..5b2d36c14 100644
--- a/docs/EXPERIMENTAL.md
+++ b/docs/EXPERIMENTAL.md
@@ -19,6 +19,6 @@ Experimental support in curl means:
 ## Experimental features right now
 
  - HTTP/3 support and options
- - alt-svc support and options
- - MQTT
  - CURLSSLOPT_NATIVE_CA (No configure option, feature built in when supported)
+ - HSTS support and options
+ 
diff --git a/docs/FAQ b/docs/FAQ
index 5679352b5..e17fee319 100644
--- a/docs/FAQ
+++ b/docs/FAQ
@@ -24,11 +24,8 @@ FAQ
   1.15 How do I port libcurl to my OS?
 
  2. Install Related Problems
-  2.1 configure doesn't find OpenSSL even when it is installed
-   2.1.1 native linker doesn't find OpenSSL
-   2.1.2 only the libssl lib is missing
+  2.1 configure fails when using static libraries
   2.2 Does curl work/build with other SSL libraries?
-  2.3 Where can I find a copy of LIBEAY32.DLL?
   2.4 Does curl support SOCKS (RFC 1928) ?
 
  3. Usage Problems
@@ -56,7 +53,6 @@ FAQ
   3.22 curl -X gives me HTTP problems
 
  4. Running Problems
-  4.1 Problems connecting to SSL servers.
   4.2 Why do I get problems when I use & or % in the URL?
   4.3 How can I use {, }, [ or ] to specify multiple URLs?
   4.4 Why do I get downloaded data even though the web page doesn't exist?
@@ -68,9 +64,9 @@ FAQ
    4.5.5 "405 Method Not Allowed"
    4.5.6 "301 Moved Permanently"
   4.6 Can you tell me what error code 142 means?
-  4.7 How do I keep user names and passwords secret in Curl command lines?
+  4.7 How do I keep user names and passwords secret in curl command lines?
   4.8 I found a bug!
-  4.9 Curl can't authenticate to the server that requires NTLM?
+  4.9 curl can't authenticate to the server that requires NTLM?
   4.10 My HTTP request using HEAD, PUT or DELETE doesn't work!
   4.11 Why do my HTTP range requests return the full document?
   4.12 Why do I get "certificate verify failed" ?
@@ -82,7 +78,6 @@ FAQ
   4.18 file:// URLs containing drive letters (Windows, NetWare)
   4.19 Why doesn't curl return an error when the network cable is unplugged?
   4.20 curl doesn't return error for HTTP non-200 responses!
-  4.21 Why is there a HTTP/1.1 in my HTTP/2 request?
 
  5. libcurl Issues
   5.1 Is libcurl thread-safe?
@@ -129,7 +124,7 @@ FAQ
   originally with URL spelled in uppercase to make it obvious it deals with
   URLs. The fact it can also be pronounced 'see URL' also helped, it works as
   an abbreviation for "Client URL Request Library" or why not the recursive
-  version: "Curl URL Request Library".
+  version: "curl URL Request Library".
 
   The cURL project produces two products:
 
@@ -185,22 +180,22 @@ FAQ
 
   1.3 What is curl not?
 
-  Curl is not a wget clone. That is a common misconception.  Never, during
+  curl is not a wget clone. That is a common misconception.  Never, during
   curl's development, have we intended curl to replace wget or compete on its
-  market. Curl is targeted at single-shot file transfers.
+  market. curl is targeted at single-shot file transfers.
 
-  Curl is not a website mirroring program. If you want to use curl to mirror
-  something: fine, go ahead and write a script that wraps around curl to make
-  it reality (like curlmirror.pl does).
+  curl is not a website mirroring program. If you want to use curl to mirror
+  something: fine, go ahead and write a script that wraps around curl or use
+  libcurl to make it reality.
 
-  Curl is not an FTP site mirroring program. Sure, get and send FTP with curl
+  curl is not an FTP site mirroring program. Sure, get and send FTP with curl
   but if you want systematic and sequential behavior you should write a
   script (or write a new program that interfaces libcurl) and do it.
 
-  Curl is not a PHP tool, even though it works perfectly well when used from
+  curl is not a PHP tool, even though it works perfectly well when used from
   or with PHP (when using the PHP/CURL module).
 
-  Curl is not a program for a single operating system. Curl exists, compiles,
+  curl is not a program for a single operating system. curl exists, compiles,
   builds and runs under a wide range of operating systems, including all
   modern Unixes (and a bunch of older ones too), Windows, Amiga, BeOS, OS/2,
   OS X, QNX etc.
@@ -211,12 +206,12 @@ FAQ
   better. We do however believe in a few rules when it comes to the future of
   curl:
 
-  Curl -- the command line tool -- is to remain a non-graphical command line
+  curl -- the command line tool -- is to remain a non-graphical command line
   tool. If you want GUIs or fancy scripting capabilities, you should look for
   another tool that uses libcurl.
 
   We do not add things to curl that other small and available tools already do
-  very well at the side. Curl's output can be piped into another program or
+  very well at the side. curl's output can be piped into another program or
   redirected to another file for the next program to interpret.
 
   We focus on protocol related issues and improvements. If you want to do more
@@ -247,21 +242,22 @@ FAQ
 
   1.6 What do you get for making curl?
 
-  Project cURL is entirely free and open. No person gets paid for developing
-  curl full time. We do this voluntarily, mostly in our spare time.
-  Occasionally companies pay individual developers to work on curl, but that's
-  up to each company and developer. This is not controlled by nor supervised in
-  any way by the project.
+  Project cURL is entirely free and open. We do this voluntarily, mostly in
+  our spare time.  Companies may pay individual developers to work on curl,
+  but that's up to each company and developer. This is not controlled by nor
+  supervised in any way by the curl project.
 
-  We still get help from companies. Haxx provides website, bandwidth, mailing
-  lists etc, GitHub hosts the primary git repository and other services like
-  the bug tracker at https://github.com/curl/curl. Also again, some companies
-  have sponsored certain parts of the development in the past and I hope some
-  will continue to do so in the future.
+  We get help from companies. Haxx provides website, bandwidth, mailing lists
+  etc, GitHub hosts the primary git repository and other services like the bug
+  tracker at https://github.com/curl/curl. Also again, some companies have
+  sponsored certain parts of the development in the past and I hope some will
+  continue to do so in the future.
 
   If you want to support our project, consider a donation or a banner-program
   or even better: by helping us with coding, documenting or testing etc.
 
+  See also: https://curl.se/sponsors.html
+
   1.7 What about CURL from curl.com?
 
   During the summer of 2001, curl.com was busy advertising their client-side
@@ -282,7 +278,7 @@ FAQ
   Please do not mail any single individual unless you really need to. Keep
   curl-related questions on a suitable mailing list. All available mailing
   lists are listed in the MANUAL document and online at
-  https://curl.haxx.se/mail/
+  https://curl.se/mail/
 
   Keeping curl-related questions and discussions on mailing lists allows
   others to join in and help, to share their ideas, to contribute their
@@ -303,7 +299,7 @@ FAQ
   your curl-related problems.
 
   We list available alternatives on the curl website:
-  https://curl.haxx.se/support.html
+  https://curl.se/support.html
 
   1.10 How many are using curl?
 
@@ -317,21 +313,14 @@ FAQ
   We don't know how many users that downloaded or installed curl and then
   never use it.
 
-  In May 2012 Daniel did a counting game and came up with a number that may
-  be completely wrong or somewhat accurate. Over 500 million!
-
-  See https://daniel.haxx.se/blog/2012/05/16/300m-users/
+  In 2020, we estimate that curl runs in roughly ten billion installations
+  world wide.
 
   1.11 Why don't you update ca-bundle.crt
 
-  The ca cert bundle that used to be shipped with curl was very outdated and
-  must be replaced with an up-to-date version by anyone who wants to verify
-  peers. It is no longer provided by curl. The last curl release that ever
-  shipped a ca cert bundle was curl 7.18.0.
-
   In the cURL project we've decided not to attempt to keep this file updated
-  (or even present anymore) since deciding what to add to a ca cert bundle is
-  an undertaking we've not been ready to accept, and the one we can get from
+  (or even present) since deciding what to add to a ca cert bundle is an
+  undertaking we've not been ready to accept, and the one we can get from
   Mozilla is perfectly fine so there's no need to duplicate that work.
 
   Today, with many services performed over HTTPS, every operating system
@@ -342,7 +331,7 @@ FAQ
   If you want the most recent collection of ca certs that Mozilla Firefox
   uses, we recommend that you extract the collection yourself from Mozilla
   Firefox (by running 'make ca-bundle), or by using our online service setup
-  for this purpose: https://curl.haxx.se/docs/caextract.html
+  for this purpose: https://curl.se/docs/caextract.html
 
   1.12 I have a problem who can I chat with?
 
@@ -374,18 +363,16 @@ FAQ
 
   1.14 How do I submit my patch?
 
-  When you have made a patch or a change of whatever sort, and want to submit
-  that to the project, there are a few different ways we prefer:
-
-  o send a patch to the curl-library mailing list. We're many subscribers
-    there and there are lots of people who can review patches, comment on them
-    and "receive" them properly.
+  We strongly encourage you to submit changes and improvements directly as
+  "pull requests" on github: https://github.com/curl/curl/pulls
 
-  o if your patch changes or fixes a bug, you can also opt to submit a bug
-    report in the bug tracker and attach your patch there. There are less
-    people involved there.
+  If you for any reason can't or won't deal with github, send your patch to
+  the curl-library mailing list. We're many subscribers there and there are
+  lots of people who can review patches, comment on them and "receive" them
+  properly.
 
-  Lots of more details are found in the CONTRIBUTE and INTERNALS docs.
+  Lots of more details are found in the CONTRIBUTE.md and INTERNALS.md
+  documents.
 
   1.15 How do I port libcurl to my OS?
 
@@ -403,46 +390,27 @@ FAQ
 
 2. Install Related Problems
 
-  2.1 configure doesn't find OpenSSL even when it is installed
-
-  This may be because of several reasons.
-
-    2.1.1 native linker doesn't find openssl
-
-    Affected platforms:
-      Solaris (native cc compiler)
-      HPUX (native cc compiler)
-      SGI IRIX (native cc compiler)
-      SCO UNIX (native cc compiler)
-
-    When configuring curl, I specify --with-ssl. OpenSSL is installed in
-    /usr/local/ssl Configure reports SSL in /usr/local/ssl, but fails to find
-    CRYPTO_lock in -lcrypto
+  2.1 configure fails when using static libraries
 
-    Cause: The cc for this test places the -L/usr/local/ssl/lib AFTER
-    -lcrypto, so ld can't find the library. This is due to a bug in the GNU
-    autoconf tool.
+  You may find that configure fails to properly detect the entire dependency
+  chain of libraries when you provide static versions of the libraries that
+  configure checks for.
 
-    Workaround: Specifying "LDFLAGS=-L/usr/local/ssl/lib" in front of
-    ./configure places the -L/usr/local/ssl/lib early enough in the command
-    line to make things work
+  The reason why static libraries is much harder to deal with is that for them
+  we don't get any help but the script itself must know or check what more
+  libraries that are needed (with shared libraries, that dependency "chain" is
+  handled automatically). This is a very error-prone process and one that also
+  tends to vary over time depending on the release versions of the involved
+  components and may also differ between operating systems.
 
-    2.1.2 only the libssl lib is missing
+  For that reason, configure does very little attempts to actually figure this
+  out and you are instead encouraged to set LIBS and LDFLAGS accordingly when
+  you invoke configure, and point out the needed libraries and set the
+  necessary flags yourself.
 
-    If all include files and the libcrypto lib is present, with only the
-    libssl being missing according to configure, this is most likely because
-    a few functions are left out from the libssl.
+  2.2 Does curl work with other SSL libraries?
 
-    If the function names missing include RSA or RSAREF you can be certain
-    that this is because libssl requires the RSA and RSAREF libs to build.
-
-    See the INSTALL file section that explains how to add those libs to
-    configure. Make sure that you remove the config.cache file before you
-    rerun configure with the new flags.
-
-  2.2 Does curl work/build with other SSL libraries?
-
-  Curl has been written to use a generic SSL function layer internally, and
+  curl has been written to use a generic SSL function layer internally, and
   that SSL functionality can then be provided by one out of many different SSL
   backends.
 
@@ -450,22 +418,12 @@ FAQ
   libressl, BoringSSL, GnuTLS, wolfSSL, NSS, mbedTLS, MesaLink, Secure
   Transport (native iOS/OS X), Schannel (native Windows), GSKit (native IBM
   i), or BearSSL. They all have their pros and cons, and we try to maintain a
-  comparison of them here: https://curl.haxx.se/docs/ssl-compared.html
-
-  2.3 Where can I find a copy of LIBEAY32.DLL?
-
-  That is an OpenSSL binary built for Windows.
-
-  Curl can be built with OpenSSL to do the SSL stuff. The LIBEAY32.DLL is then
-  what curl needs on a windows machine to do https:// etc. Check out the curl
-  website to find accurate and up-to-date pointers to recent OpenSSL DLLs and
-  other binary packages.
+  comparison of them here: https://curl.se/docs/ssl-compared.html
 
   2.4 Does curl support SOCKS (RFC 1928) ?
 
   Yes, SOCKS 4 and 5 are supported.
 
-
 3. Usage problems
 
   3.1 curl: (1) SSL is disabled, https: not supported
@@ -489,18 +447,18 @@ FAQ
 
   3.2 How do I tell curl to resume a transfer?
 
-  Curl supports resumed transfers both ways on both FTP and HTTP.
+  curl supports resumed transfers both ways on both FTP and HTTP.
   Try the -C option.
 
   3.3 Why doesn't my posting using -F work?
 
-  You can't arbitrarily use -F or -d, the choice between -F or -d depends on 
the
-  HTTP operation you need curl to do and what the web server that will receive
-  your post expects.
+  You can't arbitrarily use -F or -d, the choice between -F or -d depends on
+  the HTTP operation you need curl to do and what the web server that will
+  receive your post expects.
 
-  If the form you're trying to submit uses the type 'multipart/form-data', then
-  and only then you must use the -F type. In all the most common cases, you
-  should use -d which then causes a posting with the type
+  If the form you're trying to submit uses the type 'multipart/form-data',
+  then and only then you must use the -F type. In all the most common cases,
+  you should use -d which then causes a posting with the type
   'application/x-www-form-urlencoded'.
 
   This is described in some detail in the MANUAL and TheArtOfHttpScripting
@@ -548,7 +506,7 @@ FAQ
 
   3.8 How do I tell curl to follow HTTP redirects?
 
-  Curl does not follow so-called redirects by default. The Location: header
+  curl does not follow so-called redirects by default. The Location: header
   that informs the client about this is only interpreted if you're using the
   -L/--location option. As in:
 
@@ -564,7 +522,7 @@ FAQ
 
   Find out more about which languages that support curl directly, and how to
   install and use them, in the libcurl section of the curl website:
-  https://curl.haxx.se/libcurl/
+  https://curl.se/libcurl/
 
   All the various bindings to libcurl are made by other projects and people,
   outside of the cURL project. The cURL project itself only produces libcurl
@@ -583,7 +541,7 @@ FAQ
 
   3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
 
-  Curl adheres to the HTTP spec, which basically means you can play with *any*
+  curl adheres to the HTTP spec, which basically means you can play with *any*
   protocol that is built on top of HTTP. Protocols such as SOAP, WEBDAV and
   XML-RPC are all such ones. You can use -X to set custom requests and -H to
   set custom headers (or replace internally generated ones).
@@ -635,7 +593,7 @@ FAQ
 
   3.14 Does curl support Javascript or PAC (automated proxy config)?
 
-  Many web pages do magic stuff using embedded Javascript. Curl and libcurl
+  Many web pages do magic stuff using embedded Javascript. curl and libcurl
   have no built-in support for that, so it will be treated just like any other
   contents.
 
@@ -698,7 +656,7 @@ FAQ
   certificate. Server certificate verification is enabled by default in curl
   and libcurl and is often the reason for problems as explained in FAQ entry
   4.12 and the SSLCERTS document
-  (https://curl.haxx.se/docs/sslcerts.html). Server certificates that are
+  (https://curl.se/docs/sslcerts.html). Server certificates that are
   "self-signed" or otherwise signed by a CA that you do not have a CA cert
   for, cannot be verified. If the verification during a connect fails, you are
   refused access. You then need to explicitly disable the verification to
@@ -799,21 +757,6 @@ FAQ
 
 4. Running Problems
 
-  4.1 Problems connecting to SSL servers.
-
-  It took a very long time before we could sort out why curl had problems to
-  connect to certain SSL servers when using SSLeay or OpenSSL v0.9+.  The
-  error sometimes showed up similar to:
-
-  16570:error:1407D071:SSL routines:SSL2_READ:bad mac decode:s2_pkt.c:233:
-
-  It turned out to be because many older SSL servers don't deal with SSLv3
-  requests properly. To correct this problem, tell curl to select SSLv2 from
-  the command line (-2/--sslv2).
-
-  There have also been examples where the remote server didn't like the SSLv2
-  request and instead you had to force curl to use SSLv3 with -3/--sslv3.
-
   4.2 Why do I get problems when I use & or % in the URL?
 
   In general unix shells, the & symbol is treated specially and when used, it
@@ -850,7 +793,7 @@ FAQ
 
   4.4 Why do I get downloaded data even though the web page doesn't exist?
 
-  Curl asks remote servers for the page you specify. If the page doesn't exist
+  curl asks remote servers for the page you specify. If the page doesn't exist
   at the server, the HTTP protocol defines how the server should respond and
   that means that headers and a "page" will be returned. That's simply how
   HTTP works.
@@ -909,7 +852,7 @@ FAQ
   appreciate a detailed bug report from you that describes how we could go
   ahead and repeat this!
 
-  4.7 How do I keep user names and passwords secret in Curl command lines?
+  4.7 How do I keep user names and passwords secret in curl command lines?
 
   This problem has two sides:
 
@@ -943,7 +886,7 @@ FAQ
   If there is a bug, read the BUGS document first. Then report it as described
   in there.
 
-  4.9 Curl can't authenticate to the server that requires NTLM?
+  4.9 curl can't authenticate to the server that requires NTLM?
 
   NTLM support requires OpenSSL, GnuTLS, mbedTLS, NSS, Secure Transport, or
   Microsoft Windows libraries at build-time to provide this functionality.
@@ -969,27 +912,32 @@ FAQ
 
   4.12 Why do I get "certificate verify failed" ?
 
-  You invoke curl 7.10 or later to communicate on a https:// URL and get an
-  error back looking something similar to this:
-
-      curl: (35) SSL: error:14090086:SSL routines:
-      SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
-
-  Then it means that curl couldn't verify that the server's certificate was
-  good. Curl verifies the certificate using the CA cert bundle that comes with
-  the curl installation.
-
-  To disable the verification (which makes it act like curl did before 7.10),
-  use -k. This does however enable man-in-the-middle attacks.
-
-  If you get this failure but are having a CA cert bundle installed and used,
-  the server's certificate is not signed by one of the CA's in the bundle. It
-  might for example be self-signed. You then correct this problem by obtaining
-  a valid CA cert for the server. Or again, decrease the security by disabling
-  this check.
-
-  Details are also in the SSLCERTS file in the release archives, found online
-  here: https://curl.haxx.se/docs/sslcerts.html
+  When you invoke curl and get an error 60 error back it means that curl
+  couldn't verify that the server's certificate was good. curl verifies the
+  certificate using the CA cert bundle and verifying for which names the
+  certficiate has been granted.
+
+  To completely disable the certficiate verification, use -k. This does
+  however enable man-in-the-middle attacks and makes the transfer INSECURE.
+  We strongly advice against doing this for more than experiments.
+
+  If you get this failure with a CA cert bundle installed and used, the
+  server's certificate might not be signed by one of the CA's in yout CA
+  store. It might for example be self-signed. You then correct this problem by
+  obtaining a valid CA cert for the server. Or again, decrease the security by
+  disabling this check.
+
+  At times, you find that the verification works in your favorite browser but
+  fails in curl. When this happens, the reason is usually that the server
+  sends an incomplete cert chain. The server is mandated to send all
+  "intermediate certificates" but doesn't. This typically works with browsers
+  anyway since they A) cache such certs and B) supports AIA which downloads
+  such missing certificates on demand. This is a server misconfiguration. A
+  good way to figure out if this is the case it to use the SSL Labs server
+  test and check the certificate chain: https://www.ssllabs.com/ssltest/
+
+  Details are also in the SSLCERTS.md document, found online here:
+  https://curl.se/docs/sslcerts.html
 
   4.13 Why is curl -R on Windows one hour off?
 
@@ -1142,17 +1090,6 @@ FAQ
   You can also use the -w option and the variable %{response_code} to extract
   the exact response code that was returned in the response.
 
-  4.21 Why is there a HTTP/1.1 in my HTTP/2 request?
-
-  If you use verbose to see the HTTP request when you send off a HTTP/2
-  request, it will still say 1.1.
-
-  The reason for this is that we first generate the request to send using the
-  old 1.1 style and show that request in the verbose output, and then we
-  convert it over to the binary header-compressed HTTP/2 style. The actual
-  "1.1" part from that request is then not actually used in the transfer.
-  The binary HTTP/2 headers are not human readable.
-
 5. libcurl Issues
 
   5.1 Is libcurl thread-safe?
@@ -1166,7 +1103,7 @@ FAQ
 
   There may be some exceptions to thread safety depending on how libcurl was
   built. Please review the guidelines for thread safety to learn more:
-  https://curl.haxx.se/libcurl/c/threadsafe.html
+  https://curl.se/libcurl/c/threadsafe.html
 
   5.2 How can I receive all data into a large memory chunk?
 
@@ -1228,7 +1165,7 @@ FAQ
   5.6 What about Keep-Alive or persistent connections?
 
   curl and libcurl have excellent support for persistent connections when
-  transferring several files from the same server.  Curl will attempt to reuse
+  transferring several files from the same server.  curl will attempt to reuse
   connections for all URLs specified on the same command line/config file, and
   libcurl will reuse connections for all transfers that are made using the
   same libcurl handle.
@@ -1447,7 +1384,7 @@ FAQ
 
 6. License Issues
 
-  Curl and libcurl are released under a MIT/X derivate license. The license is
+  curl and libcurl are released under a MIT/X derivate license. The license is
   very liberal and should not impose a problem for your project. This section
   is just a brief summary for the cases we get the most questions. (Parts of
   this section was much enhanced by Bjorn Reese.)
@@ -1521,7 +1458,7 @@ FAQ
   notice" somewhere. Most probably like in the documentation or in the section
   where other third party dependencies already are mentioned and acknowledged.
 
-  As can be seen here: https://curl.haxx.se/docs/companies.html and elsewhere,
+  As can be seen here: https://curl.se/docs/companies.html and elsewhere,
   more and more companies are discovering the power of libcurl and take
   advantage of it even in commercial environments.
 
diff --git a/docs/FEATURES b/docs/FEATURES.md
similarity index 54%
rename from docs/FEATURES
rename to docs/FEATURES.md
index 35b26e1b2..d4278d3a8 100644
--- a/docs/FEATURES
+++ b/docs/FEATURES.md
@@ -1,21 +1,18 @@
-                                  _   _ ____  _
-                              ___| | | |  _ \| |
-                             / __| | | | |_) | |
-                            | (__| |_| |  _ <| |___
-                             \___|\___/|_| \_\_____|
+# Features -- what curl can do
 
-FEATURES
+## curl tool
 
-curl tool
  - config file support
  - multiple URLs in a single command line
  - range "globbing" support: [0-13], {one,two,three}
  - multiple file upload on a single command line
  - custom maximum transfer rate
  - redirectable stderr
- - metalink support (*13)
+ - metalink support (13)
+ - parallel transfers
+
+## libcurl
 
-libcurl
  - full URL syntax with no length limit
  - custom maximum download time
  - custom least download speed acceptable
@@ -24,28 +21,31 @@ libcurl
  - uses .netrc
  - progress bar with time statistics while downloading
  - "standard" proxy environment variables support
- - compiles on win32 (reported builds on 40+ operating systems)
+ - compiles on win32 (reported builds on 70+ operating systems)
  - selectable network interface for outgoing traffic
  - IPv6 support on unix and Windows
+ - happy eyeballs dual-stack connects
  - persistent connections
- - socks 4 + 5 support, with or without local name resolving
+ - SOCKS 4 + 5 support, with or without local name resolving
  - supports user name and password in proxy environment variables
- - operations through proxy "tunnel" (using CONNECT)
- - support for large files (>2GB and >4GB) during upload and download
+ - operations through HTTP proxy "tunnel" (using CONNECT)
  - replaceable memory functions (malloc, free, realloc, etc)
- - asynchronous name resolving (*6)
+ - asynchronous name resolving (6)
  - both a push and a pull style interface
- - international domain names (*11)
+ - international domain names (11)
+
+## HTTP
 
-HTTP
- - HTTP/1.1 compliant (optionally uses 1.0)
+ - HTTP/0.9 responses are optionally accepted
+ - HTTP/1.0
+ - HTTP/1.1
+ - HTTP/2, including multiplexing and server push (5)
  - GET
  - PUT
  - HEAD
  - POST
- - Pipelining
  - multipart formpost (RFC1867-style)
- - authentication: Basic, Digest, NTLM (*9) and Negotiate (SPNEGO) (*3)
+ - authentication: Basic, Digest, NTLM (9) and Negotiate (SPNEGO) (3)
    to server and proxy
  - resume (both GET and PUT)
  - follow redirects
@@ -59,25 +59,27 @@ HTTP
  - range
  - proxy authentication
  - time conditions
- - via http-proxy
+ - via HTTP proxy, HTTPS proxy or SOCKS proxy
  - retrieve file modification date
  - Content-Encoding support for deflate and gzip
  - "Transfer-Encoding: chunked" support in uploads
- - data compression (*12)
- - HTTP/2 (*5)
+ - automatic data compression (12)
+
+## HTTPS (1)
 
-HTTPS (*1)
  - (all the HTTP features)
+ - HTTP/3 experimental support
  - using client certificates
  - verify server certificate
- - via http-proxy
+ - via HTTP proxy, HTTPS proxy or SOCKS proxy
  - select desired encryption
- - force usage of a specific SSL version (SSLv2 (*7), SSLv3 (*10) or TLSv1)
+ - select usage of a specific SSL version
+
+## FTP
 
-FTP
  - download
  - authentication
- - Kerberos 5 (*14)
+ - Kerberos 5 (14)
  - active/passive using PORT, EPRT, PASV or EPSV
  - single file size information (compare to HTTP HEAD)
  - 'type=' URL support
@@ -90,52 +92,62 @@ FTP
  - upload resume
  - custom ftp commands (before and/or after the transfer)
  - simple "range" support
- - via http-proxy
- - all operations can be tunneled through a http-proxy
+ - via HTTP proxy, HTTPS proxy or SOCKS proxy
+ - all operations can be tunneled through proxy
  - customizable to retrieve file modification date
  - no dir depth limit
 
-FTPS (*1)
- - implicit ftps:// support that use SSL on both connections
- - explicit "AUTH TLS" and "AUTH SSL" usage to "upgrade" plain ftp://
+## FTPS (1)
+
+ - implicit `ftps://` support that use SSL on both connections
+ - explicit "AUTH TLS" and "AUTH SSL" usage to "upgrade" plain `ftp://`
    connection to use SSL for both or one of the connections
 
-SCP (*8)
+## SCP (8)
+
  - both password and public key auth
 
-SFTP (*8)
+## SFTP (7)
+
  - both password and public key auth
  - with custom commands sent before/after the transfer
 
-TFTP
+## TFTP
+
  - download
  - upload
 
-TELNET
+## TELNET
+
  - connection negotiation
  - custom telnet options
  - stdin/stdout I/O
 
-LDAP (*2)
+## LDAP (2)
+
  - full LDAP URL support
 
-DICT
+## DICT
+
  - extended DICT URL support
 
-FILE
+## FILE
+
  - URL support
  - upload
  - resume
 
-SMB
+## SMB
+
  - SMBv1 over TCP and SSL
  - download
  - upload
  - authentication with NTLMv1
 
-SMTP
- - authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5
-   (*4) and External.
+## SMTP
+
+ - authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (9), Kerberos 5
+   (4) and External.
  - send e-mails
  - mail from support
  - mail size support
@@ -143,30 +155,34 @@ SMTP
  - multiple recipients
  - via http-proxy
 
-SMTPS (*1)
- - implicit smtps:// support
- - explicit "STARTTLS" usage to "upgrade" plain smtp:// connections to use SSL
+## SMTPS (1)
+
+ - implicit `smtps://` support
+ - explicit "STARTTLS" usage to "upgrade" plain `smtp://` connections to use 
SSL
  - via http-proxy
 
-POP3
+## POP3
+
  - authentication: Clear Text, APOP and SASL
- - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9),
-   Kerberos 5 (*4) and External.
+ - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (9),
+   Kerberos 5 (4) and External.
  - list e-mails
  - retrieve e-mails
  - enhanced command support for: CAPA, DELE, TOP, STAT, UIDL and NOOP via
    custom requests
  - via http-proxy
 
-POP3S (*1)
- - implicit pop3s:// support
- - explicit "STLS" usage to "upgrade" plain pop3:// connections to use SSL
+## POP3S (1)
+
+ - implicit `pop3s://` support
+ - explicit "STLS" usage to "upgrade" plain `pop3://` connections to use SSL
  - via http-proxy
 
-IMAP
+## IMAP
+
  - authentication: Clear Text and SASL
- - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9),
-   Kerberos 5 (*4) and External.
+ - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (9),
+   Kerberos 5 (4) and External.
  - list the folders of a mailbox
  - select a mailbox with support for verifying the UIDVALIDITY
  - fetch e-mails with support for specifying the UID and SECTION
@@ -175,33 +191,33 @@ IMAP
    STORE, COPY and UID via custom requests
  - via http-proxy
 
-IMAPS (*1)
- - implicit imaps:// support
- - explicit "STARTTLS" usage to "upgrade" plain imap:// connections to use SSL
+## IMAPS (1)
+
+ - implicit `imaps://` support
+ - explicit "STARTTLS" usage to "upgrade" plain `imap://` connections to use 
SSL
  - via http-proxy
 
-MQTT
- - Subscribe to and publish topics using url scheme mqtt://broker/topic
-
-FOOTNOTES
-=========
-
-  *1 = requires a TLS library
-  *2 = requires OpenLDAP or WinLDAP
-  *3 = requires a GSS-API implementation (such as Heimdal or MIT Kerberos) or
-       SSPI (native Windows)
-  *4 = requires a GSS-API implementation, however, only Windows SSPI is
-       currently supported
-  *5 = requires nghttp2 and possibly a recent TLS library
-  *6 = requires c-ares
-  *7 = requires OpenSSL, NSS, GSKit, Schannel or Secure Transport; GnuTLS, for
-       example, only supports SSLv3 and TLSv1
-  *8 = requires libssh2
-  *9 = requires OpenSSL, GnuTLS, mbedTLS, NSS, yassl, Secure Transport or SSPI
-       (native Windows)
-  *10 = requires an SSL library that supports SSLv3
-  *11 = requires libidn or Windows
-  *12 = requires libz
-  *13 = requires libmetalink, and either an Apple or Microsoft operating
-        system, or OpenSSL, or GnuTLS, or NSS
-  *14 = requires a GSS-API implementation (such as Heimdal or MIT Kerberos)
+## MQTT
+
+ - Subscribe to and publish topics using url scheme `mqtt://broker/topic`
+
+## Footnotes
+
+  1. requires a TLS library
+  2. requires OpenLDAP or WinLDAP
+  3. requires a GSS-API implementation (such as Heimdal or MIT Kerberos) or
+     SSPI (native Windows)
+  4. requires a GSS-API implementation, however, only Windows SSPI is
+     currently supported
+  5. requires nghttp2
+  6. requires c-ares
+  7. requires libssh2, libssh or wolfSSH
+  8. requires libssh2 or libssh
+  9. requires OpenSSL, GnuTLS, mbedTLS, NSS, yassl, Secure Transport or SSPI
+     (native Windows)
+  10. -
+  11. requires libidn2 or Windows
+  12. requires libz, brotli and/or zstd
+  13. requires libmetalink, and either an Apple or Microsoft operating
+      system, or OpenSSL, or GnuTLS, or NSS
+  14. requires a GSS-API implementation (such as Heimdal or MIT Kerberos)
diff --git a/docs/HELP-US.md b/docs/HELP-US.md
index 54744346a..b9e5b9a02 100644
--- a/docs/HELP-US.md
+++ b/docs/HELP-US.md
@@ -45,14 +45,14 @@ one that piques your interest.
 
 Some bugs are known and haven't yet received attention and work enough to get
 fixed. We collect such known existing flaws in the
-[KNOWN_BUGS](https://curl.haxx.se/docs/knownbugs.html) page. Many of them link
+[KNOWN_BUGS](https://curl.se/docs/knownbugs.html) page. Many of them link
 to the original bug report with some additional details, but some may also
 have aged a bit and may require some verification that the bug still exists in
 the same way and that what was said about it in the past is still valid.
 
 ## Fix autobuild problems
 
-On the [autobuilds page](https://curl.haxx.se/dev/builds.html) we show a
+On the [autobuilds page](https://curl.se/dev/builds.html) we show a
 collection of test results from the automatic curl build and tests that are
 performed by volunteers. Fixing compiler warnings and errors shown there is
 something we value greatly. Also, if you own or run systems or architectures
@@ -63,7 +63,7 @@ volunteers running builds automatically to help us keep curl 
portable.
 
 Ideas for features and functions that we have considered worthwhile to
 implement and provide are kept in the
-[TODO](https://curl.haxx.se/docs/todo.html) file. Some of the ideas are
+[TODO](https://curl.se/docs/todo.html) file. Some of the ideas are
 rough. Some are well thought out. Some probably aren't really suitable
 anymore.
 
@@ -81,7 +81,7 @@ the specific implementation. Either way is fine.
 
 ## CONTRIBUTE
 
-We offer [guidelines](https://curl.haxx.se/dev/contribute.html) that are
+We offer [guidelines](https://curl.se/dev/contribute.html) that are
 suitable to be familiar with before you decide to contribute to curl. If
 you're used to open source development, you'll probably not find many
 surprises in there.
diff --git a/docs/HISTORY.md b/docs/HISTORY.md
index 4c0499f71..4f976c564 100644
--- a/docs/HISTORY.md
+++ b/docs/HISTORY.md
@@ -7,9 +7,12 @@ currency-exchange calculations available to Internet Relay 
Chat (IRC)
 users. All the necessary data were published on the Web; he just needed to
 automate their retrieval.
 
-Daniel simply adopted an existing command-line open-source tool, httpget, that
-Brazilian Rafael Sagula had written and recently released version 0.1 of. After
-a few minor adjustments, it did just what he needed.
+1996
+----
+
+Daniel adopted an existing command-line open-source tool, httpget, that
+Brazilian Rafael Sagula had written and recently released version 0.1
+of. After a few minor adjustments, it did just what he needed.
 
 1997
 ----
@@ -126,22 +129,24 @@ impossible. Around 5000 downloaded packages each week 
from the main site gives
 a hint, but the packages are mirrored extensively, bundled with numerous OS
 distributions and otherwise retrieved as part of other software.
 
-September: with the release of curl 7.10 it is released under the MIT license
+October 1: with the release of curl 7.10 it is released under the MIT license
 only.
 
+Starting with 7.10, curl verifies SSL server certificates by default.
+
 2003
 ----
 
 January: Started working on the distributed curl tests. The autobuilds.
 
 February: the curl site averages at 20000 visits weekly. At any given moment,
-there's an average of 3 people browsing the curl.haxx.se site.
+there's an average of 3 people browsing the website.
 
 Multiple new authentication schemes are supported: Digest (May), NTLM (June)
 and Negotiate (June).
 
 November: curl 7.10.8 is released. 45000 lines of code. ~55000 unique visitors
-to the curl.haxx.se site. Five official web mirrors.
+to the website. Five official web mirrors.
 
 December: full-fledged SSL for FTP is supported.
 
@@ -322,6 +327,8 @@ April: added the cyassl backend (later renamed to WolfSSL)
 
  October: SSLKEYLOGFILE support, new MIME API
 
+ October: Daniel received the Polhem Prize for his work on curl
+
  November: brotli
 
 2018
@@ -351,9 +358,30 @@ April: added the cyassl backend (later renamed to WolfSSL)
     Public functions in libcurl:  80
     Contributors:                 1808
 
+ December: removed axTLS support
+
 2019
 ----
 
+ March: added experimental alt-svc support
+
  August: the first HTTP/3 requests with curl.
 
  September: 7.66.0 is released and the tool offers parallel downloads
+
+2020
+----
+
+ curl and libcurl are installed in an estimated 10 *billion* instances
+ world-wide.
+
+ January: added BearSSL support
+
+ March: removed support for PolarSSL, added wolfSSH support
+
+ April: experimental MQTT support
+
+ August: zstd support
+
+ November: the website moves to www.curl.se. The website serves 10TB data
+ monthly.
diff --git a/docs/HSTS.md b/docs/HSTS.md
new file mode 100644
index 000000000..c3f08393c
--- /dev/null
+++ b/docs/HSTS.md
@@ -0,0 +1,44 @@
+# HSTS support
+
+curl features **EXPERIMENTAL** support for the Strict-Transport-Security: HTTP
+header. Added in curl 7.74.0
+
+## Standard
+
+[HTTP Strict Transport Security](https://tools.ietf.org/html/rfc6797)
+
+## Behavior
+
+libcurl features an in-memory cache for HSTS hosts, so that subsequent
+HTTP-only requests to a host name present in the cache will get internally
+"redirected" to the HTTPS version.
+
+## `curl_easy_setopt()` options:
+
+ - `CURLOPT_HSTS_CTRL` - enable HSTS for this easy handle
+ - `CURLOPT_HSTS` - specify file name where to store the HSTS cache on close
+  (and possibly read from at startup)
+
+## curl cmdline options
+
+ - `--hsts [filename]` - enable HSTS, use the file as HSTS cache. If filename
+   is `""` (no length) then no file will be used, only in-memory cache.
+
+## HSTS cache file format
+
+Lines starting with `#` are ignored.
+
+For each hsts entry:
+
+    [host name] "YYYYMMDD HH:MM:SS"
+
+The `[host name]` is dot-prefixed if it is a includeSubDomain.
+
+The time stamp is when the entry expires.
+
+I considered using wget's file format for the HSTS cache. However, they store 
the time stamp as the epoch (number of seconds since 1970) and I strongly 
disagree with using that format. Instead I opted to use a format similar to the 
curl alt-svc cache file format.
+
+## Possible future additions
+
+ - `CURLOPT_HSTS_PRELOAD` - provide a set of preloaded HSTS host names
+ - ability to save to something else than a file
diff --git a/docs/HTTP-COOKIES.md b/docs/HTTP-COOKIES.md
index de9d1de68..9d1e099d1 100644
--- a/docs/HTTP-COOKIES.md
+++ b/docs/HTTP-COOKIES.md
@@ -15,7 +15,7 @@
   servers with the Cookie: header.
 
   For a very long time, the only spec explaining how to use cookies was the
-  original [Netscape spec from 
1994](https://curl.haxx.se/rfc/cookie_spec.html).
+  original [Netscape spec from 1994](https://curl.se/rfc/cookie_spec.html).
 
   In 2011, [RFC6265](https://www.ietf.org/rfc/rfc6265.txt) was finally
   published and details how cookies work within HTTP. In 2016, an update which
diff --git a/docs/HTTP3.md b/docs/HTTP3.md
index 44381ae10..2a6123711 100644
--- a/docs/HTTP3.md
+++ b/docs/HTTP3.md
@@ -33,7 +33,7 @@ in the master branch using pull-requests, just like ordinary 
changes.
 
 Build (patched) OpenSSL
 
-     % git clone --depth 1 -b OpenSSL_1_1_1d-quic-draft-27 
https://github.com/tatsuhiro-t/openssl
+     % git clone --depth 1 -b OpenSSL_1_1_1g-quic-draft-29 
https://github.com/tatsuhiro-t/openssl
      % cd openssl
      % ./config enable-tls1_3 --prefix=<somewhere1>
      % make
@@ -55,7 +55,7 @@ Build ngtcp2
      % git clone https://github.com/ngtcp2/ngtcp2
      % cd ngtcp2
      % autoreconf -i
-     % ./configure 
PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig 
LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3>
+     % ./configure 
PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig 
LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --enable-lib-only
      % make
      % make install
 
@@ -65,14 +65,14 @@ Build curl
      % git clone https://github.com/curl/curl
      % cd curl
      % ./buildconf
-     % LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure 
--with-ssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3> 
--enable-alt-svc
+     % LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure 
--with-ssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3>
      % make
 
 ## Build with GnuTLS
 
-Build (patched) GnuTLS
+Build GnuTLS
 
-     % git clone --depth 1 -b tmp-quic https://gitlab.com/gnutls/gnutls.git
+     % git clone --depth 1 https://gitlab.com/gnutls/gnutls.git
      % cd gnutls
      % ./bootstrap
      % ./configure --disable-doc --prefix=<somewhere1>
@@ -95,7 +95,7 @@ Build ngtcp2
      % git clone https://github.com/ngtcp2/ngtcp2
      % cd ngtcp2
      % autoreconf -i
-     % ./configure 
PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig 
LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3>
+     % ./configure 
PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig 
LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --enable-lib-only
      % make
      % make install
 
@@ -105,7 +105,7 @@ Build curl
      % git clone https://github.com/curl/curl
      % cd curl
      % ./buildconf
-     % ./configure --without-ssl --with-gnutls=<somewhere1> 
--with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3> --enable-alt-svc
+     % ./configure --without-ssl --with-gnutls=<somewhere1> 
--with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3>
      % make
 
 # quiche version
@@ -126,7 +126,7 @@ Build curl:
      % git clone https://github.com/curl/curl
      % cd curl
      % ./buildconf
-     % ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" 
--with-ssl=$PWD/../quiche/deps/boringssl/src 
--with-quiche=$PWD/../quiche/target/release --enable-alt-svc
+     % ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" 
--with-ssl=$PWD/../quiche/deps/boringssl/src 
--with-quiche=$PWD/../quiche/target/release
      % make
 
 ## Run
diff --git a/docs/INTERNALS.md b/docs/INTERNALS.md
index 635e7b2d1..9bbf63161 100644
--- a/docs/INTERNALS.md
+++ b/docs/INTERNALS.md
@@ -87,7 +87,7 @@ Dependencies
  - OpenSSL      0.9.7
  - GnuTLS       3.1.10
  - zlib         1.1.4
- - libssh2      0.16
+ - libssh2      1.0
  - c-ares       1.6.0
  - libidn2      2.0.0
  - wolfSSL      2.0.0
@@ -97,6 +97,7 @@ Dependencies
  - NSS          3.14.x
  - Heimdal      ?
  - nghttp2      1.12.0
+ - WinSock      2.2 (on Windows 95+ and Windows CE .NET 4.1+)
 
 Operating Systems
 -----------------
@@ -146,6 +147,8 @@ Windows vs Unix
    also do it etc there might be reasons for applications to alter that
    behaviour.
 
+   We require WinSock version 2.2 and load this version during global init.
+
  3. The file descriptors for network communication and file operations are
     not as easily interchangeable as in Unix.
 
@@ -233,11 +236,9 @@ multi_do()
    The functions are named after the protocols they handle.
 
    The protocol-specific functions of course deal with protocol-specific
-   negotiations and setup. They have access to the `Curl_sendf()` (from
-   `lib/sendf.c`) function to send printf-style formatted data to the remote
-   host and when they're ready to make the actual file transfer they call the
-   `Curl_setup_transfer()` function (in `lib/transfer.c`) to setup the
-   transfer and returns.
+   negotiations and setup. When they're ready to start the actual file
+   transfer they call the `Curl_setup_transfer()` function (in
+   `lib/transfer.c`) to setup the transfer and returns.
 
    If this DO function fails and the connection is being re-used, libcurl will
    then close this connection, setup a new connection and re-issue the DO
@@ -323,9 +324,9 @@ FTP
 Kerberos
 ========
 
- Kerberos support is mainly in `lib/krb5.c` and `lib/security.c` but also
- `curl_sasl_sspi.c` and `curl_sasl_gssapi.c` for the email protocols and
- `socks_gssapi.c` and `socks_sspi.c` for SOCKS5 proxy specifics.
+ Kerberos support is mainly in `lib/krb5.c` but also `curl_sasl_sspi.c` and
+ `curl_sasl_gssapi.c` for the email protocols and `socks_gssapi.c` and
+ `socks_sspi.c` for SOCKS5 proxy specifics.
 
 <a name="telnet"></a>
 TELNET
@@ -500,7 +501,7 @@ Client
  status and exits.
 
  When the operation is done, the `ourWriteOut()` function in `src/writeout.c`
- may be called to report about the operation. That function is using the
+ may be called to report about the operation. That function is mostly using the
  `curl_easy_getinfo()` function to extract useful information from the curl
  session.
 
@@ -980,8 +981,8 @@ for older and later versions as things don't change 
drastically that often.
   protocol specific data that then gets associated with that `Curl_easy` for
   the rest of this transfer. It gets freed again at the end of the transfer.
   It will be called before the `connectdata` for the transfer has been
-  selected/created. Most protocols will allocate its private
-  `struct [PROTOCOL]` here and assign `Curl_easy->req.protop` to point to it.
+  selected/created. Most protocols will allocate its private `struct
+  [PROTOCOL]` here and assign `Curl_easy->req.p.[protocol]` to it.
 
   `->connect_it` allows a protocol to do some specific actions after the TCP
   connect is done, that can still be considered part of the connection phase.
@@ -1082,18 +1083,18 @@ for older and later versions as things don't change 
drastically that often.
   the share API.
 
 
-[1]: https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
-[2]: https://curl.haxx.se/libcurl/c/curl_easy_init.html
+[1]: https://curl.se/libcurl/c/curl_easy_setopt.html
+[2]: https://curl.se/libcurl/c/curl_easy_init.html
 [3]: https://c-ares.haxx.se/
 [4]: https://tools.ietf.org/html/rfc7230 "RFC 7230"
-[5]: https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html
-[6]: https://curl.haxx.se/docs/manpage.html#--compressed
-[7]: https://curl.haxx.se/libcurl/c/curl_multi_socket_action.html
-[8]: https://curl.haxx.se/libcurl/c/curl_multi_timeout.html
-[9]: https://curl.haxx.se/libcurl/c/curl_multi_setopt.html
-[10]: https://curl.haxx.se/libcurl/c/CURLMOPT_TIMERFUNCTION.html
-[11]: https://curl.haxx.se/libcurl/c/curl_multi_perform.html
-[12]: https://curl.haxx.se/libcurl/c/curl_multi_fdset.html
-[13]: https://curl.haxx.se/libcurl/c/curl_multi_add_handle.html
-[14]: https://curl.haxx.se/libcurl/c/curl_multi_info_read.html
+[5]: https://curl.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html
+[6]: https://curl.se/docs/manpage.html#--compressed
+[7]: https://curl.se/libcurl/c/curl_multi_socket_action.html
+[8]: https://curl.se/libcurl/c/curl_multi_timeout.html
+[9]: https://curl.se/libcurl/c/curl_multi_setopt.html
+[10]: https://curl.se/libcurl/c/CURLMOPT_TIMERFUNCTION.html
+[11]: https://curl.se/libcurl/c/curl_multi_perform.html
+[12]: https://curl.se/libcurl/c/curl_multi_fdset.html
+[13]: https://curl.se/libcurl/c/curl_multi_add_handle.html
+[14]: https://curl.se/libcurl/c/curl_multi_info_read.html
 [15]: https://tools.ietf.org/html/rfc7231#section-3.1.2.2
diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS
index e35172daf..3726f4153 100644
--- a/docs/KNOWN_BUGS
+++ b/docs/KNOWN_BUGS
@@ -25,6 +25,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  2. TLS
  2.1 CURLINFO_SSL_VERIFYRESULT has limited support
  2.2 DER in keychain
+ 2.3 Unable to use PKCS12 certificate with Secure Transport
  2.4 Secure Transport won't import PKCS#12 client certificates without a 
password
  2.5 Client cert handling with Issuer DN differs between backends
  2.6 CURL_GLOBAL_SSL
@@ -33,6 +34,8 @@ problems may have been fixed or changed somewhat since this 
was written!
  2.9 TLS session cache doesn't work with TFO
  2.10 Store TLS context per transfer instead of per connection
  2.11 Schannel TLS 1.2 handshake bug in old Windows versions
+ 2.12 FTPS with Schannel times out file list operation
+ 2.13 curl with wolfSSL lacks support for renegotiation
 
  3. Email protocols
  3.1 IMAP SEARCH ALL truncated response
@@ -52,10 +55,10 @@ problems may have been fixed or changed somewhat since this 
was written!
  5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10
  5.4 Build with statically built dependency
  5.5 can't handle Unicode arguments in non-Unicode builds on Windows
- 5.6 cmake support gaps
  5.7 Visual Studio project gaps
  5.8 configure finding libs in wrong directory
  5.9 Utilize Requires.private directives in libcurl.pc
+ 5.10 SMB tests fail with Python 2
  5.11 configure --with-gssapi with Heimdal is ignored on macOS
 
  6. Authentication
@@ -104,18 +107,33 @@ problems may have been fixed or changed somewhat since 
this was written!
  11.9 DoH doesn't inherit all transfer options
  11.10 Blocking socket operations in non-blocking API
  11.11 A shared connection cache is not thread-safe
+ 11.12 'no_proxy' string-matches IPv6 numerical addresses
+ 11.13 wakeup socket disconnect causes havoc
 
- 12. LDAP and OpenLDAP
+ 12. LDAP
  12.1 OpenLDAP hangs after returning results
  12.2 LDAP on Windows does authentication wrong?
  12.3 LDAP on Windows doesn't work
+ 12.4 LDAPS with NSS is slow
 
  13. TCP/IP
  13.1 --interface for ipv6 binds to unusable IP address
 
- 14 DICT
+ 14. DICT
  14.1 DICT responses show the underlying protocol
 
+ 15. CMake
+ 15.1 use correct SONAME
+ 15.2 support build with GnuTLS
+ 15.3 unusable tool_hugehelp.c with MinGW
+ 15.4 build docs/curl.1
+ 15.5 build on Linux links libcurl to libdl
+ 15.6 uses -lpthread instead of Threads::Threads
+ 15.7 generated .pc file contains strange entries
+ 15.8 libcurl.pc uses absolute library paths
+ 15.9 cert paths autodetected when cross-compiling
+ 15.10 libspsl is not supported
+
 ==============================================================================
 
 1. HTTP
@@ -135,7 +153,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  CURLINFO_PRETRANSFER_TIME is near to zero every time.
 
  https://github.com/curl/curl/issues/218
- https://curl.haxx.se/bug/view.cgi?id=1213
+ https://curl.se/bug/view.cgi?id=1213
 
 1.4 multipart formposts file name encoding
 
@@ -150,13 +168,13 @@ problems may have been fixed or changed somewhat since 
this was written!
  If an upload using Expect: 100-continue receives an HTTP 417 response, it
  ought to be automatically resent without the Expect:.  A workaround is for
  the client application to redo the transfer after disabling Expect:.
- https://curl.haxx.se/mail/archive-2008-02/0043.html
+ https://curl.se/mail/archive-2008-02/0043.html
 
 1.6 Unnecessary close when 401 received waiting for 100
 
  libcurl closes the connection if an HTTP 401 reply is received while it is
  waiting for the 100-continue response.
- https://curl.haxx.se/mail/lib-2008-08/0462.html
+ https://curl.se/mail/lib-2008-08/0462.html
 
 1.7 Deflate error after all content was received
 
@@ -209,7 +227,11 @@ problems may have been fixed or changed somewhat since 
this was written!
 2.2 DER in keychain
 
  Curl doesn't recognize certificates in DER format in keychain, but it works
- with PEM.  https://curl.haxx.se/bug/view.cgi?id=1065
+ with PEM.  https://curl.se/bug/view.cgi?id=1065
+
+2.3 Unable to use PKCS12 certificate with Secure Transport
+
+ See https://github.com/curl/curl/issues/5403
 
 2.4 Secure Transport won't import PKCS#12 client certificates without a 
password
 
@@ -285,6 +307,20 @@ problems may have been fixed or changed somewhat since 
this was written!
 
  https://github.com/curl/curl/issues/5488
 
+2.12 FTPS with Schannel times out file list operation
+
+ "Instead of the command completing, it just sits there until the timeout
+ expires." - the same command line seems to work with other TLS backends and
+ other operating systems. See https://github.com/curl/curl/issues/5284.
+
+2.13 curl with wolfSSL lacks support for renegotiation
+
+ I am using curl (with wolfSSL) to connect https endpoint, but connection with
+ this https endpoint gets terminated because server initiates the
+ renegotiation and client does not handle renegotiation.
+
+ See https://github.com/curl/curl/issues/5839
+
 3. Email protocols
 
 3.1 IMAP SEARCH ALL truncated response
@@ -292,7 +328,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the
  code reveals that pingpong.c contains some truncation code, at line 408, when
  it deems the server response to be too large truncating it to 40 characters"
- https://curl.haxx.se/bug/view.cgi?id=1366
+ https://curl.se/bug/view.cgi?id=1366
 
 3.2 No disconnect command
 
@@ -303,7 +339,7 @@ problems may have been fixed or changed somewhat since this 
was written!
 
  You have to tell libcurl not to expect a body, when dealing with one line
  response commands. Please see the POP3 examples and test cases which show
- this for the NOOP and DELE commands. https://curl.haxx.se/bug/?i=740
+ this for the NOOP and DELE commands. https://curl.se/bug/?i=740
 
 3.4 AUTH PLAIN for SMTP is not working on all servers
 
@@ -322,7 +358,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  decoding also means that we need to check for nastiness that is attempted,
  like "../" sequences and the like. Probably everything to the left of any
  embedded slashes should be cut off.
- https://curl.haxx.se/bug/view.cgi?id=1294
+ https://curl.se/bug/view.cgi?id=1294
 
  -O also doesn't decode %-encoded names, and while it has even less
  information about the charset involved the process is similar to the -J case.
@@ -337,7 +373,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  -" fails. Without -J the same command line works! This happens because the
  resume logic is worked out before the target file name (and thus its
  pre-transfer size) has been figured out!
- https://curl.haxx.se/bug/view.cgi?id=1169
+ https://curl.se/bug/view.cgi?id=1169
 
 4.3 --retry and transfer timeouts
 
@@ -345,7 +381,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  -y/-Y) the next attempt doesn't resume the transfer properly from what was
  downloaded in the previous attempt but will truncate and restart at the
  original position where it was at before the previous failed attempt. See
- https://curl.haxx.se/mail/lib-2008-01/0080.html and Mandriva bug report
+ https://curl.se/mail/lib-2008-01/0080.html and Mandriva bug report
  https://qa.mandriva.com/show_bug.cgi?id=22565
 
 4.4 Improve --data-urlencode space encoding
@@ -406,25 +442,9 @@ problems may have been fixed or changed somewhat since 
this was written!
  _UNICODE and UNICODE defined. And, except for Cygwin, Windows can't use UTF-8
  as a locale.
 
-  https://curl.haxx.se/bug/?i=345
-  https://curl.haxx.se/bug/?i=731
-  https://curl.haxx.se/bug/?i=3747
-
-5.6 cmake support gaps
-
- The cmake build setup lacks several features that the autoconf build
- offers. This includes:
-
-  - use of correct soname for the shared library build
-
-  - support for several TLS backends are missing
-
-  - the unit tests cause link failures in regular non-static builds
-
-  - no nghttp2 check
-
-  - unusable tool_hugehelp.c with MinGW, see
-    https://github.com/curl/curl/issues/3125
+  https://curl.se/bug/?i=345
+  https://curl.se/bug/?i=731
+  https://curl.se/bug/?i=3747
 
 5.7 Visual Studio project gaps
 
@@ -461,6 +481,12 @@ problems may have been fixed or changed somewhat since 
this was written!
 
  https://github.com/curl/curl/issues/864
 
+5.10 SMB tests fail with Python 2
+
+ The error message says "TreeConnectAndX not found".
+
+ See https://github.com/curl/curl/issues/5983
+
 5.11 configure --with-gssapi with Heimdal is ignored on macOS
 
  ... unless you also pass --with-gssapi-libs
@@ -474,11 +500,11 @@ problems may have been fixed or changed somewhat since 
this was written!
  NTLM authentication involving unicode user name or password only works
  properly if built with UNICODE defined together with the Schannel
  backend. The original problem was mentioned in:
- https://curl.haxx.se/mail/lib-2009-10/0024.html
- https://curl.haxx.se/bug/view.cgi?id=896
+ https://curl.se/mail/lib-2009-10/0024.html
+ https://curl.se/bug/view.cgi?id=896
 
  The Schannel version verified to work as mentioned in
- https://curl.haxx.se/mail/lib-2012-07/0073.html
+ https://curl.se/mail/lib-2012-07/0073.html
 
 6.2 MIT Kerberos for Windows build
 
@@ -490,7 +516,7 @@ problems may have been fixed or changed somewhat since this 
was written!
 
  NTLM authentication using SSPI (on Windows) when (lib)curl is running in
  "system context" will make it use wrong(?) user name - at least when compared
- to what winhttp does. See https://curl.haxx.se/bug/view.cgi?id=535
+ to what winhttp does. See https://curl.se/bug/view.cgi?id=535
 
 6.4 Negotiate and Kerberos V5 need a fake user name
 
@@ -498,8 +524,8 @@ problems may have been fixed or changed somewhat since this 
was written!
  V5 in the e-mail protocols, you need to  provide a (fake) user name (this
  concerns both curl and the lib) because the code wrongly only considers
  authentication if there's a user name provided by setting
- conn->bits.user_passwd in url.c  https://curl.haxx.se/bug/view.cgi?id=440 How?
- https://curl.haxx.se/mail/lib-2004-08/0182.html A possible solution is to
+ conn->bits.user_passwd in url.c  https://curl.se/bug/view.cgi?id=440 How?
+ https://curl.se/mail/lib-2004-08/0182.html A possible solution is to
  either modify this variable to be set or introduce a variable such as
  new conn->bits.want_authentication which is set when any of the authentication
  options are set.
@@ -541,7 +567,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  connection timeout during that phase but only the "real" timeout - which may
  surprise users as it is probably considered to be the connect phase to most
  people. Brought up (and is being misunderstood) in:
- https://curl.haxx.se/bug/view.cgi?id=856
+ https://curl.se/bug/view.cgi?id=856
 
 7.2 FTP with CONNECT and slow server
 
@@ -555,14 +581,14 @@ problems may have been fixed or changed somewhat since 
this was written!
 
  It seems sensible to be able to use CURLOPT_NOBODY and CURLOPT_FAILONERROR
  with FTP to detect if a file exists or not, but it is not working:
- https://curl.haxx.se/mail/lib-2008-07/0295.html
+ https://curl.se/mail/lib-2008-07/0295.html
 
 7.4 FTP with ACCT
 
  When doing an operation over FTP that requires the ACCT command (but not when
  logging in), the operation will fail since libcurl doesn't detect this and
  thus fails to issue the correct command:
- https://curl.haxx.se/bug/view.cgi?id=635
+ https://curl.se/bug/view.cgi?id=635
 
 7.5 ASCII FTP
 
@@ -634,12 +660,12 @@ problems may have been fixed or changed somewhat since 
this was written!
 8.1 TELNET and time limitations don't work
 
  When using telnet, the time limitation options don't work.
- https://curl.haxx.se/bug/view.cgi?id=846
+ https://curl.se/bug/view.cgi?id=846
 
 8.2 Microsoft telnet server
 
  There seems to be a problem when connecting to the Microsoft telnet server.
- https://curl.haxx.se/bug/view.cgi?id=649
+ https://curl.se/bug/view.cgi?id=649
 
 
 9. SFTP and SCP
@@ -651,7 +677,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  instead the connection is "cancelled" (the operation is considered done)
  prematurely. There is a half-baked (busy-looping) patch provided in the bug
  report but it cannot be accepted as-is. See
- https://curl.haxx.se/bug/view.cgi?id=748
+ https://curl.se/bug/view.cgi?id=748
 
 9.2 wolfssh: publickey auth doesn't work
 
@@ -737,7 +763,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  signal handler back into the library with a sigsetjmp, which effectively
  causes libcurl to continue running within the signal handler. This is
  non-portable and could cause problems on some platforms. A discussion on the
- problem is available at https://curl.haxx.se/mail/lib-2008-09/0197.html
+ problem is available at https://curl.se/mail/lib-2008-09/0197.html
 
  Also, alarm() provides timeout resolution only to the nearest second. alarm
  ought to be replaced by setitimer on systems that support it.
@@ -760,9 +786,28 @@ problems may have been fixed or changed somewhat since 
this was written!
  handle share a connection cache, but due to how connections are used they are
  still not thread-safe when used shared.
 
- See https://github.com/curl/curl/issues/4915
+ See https://github.com/curl/curl/issues/4915 and lib1541.c
+
+11.12 'no_proxy' string-matches IPv6 numerical addresses
+
+ This has the downside that "::1" for example doesn't match "::0:1" even
+ though they are in fact the same address.
 
-12. LDAP and OpenLDAP
+ See https://github.com/curl/curl/issues/5745
+
+11.13 wakeup socket disconnect causes havoc
+
+ waking an iPad breaks the wakeup socket pair, triggering a POLLIN event and
+ resulting in SOCKERRNO being set to ENOTCONN.
+
+ This condition, and other possible error conditions on the wakeup socket, are
+ not handled, so the condition remains on the FD and curl_multi_poll will
+ never block again.
+
+ See https://github.com/curl/curl/issues/6132 and
+ https://github.com/curl/curl/pull/6133
+
+12. LDAP
 
 12.1 OpenLDAP hangs after returning results
 
@@ -781,7 +826,7 @@ problems may have been fixed or changed somewhat since this 
was written!
  Generic LDAP is synchronous: OK.
 
  See https://github.com/curl/curl/issues/622 and
-     https://curl.haxx.se/mail/lib-2016-01/0101.html
+     https://curl.se/mail/lib-2016-01/0101.html
 
 12.2 LDAP on Windows does authentication wrong?
 
@@ -794,6 +839,10 @@ problems may have been fixed or changed somewhat since 
this was written!
 
  https://github.com/curl/curl/issues/4261
 
+12.4 LDAPS with NSS is slow
+
+ See https://github.com/curl/curl/issues/5874
+
 13. TCP/IP
 
 13.1 --interface for ipv6 binds to unusable IP address
@@ -812,3 +861,60 @@ problems may have been fixed or changed somewhat since 
this was written!
  from the output.
 
  https://github.com/curl/curl/issues/1809
+
+15. CMake
+
+15.1 use correct SONAME
+
+ The autotools build sets the SONAME properly according to VERSIONINFO in
+ lib/Makefile.am and so should cmake to make comparable build.
+
+ See https://github.com/curl/curl/pull/5935
+
+15.2 support build with GnuTLS
+
+15.3 unusable tool_hugehelp.c with MinGW
+
+ see https://github.com/curl/curl/issues/3125
+
+15.4 build docs/curl.1
+
+ The cmake build doesn't create the docs/curl.1 file and therefor must rely on
+ it being there already. This makes the --manual option not work and test
+ cases like 1139 can't function.
+
+15.5 build on Linux links libcurl to libdl
+
+ ... which it shouldn't need to!
+
+ See https://github.com/curl/curl/issues/6165
+
+15.6 uses -lpthread instead of Threads::Threads
+
+ See https://github.com/curl/curl/issues/6166
+
+15.7 generated .pc file contains strange entries
+
+ The Libs.private field of the generated .pc file contains -lgcc -lgcc_s -lc
+ -lgcc -lgcc_s
+
+ See https://github.com/curl/curl/issues/6167
+
+15.8 libcurl.pc uses absolute library paths
+
+ The libcurl.pc file generated by cmake contains things like Libs.private:
+ /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libz.so. The
+ autotools equivalent would say Libs.private: -lssl -lcrypto -lz
+
+ See https://github.com/curl/curl/issues/6169
+
+15.9 cert paths autodetected when cross-compiling
+
+ The autotools build disables the ca_path/ca_bundle detection when
+ cross-compiling. The cmake build keeps doing the detection.
+
+ See https://github.com/curl/curl/issues/6178
+
+15.10 libspsl is not supported
+
+ See https://github.com/curl/curl/issues/6214
diff --git a/docs/LICENSE-MIXING.md b/docs/LICENSE-MIXING.md
deleted file mode 100644
index 1083a2dcd..000000000
--- a/docs/LICENSE-MIXING.md
+++ /dev/null
@@ -1,128 +0,0 @@
-License Mixing
-==============
-
-libcurl can be built to use a fair amount of various third party libraries,
-libraries that are written and provided by other parties that are distributed
-using their own licenses. Even libcurl itself contains code that may cause
-problems to some. This document attempts to describe what licenses libcurl and
-the other libraries use and what possible dilemmas linking and mixing them all
-can lead to for end users.
-
-I am not a lawyer and this is not legal advice!
-
-One common dilemma is that [GPL](https://www.gnu.org/licenses/gpl.html)
-licensed code is not allowed to be linked with code licensed under the
-[Original BSD license](https://spdx.org/licenses/BSD-4-Clause.html) (with the
-announcement clause). You may still build your own copies that use them all,
-but distributing them as binaries would be to violate the GPL license - unless
-you accompany your license with an
-[exception](https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs). 
This
-particular problem was addressed when the [Modified BSD
-license](https://opensource.org/licenses/BSD-3-Clause) was created, which does
-not have the announcement clause that collides with GPL.
-
-## libcurl
-
- Uses an [MIT style license](https://curl.haxx.se/docs/copyright.html) that is
- very liberal.
-
-## OpenSSL
-
- (May be used for SSL/TLS support) Uses an Original BSD-style license with an
- announcement clause that makes it "incompatible" with GPL. You are not
- allowed to ship binaries that link with OpenSSL that includes GPL code
- (unless that specific GPL code includes an exception for OpenSSL - a habit
- that is growing more and more common). If OpenSSL's licensing is a problem
- for you, consider using another TLS library.
-
-## GnuTLS
-
- (May be used for SSL/TLS support) Uses the
- [LGPL](https://www.gnu.org/licenses/lgpl.html) license. If this is a problem
- for you, consider using another TLS library. Also note that GnuTLS itself
- depends on and uses other libs (libgcrypt and libgpg-error) and they too are
- LGPL- or GPL-licensed.
-
-## WolfSSL
-
- (May be used for SSL/TLS support) Uses the GPL license or a proprietary
- license. If this is a problem for you, consider using another TLS library.
-
-## NSS
-
- (May be used for SSL/TLS support) Is covered by the
- [MPL](https://www.mozilla.org/MPL/) license, the GPL license and the LGPL
- license. You may choose to license the code under MPL terms, GPL terms, or
- LGPL terms. These licenses grant you different permissions and impose
- different obligations. You should select the license that best meets your
- needs.
-
-## mbedTLS
-
- (May be used for SSL/TLS support) Uses the [Apache 2.0
- license](https://opensource.org/licenses/Apache-2.0) or the GPL license.
- You may choose to license the code under Apache 2.0 terms or GPL terms.
- These licenses grant you different permissions and impose different
- obligations. You should select the license that best meets your needs.
-
-## BoringSSL
-
- (May be used for SSL/TLS support) As an OpenSSL fork, it has the same
- license as that.
-
-## libressl
-
- (May be used for SSL/TLS support) As an OpenSSL fork, it has the same
- license as that.
-
-## BearSSL
-
- (May be used for SSL/TLS support) Uses an MIT license that is very liberal
- and imposes no restrictions on any other library or part you may link with.
-
-## c-ares
-
- (Used for asynchronous name resolves) Uses an MIT license that is very
- liberal and imposes no restrictions on any other library or part you may link
- with.
-
-## zlib
-
- (Used for compressed Transfer-Encoding support) Uses an MIT-style license
- that shouldn't collide with any other library.
-
-## MIT Kerberos
-
- (May be used for GSS support) MIT licensed, that shouldn't collide with any
- other parts.
-
-## Heimdal
-
- (May be used for GSS support) Heimdal is Original BSD licensed with the
- announcement clause.
-
-## GNU GSS
-
- (May be used for GSS support) GNU GSS is GPL licensed. Note that you may not
- distribute binary curl packages that uses this if you build curl to also link
- and use any Original BSD licensed libraries!
-
-## libidn
-
- (Used for IDNA support) Uses the GNU Lesser General Public License [3]. LGPL
- is a variation of GPL with slightly less aggressive "copyleft". This license
- requires more requirements to be met when distributing binaries, see the
- license for details. Also note that if you distribute a binary that includes
- this library, you must also include the full LGPL license text. Please
- properly point out what parts of the distributed package that the license
- addresses.
-
-## OpenLDAP
-
- (Used for LDAP support) Uses a Modified BSD-style license. Since libcurl uses
- OpenLDAP as a shared library only, I have not heard of anyone that ships
- OpenLDAP linked with libcurl in an app.
-
-## libssh2
-
- (Used for scp and sftp support) libssh2 uses a Modified BSD-style license.
diff --git a/docs/MAIL-ETIQUETTE b/docs/MAIL-ETIQUETTE
index 9d210a655..80d06b640 100644
--- a/docs/MAIL-ETIQUETTE
+++ b/docs/MAIL-ETIQUETTE
@@ -34,7 +34,7 @@ MAIL ETIQUETTE
   1.1 Mailing Lists
 
   The mailing lists we have are all listed and described at
-  https://curl.haxx.se/mail/
+  https://curl.se/mail/
 
   Each mailing list is targeted to a specific set of users and subjects,
   please use the one or the ones that suit you the most.
diff --git a/docs/MANUAL.md b/docs/MANUAL.md
index 7063dbc8b..ca9700b2c 100644
--- a/docs/MANUAL.md
+++ b/docs/MANUAL.md
@@ -2,9 +2,9 @@
 
 ## Simple Usage
 
-Get the main page from Netscape's web-server:
+Get the main page from a web-server:
 
-    curl http://www.netscape.com/
+    curl https://www.example.com/
 
 Get the README file the user's home directory at funet's ftp-server:
 
@@ -16,7 +16,7 @@ Get a web page from a server using port 8000:
 
 Get a directory listing of an FTP site:
 
-    curl ftp://cool.haxx.se/
+    curl ftp://ftp.funet.fi
 
 Get the definition of curl from a dictionary:
 
@@ -24,7 +24,7 @@ Get the definition of curl from a dictionary:
 
 Fetch two documents at once:
 
-    curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/
+    curl ftp://ftp.funet.fi/ http://www.weirdserver.com:8000/
 
 Get a file off an FTPS server:
 
@@ -61,17 +61,17 @@ Get a file from an SMB server:
 
 Get a web page and store in a local file with a specific name:
 
-    curl -o thatpage.html http://www.netscape.com/
+    curl -o thatpage.html http://www.example.com/
 
 Get a web page and store in a local file, make the local file get the name of
 the remote document (if no file name part is specified in the URL, this will
 fail):
 
-    curl -O http://www.netscape.com/index.html
+    curl -O http://www.example.com/index.html
 
 Fetch two files and store them with their remote names:
 
-    curl -O www.haxx.se/index.html -O curl.haxx.se/download.html
+    curl -O www.haxx.se/index.html -O curl.se/download.html
 
 ## Using Passwords
 
@@ -273,7 +273,7 @@ will then store the headers in the specified file.
 
 Store the HTTP headers in a separate file (headers.txt in the example):
 
-      curl --dump-header headers.txt curl.haxx.se
+      curl --dump-header headers.txt curl.se
 
 Note that headers stored in a separate file can be very useful at a later time
 if you want curl to use cookies sent by the server. More about that in the
@@ -556,7 +556,7 @@ Example, set default time out and proxy in a config file:
     # ... and we use a proxy for all accesses:
     proxy = proxy.our.domain.com:8080
 
-White spaces ARE significant at the end of lines, but all white spaces leading
+Whitespaces ARE significant at the end of lines, but all whitespace leading
 up to the first characters of each line are ignored.
 
 Prevent curl from reading the default file by using -q as the first command
@@ -657,11 +657,11 @@ Download with `PORT` but use 192.168.0.10 as our IP 
address to use:
 
 Get a web page from a server using a specified port for the interface:
 
-    curl --interface eth0:1 http://www.netscape.com/
+    curl --interface eth0:1 http://www.example.com/
 
 or
 
-    curl --interface 192.168.1.10 http://www.netscape.com/
+    curl --interface 192.168.1.10 http://www.example.com/
 
 ## HTTPS
 
@@ -772,7 +772,7 @@ fallback mechanism in case if LDAPv3 will fail to connect.
 LDAP is a complex thing and writing an LDAP query is not an easy task. I do
 advise you to dig up the syntax description for that elsewhere. One such place
 might be: [RFC 2255, The LDAP URL
-Format](https://curl.haxx.se/rfc/rfc2255.txt)
+Format](https://curl.se/rfc/rfc2255.txt)
 
 To show you an example, this is how I can get all people from my local LDAP
 server that has a certain sub-domain in their email address:
@@ -837,7 +837,7 @@ use it for all protocols where authentication is used.
 
 A very simple `.netrc` file could look something like:
 
-    machine curl.haxx.se login iamdaniel password mysecret
+    machine curl.se login iamdaniel password mysecret
 
 ## Custom Output
 
@@ -977,7 +977,7 @@ fail.
 
 For your convenience, we have several open mailing lists to discuss curl, its
 development and things relevant to this. Get all info at
-https://curl.haxx.se/mail/.
+https://curl.se/mail/.
 
 Please direct curl questions, feature requests and trouble reports to one of
 these mailing lists instead of mailing any individual.
diff --git a/docs/MQTT.md b/docs/MQTT.md
index a40971474..741b07297 100644
--- a/docs/MQTT.md
+++ b/docs/MQTT.md
@@ -1,25 +1,5 @@
 # MQTT in curl
 
-## Experimental!
-
-MQTT support in curl is considered **EXPERIMENTAL** until further notice. It
-needs to be enabled at build-time. See below.
-
-After the initial merge, further development and tweaking of the MQTT support
-in curl will happen in the master branch using pull-requests, just like
-ordinary changes.
-
-Experimental support for MQTT means that we **do not guarantee** that the
-current protocol functionality will remain or remain this way going forward.
-There are no API or ABI promises for experimental features as for regular curl
-features.
-
-Do not ship anything with this enabled.
-
-## Build
-
-    ./configure --enable-mqtt
-
 ## Usage
 
 A plain "GET" subscribes to the topic and prints all published messages.
@@ -47,15 +27,3 @@ Remaining limitations:
  - No username/password support
  - No TLS (mqtts) support
  - Naive EAGAIN handling won't handle split messages
-
-## Work
-
-1. Write a mqtt server for the test suite
-2. Create a few tests verifying the existing mqtt functionality
-3. Work on fixing some of the worst limitations - with accompanying tests
-4. Consider replacing the client-side MQTT code with wolfMQTT
-
-## Credits
-
-The initial MQTT patch was authored by Björn Stenberg. This work is built upon
-that patch and has been expanded since.
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 820764528..376299811 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -41,7 +41,7 @@ EXTRA_DIST =                                    \
  ALTSVC.md                                      \
  BINDINGS.md                                    \
  BUG-BOUNTY.md                                  \
- BUGS                                           \
+ BUGS.md                                        \
  CHECKSRC.md                                    \
  CIPHERS.md                                     \
  CODE_OF_CONDUCT.md                             \
@@ -51,13 +51,14 @@ EXTRA_DIST =                                    \
  CURL-DISABLE.md                                \
  DEPRECATE.md                                   \
  DYNBUF.md                                      \
- ESNI.md                                        \
+ ECH.md                                         \
  EXPERIMENTAL.md                                \
  FAQ                                            \
- FEATURES                                       \
+ FEATURES.md                                    \
  GOVERNANCE.md                                  \
  HELP-US.md                                     \
  HISTORY.md                                     \
+ HSTS.md                                        \
  HTTP-COOKIES.md                                \
  HTTP2.md                                       \
  HTTP3.md                                       \
@@ -66,21 +67,20 @@ EXTRA_DIST =                                    \
  INSTALL.md                                     \
  INTERNALS.md                                   \
  KNOWN_BUGS                                     \
- LICENSE-MIXING.md                              \
  MAIL-ETIQUETTE                                 \
  MQTT.md                                        \
+ NEW-PROTOCOL.md                                \
  options-in-versions                            \
  PARALLEL-TRANSFERS.md                          \
  README.md                                      \
  RELEASE-PROCEDURE.md                           \
- RESOURCES                                      \
  ROADMAP.md                                     \
  SECURITY-PROCESS.md                            \
  SSL-PROBLEMS.md                                \
  SSLCERTS.md                                    \
  THANKS                                         \
  TODO                                           \
- TheArtOfHttpScripting                          \
+ TheArtOfHttpScripting.md                       \
  VERSIONS.md
 
 SUFFIXES = .1
diff --git a/docs/NEW-PROTOCOL.md b/docs/NEW-PROTOCOL.md
new file mode 100644
index 000000000..489c43128
--- /dev/null
+++ b/docs/NEW-PROTOCOL.md
@@ -0,0 +1,110 @@
+# Adding a new protocol?
+
+Every once in a while someone comes up with the idea of adding support for yet
+another protocol to curl. After all, curl already supports 25 something
+protocols and it is the Internet transfer machine for the world.
+
+In the curl project we love protocols and we love supporting many protocols
+and do it well.
+
+So how do you proceed to add a new protocol and what are the requirements?
+
+## No fixed set of requirements
+
+This document is an attempt to describe things to consider. There is no
+checklist of the twenty-seven things you need to cross off. We view the entire
+effort as a whole and then judge if it seems to be the right thing - for
+now. The more things that look right, fit our patterns and are done in ways
+that align with our thinking, the better are the chances that we will agree
+that supporting this protocol is a grand idea.
+
+## Mutual benefit is preferred
+
+curl is not here for your protocol. Your protocol is not here for curl. The
+best cooperation and end result occur when all involved parties mutually see
+and agree that supporting this protocol in curl would be good for everyone.
+Heck, for the world!
+
+Consider "selling us" the idea that we need an implementation merged in curl,
+to be fairly important. *Why* do we want curl to support this new protocol?
+
+## Protocol requirements
+
+### Client-side
+
+The protocol implementation is for a client's side of a "communication
+session".
+
+### Transfer oriented
+
+The protocol itself should be focused on *transfers*. Be it uploads or
+downloads or both. I should at least be possible to view the transfers as
+such, like we can view reading emails over POP3 as a downloading and sending
+emails over SMTP as an upload.
+
+If you cannot even shoehorn the protocol into a transfer focused view, then
+you are up for a tough argument.
+
+### URL
+
+There should be a documented URL format. If there is an RFC for it there is no
+question about it but the syntax doesn't have to be a published RFC. It could
+be enough if it is already in use by other implementations.
+
+If you make up the syntax just in order to be able to propose it to curl, then
+you are in a bad place. URLs are designed and defined for interoperability.
+There should at least be a good chance that other clients and servers can be
+implemented supporting the same URL syntax and work the same or similar way.
+
+URLs work on registered 'schemes'. There is a register of [all officially
+recognized
+schemes](https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml). If
+your protocol is not in there, is it really a protocol we want?
+
+### Wide and public use
+
+The protocol shall already be used or have an expectation of getting used
+widely. Experimental protocols are better off worked on in experiments first,
+to prove themselves before they are adopted by curl.
+
+## Code
+
+Of course the code needs to be written, provided, licensed agreeably and it
+should follow our code guidelines and review comments have to be dealt with.
+If the implementation needs third party code, that third party code should not
+have noticeably lesser standards than the curl project itself.
+
+## Tests
+
+As much of the protocol implementation as possible needs to be verified by
+curl test cases. We must have the implementation get tested by CI jobs,
+torture tests and more.
+
+We've experienced many times in the past how new implementations were brought
+to curl and immediately once the code had been merged, the originator vanished
+from the face of the earth. That is fine, but we need to take the necessary
+precautions so when it happens we are still fine.
+
+Our test infrastructure is powerful enough to test just about every possible
+protocol - but it might require a bit of an effort to make it happen.
+
+## Documentation
+
+We cannot assume that users are particularly familiar with specific details
+and peculiarities of the protocol. It needs documentation.
+
+Maybe it even needs some internal documentation so that the developers who
+will try to debug something five years from now can figure out functionality a
+little easier!
+
+The protocol specification itself should be freely available without requiring
+any NDA or similar.
+
+## Don't compare
+
+We are constantly raising the bar and we are constantly improving the
+project. A lot of things we did in the past would not be acceptable if done
+today.  Therefore, you might be tempted to use shortcuts or "hacks" you can
+spot other - existing - protocol implementations have used, but there is
+nothing to gain from that. The bar has been raised. Former "cheats" won't be
+tolerated anymore.
diff --git a/docs/README.md b/docs/README.md
index 0521937d1..078385043 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,4 +1,4 @@
-![curl logo](https://curl.haxx.se/logo/curl-logo.svg)
+![curl logo](https://curl.se/logo/curl-logo.svg)
 
 # Documentation
 
@@ -7,6 +7,6 @@ subdirectories, using several different formats. Some of them 
are not ideal
 for reading directly in your browser.
 
 If you'd rather see the rendered version of the documentation, check out the
-curl website's [documentation section](https://curl.haxx.se/docs/) for
-general curl stuff or the [libcurl section](https://curl.haxx.se/libcurl/) for
+curl website's [documentation section](https://curl.se/docs/) for
+general curl stuff or the [libcurl section](https://curl.se/libcurl/) for
 libcurl related documentation.
diff --git a/docs/RESOURCES b/docs/RESOURCES
deleted file mode 100644
index 55f75df77..000000000
--- a/docs/RESOURCES
+++ /dev/null
@@ -1,85 +0,0 @@
-                                  _   _ ____  _
-  Project                     ___| | | |  _ \| |
-                             / __| | | | |_) | |
-                            | (__| |_| |  _ <| |___
-                             \___|\___/|_| \_\_____|
-
-
-This document lists documents and standards used by curl.
-
-  RFC 959  - FTP Protocol
-
-  RFC 1635 - How to Use Anonymous FTP
-
-  RFC 1738 - Uniform Resource Locators
-
-  RFC 1777 - Lightweight Directory Access Protocol (LDAP)
-
-  RFC 1808 - Relative Uniform Resource Locators
-
-  RFC 1867 - Form-based File Upload in HTML
-
-  RFC 1950 - ZLIB Compressed Data Format Specification
-
-  RFC 1951 - DEFLATE Compressed Data Format Specification
-
-  RFC 1952 - GZIP File Format Specification
-
-  RFC 1959 - LDAP URL Syntax
-
-  RFC 2045-2049 - Everything you need to know about MIME! (needed for form
-                  based upload)
-
-  RFC 2068 - HTTP 1.1 (obsoleted by RFC 2616)
-
-  RFC 2104 - Keyed-Hashing for Message Authentication
-
-  RFC 2109 - HTTP State Management Mechanism (cookie stuff)
-           - Also, read Netscape's specification at
-             https://curl.haxx.se/rfc/cookie_spec.html
-
-  RFC 2183 - The Content-Disposition Header Field
-
-  RFC 2195 - CRAM-MD5 Authentication
-
-  RFC 2229 - A Dictionary Server Protocol
-
-  RFC 2255 - Newer LDAP URL Format
-
-  RFC 2231 - MIME Parameter Value and Encoded Word Extensions:
-             Character Sets, Languages, and Continuations
-
-  RFC 2388 - "Returning Values from Forms: multipart/form-data"
-             Use this as an addition to the RFC1867
-
-  RFC 2396 - "Uniform Resource Identifiers: Generic Syntax and Semantics" This
-             one obsoletes RFC 1738, but since RFC 1738 is often mentioned
-             I've left it in this list.
-
-  RFC 2428 - FTP Extensions for IPv6 and NATs
-
-  RFC 2577 - FTP Security Considerations
-
-  RFC 2616 - HTTP 1.1, the latest
-
-  RFC 2617 - HTTP Authentication
-
-  RFC 2718 - Guidelines for new URL Schemes
-
-  RFC 2732 - Format for Literal IPv6 Addresses in URL's
-
-  RFC 2818 - HTTP Over TLS (TLS is the successor to SSL)
-
-  RFC 2821 - Simple Mail Transfer Protocol (SMTP)
-
-  RFC 2964 - Use of HTTP State Management
-
-  RFC 2965 - HTTP State Management Mechanism. Cookies. Obsoletes RFC2109
-
-  RFC 3207 - SMTP Over TLS
-
-  RFC 4616 - PLAIN Authentication
-
-  RFC 4954 - SMTP Authentication
-
-  RFC 7932 - Brotli Compressed Data Format
diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md
index dae72a917..1a18d3e7a 100644
--- a/docs/ROADMAP.md
+++ b/docs/ROADMAP.md
@@ -8,36 +8,12 @@ participation.
 HSTS
 ----
 
- Complete and merge [the existing PR](https://github.com/curl/curl/pull/2682).
+ Merge [the existing PR](https://github.com/curl/curl/pull/5896).
 
- Loading a huge preload file is probably not too interesting to most people,
- but using a custom file and reacting to HSTS response header probably are
- good features.
-
-DNS-over-TLS
-------------
-
- Similar to DNS-over-HTTPS. Could share quite a lot of generic code.
-
-ESNI (Encrypted SNI)
---------------------
+ECH (Encrypted Client Hello - formerly known as ESNI)
+-----------------------------------------------------
 
  See Daniel's post on [Support of Encrypted
- SNI](https://curl.haxx.se/mail/lib-2019-03/0000.html) on the mailing list.
+ SNI](https://curl.se/mail/lib-2019-03/0000.html) on the mailing list.
 
  Initial work exists in https://github.com/curl/curl/pull/4011
-
-thread-safe `curl_global_init()`
---------------------------------
-
- Fix the libcurl specific parts of the function to be thread-safe. Make sure
- it can be thread-safe if built with thread-safe 3rd party libraries.
- (probably can't include `curl_global_init_mem()` for obvious reasons)
-
-Hardcode “localhost”
---------------------
-
- No need to resolve it. Avoid a risk where this is resolved over the network
- and actually responds with something else than a local address. Some
- operating systems already do this. Also:
- https://tools.ietf.org/html/draft-ietf-dnsop-let-localhost-be-localhost-02
diff --git a/docs/SECURITY-PROCESS.md b/docs/SECURITY-PROCESS.md
index d2ac1fd84..a5d487adf 100644
--- a/docs/SECURITY-PROCESS.md
+++ b/docs/SECURITY-PROCESS.md
@@ -8,7 +8,7 @@ Publishing Information
 ----------------------
 
 All known and public curl or libcurl related vulnerabilities are listed on
-[the curl website security page](https://curl.haxx.se/docs/security.html).
+[the curl website security page](https://curl.se/docs/security.html).
 
 Security vulnerabilities **should not** be entered in the project's public bug
 tracker.
@@ -125,8 +125,16 @@ Publishing Security Advisories
 6. On security advisory release day, push the changes on the curl-www
    repository's remote master branch.
 
+Hackerone
+---------
+
+Request the issue to be disclosed. If there are sensitive details present in
+the report and discussion, those should be redacted from the disclosure. The
+default policy is to disclose as much as possible as soon as the vulnerability
+has been published.
+
 Bug Bounty
 ----------
 
-See [BUG-BOUNTY](https://curl.haxx.se/docs/bugbounty.html) for details on the
+See [BUG-BOUNTY](https://curl.se/docs/bugbounty.html) for details on the
 bug bounty program.
diff --git a/docs/SSL-PROBLEMS.md b/docs/SSL-PROBLEMS.md
index 35000cf76..cd17cd615 100644
--- a/docs/SSL-PROBLEMS.md
+++ b/docs/SSL-PROBLEMS.md
@@ -84,4 +84,4 @@
 
   References:
 
-  https://curl.haxx.se/docs/ssl-compared.html
+  https://curl.se/docs/ssl-compared.html
diff --git a/docs/SSLCERTS.md b/docs/SSLCERTS.md
index 39170d085..415b540ad 100644
--- a/docs/SSLCERTS.md
+++ b/docs/SSLCERTS.md
@@ -60,8 +60,8 @@ server, do one of the following:
     With the curl command line tool: --cacert [file]
 
  3. Add the CA cert for your server to the existing default CA certificate
-    store. The default CA certificate store can changed at compile time with 
the
-    following configure options:
+    store. The default CA certificate store can be changed at compile time with
+    the following configure options:
 
     --with-ca-bundle=FILE: use the specified file as CA certificate store. CA
     certificates need to be concatenated in PEM format into this file.
@@ -119,7 +119,7 @@ server, do one of the following:
  5. Get a better/different/newer CA cert bundle! One option is to extract the
     one a recent Firefox browser uses by running 'make ca-bundle' in the curl
     build tree root, or possibly download a version that was generated this
-    way for you: [CA Extract](https://curl.haxx.se/docs/caextract.html)
+    way for you: [CA Extract](https://curl.se/docs/caextract.html)
 
 Neglecting to use one of the above methods when dealing with a server using a
 certificate that isn't signed by one of the certificates in the installed CA
diff --git a/docs/THANKS b/docs/THANKS
index ccec12146..fcac1f5f3 100644
--- a/docs/THANKS
+++ b/docs/THANKS
@@ -116,6 +116,7 @@ Andre Heinecke
 Andreas Damm
 Andreas Falkenhahn
 Andreas Farber
+Andreas Fischer
 Andreas Kostyrka
 Andreas Malzahn
 Andreas Ntaflos
@@ -135,6 +136,7 @@ Andrei Sedoi
 Andrei Valeriu BICA
 Andrei Virtosu
 Andrej E Baranov
+Andrew Barnes
 Andrew Benham
 Andrew Biggs
 Andrew Bushnell
@@ -158,7 +160,9 @@ Andy Fiddaman
 Andy Serpa
 Andy Tsouladze
 Angus Mackay
+anio on github
 anshnd on github
+Antarpreet Singh
 Anthon Pang
 Anthony Avina
 Anthony Bryan
@@ -198,6 +202,7 @@ Austin Green
 Avery Fay
 Axel Tillequin
 Ayoub Boudhar
+b9a1 on github
 Balaji Parasuram
 Balaji S Rao
 Balaji Salunke
@@ -213,6 +218,7 @@ Bastien Bouclet
 Basuke Suzuki
 baumanj on github
 bdry on github
+beckenc on github
 Ben Boeckel
 Ben Darnell
 Ben Greear
@@ -343,6 +349,7 @@ Chris Flerackers
 Chris Gaukroger
 Chris Maltby
 Chris Mumford
+Chris Paulson-Ellis
 Chris Roberts
 Chris Smowton
 Chris Young
@@ -383,6 +390,7 @@ cmfrolick on github
 codesniffer13 on github
 Cody Jones
 Cody Mack
+COFFEETALES on github
 coinhubs on github
 Colby Ranger
 Colin Blair
@@ -401,6 +409,7 @@ Craig Markwardt
 crazydef on github
 Cris Bailiff
 Cristian Greco
+Cristian Morales Vega
 Cristian Rodríguez
 Curt Bogmine
 Cynthia Coan
@@ -409,6 +418,7 @@ Cyrill Osterwalder
 Cédric Connes
 Cédric Deltheil
 D. Flinkmann
+d4d on hackerone
 d912e3 on github
 Da-Yoon Chung
 daboul on github
@@ -426,6 +436,7 @@ Dan Donahue
 Dan Fandrich
 Dan Jacobson
 Dan Johnson
+Dan Kenigsberg
 Dan Locks
 Dan McNulty
 Dan Nelson
@@ -525,6 +536,7 @@ Dheeraj Sangamkar
 Didier Brisebourg
 Diego Bes
 Diego Casorran
+Dietmar Hauser
 Dilyan Palauzov
 Dima Barsky
 Dima Pasechnik
@@ -538,7 +550,9 @@ Dinar
 Dirk Eddelbuettel
 Dirk Feytons
 Dirk Manske
+Dirk Wetter
 Dirkjan Bussink
+Diven Qi
 divinity76 on github
 dkjjr89 on github
 dkwolfe4 on github
@@ -578,6 +592,7 @@ Drake Arconis
 dtmsecurity on github
 Duane Cathey
 Duncan Mac-Vicar Prett
+Duncan Wilcox
 Dustin Boswell
 Dusty Mabe
 Duy Phan Thanh
@@ -611,6 +626,7 @@ Elliot Saba
 Ellis Pritchard
 Elmira A Semenova
 elsamuko on github
+emanruse on github
 Emanuele Bovisio
 Emil Engler
 Emil Lerner
@@ -709,8 +725,10 @@ Fred Noz
 Fred Stluka
 Frederic Lepied
 Frederik B
+Frederik Wedel-Heinen
 Fredrik Thulin
 FuccDucc on github
+fullincome on github
 Gabriel Kuri
 Gabriel Sjoberg
 Garrett Holmstrom
@@ -822,12 +840,14 @@ Hongli Lai
 Howard Blaise
 Howard Chu
 hsiao yi
+htasta on github
 Hubert Kario
 Hugo van Kemenade
 Huzaifa Sidhpurwala
 huzunhao on github
 hydra3333 on github
 Hzhijun
+iammrtau on github
 Ian D Allen
 Ian Fette
 Ian Ford
@@ -854,6 +874,7 @@ infinnovation-dev on github
 Ingmar Runge
 Ingo Ralf Blum
 Ingo Wilken
+Ionuț-Francisc Oancea
 Irfan Adilovic
 Ironbars13 on github
 Irving Wolfe
@@ -869,6 +890,7 @@ Jack Zhang
 Jackarain on github
 Jacky Lam
 Jacob Barthelmeh
+Jacob Hoffman-Andrews
 Jacob Meuser
 Jacob Moshenko
 Jactry Zeng
@@ -920,6 +942,7 @@ Jason S. Priebe
 Javier Barroso
 Javier Blazquez
 Javier G. Sogo
+Javier Navarro
 Javier Sixto
 Jay Austin
 Jayesh A Shah
@@ -979,6 +1002,7 @@ Jiri Dvorak
 Jiri Hruska
 Jiri Jaburek
 Jiří Malák
+jmdavitt on github
 jnbr on github
 Jocelyn Jaubert
 Joe Halpin
@@ -1065,6 +1089,7 @@ Joshua Kwan
 Joshua Swink
 Josie Huddleston
 Josue Andrade Gomes
+José Joaquín Atria
 Jozef Kralik
 JP Mens
 Juan Barreto
@@ -1101,6 +1126,7 @@ Jörg Mueller-Tolk
 Jörn Hartroth
 K. R. Walker
 ka7 on github
+Kael1117 on github
 Kai Engert
 Kai Noda
 Kai Sommerfeld
@@ -1144,6 +1170,7 @@ Kimmo Kinnunen
 Kirill Marchuk
 Kjell Ericson
 Kjetil Jacobsen
+Klaus Crusius
 Klaus Stein
 Klevtsov Vadim
 Kobi Gurkan
@@ -1152,6 +1179,7 @@ Konstantin Isakov
 Konstantin Kushnir
 kotoriのねこ
 kouzhudong on github
+Kovalkov Dmitrii
 kreshano on github
 Kris Kennaway
 Krishnendu Majumdar
@@ -1161,6 +1189,7 @@ Kristian Köhntopp
 Kristian Mide
 Kristiyan Tsaklev
 Kristoffer Gleditsch
+Kunal Chandarana
 Kunal Ekawde
 Kurt Fankhauser
 Kwon-Young Choi
@@ -1249,6 +1278,7 @@ Luz Paz
 Luật Nguyễn
 Lyman Epp
 Lyndon Hill
+M.R.T on github
 Maciej Karpiuk
 Maciej Puzio
 Maciej W. Rozycki
@@ -1316,6 +1346,7 @@ Maros Priputen
 Marquis de Muesli
 Martijn Koster
 Martin Ankerl
+Martin Bašti
 Martin C. Martin
 Martin Drasar
 Martin Dreher
@@ -1386,6 +1417,7 @@ Melissa Mears
 Mert Yazıcıoğlu
 Mettgut Jamalla
 Michael Anti
+Michael Baentsch
 Michael Benedict
 Michael Brehm
 Michael Calmer
@@ -1407,6 +1439,8 @@ Michael Lee
 Michael Maltese
 Michael Mealling
 Michael Mueller
+Michael Musset
+Michael Olbrich
 Michael Osipov
 Michael Schmid
 Michael Smith
@@ -1451,6 +1485,7 @@ Mike Revi
 Miklos Nemeth
 Miloš Ljumović
 Mingliang Zhu
+Mingtao Yang
 Miroslav Franc
 Miroslav Spousta
 Mischa Salle
@@ -1524,6 +1559,7 @@ Nikos Tsipinakis
 niner on github
 Ning Dong
 Nir Soffer
+Niranjan Hasabnis
 Nis Jorgensen
 nk
 NobodyXu on github
@@ -1533,6 +1569,7 @@ nopjmp on github
 Norbert Frese
 Norbert Kett
 Norbert Novotny
+nosajsnikta on github
 NTMan on Github
 Octavio Schroeder
 Ofer
@@ -1548,6 +1585,7 @@ Oliver Gondža
 Oliver Graute
 Oliver Kuckertz
 Oliver Schindler
+Oliver Urbann
 Olivier Berger
 Olivier Brunel
 Omar Ramadan
@@ -1624,6 +1662,7 @@ pendrek at hackerone
 Peng Li
 Per Lundberg
 Per Malmberg
+Per Nilsson
 Pete Lomax
 Peter Bray
 Peter Forret
@@ -1632,6 +1671,7 @@ Peter Gal
 Peter Heuchert
 Peter Hjalmarsson
 Peter Korsgaard
+Peter Körner
 Peter Lamare
 Peter Lamberg
 Peter Laser
@@ -1663,6 +1703,7 @@ Philip Craig
 Philip Gladstone
 Philip Langdale
 Philip Prindeville
+Philipp Klaus Krause
 Philipp Waehnert
 Philippe Hameau
 Philippe Marguinaud
@@ -1690,6 +1731,7 @@ Puneet Pawaia
 qiandu2006 on github
 Quagmire
 Quanah Gibson-Mount
+Quentin Balland
 Quinn Slack
 R. Dennis Steed
 Radoslav Georgiev
@@ -1721,6 +1763,7 @@ Ray Dassen
 Ray Pekowski
 Ray Satiro
 Razvan Cojocaru
+rcombs on github
 Reed Loden
 Reinhard Max
 Reinout van Schouwen
@@ -1796,6 +1839,7 @@ Robert Schumann
 Robert Weaver
 Robert Wruck
 Robin Cornelius
+Robin Douine
 Robin Johnson
 Robin Kay
 Robson Braga Araujo
@@ -1826,6 +1870,7 @@ Rosimildo da Silva
 Ross Burton
 Roy Bellingan
 Roy Shan
+Rui LIU
 Rune Kleveland
 Ruslan Baratov
 Ruslan Gazizov
@@ -1849,12 +1894,14 @@ Sam Deane
 Sam Hurst
 Sam Roth
 Sam Schanken
+Samanta Navarro
 Sampo Kellomaki
 Samuel Díaz García
 Samuel Listopad
 Samuel Marks
 Samuel Surtees
 Samuel Thibault
+Samuel Tranchet
 Sander Gates
 Sandor Feldi
 Santhana Todatry
@@ -1924,6 +1971,7 @@ Siva Sivaraman
 SLDiggie on github
 smuellerDD on github
 sn on hackerone
+sofaboss on github
 Somnath Kundu
 Song Ma
 Sonia Subramanian
@@ -1947,6 +1995,7 @@ Stefan Grether
 Stefan Kanthak
 Stefan Krause
 Stefan Neis
+Stefan Strogin
 Stefan Teleman
 Stefan Tomanek
 Stefan Ulrich
@@ -2022,6 +2071,7 @@ therealhirudo on github
 tholin on github
 Thomas Bouzerar
 Thomas Braun
+Thomas Danielsson
 Thomas Gamper
 Thomas Glanzmann
 Thomas J. Moore
@@ -2076,6 +2126,7 @@ Todd Short
 Todd Vierling
 Tom Benoist
 Tom Donovan
+Tom G. Christensen
 Tom Grace
 Tom Greenslade
 Tom Lee
@@ -2133,6 +2184,7 @@ Valentin David
 Valentyn Korniienko
 Valerii Zapodovnikov
 vanillajonathan on github
+Varnavas Papaioannou
 Vasiliy Faronov
 Vasily Lobaskin
 Vasy Okhin
@@ -2200,6 +2252,7 @@ Xiang Xiao
 Xiangbin Li
 Xiaoyin Liu
 XmiliaH on github
+xnynx on github
 xwxbug on github
 Yaakov Selkowitz
 Yang Tse
diff --git a/docs/THANKS-filter b/docs/THANKS-filter
index e11ad6d27..eb1f653fa 100644
--- a/docs/THANKS-filter
+++ b/docs/THANKS-filter
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -122,3 +122,4 @@ s/Yamada Yasuharu/Yasuharu Yamada/
 s/Jim Gallagher/James Gallagher/
 s/Steve Brokenshire/Stephen Brokenshire/
 s/wangp on github/Peter Wang/
+s# *autobuild https://.*##
diff --git a/docs/TODO b/docs/TODO
index bd9b0e883..d064ca28c 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -52,6 +52,8 @@
  2.4 Split connect and authentication process
  2.5 Edge-triggered sockets should work
  2.6 multi upkeep
+ 2.7 Virtual external sockets
+ 2.8 dynamically decide to use socketpair
 
  3. Documentation
  3.2 Provide cmake config-file
@@ -135,6 +137,7 @@
  17.2 Handle growing SFTP files
  17.3 Support better than MD5 hostkey hash
  17.4 Support CURLOPT_PREQUOTE
+ 17.5 SSH over HTTPS proxy with more backends
 
  18. Command line tool
  18.1 sync
@@ -158,13 +161,13 @@
  18.19 expand ~/ in config files
  18.20 host name sections in config files
  18.21 retry on the redirected-to URL
- 18.22 Add flag to specify download directory
  18.23 Set the modification date on an uploaded file
  18.24 Use multiple parallel transfers for a single download
 
  19. Build
  19.1 roffit
  19.2 Enable PIE and RELRO by default
+ 19.3 Don't use GNU libtool on OpenBSD
 
  20. Test suite
  20.1 SSL tunnel
@@ -238,6 +241,8 @@
  This could be used by curl on macOS when built without a separate IDN library
  and an IDN host name is used in a URL.
 
+ See initial work in https://github.com/curl/curl/pull/5371
+
 1.7 Support HTTP/2 for HTTP(S) proxies
 
  Support for doing HTTP/2 to HTTP and HTTPS proxies is still missing.
@@ -410,7 +415,7 @@
  See https://github.com/curl/curl/issues/3523
 
  Michael Kaufmann suggestion here:
- 
https://curl.haxx.se/video/curlup-2017/2017-03-19_05_Michael_Kaufmann_Websocket_support_for_curl.mp4
+ 
https://curl.se/video/curlup-2017/2017-03-19_05_Michael_Kaufmann_Websocket_support_for_curl.mp4
 
 1.30 config file parsing
 
@@ -481,6 +486,23 @@
 
  See https://github.com/curl/curl/issues/3199
 
+2.7 Virtual external sockets
+
+ libcurl performs operations on the given file descriptor that presumes it is
+ a socket and an application cannot replace them at the moment. Allowing an
+ application to fully replace those would allow a larger degree of freedom and
+ flexibility.
+
+ See https://github.com/curl/curl/issues/5835
+
+2.8 dynamically decide to use socketpair
+
+ For users who don't use curl_multi_wait() or don't care for
+ curl_multi_wakeup(), we could introduce a way to make libcurl NOT
+ create a socketpair in the multi handle.
+
+ See https://github.com/curl/curl/issues/4829
+
 3. Documentation
 
 3.2 Provide cmake config-file
@@ -503,7 +525,7 @@
  When trying to connect passively to a server which only supports active
  connections, libcurl returns CURLE_FTP_WEIRD_PASV_REPLY and closes the
  connection. There could be a way to fallback to an active connection (and
- vice versa). https://curl.haxx.se/bug/feature.cgi?id=1754793
+ vice versa). https://curl.se/bug/feature.cgi?id=1754793
 
 4.3 Earlier bad letter detection
 
@@ -540,7 +562,7 @@
 5.1 Better persistency for HTTP 1.0
 
  "Better" support for persistent connections over HTTP 1.0
- https://curl.haxx.se/bug/feature.cgi?id=1089001
+ https://curl.se/bug/feature.cgi?id=1089001
 
 5.2 Set custom client ip when using haproxy protocol
 
@@ -617,7 +639,7 @@
  hack ;-)
 
  Please see the following thread for more information:
- https://curl.haxx.se/mail/lib-2012-05/0178.html
+ https://curl.se/mail/lib-2012-05/0178.html
 
 
 8. POP3
@@ -744,9 +766,9 @@ that doesn't exist on the server, just like 
--ftp-create-dirs.
  https://www.rfc-editor.org/rfc/rfc6698.txt
 
  An initial patch was posted by Suresh Krishnaswamy on March 7th 2013
- (https://curl.haxx.se/mail/lib-2013-03/0075.html) but it was a too simple
+ (https://curl.se/mail/lib-2013-03/0075.html) but it was a too simple
  approach. See Daniel's comments:
- https://curl.haxx.se/mail/lib-2013-03/0103.html . libunbound may be the
+ https://curl.se/mail/lib-2013-03/0103.html . libunbound may be the
  correct library to base this development on.
 
  Björn Stenberg wrote a separate initial take on DANE that was never
@@ -910,6 +932,13 @@ that doesn't exist on the server, just like 
--ftp-create-dirs.
  The two other QUOTE options are supported for SFTP, but this was left out for
  unknown reasons!
 
+17.5 SSH over HTTPS proxy with more backends
+
+ The SSH based protocols SFTP and SCP didn't work over HTTPS proxy at
+ all until PR https://github.com/curl/curl/pull/6021 brought the
+ functionality with the libssh2 backend. Presumably, this support
+ can/could be added for the other backends as well.
+
 18. Command line tool
 
 18.1 sync
@@ -1112,12 +1141,6 @@ that doesn't exist on the server, just like 
--ftp-create-dirs.
 
  See https://github.com/curl/curl/issues/5462
 
-18.22 Add flag to specify download directory
-
- A directory name to basically prepend to the file name -O and -o use. Saves
- user from having to manually "cd" to the directory. Especially useful for
- command lines with multiple -O and different download directories.
-
 18.23 Set the modification date on an uploaded file
 
  For SFTP and posssibly FTP, curl could offer an option to set the
@@ -1165,6 +1188,15 @@ that doesn't exist on the server, just like 
--ftp-create-dirs.
  to no impact, neither on the performance nor on the general functionality of
  curl.
 
+19.3 Don't use GNU libtool on OpenBSD
+ When compiling curl on OpenBSD with "--enable-debug" it will give linking
+ errors when you use GNU libtool. This can be fixed by using the libtool
+ provided by OpenBSD itself. However for this the user always needs to invoke
+ make with "LIBTOOL=/usr/bin/libtool". It would be nice if the script could
+ have some magic to detect if this system is an OpenBSD host and then use the
+ OpenBSD libtool instead.
+
+ See https://github.com/curl/curl/issues/5862
 
 20. Test suite
 
diff --git a/docs/TheArtOfHttpScripting b/docs/TheArtOfHttpScripting
deleted file mode 100644
index 65bda6255..000000000
--- a/docs/TheArtOfHttpScripting
+++ /dev/null
@@ -1,758 +0,0 @@
-                                  _   _ ____  _
-                              ___| | | |  _ \| |
-                             / __| | | | |_) | |
-                            | (__| |_| |  _ <| |___
-                             \___|\___/|_| \_\_____|
-
-
-The Art Of Scripting HTTP Requests Using Curl
-
- 1. HTTP Scripting
- 1.1 Background
- 1.2 The HTTP Protocol
- 1.3 See the Protocol
- 1.4 See the Timing
- 1.5 See the Response
- 2. URL
- 2.1 Spec
- 2.2 Host
- 2.3 Port number
- 2.4 User name and password
- 2.5 Path part
- 3. Fetch a page
- 3.1 GET
- 3.2 HEAD
- 3.3 Multiple URLs in a single command line
- 3.4 Multiple HTTP methods in a single command line
- 4. HTML forms
- 4.1 Forms explained
- 4.2 GET
- 4.3 POST
- 4.4 File Upload POST
- 4.5 Hidden Fields
- 4.6 Figure Out What A POST Looks Like
- 5. HTTP upload
- 5.1 PUT
- 6. HTTP Authentication
- 6.1 Basic Authentication
- 6.2 Other Authentication
- 6.3 Proxy Authentication
- 6.4 Hiding credentials
- 7. More HTTP Headers
- 7.1 Referer
- 7.2 User Agent
- 8. Redirects
- 8.1 Location header
- 8.2 Other redirects
- 9. Cookies
- 9.1 Cookie Basics
- 9.2 Cookie options
- 10. HTTPS
- 10.1 HTTPS is HTTP secure
- 10.2 Certificates
- 11. Custom Request Elements
- 11.1 Modify method and headers
- 11.2 More on changed methods
- 12. Web Login
- 12.1 Some login tricks
- 13. Debug
- 13.1 Some debug tricks
- 14. References
- 14.1 Standards
- 14.2 Sites
-
-==============================================================================
-
-1. HTTP Scripting
-
- 1.1 Background
-
- This document assumes that you're familiar with HTML and general networking.
-
- The increasing amount of applications moving to the web has made "HTTP
- Scripting" more frequently requested and wanted. To be able to automatically
- extract information from the web, to fake users, to post or upload data to
- web servers are all important tasks today.
-
- Curl is a command line tool for doing all sorts of URL manipulations and
- transfers, but this particular document will focus on how to use it when
- doing HTTP requests for fun and profit. I'll assume that you know how to
- invoke 'curl --help' or 'curl --manual' to get basic information about it.
-
- Curl is not written to do everything for you. It makes the requests, it gets
- the data, it sends data and it retrieves the information. You probably need
- to glue everything together using some kind of script language or repeated
- manual invokes.
-
- 1.2 The HTTP Protocol
-
- HTTP is the protocol used to fetch data from web servers. It is a very simple
- protocol that is built upon TCP/IP. The protocol also allows information to
- get sent to the server from the client using a few different methods, as will
- be shown here.
-
- HTTP is plain ASCII text lines being sent by the client to a server to
- request a particular action, and then the server replies a few text lines
- before the actual requested content is sent to the client.
-
- The client, curl, sends a HTTP request. The request contains a method (like
- GET, POST, HEAD etc), a number of request headers and sometimes a request
- body. The HTTP server responds with a status line (indicating if things went
- well), response headers and most often also a response body. The "body" part
- is the plain data you requested, like the actual HTML or the image etc.
-
- 1.3 See the Protocol
-
-  Using curl's option --verbose (-v as a short option) will display what kind
-  of commands curl sends to the server, as well as a few other informational
-  texts.
-
-  --verbose is the single most useful option when it comes to debug or even
-  understand the curl<->server interaction.
-
-  Sometimes even --verbose is not enough. Then --trace and --trace-ascii offer
-  even more details as they show EVERYTHING curl sends and receives. Use it
-  like this:
-
-      curl --trace-ascii debugdump.txt http://www.example.com/
-
- 1.4 See the Timing
-
-  Many times you may wonder what exactly is taking all the time, or you just
-  want to know the amount of milliseconds between two points in a
-  transfer. For those, and other similar situations, the --trace-time option
-  is what you need. It'll prepend the time to each trace output line:
-
-      curl --trace-ascii d.txt --trace-time http://example.com/
-
- 1.5 See the Response
-
-  By default curl sends the response to stdout. You need to redirect it
-  somewhere to avoid that, most often that is done with -o or -O.
-
-2. URL
-
- 2.1 Spec
-
- The Uniform Resource Locator format is how you specify the address of a
- particular resource on the Internet. You know these, you've seen URLs like
- https://curl.haxx.se or https://yourbank.com a million times. RFC 3986 is the
- canonical spec. And yeah, the formal name is not URL, it is URI.
-
- 2.2 Host
-
- The host name is usually resolved using DNS or your /etc/hosts file to an IP
- address and that's what curl will communicate with. Alternatively you specify
- the IP address directly in the URL instead of a name.
-
- For development and other trying out situations, you can point to a different
- IP address for a host name than what would otherwise be used, by using curl's
- --resolve option:
-
-      curl --resolve www.example.org:80:127.0.0.1 http://www.example.org/
-
- 2.3 Port number
-
- Each protocol curl supports operates on a default port number, be it over TCP
- or in some cases UDP. Normally you don't have to take that into
- consideration, but at times you run test servers on other ports or
- similar. Then you can specify the port number in the URL with a colon and a
- number immediately following the host name. Like when doing HTTP to port
- 1234:
-
-      curl http://www.example.org:1234/
-
- The port number you specify in the URL is the number that the server uses to
- offer its services. Sometimes you may use a local proxy, and then you may
- need to specify that proxy's port number separately for what curl needs to
- connect to locally. Like when using a HTTP proxy on port 4321:
-
-      curl --proxy http://proxy.example.org:4321 http://remote.example.org/
-
- 2.4 User name and password
-
- Some services are setup to require HTTP authentication and then you need to
- provide name and password which is then transferred to the remote site in
- various ways depending on the exact authentication protocol used.
-
- You can opt to either insert the user and password in the URL or you can
- provide them separately:
-
-      curl http://user:password@example.org/
-
- or
-
-      curl -u user:password http://example.org/
-
- You need to pay attention that this kind of HTTP authentication is not what
- is usually done and requested by user-oriented websites these days. They
- tend to use forms and cookies instead.
-
- 2.5 Path part
-
- The path part is just sent off to the server to request that it sends back
- the associated response. The path is what is to the right side of the slash
- that follows the host name and possibly port number.
-
-3. Fetch a page
-
- 3.1 GET
-
- The simplest and most common request/operation made using HTTP is to GET a
- URL. The URL could itself refer to a web page, an image or a file. The client
- issues a GET request to the server and receives the document it asked for.
- If you issue the command line
-
-        curl https://curl.haxx.se
-
- you get a web page returned in your terminal window. The entire HTML document
- that that URL holds.
-
- All HTTP replies contain a set of response headers that are normally hidden,
- use curl's --include (-i) option to display them as well as the rest of the
- document.
-
- 3.2 HEAD
-
- You can ask the remote server for ONLY the headers by using the --head (-I)
- option which will make curl issue a HEAD request. In some special cases
- servers deny the HEAD method while others still work, which is a particular
- kind of annoyance.
-
- The HEAD method is defined and made so that the server returns the headers
- exactly the way it would do for a GET, but without a body. It means that you
- may see a Content-Length: in the response headers, but there must not be an
- actual body in the HEAD response.
-
- 3.3 Multiple URLs in a single command line
-
- A single curl command line may involve one or many URLs. The most common case
- is probably to just use one, but you can specify any amount of URLs. Yes
- any. No limits. You'll then get requests repeated over and over for all the
- given URLs.
-
- Example, send two GETs:
-
-    curl http://url1.example.com http://url2.example.com
-
- If you use --data to POST to the URL, using multiple URLs means that you send
- that same POST to all the given URLs.
-
- Example, send two POSTs:
-
-    curl --data name=curl http://url1.example.com http://url2.example.com
-
-
- 3.4 Multiple HTTP methods in a single command line
-
- Sometimes you need to operate on several URLs in a single command line and do
- different HTTP methods on each. For this, you'll enjoy the --next option. It
- is basically a separator that separates a bunch of options from the next. All
- the URLs before --next will get the same method and will get all the POST
- data merged into one.
-
- When curl reaches the --next on the command line, it'll sort of reset the
- method and the POST data and allow a new set.
-
- Perhaps this is best shown with a few examples. To send first a HEAD and then
- a GET:
-
-   curl -I http://example.com --next http://example.com
-
- To first send a POST and then a GET:
-
-   curl -d score=10 http://example.com/post.cgi --next 
http://example.com/results.html
-
-
-4. HTML forms
-
- 4.1 Forms explained
-
- Forms are the general way a website can present a HTML page with fields for
- the user to enter data in, and then press some kind of 'OK' or 'Submit'
- button to get that data sent to the server. The server then typically uses
- the posted data to decide how to act. Like using the entered words to search
- in a database, or to add the info in a bug tracking system, display the 
entered
- address on a map or using the info as a login-prompt verifying that the user
- is allowed to see what it is about to see.
-
- Of course there has to be some kind of program on the server end to receive
- the data you send. You cannot just invent something out of the air.
-
- 4.2 GET
-
-  A GET-form uses the method GET, as specified in HTML like:
-
-        <form method="GET" action="junk.cgi">
-          <input type=text name="birthyear">
-          <input type=submit name=press value="OK">
-        </form>
-
-  In your favorite browser, this form will appear with a text box to fill in
-  and a press-button labeled "OK". If you fill in '1905' and press the OK
-  button, your browser will then create a new URL to get for you. The URL will
-  get "junk.cgi?birthyear=1905&press=OK" appended to the path part of the
-  previous URL.
-
-  If the original form was seen on the page "www.hotmail.com/when/birth.html",
-  the second page you'll get will become
-  "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK".
-
-  Most search engines work this way.
-
-  To make curl do the GET form post for you, just enter the expected created
-  URL:
-
-        curl "http://www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK";
-
- 4.3 POST
-
-  The GET method makes all input field names get displayed in the URL field of
-  your browser. That's generally a good thing when you want to be able to
-  bookmark that page with your given data, but it is an obvious disadvantage
-  if you entered secret information in one of the fields or if there are a
-  large amount of fields creating a very long and unreadable URL.
-
-  The HTTP protocol then offers the POST method. This way the client sends the
-  data separated from the URL and thus you won't see any of it in the URL
-  address field.
-
-  The form would look very similar to the previous one:
-
-        <form method="POST" action="junk.cgi">
-          <input type=text name="birthyear">
-          <input type=submit name=press value=" OK ">
-        </form>
-
-  And to use curl to post this form with the same data filled in as before, we
-  could do it like:
-
-        curl --data "birthyear=1905&press=%20OK%20" \
-        http://www.example.com/when.cgi
-
-  This kind of POST will use the Content-Type
-  application/x-www-form-urlencoded and is the most widely used POST kind.
-
-  The data you send to the server MUST already be properly encoded, curl will
-  not do that for you. For example, if you want the data to contain a space,
-  you need to replace that space with %20 etc. Failing to comply with this
-  will most likely cause your data to be received wrongly and messed up.
-
-  Recent curl versions can in fact url-encode POST data for you, like this:
-
-        curl --data-urlencode "name=I am Daniel" http://www.example.com
-
-  If you repeat --data several times on the command line, curl will
-  concatenate all the given data pieces - and put a '&' symbol between each
-  data segment.
-
- 4.4 File Upload POST
-
-  Back in late 1995 they defined an additional way to post data over HTTP. It
-  is documented in the RFC 1867, why this method sometimes is referred to as
-  RFC1867-posting.
-
-  This method is mainly designed to better support file uploads. A form that
-  allows a user to upload a file could be written like this in HTML:
-
-    <form method="POST" enctype='multipart/form-data' action="upload.cgi">
-      <input type=file name=upload>
-      <input type=submit name=press value="OK">
-    </form>
-
-  This clearly shows that the Content-Type about to be sent is
-  multipart/form-data.
-
-  To post to a form like this with curl, you enter a command line like:
-
-        curl --form upload=@localfilename --form press=OK [URL]
-
- 4.5 Hidden Fields
-
-  A very common way for HTML based applications to pass state information
-  between pages is to add hidden fields to the forms. Hidden fields are
-  already filled in, they aren't displayed to the user and they get passed
-  along just as all the other fields.
-
-  A similar example form with one visible field, one hidden field and one
-  submit button could look like:
-
-    <form method="POST" action="foobar.cgi">
-      <input type=text name="birthyear">
-      <input type=hidden name="person" value="daniel">
-      <input type=submit name="press" value="OK">
-    </form>
-
-  To POST this with curl, you won't have to think about if the fields are
-  hidden or not. To curl they're all the same:
-
-        curl --data "birthyear=1905&press=OK&person=daniel" [URL]
-
- 4.6 Figure Out What A POST Looks Like
-
-  When you're about fill in a form and send to a server by using curl instead
-  of a browser, you're of course very interested in sending a POST exactly the
-  way your browser does.
-
-  An easy way to get to see this, is to save the HTML page with the form on
-  your local disk, modify the 'method' to a GET, and press the submit button
-  (you could also change the action URL if you want to).
-
-  You will then clearly see the data get appended to the URL, separated with a
-  '?'-letter as GET forms are supposed to.
-
-5. HTTP upload
-
- 5.1 PUT
-
- Perhaps the best way to upload data to a HTTP server is to use PUT. Then
- again, this of course requires that someone put a program or script on the
- server end that knows how to receive a HTTP PUT stream.
-
- Put a file to a HTTP server with curl:
-
-        curl --upload-file uploadfile http://www.example.com/receive.cgi
-
-6. HTTP Authentication
-
- 6.1 Basic Authentication
-
- HTTP Authentication is the ability to tell the server your username and
- password so that it can verify that you're allowed to do the request you're
- doing. The Basic authentication used in HTTP (which is the type curl uses by
- default) is *plain* *text* based, which means it sends username and password
- only slightly obfuscated, but still fully readable by anyone that sniffs on
- the network between you and the remote server.
-
- To tell curl to use a user and password for authentication:
-
-        curl --user name:password http://www.example.com
-
- 6.2 Other Authentication
-
- The site might require a different authentication method (check the headers
- returned by the server), and then --ntlm, --digest, --negotiate or even
- --anyauth might be options that suit you.
-
- 6.3 Proxy Authentication
-
- Sometimes your HTTP access is only available through the use of a HTTP
- proxy. This seems to be especially common at various companies. A HTTP proxy
- may require its own user and password to allow the client to get through to
- the Internet. To specify those with curl, run something like:
-
-        curl --proxy-user proxyuser:proxypassword curl.haxx.se
-
- If your proxy requires the authentication to be done using the NTLM method,
- use --proxy-ntlm, if it requires Digest use --proxy-digest.
-
- If you use any one of these user+password options but leave out the password
- part, curl will prompt for the password interactively.
-
- 6.4 Hiding credentials
-
- Do note that when a program is run, its parameters might be possible to see
- when listing the running processes of the system. Thus, other users may be
- able to watch your passwords if you pass them as plain command line
- options. There are ways to circumvent this.
-
- It is worth noting that while this is how HTTP Authentication works, very
- many websites will not use this concept when they provide logins etc. See
- the Web Login chapter further below for more details on that.
-
-7. More HTTP Headers
-
- 7.1 Referer
-
- A HTTP request may include a 'referer' field (yes it is misspelled), which
- can be used to tell from which URL the client got to this particular
- resource. Some programs/scripts check the referer field of requests to verify
- that this wasn't arriving from an external site or an unknown page. While
- this is a stupid way to check something so easily forged, many scripts still
- do it. Using curl, you can put anything you want in the referer-field and
- thus more easily be able to fool the server into serving your request.
-
- Use curl to set the referer field with:
-
-        curl --referer http://www.example.come http://www.example.com
-
- 7.2 User Agent
-
- Very similar to the referer field, all HTTP requests may set the User-Agent
- field. It names what user agent (client) that is being used. Many
- applications use this information to decide how to display pages. Silly web
- programmers try to make different pages for users of different browsers to
- make them look the best possible for their particular browsers. They usually
- also do different kinds of javascript, vbscript etc.
-
- At times, you will see that getting a page with curl will not return the same
- page that you see when getting the page with your browser. Then you know it
- is time to set the User Agent field to fool the server into thinking you're
- one of those browsers.
-
- To make curl look like Internet Explorer 5 on a Windows 2000 box:
-
-  curl --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" [URL]
-
- Or why not look like you're using Netscape 4.73 on an old Linux box:
-
-  curl --user-agent "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" [URL]
-
-8. Redirects
-
- 8.1 Location header
-
- When a resource is requested from a server, the reply from the server may
- include a hint about where the browser should go next to find this page, or a
- new page keeping newly generated output. The header that tells the browser
- to redirect is Location:.
-
- Curl does not follow Location: headers by default, but will simply display
- such pages in the same manner it displays all HTTP replies. It does however
- feature an option that will make it attempt to follow the Location: pointers.
-
- To tell curl to follow a Location:
-
-        curl --location http://www.example.com
-
- If you use curl to POST to a site that immediately redirects you to another
- page, you can safely use --location (-L) and --data/--form together. Curl will
- only use POST in the first request, and then revert to GET in the following
- operations.
-
- 8.2 Other redirects
-
- Browser typically support at least two other ways of redirects that curl
- doesn't: first the html may contain a meta refresh tag that asks the browser
- to load a specific URL after a set number of seconds, or it may use
- javascript to do it.
-
-9. Cookies
-
- 9.1 Cookie Basics
-
- The way the web browsers do "client side state control" is by using
- cookies. Cookies are just names with associated contents. The cookies are
- sent to the client by the server. The server tells the client for what path
- and host name it wants the cookie sent back, and it also sends an expiration
- date and a few more properties.
-
- When a client communicates with a server with a name and path as previously
- specified in a received cookie, the client sends back the cookies and their
- contents to the server, unless of course they are expired.
-
- Many applications and servers use this method to connect a series of requests
- into a single logical session. To be able to use curl in such occasions, we
- must be able to record and send back cookies the way the web application
- expects them. The same way browsers deal with them.
-
- 9.2 Cookie options
-
- The simplest way to send a few cookies to the server when getting a page with
- curl is to add them on the command line like:
-
-        curl --cookie "name=Daniel" http://www.example.com
-
- Cookies are sent as common HTTP headers. This is practical as it allows curl
- to record cookies simply by recording headers. Record cookies with curl by
- using the --dump-header (-D) option like:
-
-        curl --dump-header headers_and_cookies http://www.example.com
-
- (Take note that the --cookie-jar option described below is a better way to
- store cookies.)
-
- Curl has a full blown cookie parsing engine built-in that comes in use if you
- want to reconnect to a server and use cookies that were stored from a
- previous connection (or hand-crafted manually to fool the server into
- believing you had a previous connection). To use previously stored cookies,
- you run curl like:
-
-        curl --cookie stored_cookies_in_file http://www.example.com
-
- Curl's "cookie engine" gets enabled when you use the --cookie option. If you
- only want curl to understand received cookies, use --cookie with a file that
- doesn't exist. Example, if you want to let curl understand cookies from a
- page and follow a location (and thus possibly send back cookies it received),
- you can invoke it like:
-
-        curl --cookie nada --location http://www.example.com
-
- Curl has the ability to read and write cookie files that use the same file
- format that Netscape and Mozilla once used. It is a convenient way to share
- cookies between scripts or invokes. The --cookie (-b) switch automatically
- detects if a given file is such a cookie file and parses it, and by using the
- --cookie-jar (-c) option you'll make curl write a new cookie file at the end
- of an operation:
-
-        curl --cookie cookies.txt --cookie-jar newcookies.txt \
-        http://www.example.com
-
-10. HTTPS
-
- 10.1 HTTPS is HTTP secure
-
- There are a few ways to do secure HTTP transfers. By far the most common
- protocol for doing this is what is generally known as HTTPS, HTTP over
- SSL. SSL encrypts all the data that is sent and received over the network and
- thus makes it harder for attackers to spy on sensitive information.
-
- SSL (or TLS as the latest version of the standard is called) offers a
- truckload of advanced features to allow all those encryptions and key
- infrastructure mechanisms encrypted HTTP requires.
-
- Curl supports encrypted fetches when built to use a TLS library and it can be
- built to use one out of a fairly large set of libraries - "curl -V" will show
- which one your curl was built to use (if any!). To get a page from a HTTPS
- server, simply run curl like:
-
-        curl https://secure.example.com
-
- 10.2 Certificates
-
-  In the HTTPS world, you use certificates to validate that you are the one
-  you claim to be, as an addition to normal passwords. Curl supports client-
-  side certificates. All certificates are locked with a pass phrase, which you
-  need to enter before the certificate can be used by curl. The pass phrase
-  can be specified on the command line or if not, entered interactively when
-  curl queries for it. Use a certificate with curl on a HTTPS server like:
-
-        curl --cert mycert.pem https://secure.example.com
-
-  curl also tries to verify that the server is who it claims to be, by
-  verifying the server's certificate against a locally stored CA cert
-  bundle. Failing the verification will cause curl to deny the connection. You
-  must then use --insecure (-k) in case you want to tell curl to ignore that
-  the server can't be verified.
-
-  More about server certificate verification and ca cert bundles can be read
-  in the SSLCERTS document, available online here:
-
-        https://curl.haxx.se/docs/sslcerts.html
-
-  At times you may end up with your own CA cert store and then you can tell
-  curl to use that to verify the server's certificate:
-
-        curl --cacert ca-bundle.pem https://example.com/
-
-
-11. Custom Request Elements
-
-11.1 Modify method and headers
-
- Doing fancy stuff, you may need to add or change elements of a single curl
- request.
-
- For example, you can change the POST request to a PROPFIND and send the data
- as "Content-Type: text/xml" (instead of the default Content-Type) like this:
-
-         curl --data "<xml>" --header "Content-Type: text/xml" \
-              --request PROPFIND url.com
-
- You can delete a default header by providing one without content. Like you
- can ruin the request by chopping off the Host: header:
-
-        curl --header "Host:" http://www.example.com
-
- You can add headers the same way. Your server may want a "Destination:"
- header, and you can add it:
-
-        curl --header "Destination: http://nowhere"; http://example.com
-
- 11.2 More on changed methods
-
- It should be noted that curl selects which methods to use on its own
- depending on what action to ask for. -d will do POST, -I will do HEAD and so
- on. If you use the --request / -X option you can change the method keyword
- curl selects, but you will not modify curl's behavior. This means that if you
- for example use -d "data" to do a POST, you can modify the method to a
- PROPFIND with -X and curl will still think it sends a POST. You can change
- the normal GET to a POST method by simply adding -X POST in a command line
- like:
-
-        curl -X POST http://example.org/
-
- ... but curl will still think and act as if it sent a GET so it won't send any
- request body etc.
-
-
-12. Web Login
-
- 12.1 Some login tricks
-
- While not strictly just HTTP related, it still causes a lot of people problems
- so here's the executive run-down of how the vast majority of all login forms
- work and how to login to them using curl.
-
- It can also be noted that to do this properly in an automated fashion, you
- will most certainly need to script things and do multiple curl invokes etc.
-
- First, servers mostly use cookies to track the logged-in status of the
- client, so you will need to capture the cookies you receive in the
- responses. Then, many sites also set a special cookie on the login page (to
- make sure you got there through their login page) so you should make a habit
- of first getting the login-form page to capture the cookies set there.
-
- Some web-based login systems feature various amounts of javascript, and
- sometimes they use such code to set or modify cookie contents. Possibly they
- do that to prevent programmed logins, like this manual describes how to...
- Anyway, if reading the code isn't enough to let you repeat the behavior
- manually, capturing the HTTP requests done by your browsers and analyzing the
- sent cookies is usually a working method to work out how to shortcut the
- javascript need.
-
- In the actual <form> tag for the login, lots of sites fill-in random/session
- or otherwise secretly generated hidden tags and you may need to first capture
- the HTML code for the login form and extract all the hidden fields to be able
- to do a proper login POST. Remember that the contents need to be URL encoded
- when sent in a normal POST.
-
-13. Debug
-
- 13.1 Some debug tricks
-
- Many times when you run curl on a site, you'll notice that the site doesn't
- seem to respond the same way to your curl requests as it does to your
- browser's.
-
- Then you need to start making your curl requests more similar to your
- browser's requests:
-
- * Use the --trace-ascii option to store fully detailed logs of the requests
- for easier analyzing and better understanding
-
- * Make sure you check for and use cookies when needed (both reading with
- --cookie and writing with --cookie-jar)
-
- * Set user-agent to one like a recent popular browser does
-
- * Set referer like it is set by the browser
-
- * If you use POST, make sure you send all the fields and in the same order as
- the browser does it.
-
- A very good helper to make sure you do this right, is the LiveHTTPHeader tool
- that lets you view all headers you send and receive with Mozilla/Firefox
- (even when using HTTPS). Chrome features similar functionality out of the box
- among the developer's tools.
-
- A more raw approach is to capture the HTTP traffic on the network with tools
- such as ethereal or tcpdump and check what headers that were sent and
- received by the browser. (HTTPS makes this technique inefficient.)
-
-14. References
-
- 14.1 Standards
-
- RFC 7230 is a must to read if you want in-depth understanding of the HTTP
- protocol
-
- RFC 3986 explains the URL syntax
-
- RFC 1867 defines the HTTP post upload format
-
- RFC 6525 defines how HTTP cookies work
-
- 14.2 Sites
-
- https://curl.haxx.se is the home of the curl project
diff --git a/docs/TheArtOfHttpScripting.md b/docs/TheArtOfHttpScripting.md
new file mode 100644
index 000000000..21a50f365
--- /dev/null
+++ b/docs/TheArtOfHttpScripting.md
@@ -0,0 +1,692 @@
+# The Art Of Scripting HTTP Requests Using Curl
+
+## Background
+
+ This document assumes that you're familiar with HTML and general networking.
+
+ The increasing amount of applications moving to the web has made "HTTP
+ Scripting" more frequently requested and wanted. To be able to automatically
+ extract information from the web, to fake users, to post or upload data to
+ web servers are all important tasks today.
+
+ Curl is a command line tool for doing all sorts of URL manipulations and
+ transfers, but this particular document will focus on how to use it when
+ doing HTTP requests for fun and profit. I will assume that you know how to
+ invoke `curl --help` or `curl --manual` to get basic information about it.
+
+ Curl is not written to do everything for you. It makes the requests, it gets
+ the data, it sends data and it retrieves the information. You probably need
+ to glue everything together using some kind of script language or repeated
+ manual invokes.
+
+## The HTTP Protocol
+
+ HTTP is the protocol used to fetch data from web servers. It is a very simple
+ protocol that is built upon TCP/IP. The protocol also allows information to
+ get sent to the server from the client using a few different methods, as will
+ be shown here.
+
+ HTTP is plain ASCII text lines being sent by the client to a server to
+ request a particular action, and then the server replies a few text lines
+ before the actual requested content is sent to the client.
+
+ The client, curl, sends a HTTP request. The request contains a method (like
+ GET, POST, HEAD etc), a number of request headers and sometimes a request
+ body. The HTTP server responds with a status line (indicating if things went
+ well), response headers and most often also a response body. The "body" part
+ is the plain data you requested, like the actual HTML or the image etc.
+
+## See the Protocol
+
+ Using curl's option [`--verbose`](https://curl.se/docs/manpage.html#-v)
+ (`-v` as a short option) will display what kind of commands curl sends to the
+ server, as well as a few other informational texts.
+
+ `--verbose` is the single most useful option when it comes to debug or even
+ understand the curl<->server interaction.
+
+ Sometimes even `--verbose` is not enough. Then
+ [`--trace`](https://curl.se/docs/manpage.html#-trace) and
+ [`--trace-ascii`]((https://curl.se/docs/manpage.html#--trace-ascii)
+ offer even more details as they show **everything** curl sends and
+ receives. Use it like this:
+
+    curl --trace-ascii debugdump.txt http://www.example.com/
+
+## See the Timing
+
+ Many times you may wonder what exactly is taking all the time, or you just
+ want to know the amount of milliseconds between two points in a transfer. For
+ those, and other similar situations, the
+ [`--trace-time`]((https://curl.se/docs/manpage.html#--trace-time) option
+ is what you need. It'll prepend the time to each trace output line:
+
+    curl --trace-ascii d.txt --trace-time http://example.com/
+
+## See the Response
+
+ By default curl sends the response to stdout. You need to redirect it
+ somewhere to avoid that, most often that is done with ` -o` or `-O`.
+
+# URL
+
+## Spec
+
+ The Uniform Resource Locator format is how you specify the address of a
+ particular resource on the Internet. You know these, you've seen URLs like
+ https://curl.se or https://yourbank.com a million times. RFC 3986 is the
+ canonical spec. And yeah, the formal name is not URL, it is URI.
+
+## Host
+
+ The host name is usually resolved using DNS or your /etc/hosts file to an IP
+ address and that's what curl will communicate with. Alternatively you specify
+ the IP address directly in the URL instead of a name.
+
+ For development and other trying out situations, you can point to a different
+ IP address for a host name than what would otherwise be used, by using curl's
+ [`--resolve`](https://curl.se/docs/manpage.html#--resolve) option:
+
+    curl --resolve www.example.org:80:127.0.0.1 http://www.example.org/
+
+## Port number
+
+ Each protocol curl supports operates on a default port number, be it over TCP
+ or in some cases UDP. Normally you don't have to take that into
+ consideration, but at times you run test servers on other ports or
+ similar. Then you can specify the port number in the URL with a colon and a
+ number immediately following the host name. Like when doing HTTP to port
+ 1234:
+
+    curl http://www.example.org:1234/
+
+ The port number you specify in the URL is the number that the server uses to
+ offer its services. Sometimes you may use a local proxy, and then you may
+ need to specify that proxy's port number separately for what curl needs to
+ connect to locally. Like when using a HTTP proxy on port 4321:
+
+    curl --proxy http://proxy.example.org:4321 http://remote.example.org/
+
+## User name and password
+
+ Some services are setup to require HTTP authentication and then you need to
+ provide name and password which is then transferred to the remote site in
+ various ways depending on the exact authentication protocol used.
+
+ You can opt to either insert the user and password in the URL or you can
+ provide them separately:
+
+    curl http://user:password@example.org/
+
+ or
+
+    curl -u user:password http://example.org/
+
+ You need to pay attention that this kind of HTTP authentication is not what
+ is usually done and requested by user-oriented websites these days. They tend
+ to use forms and cookies instead.
+
+## Path part
+
+ The path part is just sent off to the server to request that it sends back
+ the associated response. The path is what is to the right side of the slash
+ that follows the host name and possibly port number.
+
+# Fetch a page
+
+## GET
+
+ The simplest and most common request/operation made using HTTP is to GET a
+ URL. The URL could itself refer to a web page, an image or a file. The client
+ issues a GET request to the server and receives the document it asked for.
+ If you issue the command line
+
+    curl https://curl.se
+
+ you get a web page returned in your terminal window. The entire HTML document
+ that that URL holds.
+
+ All HTTP replies contain a set of response headers that are normally hidden,
+ use curl's [`--include`](https://curl.se/docs/manpage.html#-i) (`-i`)
+ option to display them as well as the rest of the document.
+
+## HEAD
+
+ You can ask the remote server for ONLY the headers by using the
+ [`--head`](https://curl.se/docs/manpage.html#-I) (`-I`) option which
+ will make curl issue a HEAD request. In some special cases servers deny the
+ HEAD method while others still work, which is a particular kind of annoyance.
+
+ The HEAD method is defined and made so that the server returns the headers
+ exactly the way it would do for a GET, but without a body. It means that you
+ may see a `Content-Length:` in the response headers, but there must not be an
+ actual body in the HEAD response.
+
+## Multiple URLs in a single command line
+
+ A single curl command line may involve one or many URLs. The most common case
+ is probably to just use one, but you can specify any amount of URLs. Yes
+ any. No limits. You'll then get requests repeated over and over for all the
+ given URLs.
+
+ Example, send two GETs:
+
+    curl http://url1.example.com http://url2.example.com
+
+ If you use [`--data`](https://curl.se/docs/manpage.html#-d) to POST to
+ the URL, using multiple URLs means that you send that same POST to all the
+ given URLs.
+
+ Example, send two POSTs:
+
+    curl --data name=curl http://url1.example.com http://url2.example.com
+
+
+## Multiple HTTP methods in a single command line
+
+ Sometimes you need to operate on several URLs in a single command line and do
+ different HTTP methods on each. For this, you'll enjoy the
+ [`--next`](https://curl.se/docs/manpage.html#-:) option. It is basically
+ a separator that separates a bunch of options from the next. All the URLs
+ before `--next` will get the same method and will get all the POST data
+ merged into one.
+
+ When curl reaches the `--next` on the command line, it'll sort of reset the
+ method and the POST data and allow a new set.
+
+ Perhaps this is best shown with a few examples. To send first a HEAD and then
+ a GET:
+
+    curl -I http://example.com --next http://example.com
+
+ To first send a POST and then a GET:
+
+    curl -d score=10 http://example.com/post.cgi --next 
http://example.com/results.html
+
+# HTML forms
+
+## Forms explained
+
+ Forms are the general way a website can present a HTML page with fields for
+ the user to enter data in, and then press some kind of 'OK' or 'Submit'
+ button to get that data sent to the server. The server then typically uses
+ the posted data to decide how to act. Like using the entered words to search
+ in a database, or to add the info in a bug tracking system, display the
+ entered address on a map or using the info as a login-prompt verifying that
+ the user is allowed to see what it is about to see.
+
+ Of course there has to be some kind of program on the server end to receive
+ the data you send. You cannot just invent something out of the air.
+
+## GET
+
+ A GET-form uses the method GET, as specified in HTML like:
+
+    <form method="GET" action="junk.cgi">
+      <input type=text name="birthyear">
+      <input type=submit name=press value="OK">
+    </form>
+
+ In your favorite browser, this form will appear with a text box to fill in
+ and a press-button labeled "OK". If you fill in '1905' and press the OK
+ button, your browser will then create a new URL to get for you. The URL will
+ get `junk.cgi?birthyear=1905&press=OK` appended to the path part of the
+ previous URL.
+
+ If the original form was seen on the page `www.example.com/when/birth.html`,
+ the second page you'll get will become
+ `www.example.com/when/junk.cgi?birthyear=1905&press=OK`.
+
+ Most search engines work this way.
+
+ To make curl do the GET form post for you, just enter the expected created
+ URL:
+
+    curl "http://www.example.com/when/junk.cgi?birthyear=1905&press=OK";
+
+## POST
+
+ The GET method makes all input field names get displayed in the URL field of
+ your browser. That's generally a good thing when you want to be able to
+ bookmark that page with your given data, but it is an obvious disadvantage if
+ you entered secret information in one of the fields or if there are a large
+ amount of fields creating a very long and unreadable URL.
+
+ The HTTP protocol then offers the POST method. This way the client sends the
+ data separated from the URL and thus you won't see any of it in the URL
+ address field.
+
+ The form would look very similar to the previous one:
+
+    <form method="POST" action="junk.cgi">
+      <input type=text name="birthyear">
+      <input type=submit name=press value=" OK ">
+    </form>
+
+ And to use curl to post this form with the same data filled in as before, we
+ could do it like:
+
+    curl --data "birthyear=1905&press=%20OK%20" http://www.example.com/when.cgi
+
+ This kind of POST will use the Content-Type
+ `application/x-www-form-urlencoded' and is the most widely used POST kind.
+
+ The data you send to the server MUST already be properly encoded, curl will
+ not do that for you. For example, if you want the data to contain a space,
+ you need to replace that space with %20 etc. Failing to comply with this will
+ most likely cause your data to be received wrongly and messed up.
+
+ Recent curl versions can in fact url-encode POST data for you, like this:
+
+    curl --data-urlencode "name=I am Daniel" http://www.example.com
+
+ If you repeat `--data` several times on the command line, curl will
+ concatenate all the given data pieces - and put a `&` symbol between each
+ data segment.
+
+## File Upload POST
+
+ Back in late 1995 they defined an additional way to post data over HTTP. It
+ is documented in the RFC 1867, why this method sometimes is referred to as
+ RFC1867-posting.
+
+ This method is mainly designed to better support file uploads. A form that
+ allows a user to upload a file could be written like this in HTML:
+
+    <form method="POST" enctype='multipart/form-data' action="upload.cgi">
+      <input type=file name=upload>
+      <input type=submit name=press value="OK">
+    </form>
+
+ This clearly shows that the Content-Type about to be sent is
+ `multipart/form-data`.
+
+ To post to a form like this with curl, you enter a command line like:
+
+    curl --form upload=@localfilename --form press=OK [URL]
+
+## Hidden Fields
+
+ A very common way for HTML based applications to pass state information
+ between pages is to add hidden fields to the forms. Hidden fields are already
+ filled in, they aren't displayed to the user and they get passed along just
+ as all the other fields.
+
+ A similar example form with one visible field, one hidden field and one
+ submit button could look like:
+
+    <form method="POST" action="foobar.cgi">
+      <input type=text name="birthyear">
+      <input type=hidden name="person" value="daniel">
+      <input type=submit name="press" value="OK">
+    </form>
+
+ To POST this with curl, you won't have to think about if the fields are
+ hidden or not. To curl they're all the same:
+
+    curl --data "birthyear=1905&press=OK&person=daniel" [URL]
+
+## Figure Out What A POST Looks Like
+
+ When you're about fill in a form and send to a server by using curl instead
+ of a browser, you're of course very interested in sending a POST exactly the
+ way your browser does.
+
+ An easy way to get to see this, is to save the HTML page with the form on
+ your local disk, modify the 'method' to a GET, and press the submit button
+ (you could also change the action URL if you want to).
+
+ You will then clearly see the data get appended to the URL, separated with a
+ `?`-letter as GET forms are supposed to.
+
+# HTTP upload
+
+## PUT
+
+ Perhaps the best way to upload data to a HTTP server is to use PUT. Then
+ again, this of course requires that someone put a program or script on the
+ server end that knows how to receive a HTTP PUT stream.
+
+ Put a file to a HTTP server with curl:
+
+    curl --upload-file uploadfile http://www.example.com/receive.cgi
+
+# HTTP Authentication
+
+## Basic Authentication
+
+ HTTP Authentication is the ability to tell the server your username and
+ password so that it can verify that you're allowed to do the request you're
+ doing. The Basic authentication used in HTTP (which is the type curl uses by
+ default) is **plain text** based, which means it sends username and password
+ only slightly obfuscated, but still fully readable by anyone that sniffs on
+ the network between you and the remote server.
+
+ To tell curl to use a user and password for authentication:
+
+    curl --user name:password http://www.example.com
+
+## Other Authentication
+
+ The site might require a different authentication method (check the headers
+ returned by the server), and then
+ [`--ntlm`](https://curl.se/docs/manpage.html#--ntlm),
+ [`--digest`](https://curl.se/docs/manpage.html#--digest),
+ [`--negotiate`](https://curl.se/docs/manpage.html#--negotiate) or even
+ [`--anyauth`](https://curl.se/docs/manpage.html#--anyauth) might be
+ options that suit you.
+
+## Proxy Authentication
+
+ Sometimes your HTTP access is only available through the use of a HTTP
+ proxy. This seems to be especially common at various companies. A HTTP proxy
+ may require its own user and password to allow the client to get through to
+ the Internet. To specify those with curl, run something like:
+
+        curl --proxy-user proxyuser:proxypassword curl.se
+
+ If your proxy requires the authentication to be done using the NTLM method,
+ use [`--proxy-ntlm`](https://curl.se/docs/manpage.html#--proxy-ntlm), if
+ it requires Digest use
+ [`--proxy-digest`](https://curl.se/docs/manpage.html#--proxy-digest).
+
+ If you use any one of these user+password options but leave out the password
+ part, curl will prompt for the password interactively.
+
+## Hiding credentials
+
+ Do note that when a program is run, its parameters might be possible to see
+ when listing the running processes of the system. Thus, other users may be
+ able to watch your passwords if you pass them as plain command line
+ options. There are ways to circumvent this.
+
+ It is worth noting that while this is how HTTP Authentication works, very
+ many websites will not use this concept when they provide logins etc. See the
+ Web Login chapter further below for more details on that.
+
+# More HTTP Headers
+
+## Referer
+
+ A HTTP request may include a 'referer' field (yes it is misspelled), which
+ can be used to tell from which URL the client got to this particular
+ resource. Some programs/scripts check the referer field of requests to verify
+ that this wasn't arriving from an external site or an unknown page. While
+ this is a stupid way to check something so easily forged, many scripts still
+ do it. Using curl, you can put anything you want in the referer-field and
+ thus more easily be able to fool the server into serving your request.
+
+ Use curl to set the referer field with:
+
+    curl --referer http://www.example.come http://www.example.com
+
+## User Agent
+
+ Very similar to the referer field, all HTTP requests may set the User-Agent
+ field. It names what user agent (client) that is being used. Many
+ applications use this information to decide how to display pages. Silly web
+ programmers try to make different pages for users of different browsers to
+ make them look the best possible for their particular browsers. They usually
+ also do different kinds of javascript, vbscript etc.
+
+ At times, you will see that getting a page with curl will not return the same
+ page that you see when getting the page with your browser. Then you know it
+ is time to set the User Agent field to fool the server into thinking you're
+ one of those browsers.
+
+ To make curl look like Internet Explorer 5 on a Windows 2000 box:
+
+    curl --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" 
[URL]
+
+ Or why not look like you're using Netscape 4.73 on an old Linux box:
+
+    curl --user-agent "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" [URL]
+
+## Redirects
+
+## Location header
+
+ When a resource is requested from a server, the reply from the server may
+ include a hint about where the browser should go next to find this page, or a
+ new page keeping newly generated output. The header that tells the browser to
+ redirect is `Location:`.
+
+ Curl does not follow `Location:` headers by default, but will simply display
+ such pages in the same manner it displays all HTTP replies. It does however
+ feature an option that will make it attempt to follow the `Location:`
+ pointers.
+
+ To tell curl to follow a Location:
+
+    curl --location http://www.example.com
+
+ If you use curl to POST to a site that immediately redirects you to another
+ page, you can safely use
+ [`--location`](https://curl.se/docs/manpage.html#-L) (`-L`) and
+ `--data`/`--form` together. curl will only use POST in the first request, and
+ then revert to GET in the following operations.
+
+## Other redirects
+
+ Browser typically support at least two other ways of redirects that curl
+ doesn't: first the html may contain a meta refresh tag that asks the browser
+ to load a specific URL after a set number of seconds, or it may use
+ javascript to do it.
+
+# Cookies
+
+## Cookie Basics
+
+ The way the web browsers do "client side state control" is by using
+ cookies. Cookies are just names with associated contents. The cookies are
+ sent to the client by the server. The server tells the client for what path
+ and host name it wants the cookie sent back, and it also sends an expiration
+ date and a few more properties.
+
+ When a client communicates with a server with a name and path as previously
+ specified in a received cookie, the client sends back the cookies and their
+ contents to the server, unless of course they are expired.
+
+ Many applications and servers use this method to connect a series of requests
+ into a single logical session. To be able to use curl in such occasions, we
+ must be able to record and send back cookies the way the web application
+ expects them. The same way browsers deal with them.
+
+## Cookie options
+
+ The simplest way to send a few cookies to the server when getting a page with
+ curl is to add them on the command line like:
+
+    curl --cookie "name=Daniel" http://www.example.com
+
+ Cookies are sent as common HTTP headers. This is practical as it allows curl
+ to record cookies simply by recording headers. Record cookies with curl by
+ using the [`--dump-header`](https://curl.se/docs/manpage.html#-D) (`-D`)
+ option like:
+
+    curl --dump-header headers_and_cookies http://www.example.com
+
+ (Take note that the
+ [`--cookie-jar`](https://curl.se/docs/manpage.html#-c) option described
+ below is a better way to store cookies.)
+
+ Curl has a full blown cookie parsing engine built-in that comes in use if you
+ want to reconnect to a server and use cookies that were stored from a
+ previous connection (or hand-crafted manually to fool the server into
+ believing you had a previous connection). To use previously stored cookies,
+ you run curl like:
+
+    curl --cookie stored_cookies_in_file http://www.example.com
+
+ Curl's "cookie engine" gets enabled when you use the
+ [`--cookie`](https://curl.se/docs/manpage.html#-b) option. If you only
+ want curl to understand received cookies, use `--cookie` with a file that
+ doesn't exist. Example, if you want to let curl understand cookies from a
+ page and follow a location (and thus possibly send back cookies it received),
+ you can invoke it like:
+
+    curl --cookie nada --location http://www.example.com
+
+ Curl has the ability to read and write cookie files that use the same file
+ format that Netscape and Mozilla once used. It is a convenient way to share
+ cookies between scripts or invokes. The `--cookie` (`-b`) switch
+ automatically detects if a given file is such a cookie file and parses it,
+ and by using the `--cookie-jar` (`-c`) option you'll make curl write a new
+ cookie file at the end of an operation:
+
+    curl --cookie cookies.txt --cookie-jar newcookies.txt \
+    http://www.example.com
+
+# HTTPS
+
+## HTTPS is HTTP secure
+
+ There are a few ways to do secure HTTP transfers. By far the most common
+ protocol for doing this is what is generally known as HTTPS, HTTP over
+ SSL. SSL encrypts all the data that is sent and received over the network and
+ thus makes it harder for attackers to spy on sensitive information.
+
+ SSL (or TLS as the latest version of the standard is called) offers a
+ truckload of advanced features to allow all those encryptions and key
+ infrastructure mechanisms encrypted HTTP requires.
+
+ Curl supports encrypted fetches when built to use a TLS library and it can be
+ built to use one out of a fairly large set of libraries - `curl -V` will show
+ which one your curl was built to use (if any!). To get a page from a HTTPS
+ server, simply run curl like:
+
+    curl https://secure.example.com
+
+## Certificates
+
+ In the HTTPS world, you use certificates to validate that you are the one
+ you claim to be, as an addition to normal passwords. Curl supports client-
+ side certificates. All certificates are locked with a pass phrase, which you
+ need to enter before the certificate can be used by curl. The pass phrase
+ can be specified on the command line or if not, entered interactively when
+ curl queries for it. Use a certificate with curl on a HTTPS server like:
+
+    curl --cert mycert.pem https://secure.example.com
+
+ curl also tries to verify that the server is who it claims to be, by
+ verifying the server's certificate against a locally stored CA cert
+ bundle. Failing the verification will cause curl to deny the connection. You
+ must then use [`--insecure`](https://curl.se/docs/manpage.html#-k)
+ (`-k`) in case you want to tell curl to ignore that the server can't be
+ verified.
+
+ More about server certificate verification and ca cert bundles can be read in
+ the [SSLCERTS document](https://curl.se/docs/sslcerts.html).
+
+ At times you may end up with your own CA cert store and then you can tell
+ curl to use that to verify the server's certificate:
+
+    curl --cacert ca-bundle.pem https://example.com/
+
+# Custom Request Elements
+
+## Modify method and headers
+
+ Doing fancy stuff, you may need to add or change elements of a single curl
+ request.
+
+ For example, you can change the POST request to a PROPFIND and send the data
+ as `Content-Type: text/xml` (instead of the default Content-Type) like this:
+
+    curl --data "<xml>" --header "Content-Type: text/xml" \
+      --request PROPFIND example.com
+
+ You can delete a default header by providing one without content. Like you
+ can ruin the request by chopping off the Host: header:
+
+    curl --header "Host:" http://www.example.com
+
+ You can add headers the same way. Your server may want a `Destination:`
+ header, and you can add it:
+
+    curl --header "Destination: http://nowhere"; http://example.com
+
+## More on changed methods
+
+ It should be noted that curl selects which methods to use on its own
+ depending on what action to ask for. `-d` will do POST, `-I` will do HEAD and
+ so on. If you use the
+ [`--request`](https://curl.se/docs/manpage.html#-X) / `-X` option you
+ can change the method keyword curl selects, but you will not modify curl's
+ behavior. This means that if you for example use -d "data" to do a POST, you
+ can modify the method to a `PROPFIND` with `-X` and curl will still think it
+ sends a POST . You can change the normal GET to a POST method by simply
+ adding `-X POST` in a command line like:
+
+    curl -X POST http://example.org/
+
+ ... but curl will still think and act as if it sent a GET so it won't send
+ any request body etc.
+
+# Web Login
+
+## Some login tricks
+
+ While not strictly just HTTP related, it still causes a lot of people
+ problems so here's the executive run-down of how the vast majority of all
+ login forms work and how to login to them using curl.
+
+ It can also be noted that to do this properly in an automated fashion, you
+ will most certainly need to script things and do multiple curl invokes etc.
+
+ First, servers mostly use cookies to track the logged-in status of the
+ client, so you will need to capture the cookies you receive in the
+ responses. Then, many sites also set a special cookie on the login page (to
+ make sure you got there through their login page) so you should make a habit
+ of first getting the login-form page to capture the cookies set there.
+
+ Some web-based login systems feature various amounts of javascript, and
+ sometimes they use such code to set or modify cookie contents. Possibly they
+ do that to prevent programmed logins, like this manual describes how to...
+ Anyway, if reading the code isn't enough to let you repeat the behavior
+ manually, capturing the HTTP requests done by your browsers and analyzing the
+ sent cookies is usually a working method to work out how to shortcut the
+ javascript need.
+
+ In the actual `<form>` tag for the login, lots of sites fill-in
+ random/session or otherwise secretly generated hidden tags and you may need
+ to first capture the HTML code for the login form and extract all the hidden
+ fields to be able to do a proper login POST. Remember that the contents need
+ to be URL encoded when sent in a normal POST.
+
+# Debug
+
+## Some debug tricks
+
+ Many times when you run curl on a site, you'll notice that the site doesn't
+ seem to respond the same way to your curl requests as it does to your
+ browser's.
+
+ Then you need to start making your curl requests more similar to your
+ browser's requests:
+
+ - Use the `--trace-ascii` option to store fully detailed logs of the requests
+   for easier analyzing and better understanding
+
+ - Make sure you check for and use cookies when needed (both reading with
+   `--cookie` and writing with `--cookie-jar`)
+
+ - Set user-agent (with [`-A`](https://curl.se/docs/manpage.html#-A)) to
+   one like a recent popular browser does
+
+ - Set referer (with [`-E`](https://curl.se/docs/manpage.html#-E)) like
+   it is set by the browser
+
+ - If you use POST, make sure you send all the fields and in the same order as
+   the browser does it.
+
+## Check what the browsers do
+
+ A very good helper to make sure you do this right, is the web browsers'
+ developers tools that let you view all headers you send and receive (even
+ when using HTTPS).
+
+ A more raw approach is to capture the HTTP traffic on the network with tools
+ such as Wireshark or tcpdump and check what headers that were sent and
+ received by the browser. (HTTPS forces you to use `SSLKEYLOGFILE` to do
+ that.)
diff --git a/docs/VERSIONS.md b/docs/VERSIONS.md
index 72a45474d..d9c1cc3de 100644
--- a/docs/VERSIONS.md
+++ b/docs/VERSIONS.md
@@ -2,7 +2,7 @@ Version Numbers and Releases
 ============================
 
  Curl is not only curl. Curl is also libcurl. They're actually individually
- versioned, but they mostly follow each other rather closely.
+ versioned, but they usually follow each other closely.
 
  The version numbering is always built up using the same system:
 
@@ -15,22 +15,21 @@ Version Numbers and Releases
 ## Bumping numbers
 
  One of these numbers will get bumped in each new release. The numbers to the
- right of a bumped number will be reset to zero. If Z is zero, it may not be
- included in the version number.
+ right of a bumped number will be reset to zero.
 
  The main version number will get bumped when *really* big, world colliding
  changes are made. The release number is bumped when changes are performed or
  things/features are added. The patch number is bumped when the changes are
  mere bugfixes.
 
- It means that after release 1.2.3, we can release 2.0 if something really big
- has been made, 1.3 if not that big changes were made or 1.2.4 if mostly bugs
- were fixed.
+ It means that after release 1.2.3, we can release 2.0.0 if something really
+ big has been made, 1.3.0 if not that big changes were made or 1.2.4 if only
+ bugs were fixed.
 
  Bumping, as in increasing the number with 1, is unconditionally only
  affecting one of the numbers (except the ones to the right of it, that may be
  set to zero). 1 becomes 2, 3 becomes 4, 9 becomes 10, 88 becomes 89 and 99
- becomes 100. So, after 1.2.9 comes 1.2.10. After 3.99.3, 3.100 might come.
+ becomes 100. So, after 1.2.9 comes 1.2.10. After 3.99.3, 3.100.0 might come.
 
  All original curl source release archives are named according to the libcurl
  version (not according to the curl client version that, as said before, might
diff --git a/docs/cmdline-opts/CMakeLists.txt b/docs/cmdline-opts/CMakeLists.txt
index a63f4eddf..ae25c5c4a 100644
--- a/docs/cmdline-opts/CMakeLists.txt
+++ b/docs/cmdline-opts/CMakeLists.txt
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/cmdline-opts/Makefile.am b/docs/cmdline-opts/Makefile.am
index d778fb062..8e35db0af 100644
--- a/docs/cmdline-opts/Makefile.am
+++ b/docs/cmdline-opts/Makefile.am
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/cmdline-opts/Makefile.inc b/docs/cmdline-opts/Makefile.inc
index 6a7b953bc..097be34b6 100644
--- a/docs/cmdline-opts/Makefile.inc
+++ b/docs/cmdline-opts/Makefile.inc
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -41,6 +41,7 @@ DPAGES =                                      \
   cookie.d                                     \
   create-dirs.d                                        \
   crlf.d crlfile.d                             \
+  curves.d                                     \
   data-ascii.d                                 \
   data-binary.d                                        \
   data-urlencode.d                             \
@@ -84,6 +85,7 @@ DPAGES =                                      \
   head.d header.d                              \
   help.d                                       \
   hostpubmd5.d                                 \
+  hsts.d                                        \
   http0.9.d                                    \
   http1.0.d                                    \
   http1.1.d http2.d                            \
@@ -127,6 +129,7 @@ DPAGES =                                    \
   ntlm.d ntlm-wb.d                             \
   oauth2-bearer.d                              \
   output.d                                      \
+  output-dir.d                                  \
   parallel-immediate.d                          \
   parallel-max.d                                \
   parallel.d                                    \
diff --git a/docs/cmdline-opts/abstract-unix-socket.d 
b/docs/cmdline-opts/abstract-unix-socket.d
index 1fda4e5df..8403cab9d 100644
--- a/docs/cmdline-opts/abstract-unix-socket.d
+++ b/docs/cmdline-opts/abstract-unix-socket.d
@@ -3,6 +3,7 @@ Arg: <path>
 Help: Connect via abstract Unix domain socket
 Added: 7.53.0
 Protocols: HTTP
+Category: connection
 ---
 Connect through an abstract Unix domain socket, instead of using the network.
 Note: netstat shows the path of an abstract socket prefixed with '@', however
diff --git a/docs/cmdline-opts/alt-svc.d b/docs/cmdline-opts/alt-svc.d
index 15877a2fe..5598b59b4 100644
--- a/docs/cmdline-opts/alt-svc.d
+++ b/docs/cmdline-opts/alt-svc.d
@@ -3,6 +3,7 @@ Arg: <file name>
 Protocols: HTTPS
 Help: Enable alt-svc with this cache file
 Added: 7.64.1
+Category: http
 ---
 WARNING: this option is experimental. Do not use in production.
 
diff --git a/docs/cmdline-opts/anyauth.d b/docs/cmdline-opts/anyauth.d
index c32d1ed5e..bec0c0c86 100644
--- a/docs/cmdline-opts/anyauth.d
+++ b/docs/cmdline-opts/anyauth.d
@@ -2,6 +2,7 @@ Long: anyauth
 Help: Pick any authentication method
 Protocols: HTTP
 See-also: proxy-anyauth basic digest
+Category: http proxy auth
 ---
 Tells curl to figure out authentication method by itself, and use the most
 secure one the remote site claims to support. This is done by first doing a
diff --git a/docs/cmdline-opts/append.d b/docs/cmdline-opts/append.d
index f001b1239..8bdb2594d 100644
--- a/docs/cmdline-opts/append.d
+++ b/docs/cmdline-opts/append.d
@@ -2,6 +2,7 @@ Short: a
 Long: append
 Help: Append to target file when uploading
 Protocols: FTP SFTP
+Category: ftp sftp
 ---
 When used in an upload, this makes curl append to the target file instead of
 overwriting it. If the remote file doesn't exist, it will be created.  Note
diff --git a/docs/cmdline-opts/basic.d b/docs/cmdline-opts/basic.d
index 09d42af9d..e222c51c1 100644
--- a/docs/cmdline-opts/basic.d
+++ b/docs/cmdline-opts/basic.d
@@ -2,6 +2,7 @@ Long: basic
 Help: Use HTTP Basic Authentication
 See-also: proxy-basic
 Protocols: HTTP
+Category: auth
 ---
 Tells curl to use HTTP Basic authentication with the remote host. This is the
 default and this option is usually pointless, unless you use it to override a
diff --git a/docs/cmdline-opts/cacert.d b/docs/cmdline-opts/cacert.d
index 6a5678752..793d8c1ba 100644
--- a/docs/cmdline-opts/cacert.d
+++ b/docs/cmdline-opts/cacert.d
@@ -2,6 +2,7 @@ Long: cacert
 Arg: <file>
 Help: CA certificate to verify peer against
 Protocols: TLS
+Category: tls
 ---
 Tells curl to use the specified certificate file to verify the peer. The file
 may contain multiple CA certificates. The certificate(s) must be in PEM
diff --git a/docs/cmdline-opts/capath.d b/docs/cmdline-opts/capath.d
index 0763f7a0d..4ce077a14 100644
--- a/docs/cmdline-opts/capath.d
+++ b/docs/cmdline-opts/capath.d
@@ -2,6 +2,7 @@ Long: capath
 Arg: <dir>
 Help: CA directory to verify peer against
 Protocols: TLS
+Category: tls
 ---
 Tells curl to use the specified certificate directory to verify the
 peer. Multiple paths can be provided by separating them with ":" (e.g.
diff --git a/docs/cmdline-opts/cert-status.d b/docs/cmdline-opts/cert-status.d
index f1aaa2174..1342b092b 100644
--- a/docs/cmdline-opts/cert-status.d
+++ b/docs/cmdline-opts/cert-status.d
@@ -2,6 +2,7 @@ Long: cert-status
 Protocols: TLS
 Added: 7.41.0
 Help: Verify the status of the server certificate
+Category: tls
 ---
 Tells curl to verify the status of the server certificate by using the
 Certificate Status Request (aka. OCSP stapling) TLS extension.
diff --git a/docs/cmdline-opts/cert-type.d b/docs/cmdline-opts/cert-type.d
index 1232ec10d..b041bcb06 100644
--- a/docs/cmdline-opts/cert-type.d
+++ b/docs/cmdline-opts/cert-type.d
@@ -3,6 +3,7 @@ Protocols: TLS
 Arg: <type>
 Help: Certificate type (DER/PEM/ENG)
 See-also: cert key key-type
+Category: tls
 ---
 Tells curl what type the provided client certificate is using. PEM, DER, ENG
 and P12 are recognized types.  If not specified, PEM is assumed.
diff --git a/docs/cmdline-opts/cert.d b/docs/cmdline-opts/cert.d
index de6b42060..2938e571f 100644
--- a/docs/cmdline-opts/cert.d
+++ b/docs/cmdline-opts/cert.d
@@ -4,6 +4,7 @@ Arg: <certificate[:password]>
 Help: Client certificate file and password
 Protocols: TLS
 See-also: cert-type key key-type
+Category: tls
 ---
 Tells curl to use the specified client certificate file when getting a file
 with HTTPS, FTPS or another SSL-based protocol. The certificate must be in
diff --git a/docs/cmdline-opts/ciphers.d b/docs/cmdline-opts/ciphers.d
index 69e85525a..723b95923 100644
--- a/docs/cmdline-opts/ciphers.d
+++ b/docs/cmdline-opts/ciphers.d
@@ -2,10 +2,11 @@ Long: ciphers
 Arg: <list of ciphers>
 Help: SSL ciphers to use
 Protocols: TLS
+Category: tls
 ---
 Specifies which ciphers to use in the connection. The list of ciphers must
 specify valid ciphers. Read up on SSL cipher list details on this URL:
 
- https://curl.haxx.se/docs/ssl-ciphers.html
+ https://curl.se/docs/ssl-ciphers.html
 
 If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/compressed-ssh.d 
b/docs/cmdline-opts/compressed-ssh.d
index 583452ae4..849fe18b0 100644
--- a/docs/cmdline-opts/compressed-ssh.d
+++ b/docs/cmdline-opts/compressed-ssh.d
@@ -2,6 +2,7 @@ Long: compressed-ssh
 Help: Enable SSH compression
 Protocols: SCP SFTP
 Added: 7.56.0
+Category: scp ssh
 ---
 Enables built-in SSH compression.
 This is a request, not an order; the server may or may not do it.
diff --git a/docs/cmdline-opts/compressed.d b/docs/cmdline-opts/compressed.d
index 3aca92c32..26bc1514a 100644
--- a/docs/cmdline-opts/compressed.d
+++ b/docs/cmdline-opts/compressed.d
@@ -1,6 +1,7 @@
 Long: compressed
 Help: Request compressed response
 Protocols: HTTP
+Category: http
 ---
 Request a compressed response using one of the algorithms curl supports, and
 automatically decompress the content. Headers are not modified.
diff --git a/docs/cmdline-opts/config.d b/docs/cmdline-opts/config.d
index df3d39220..254c7044b 100644
--- a/docs/cmdline-opts/config.d
+++ b/docs/cmdline-opts/config.d
@@ -2,6 +2,7 @@ Long: config
 Arg: <file>
 Help: Read config from a file
 Short: K
+Category: curl
 ---
 
 Specify a text file to read curl arguments from. The command line arguments
@@ -28,19 +29,25 @@ Note that to be able to specify a URL in the config file, 
you need to specify
 it using the --url option, and not by simply writing the URL on its own
 line. So, it could look similar to this:
 
-url = "https://curl.haxx.se/docs/";
+url = "https://curl.se/docs/";
 
 When curl is invoked, it (unless --disable is used) checks for a default
 config file and uses it if found. The default config file is checked for in
 the following places in this order:
 
-1) curl tries to find the "home dir": It first checks for the CURL_HOME and
-then the HOME environment variables. Failing that, it uses getpwuid() on
-Unix-like systems (which returns the home dir given the current user in your
-system). On Windows, it then checks for the APPDATA variable, or as a last
-resort the '%USERPROFILE%\\Application Data'.
+1) Use the CURL_HOME environment variable if set
 
-2) On windows, if there is no .curlrc file in the home dir, it checks for one
+2) Use the XDG_CONFIG_HOME environment variable if set (Added in 7.73.0)
+
+3) Use the HOME environment variable if set
+
+4) Non-windows: use getpwuid to find the home directory
+
+5) Windows: use APPDATA if set
+
+6) Windows: use "USERPROFILE\Application Data" if set
+
+7) On windows, if there is no .curlrc file in the home dir, it checks for one
 in the same dir the curl executable is placed. On Unix-like systems, it will
 simply try to load .curlrc from the determined home dir.
 
diff --git a/docs/cmdline-opts/connect-timeout.d 
b/docs/cmdline-opts/connect-timeout.d
index 3a32d8685..fa3277221 100644
--- a/docs/cmdline-opts/connect-timeout.d
+++ b/docs/cmdline-opts/connect-timeout.d
@@ -2,6 +2,7 @@ Long: connect-timeout
 Arg: <seconds>
 Help: Maximum time allowed for connection
 See-also: max-time
+Category: connection
 ---
 Maximum time in seconds that you allow curl's connection to take.  This only
 limits the connection phase, so if curl connects within the given period it
diff --git a/docs/cmdline-opts/connect-to.d b/docs/cmdline-opts/connect-to.d
index 458bfe855..2f015f8ac 100644
--- a/docs/cmdline-opts/connect-to.d
+++ b/docs/cmdline-opts/connect-to.d
@@ -3,6 +3,7 @@ Arg: <HOST1:PORT1:HOST2:PORT2>
 Help: Connect to host
 Added: 7.49.0
 See-also: resolve header
+Category: connection
 ---
 
 For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead.
diff --git a/docs/cmdline-opts/continue-at.d b/docs/cmdline-opts/continue-at.d
index 733f4941e..c44d2f496 100644
--- a/docs/cmdline-opts/continue-at.d
+++ b/docs/cmdline-opts/continue-at.d
@@ -3,6 +3,7 @@ Long: continue-at
 Arg: <offset>
 Help: Resumed transfer offset
 See-also: range
+Category: connection
 ---
 Continue/Resume a previous file transfer at the given offset. The given offset
 is the exact number of bytes that will be skipped, counting from the beginning
diff --git a/docs/cmdline-opts/cookie-jar.d b/docs/cmdline-opts/cookie-jar.d
index da79777eb..f11991f4e 100644
--- a/docs/cmdline-opts/cookie-jar.d
+++ b/docs/cmdline-opts/cookie-jar.d
@@ -3,6 +3,7 @@ Long: cookie-jar
 Arg: <filename>
 Protocols: HTTP
 Help: Write cookies to <filename> after operation
+Category: http
 ---
 Specify to which file you want curl to write all cookies after a completed
 operation. Curl writes all cookies from its in-memory cookie storage to the
diff --git a/docs/cmdline-opts/cookie.d b/docs/cmdline-opts/cookie.d
index 467e05663..5d2c9d783 100644
--- a/docs/cmdline-opts/cookie.d
+++ b/docs/cmdline-opts/cookie.d
@@ -3,6 +3,7 @@ Long: cookie
 Arg: <data|filename>
 Protocols: HTTP
 Help: Send cookies from string/file
+Category: http
 ---
 Pass the data to the HTTP server in the Cookie header. It is supposedly
 the data previously received from the server in a "Set-Cookie:" line.  The
diff --git a/docs/cmdline-opts/create-dirs.d b/docs/cmdline-opts/create-dirs.d
index b09d96ca7..48a8fd466 100644
--- a/docs/cmdline-opts/create-dirs.d
+++ b/docs/cmdline-opts/create-dirs.d
@@ -1,5 +1,6 @@
 Long: create-dirs
 Help: Create necessary local directory hierarchy
+Category: curl
 ---
 When used in conjunction with the --output option, curl will create the
 necessary local directory hierarchy as needed. This option creates the dirs
diff --git a/docs/cmdline-opts/crlf.d b/docs/cmdline-opts/crlf.d
index f6694b654..50c4bef81 100644
--- a/docs/cmdline-opts/crlf.d
+++ b/docs/cmdline-opts/crlf.d
@@ -1,6 +1,7 @@
 Long: crlf
 Help: Convert LF to CRLF in upload
 Protocols: FTP SMTP
+Category: ftp smtp
 ---
 Convert LF to CRLF in upload. Useful for MVS (OS/390).
 
diff --git a/docs/cmdline-opts/crlfile.d b/docs/cmdline-opts/crlfile.d
index 0fcc63c85..360e668d1 100644
--- a/docs/cmdline-opts/crlfile.d
+++ b/docs/cmdline-opts/crlfile.d
@@ -3,6 +3,7 @@ Arg: <file>
 Protocols: TLS
 Help: Get a CRL list in PEM format from the given file
 Added: 7.19.7
+Category: tls
 ---
 Provide a file using PEM format with a Certificate Revocation List that may
 specify peer certificates that are to be considered revoked.
diff --git a/docs/cmdline-opts/curves.d b/docs/cmdline-opts/curves.d
new file mode 100644
index 000000000..47870a278
--- /dev/null
+++ b/docs/cmdline-opts/curves.d
@@ -0,0 +1,18 @@
+Long: curves
+Arg: <algorithm list>
+Help: (EC) TLS key exchange algorithm(s) to request
+Protocols: TLS
+Added: 7.73.0
+Category: tls
+---
+Tells curl to request specific curves to use during SSL session establishment
+according to RFC 8422, 5.1.  Multiple algorithms can be provided by separating
+them with ":" (e.g.  "X25519:P-521").  The parameter is available identically
+in the "openssl s_client/s_server" utilities.
+
+--curves allows a OpenSSL powered curl to make SSL-connections with exactly
+the (EC) curve requested by the client, avoiding intransparent client/server
+negotiations.
+
+If this option is set, the default curves list built into openssl will be
+ignored.
diff --git a/docs/cmdline-opts/data-ascii.d b/docs/cmdline-opts/data-ascii.d
index bda4abc3d..3522f6345 100644
--- a/docs/cmdline-opts/data-ascii.d
+++ b/docs/cmdline-opts/data-ascii.d
@@ -2,5 +2,6 @@ Long: data-ascii
 Arg: <data>
 Help: HTTP POST ASCII data
 Protocols: HTTP
+Category: http post upload
 ---
 This is just an alias for --data.
diff --git a/docs/cmdline-opts/data-binary.d b/docs/cmdline-opts/data-binary.d
index 3f6ff2dbd..c40785ece 100644
--- a/docs/cmdline-opts/data-binary.d
+++ b/docs/cmdline-opts/data-binary.d
@@ -2,6 +2,7 @@ Long: data-binary
 Arg: <data>
 Help: HTTP POST binary data
 Protocols: HTTP
+Category: http post upload
 ---
 This posts data exactly as specified with no extra processing whatsoever.
 
diff --git a/docs/cmdline-opts/data-raw.d b/docs/cmdline-opts/data-raw.d
index 7669b4abf..4db83aefa 100644
--- a/docs/cmdline-opts/data-raw.d
+++ b/docs/cmdline-opts/data-raw.d
@@ -4,6 +4,7 @@ Protocols: HTTP
 Help: HTTP POST data, '@' allowed
 Added: 7.43.0
 See-also: data
+Category: http post upload
 ---
 This posts data similarly to --data but without the special
 interpretation of the @ character.
diff --git a/docs/cmdline-opts/data-urlencode.d 
b/docs/cmdline-opts/data-urlencode.d
index 9873f3356..2f2a3645b 100644
--- a/docs/cmdline-opts/data-urlencode.d
+++ b/docs/cmdline-opts/data-urlencode.d
@@ -4,6 +4,7 @@ Help: HTTP POST data url encoded
 Protocols: HTTP
 See-also: data data-raw
 Added: 7.18.0
+Category: http post upload
 ---
 This posts data, similar to the other --data options with the exception
 that this performs URL-encoding.
diff --git a/docs/cmdline-opts/data.d b/docs/cmdline-opts/data.d
index 280d38bc0..53ba86b36 100644
--- a/docs/cmdline-opts/data.d
+++ b/docs/cmdline-opts/data.d
@@ -5,6 +5,7 @@ Help: HTTP POST data
 Protocols: HTTP MQTT
 See-also: data-binary data-urlencode data-raw
 Mutexed: form head upload-file
+Category: important http post upload
 ---
 Sends the specified data in a POST request to the HTTP server, in the same way
 that a browser does when a user has filled in an HTML form and presses the
diff --git a/docs/cmdline-opts/delegation.d b/docs/cmdline-opts/delegation.d
index 138d82333..fa2795f96 100644
--- a/docs/cmdline-opts/delegation.d
+++ b/docs/cmdline-opts/delegation.d
@@ -2,6 +2,7 @@ Long: delegation
 Arg: <LEVEL>
 Help: GSS-API delegation permission
 Protocols: GSS/kerberos
+Category: auth
 ---
 Set LEVEL to tell the server what it is allowed to delegate when it
 comes to user credentials.
diff --git a/docs/cmdline-opts/digest.d b/docs/cmdline-opts/digest.d
index 5cdd9258a..da8c01e26 100644
--- a/docs/cmdline-opts/digest.d
+++ b/docs/cmdline-opts/digest.d
@@ -3,6 +3,7 @@ Help: Use HTTP Digest Authentication
 Protocols: HTTP
 Mutexed: basic ntlm negotiate
 See-also: user proxy-digest anyauth
+Category: proxy auth http
 ---
 Enables HTTP Digest authentication. This is an authentication scheme that
 prevents the password from being sent over the wire in clear text. Use this in
diff --git a/docs/cmdline-opts/disable-eprt.d b/docs/cmdline-opts/disable-eprt.d
index a1e53c0bd..ffcf684e4 100644
--- a/docs/cmdline-opts/disable-eprt.d
+++ b/docs/cmdline-opts/disable-eprt.d
@@ -1,6 +1,7 @@
 Long: disable-eprt
 Help: Inhibit using EPRT or LPRT
 Protocols: FTP
+Category: ftp
 ---
 Tell curl to disable the use of the EPRT and LPRT commands when doing active
 FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT
diff --git a/docs/cmdline-opts/disable-epsv.d b/docs/cmdline-opts/disable-epsv.d
index 6d2cb7089..df1de8304 100644
--- a/docs/cmdline-opts/disable-epsv.d
+++ b/docs/cmdline-opts/disable-epsv.d
@@ -1,6 +1,7 @@
 Long: disable-epsv
 Help: Inhibit using EPSV
 Protocols: FTP
+Category: ftp
 ---
 (FTP) Tell curl to disable the use of the EPSV command when doing passive FTP
 transfers. Curl will normally always first attempt to use EPSV before PASV,
diff --git a/docs/cmdline-opts/disable.d b/docs/cmdline-opts/disable.d
index 20b27b4c5..688fc0c54 100644
--- a/docs/cmdline-opts/disable.d
+++ b/docs/cmdline-opts/disable.d
@@ -1,6 +1,7 @@
 Long: disable
 Short: q
 Help: Disable .curlrc
+Category: curl
 ---
 If used as the first parameter on the command line, the \fIcurlrc\fP config
 file will not be read and used. See the --config for details on the default
diff --git a/docs/cmdline-opts/disallow-username-in-url.d 
b/docs/cmdline-opts/disallow-username-in-url.d
index a7f46ea15..e124f675a 100644
--- a/docs/cmdline-opts/disallow-username-in-url.d
+++ b/docs/cmdline-opts/disallow-username-in-url.d
@@ -3,5 +3,6 @@ Help: Disallow username in url
 Protocols: HTTP
 Added: 7.61.0
 See-also: proto
+Category: curl http
 ---
 This tells curl to exit if passed a url containing a username.
diff --git a/docs/cmdline-opts/dns-interface.d 
b/docs/cmdline-opts/dns-interface.d
index 45e5af263..3cb818ae3 100644
--- a/docs/cmdline-opts/dns-interface.d
+++ b/docs/cmdline-opts/dns-interface.d
@@ -5,6 +5,7 @@ Protocols: DNS
 See-also: dns-ipv4-addr dns-ipv6-addr
 Added: 7.33.0
 Requires: c-ares
+Category: dns
 ---
 Tell curl to send outgoing DNS requests through <interface>. This option is a
 counterpart to --interface (which does not affect DNS). The supplied string
diff --git a/docs/cmdline-opts/dns-ipv4-addr.d 
b/docs/cmdline-opts/dns-ipv4-addr.d
index 597b85884..5ebdda5ca 100644
--- a/docs/cmdline-opts/dns-ipv4-addr.d
+++ b/docs/cmdline-opts/dns-ipv4-addr.d
@@ -5,6 +5,7 @@ Protocols: DNS
 See-also: dns-interface dns-ipv6-addr
 Added: 7.33.0
 Requires: c-ares
+Category: dns
 ---
 Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that
 the DNS requests originate from this address. The argument should be a
diff --git a/docs/cmdline-opts/dns-ipv6-addr.d 
b/docs/cmdline-opts/dns-ipv6-addr.d
index 581f01953..10e807646 100644
--- a/docs/cmdline-opts/dns-ipv6-addr.d
+++ b/docs/cmdline-opts/dns-ipv6-addr.d
@@ -5,6 +5,7 @@ Protocols: DNS
 See-also: dns-interface dns-ipv4-addr
 Added: 7.33.0
 Requires: c-ares
+Category: dns
 ---
 Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that
 the DNS requests originate from this address. The argument should be a
diff --git a/docs/cmdline-opts/dns-servers.d b/docs/cmdline-opts/dns-servers.d
index a98fd07d8..8665426a8 100644
--- a/docs/cmdline-opts/dns-servers.d
+++ b/docs/cmdline-opts/dns-servers.d
@@ -3,6 +3,7 @@ Arg: <addresses>
 Help: DNS server addrs to use
 Requires: c-ares
 Added: 7.33.0
+Category: dns
 ---
 Set the list of DNS servers to be used instead of the system default.
 The list of IP addresses should be separated with commas. Port numbers
diff --git a/docs/cmdline-opts/doh-url.d b/docs/cmdline-opts/doh-url.d
index c871c4d22..7fce4460d 100644
--- a/docs/cmdline-opts/doh-url.d
+++ b/docs/cmdline-opts/doh-url.d
@@ -3,6 +3,7 @@ Arg: <URL>
 Help: Resolve host names over DOH
 Protocols: all
 Added: 7.62.0
+Category: dns
 ---
 Specifies which DNS-over-HTTPS (DOH) server to use to resolve hostnames,
 instead of using the default name resolver mechanism. The URL must be HTTPS.
diff --git a/docs/cmdline-opts/dump-header.d b/docs/cmdline-opts/dump-header.d
index 33c6674e8..8449dfe85 100644
--- a/docs/cmdline-opts/dump-header.d
+++ b/docs/cmdline-opts/dump-header.d
@@ -4,6 +4,7 @@ Arg: <filename>
 Help: Write the received headers to <filename>
 Protocols: HTTP FTP
 See-also: output
+Category: http ftp
 ---
 Write the received protocol headers to the specified file.
 
diff --git a/docs/cmdline-opts/egd-file.d b/docs/cmdline-opts/egd-file.d
index c22790f6a..05ede9ad1 100644
--- a/docs/cmdline-opts/egd-file.d
+++ b/docs/cmdline-opts/egd-file.d
@@ -3,6 +3,7 @@ Arg: <file>
 Help: EGD socket path for random data
 Protocols: TLS
 See-also: random-file
+Category: tls
 ---
 Specify the path name to the Entropy Gathering Daemon socket. The socket is
 used to seed the random engine for SSL connections.
diff --git a/docs/cmdline-opts/engine.d b/docs/cmdline-opts/engine.d
index cde1a4773..9ed0cf1b0 100644
--- a/docs/cmdline-opts/engine.d
+++ b/docs/cmdline-opts/engine.d
@@ -2,6 +2,7 @@ Long: engine
 Arg: <name>
 Help: Crypto engine to use
 Protocols: TLS
+Category: tls
 ---
 Select the OpenSSL crypto engine to use for cipher operations. Use --engine
 list to print a list of build-time supported engines. Note that not all (or
diff --git a/docs/cmdline-opts/etag-compare.d b/docs/cmdline-opts/etag-compare.d
index 1a698a8ff..cd8fe4a33 100644
--- a/docs/cmdline-opts/etag-compare.d
+++ b/docs/cmdline-opts/etag-compare.d
@@ -3,6 +3,7 @@ Arg: <file>
 Help: Pass an ETag from a file as a custom header
 Protocols: HTTP
 Added: 7.68.0
+Category: http
 ---
 This option makes a conditional HTTP request for the specific
 ETag read from the given file by sending a custom If-None-Match
@@ -14,5 +15,5 @@ line with a desired ETag. An empty file is parsed as an empty 
ETag.
 Use the option --etag-save to first save the ETag from a response, and
 then use this option to compare using the saved ETag in a subsequent request.
 
-\fCOMPARISON\fP: There are 2 types of comparison or ETags, Weak and Strong.
+\fBCOMPARISON\fP: There are 2 types of comparison or ETags: Weak and Strong.
 This option expects, and uses a strong comparison.
diff --git a/docs/cmdline-opts/etag-save.d b/docs/cmdline-opts/etag-save.d
index 214723ff5..95d1615ae 100644
--- a/docs/cmdline-opts/etag-save.d
+++ b/docs/cmdline-opts/etag-save.d
@@ -3,14 +3,15 @@ Arg: <file>
 Help: Parse ETag from a request and save it to a file
 Protocols: HTTP
 Added: 7.68.0
+Category: http
 ---
 This option saves an HTTP ETag to the specified file. Etag is
 usually part of headers returned by a request. When server sends an
 ETag, it must be enveloped by a double quote. This option extracts the
 ETag without the double quotes and saves it into the <file>.
 
-A server can send a week ETag which is prefixed by "W/". This identifier
+A server can send a weak ETag which is prefixed by "W/". This identifier
 is not considered, and only relevant ETag between quotation marks is parsed.
 
-It an ETag wasn't send by the server or it cannot be parsed, and empty
+It an ETag wasn't sent by the server or it cannot be parsed, an empty
 file is created.
diff --git a/docs/cmdline-opts/expect100-timeout.d 
b/docs/cmdline-opts/expect100-timeout.d
index c88f0b84f..431a529c2 100644
--- a/docs/cmdline-opts/expect100-timeout.d
+++ b/docs/cmdline-opts/expect100-timeout.d
@@ -4,6 +4,7 @@ Help: How long to wait for 100-continue
 Protocols: HTTP
 Added: 7.47.0
 See-also: connect-timeout
+Category: http
 ---
 Maximum time in seconds that you allow curl to wait for a 100-continue
 response when curl emits an Expects: 100-continue header in its request. By
diff --git a/docs/cmdline-opts/fail-early.d b/docs/cmdline-opts/fail-early.d
index 375d4c919..3fbe238af 100644
--- a/docs/cmdline-opts/fail-early.d
+++ b/docs/cmdline-opts/fail-early.d
@@ -1,6 +1,7 @@
 Long: fail-early
 Help: Fail on first transfer error, do not continue
 Added: 7.52.0
+Category: curl
 ---
 Fail and exit on the first detected transfer error.
 
diff --git a/docs/cmdline-opts/fail.d b/docs/cmdline-opts/fail.d
index c46c571bf..7fc76fb6a 100644
--- a/docs/cmdline-opts/fail.d
+++ b/docs/cmdline-opts/fail.d
@@ -2,6 +2,7 @@ Long: fail
 Short: f
 Protocols: HTTP
 Help: Fail silently (no output at all) on HTTP errors
+Category: important http
 ---
 Fail silently (no output at all) on server errors. This is mostly done to
 better enable scripts etc to better deal with failed attempts. In normal cases
diff --git a/docs/cmdline-opts/false-start.d b/docs/cmdline-opts/false-start.d
index 65a8afb8f..abeff0eb5 100644
--- a/docs/cmdline-opts/false-start.d
+++ b/docs/cmdline-opts/false-start.d
@@ -2,6 +2,7 @@ Long: false-start
 Help: Enable TLS False Start
 Protocols: TLS
 Added: 7.42.0
+Category: tls
 ---
 Tells curl to use false start during the TLS handshake. False start is a mode
 where a TLS client will start sending application data before verifying the
diff --git a/docs/cmdline-opts/form-string.d b/docs/cmdline-opts/form-string.d
index 49d0d44ef..04d2578c5 100644
--- a/docs/cmdline-opts/form-string.d
+++ b/docs/cmdline-opts/form-string.d
@@ -3,6 +3,7 @@ Help: Specify multipart MIME data
 Protocols: HTTP SMTP IMAP
 Arg: <name=string>
 See-also: form
+Category: http upload
 ---
 Similar to --form except that the value string for the named parameter is used
 literally. Leading \&'@' and \&'<' characters, and the \&';type=' string in
diff --git a/docs/cmdline-opts/form.d b/docs/cmdline-opts/form.d
index 7f1aa31c3..3cd8dce75 100644
--- a/docs/cmdline-opts/form.d
+++ b/docs/cmdline-opts/form.d
@@ -4,6 +4,7 @@ Arg: <name=content>
 Help: Specify multipart MIME data
 Protocols: HTTP SMTP IMAP
 Mutexed: data head upload-file
+Category: http upload
 ---
 For HTTP protocol family, this lets curl emulate a filled-in form in which a
 user has pressed the submit button. This causes curl to POST data using the
diff --git a/docs/cmdline-opts/ftp-account.d b/docs/cmdline-opts/ftp-account.d
index 013c4f37b..bc04ba047 100644
--- a/docs/cmdline-opts/ftp-account.d
+++ b/docs/cmdline-opts/ftp-account.d
@@ -3,6 +3,7 @@ Arg: <data>
 Help: Account data string
 Protocols: FTP
 Added: 7.13.0
+Category: ftp auth
 ---
 When an FTP server asks for "account data" after user name and password has
 been provided, this data is sent off using the ACCT command.
diff --git a/docs/cmdline-opts/ftp-alternative-to-user.d 
b/docs/cmdline-opts/ftp-alternative-to-user.d
index 8982ba8b8..171484906 100644
--- a/docs/cmdline-opts/ftp-alternative-to-user.d
+++ b/docs/cmdline-opts/ftp-alternative-to-user.d
@@ -3,6 +3,7 @@ Arg: <command>
 Help: String to replace USER [name]
 Protocols: FTP
 Added: 7.15.5
+Category: ftp
 ---
 If authenticating with the USER and PASS commands fails, send this command.
 When connecting to Tumbleweed's Secure Transport server over FTPS using a
diff --git a/docs/cmdline-opts/ftp-create-dirs.d 
b/docs/cmdline-opts/ftp-create-dirs.d
index ede57100d..5d9dfda46 100644
--- a/docs/cmdline-opts/ftp-create-dirs.d
+++ b/docs/cmdline-opts/ftp-create-dirs.d
@@ -2,6 +2,7 @@ Long: ftp-create-dirs
 Protocols: FTP SFTP
 Help: Create the remote dirs if not present
 See-also: create-dirs
+Category: ftp sftp curl
 ---
 When an FTP or SFTP URL/operation uses a path that doesn't currently exist on
 the server, the standard behavior of curl is to fail. Using this option, curl
diff --git a/docs/cmdline-opts/ftp-method.d b/docs/cmdline-opts/ftp-method.d
index 95aa522e8..149340b82 100644
--- a/docs/cmdline-opts/ftp-method.d
+++ b/docs/cmdline-opts/ftp-method.d
@@ -3,6 +3,7 @@ Arg: <method>
 Help: Control CWD usage
 Protocols: FTP
 Added: 7.15.1
+Category: ftp
 ---
 Control what method curl should use to reach a file on an FTP(S)
 server. The method argument should be one of the following alternatives:
diff --git a/docs/cmdline-opts/ftp-pasv.d b/docs/cmdline-opts/ftp-pasv.d
index 44103e21a..cbd548de3 100644
--- a/docs/cmdline-opts/ftp-pasv.d
+++ b/docs/cmdline-opts/ftp-pasv.d
@@ -3,6 +3,7 @@ Help: Use PASV/EPSV instead of PORT
 Protocols: FTP
 Added: 7.11.0
 See-also: disable-epsv
+Category: ftp
 ---
 Use passive mode for the data connection. Passive is the internal default
 behavior, but using this option can be used to override a previous --ftp-port
diff --git a/docs/cmdline-opts/ftp-port.d b/docs/cmdline-opts/ftp-port.d
index e4b145608..9bb1d43f0 100644
--- a/docs/cmdline-opts/ftp-port.d
+++ b/docs/cmdline-opts/ftp-port.d
@@ -4,6 +4,7 @@ Help: Use PORT instead of PASV
 Short: P
 Protocols: FTP
 See-also: ftp-pasv disable-eprt
+Category: ftp
 ---
 Reverses the default initiator/listener roles when connecting with FTP. This
 option makes curl use active mode. curl then tells the server to connect back
diff --git a/docs/cmdline-opts/ftp-pret.d b/docs/cmdline-opts/ftp-pret.d
index dac4c3531..e9c7d251a 100644
--- a/docs/cmdline-opts/ftp-pret.d
+++ b/docs/cmdline-opts/ftp-pret.d
@@ -2,6 +2,7 @@ Long: ftp-pret
 Help: Send PRET before PASV
 Protocols: FTP
 Added: 7.20.0
+Category: ftp
 ---
 Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
 mainly drftpd, require this non-standard command for directory listings as
diff --git a/docs/cmdline-opts/ftp-skip-pasv-ip.d 
b/docs/cmdline-opts/ftp-skip-pasv-ip.d
index da6ab11fc..bcf4e7e62 100644
--- a/docs/cmdline-opts/ftp-skip-pasv-ip.d
+++ b/docs/cmdline-opts/ftp-skip-pasv-ip.d
@@ -3,10 +3,13 @@ Help: Skip the IP address for PASV
 Protocols: FTP
 Added: 7.14.2
 See-also: ftp-pasv
+Category: ftp
 ---
 Tell curl to not use the IP address the server suggests in its response
 to curl's PASV command when curl connects the data connection. Instead curl
 will re-use the same IP address it already uses for the control
 connection.
 
+Since curl 7.74.0 this option is enabled by default.
+
 This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
diff --git a/docs/cmdline-opts/ftp-ssl-ccc-mode.d 
b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
index be1029498..6289e544a 100644
--- a/docs/cmdline-opts/ftp-ssl-ccc-mode.d
+++ b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
@@ -4,6 +4,7 @@ Help: Set CCC mode
 Protocols: FTP
 Added: 7.16.2
 See-also: ftp-ssl-ccc
+Category: ftp tls
 ---
 Sets the CCC mode. The passive mode will not initiate the shutdown, but
 instead wait for the server to do it, and will not reply to the shutdown from
diff --git a/docs/cmdline-opts/ftp-ssl-ccc.d b/docs/cmdline-opts/ftp-ssl-ccc.d
index c6edc5b39..33cab4302 100644
--- a/docs/cmdline-opts/ftp-ssl-ccc.d
+++ b/docs/cmdline-opts/ftp-ssl-ccc.d
@@ -3,6 +3,7 @@ Help: Send CCC after authenticating
 Protocols: FTP
 See-also: ssl ftp-ssl-ccc-mode
 Added: 7.16.1
+Category: ftp tls
 ---
 Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
 authenticating. The rest of the control channel communication will be
diff --git a/docs/cmdline-opts/ftp-ssl-control.d 
b/docs/cmdline-opts/ftp-ssl-control.d
index 87a822531..5191353dd 100644
--- a/docs/cmdline-opts/ftp-ssl-control.d
+++ b/docs/cmdline-opts/ftp-ssl-control.d
@@ -2,6 +2,7 @@ Long: ftp-ssl-control
 Help: Require SSL/TLS for FTP login, clear for transfer
 Protocols: FTP
 Added: 7.16.0
+Category: ftp tls
 ---
 Require SSL/TLS for the FTP login, clear for transfer.  Allows secure
 authentication, but non-encrypted data transfers for efficiency.  Fails the
diff --git a/docs/cmdline-opts/gen.pl b/docs/cmdline-opts/gen.pl
index ef19e2448..2e5059ab4 100755
--- a/docs/cmdline-opts/gen.pl
+++ b/docs/cmdline-opts/gen.pl
@@ -10,7 +10,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -43,6 +43,7 @@ my %helplong;
 my %arglong;
 my %redirlong;
 my %protolong;
+my %catlong;
 
 # get the long name version, return the man page string
 sub manpageify {
@@ -126,6 +127,7 @@ sub single {
     my $arg;
     my $mutexed;
     my $requires;
+    my $category;
     my $seealso;
     my $magic; # cmdline special option
     while(<F>) {
@@ -159,6 +161,9 @@ sub single {
         elsif(/^Requires: *(.*)/i) {
             $requires=$1;
         }
+        elsif(/^Category: *(.*)/i) {
+            $category=$1;
+        }
         elsif(/^Help: *(.*)/i) {
             ;
         }
@@ -166,6 +171,9 @@ sub single {
             if(!$long) {
                 print STDERR "WARN: no 'Long:' in $f\n";
             }
+            if(!$category) {
+                print STDERR "WARN: no 'Category:' in $f\n";
+            }
             last;
         }
         else {
@@ -218,12 +226,24 @@ sub single {
     if($seealso) {
         my @m=split(/ /, $seealso);
         my $mstr;
+        my $and = 0;
+        my $num = scalar(@m);
+        if($num > 2) {
+            # use commas up to this point
+            $and = $num - 1;
+        }
+        my $i = 0;
         for my $k (@m) {
             if(!$helplong{$k}) {
                 print STDERR "WARN: $f see-alsos a non-existing option: $k\n";
             }
             my $l = manpageify($k);
-            $mstr .= sprintf "%s$l", $mstr?" and ":"";
+            my $sep = " and";
+            if($and && ($i < $and)) {
+                $sep = ",";
+            }
+            $mstr .= sprintf "%s$l", $mstr?"$sep ":"";
+            $i++;
         }
         push @foot, seealso($standalone, $mstr);
     }
@@ -264,6 +284,7 @@ sub getshortlong {
     my $help;
     my $arg;
     my $protocols;
+    my $category;
     while(<F>) {
         if(/^Short: (.)/i) {
             $short=$1;
@@ -280,6 +301,9 @@ sub getshortlong {
         elsif(/^Protocols: (.*)/i) {
             $protocols=$1;
         }
+        elsif(/^Category: (.*)/i) {
+            $category=$1;
+        }
         elsif(/^---/) {
             last;
         }
@@ -293,6 +317,7 @@ sub getshortlong {
         $helplong{$long}=$help;
         $arglong{$long}=$arg;
         $protolong{$long}=$protocols;
+        $catlong{$long}=$category;
     }
 }
 
@@ -318,6 +343,8 @@ sub listhelp {
     foreach my $f (sort keys %helplong) {
         my $long = $f;
         my $short = $optlong{$long};
+        my @categories = split ' ', $catlong{$long};
+        my $bitmask;
         my $opt;
 
         if(defined($short) && $long) {
@@ -326,7 +353,13 @@ sub listhelp {
         elsif($long && !$short) {
             $opt = "    --$long";
         }
-
+        for my $i (0 .. $#categories) {
+            $bitmask .= 'CURLHELP_' . uc $categories[$i];
+            # If not last element, append |
+            if($i < $#categories) {
+                $bitmask .= ' | ';
+            }
+        }
         my $arg = $arglong{$long};
         if($arg) {
             $opt .= " $arg";
@@ -334,7 +367,7 @@ sub listhelp {
         my $desc = $helplong{$f};
         $desc =~ s/\"/\\\"/g; # escape double quotes
 
-        my $line = sprintf "  {\"%s\",\n   \"%s\"},\n", $opt, $desc;
+        my $line = sprintf "  {\"%s\",\n   \"%s\",\n   %s},\n", $opt, $desc, 
$bitmask;
 
         if(length($opt) + length($desc) > 78) {
             print STDERR "WARN: the --$long line is too long\n";
@@ -343,6 +376,25 @@ sub listhelp {
     }
 }
 
+sub listcats {
+    my %allcats;
+    foreach my $f (sort keys %helplong) {
+        my @categories = split ' ', $catlong{$f};
+        foreach (@categories) {
+            $allcats{$_} = undef;
+        }
+    }
+    my @categories;
+    foreach my $key (keys %allcats) {
+        push @categories, $key;
+    }
+    @categories = sort @categories;
+    unshift @categories, 'hidden';
+    for my $i (0..$#categories) {
+        print '#define ' . 'CURLHELP_' . uc($categories[$i]) . ' ' . "1u << " 
. $i . "u\n";
+    }
+}
+
 sub mainpage {
     my (@files) = @_;
     # show the page header
@@ -396,8 +448,12 @@ sub getargs {
         showprotocols();
         return;
     }
+    elsif($f eq "listcats") {
+        listcats();
+        return;
+    }
 
-    print "Usage: gen.pl <mainpage/listhelp/single FILE/protos> [files]\n";
+    print "Usage: gen.pl <mainpage/listhelp/single FILE/protos/listcats> 
[files]\n";
 }
 
 #------------------------------------------------------------------------
diff --git a/docs/cmdline-opts/get.d b/docs/cmdline-opts/get.d
index be7cb25f0..d529bb4e0 100644
--- a/docs/cmdline-opts/get.d
+++ b/docs/cmdline-opts/get.d
@@ -1,6 +1,7 @@
 Long: get
 Short: G
 Help: Put the post data in the URL and use GET
+Category: http upload
 ---
 When used, this option will make all data specified with --data, --data-binary
 or --data-urlencode to be used in an HTTP GET request instead of the POST
diff --git a/docs/cmdline-opts/globoff.d b/docs/cmdline-opts/globoff.d
index fff6516b6..4b5f30de9 100644
--- a/docs/cmdline-opts/globoff.d
+++ b/docs/cmdline-opts/globoff.d
@@ -1,6 +1,7 @@
 Long: globoff
 Short: g
 Help: Disable URL sequences and ranges using {} and []
+Category: curl
 ---
 This option switches off the "URL globbing parser". When you set this option,
 you can specify URLs that contain the letters {}[] without having them being
diff --git a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d 
b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
index 611a8f1d8..ceff2a7df 100644
--- a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
+++ b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
@@ -2,6 +2,7 @@ Long: happy-eyeballs-timeout-ms
 Arg: <milliseconds>
 Help: Time for IPv6 before trying IPv4
 Added: 7.59.0
+Category: connection
 ---
 Happy eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
 addresses for dual-stack hosts, preferring IPv6 first for the number of
diff --git a/docs/cmdline-opts/haproxy-protocol.d 
b/docs/cmdline-opts/haproxy-protocol.d
index cc41c9c44..835820465 100644
--- a/docs/cmdline-opts/haproxy-protocol.d
+++ b/docs/cmdline-opts/haproxy-protocol.d
@@ -2,6 +2,7 @@ Long: haproxy-protocol
 Help: Send HAProxy PROXY protocol v1 header
 Protocols: HTTP
 Added: 7.60.0
+Category: http proxy
 ---
 Send a HAProxy PROXY protocol v1 header at the beginning of the connection. 
This
 is used by some load balancers and reverse proxies to indicate the client's
diff --git a/docs/cmdline-opts/head.d b/docs/cmdline-opts/head.d
index 350a100f6..6fe468511 100644
--- a/docs/cmdline-opts/head.d
+++ b/docs/cmdline-opts/head.d
@@ -2,6 +2,7 @@ Long: head
 Short: I
 Help: Show document info only
 Protocols: HTTP FTP FILE
+Category: http ftp file
 ---
 Fetch the headers only! HTTP-servers feature the command HEAD which this uses
 to get nothing but the header of a document. When used on an FTP or FILE file,
diff --git a/docs/cmdline-opts/header.d b/docs/cmdline-opts/header.d
index d8292ed77..980467d5b 100644
--- a/docs/cmdline-opts/header.d
+++ b/docs/cmdline-opts/header.d
@@ -3,6 +3,8 @@ Short: H
 Arg: <header/@file>
 Help: Pass custom header(s) to server
 Protocols: HTTP
+Category: http
+See-also: user-agent referer
 ---
 Extra header to include in the request when sending HTTP to a server. You may
 specify any number of extra headers. Note that if you should add a custom
@@ -17,17 +19,18 @@ as \-H \&"X-Custom-Header;" to send "X-Custom-Header:".
 
 curl will make sure that each header you add/replace is sent with the proper
 end-of-line marker, you should thus \fBnot\fP add that as a part of the header
-content: do not add newlines or carriage returns, they will only mess things up
-for you.
+content: do not add newlines or carriage returns, they will only mess things
+up for you.
 
-Starting in 7.55.0, this option can take an argument in @filename style, which
-then adds a header for each line in the input file. Using @- will make curl
-read the header file from stdin.
+This option can take an argument in @filename style, which then adds a header
+for each line in the input file. Using @- will make curl read the header file
+from stdin. Added in 7.55.0.
 
-See also the --user-agent and --referer options.
+You need --proxy-header to send custom headers intended for a HTTP
+proxy. Added in 7.37.0.
 
-Starting in 7.37.0, you need --proxy-header to send custom headers intended
-for a proxy.
+Passing on a "Transfer-Encoding: chunked" header when doing a HTTP request
+with a request body, will make curl send the data using chunked encoding.
 
 Example:
 
diff --git a/docs/cmdline-opts/help.d b/docs/cmdline-opts/help.d
index 64aa696d4..bf80b7818 100644
--- a/docs/cmdline-opts/help.d
+++ b/docs/cmdline-opts/help.d
@@ -1,6 +1,12 @@
 Long: help
+Arg: <category>
 Short: h
-Help: This help text
+Help: Get help for commands
+Category: important curl
 ---
-Usage help. This lists all current command line options with a short
-description.
+Usage help. This lists all commands of the <category>.
+If no arg was provided, curl will display the most important
+command line arguments and the list of categories.
+If the argument "all" was provided, curl will display all options available.
+If the argument "category" was provided, curl will display all categories and
+their meanings.
diff --git a/docs/cmdline-opts/hostpubmd5.d b/docs/cmdline-opts/hostpubmd5.d
index a85115803..c926ed8b5 100644
--- a/docs/cmdline-opts/hostpubmd5.d
+++ b/docs/cmdline-opts/hostpubmd5.d
@@ -3,6 +3,7 @@ Arg: <md5>
 Help: Acceptable MD5 hash of the host public key
 Protocols: SFTP SCP
 Added: 7.17.1
+Category: sftp scp
 ---
 Pass a string containing 32 hexadecimal digits. The string should
 be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
diff --git a/docs/cmdline-opts/hsts.d b/docs/cmdline-opts/hsts.d
new file mode 100644
index 000000000..2399084bf
--- /dev/null
+++ b/docs/cmdline-opts/hsts.d
@@ -0,0 +1,18 @@
+Long: hsts
+Arg: <file name>
+Protocols: HTTPS
+Help: Enable HSTS with this cache file
+Added: 7.74.0
+Category: http
+---
+WARNING: this option is experimental. Do not use in production.
+
+This option enables HSTS for the transfer. If the file name points to an
+existing HSTS cache file, that will be used. After a completed transfer, the
+cache will be saved to the file name again if it has been modified.
+
+Specify a "" file name (zero length) to avoid loading/saving and make curl
+just handle HSTS in memory.
+
+If this option is used several times, curl will load contents from all the
+files but the last one will be used for saving.
diff --git a/docs/cmdline-opts/http0.9.d b/docs/cmdline-opts/http0.9.d
index 7e783f696..954c22a17 100644
--- a/docs/cmdline-opts/http0.9.d
+++ b/docs/cmdline-opts/http0.9.d
@@ -3,6 +3,7 @@ Tags: Versions
 Protocols: HTTP
 Added:
 Help: Allow HTTP 0.9 responses
+Category: http
 ---
 Tells curl to be fine with HTTP version 0.9 response.
 
diff --git a/docs/cmdline-opts/http1.0.d b/docs/cmdline-opts/http1.0.d
index d9bbd76f0..a4059dbf0 100644
--- a/docs/cmdline-opts/http1.0.d
+++ b/docs/cmdline-opts/http1.0.d
@@ -5,6 +5,7 @@ Protocols: HTTP
 Added:
 Mutexed: http1.1 http2
 Help: Use HTTP 1.0
+Category: http
 ---
 Tells curl to use HTTP version 1.0 instead of using its internally preferred
 HTTP version.
diff --git a/docs/cmdline-opts/http1.1.d b/docs/cmdline-opts/http1.1.d
index f1e6b5c3b..a71a40bab 100644
--- a/docs/cmdline-opts/http1.1.d
+++ b/docs/cmdline-opts/http1.1.d
@@ -4,5 +4,6 @@ Protocols: HTTP
 Added: 7.33.0
 Mutexed: http1.0 http2
 Help: Use HTTP 1.1
+Category: http
 ---
 Tells curl to use HTTP version 1.1.
diff --git a/docs/cmdline-opts/http2-prior-knowledge.d 
b/docs/cmdline-opts/http2-prior-knowledge.d
index f793f775d..ea2906edb 100644
--- a/docs/cmdline-opts/http2-prior-knowledge.d
+++ b/docs/cmdline-opts/http2-prior-knowledge.d
@@ -5,6 +5,7 @@ Added: 7.49.0
 Mutexed: http1.1 http1.0 http2
 Requires: HTTP/2
 Help: Use HTTP 2 without HTTP/1.1 Upgrade
+Category: http
 ---
 Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTTP/1.1
 Upgrade. It requires prior knowledge that the server supports HTTP/2 straight
diff --git a/docs/cmdline-opts/http2.d b/docs/cmdline-opts/http2.d
index cf8f2988e..197515ee8 100644
--- a/docs/cmdline-opts/http2.d
+++ b/docs/cmdline-opts/http2.d
@@ -7,5 +7,6 @@ Requires: HTTP/2
 See-also: no-alpn
 Help: Use HTTP 2
 See-also: http1.1 http3
+Category: http
 ---
 Tells curl to use HTTP version 2.
diff --git a/docs/cmdline-opts/http3.d b/docs/cmdline-opts/http3.d
index 8265937a3..478b662aa 100644
--- a/docs/cmdline-opts/http3.d
+++ b/docs/cmdline-opts/http3.d
@@ -6,6 +6,7 @@ Mutexed: http1.1 http1.0 http2 http2-prior-knowledge
 Requires: HTTP/3
 Help: Use HTTP v3
 See-also: http1.1 http2
+Category: http
 ---
 
 WARNING: this option is experimental. Do not use in production.
diff --git a/docs/cmdline-opts/ignore-content-length.d 
b/docs/cmdline-opts/ignore-content-length.d
index 53524f518..82ac5da09 100644
--- a/docs/cmdline-opts/ignore-content-length.d
+++ b/docs/cmdline-opts/ignore-content-length.d
@@ -1,6 +1,7 @@
 Long: ignore-content-length
 Help: Ignore the size of the remote resource
 Protocols: FTP HTTP
+Category: http ftp
 ---
 For HTTP, Ignore the Content-Length header. This is particularly useful for
 servers running Apache 1.x, which will report incorrect Content-Length for
diff --git a/docs/cmdline-opts/include.d b/docs/cmdline-opts/include.d
index 9d282dd16..250d4accf 100644
--- a/docs/cmdline-opts/include.d
+++ b/docs/cmdline-opts/include.d
@@ -2,6 +2,7 @@ Long: include
 Short: i
 Help: Include protocol response headers in the output
 See-also: verbose
+Category: important verbose
 ---
 Include the HTTP response headers in the output. The HTTP response headers can
 include things like server name, cookies, date of the document, HTTP version
diff --git a/docs/cmdline-opts/insecure.d b/docs/cmdline-opts/insecure.d
index 49b0a4322..636f121e2 100644
--- a/docs/cmdline-opts/insecure.d
+++ b/docs/cmdline-opts/insecure.d
@@ -3,6 +3,7 @@ Short: k
 Help: Allow insecure server connections when using SSL
 Protocols: TLS
 See-also: proxy-insecure cacert
+Category: tls
 ---
 
 By default, every SSL connection curl makes is verified to be secure. This
@@ -13,4 +14,4 @@ The server connection is verified by making sure the server's 
certificate
 contains the right name and verifies successfully using the cert store.
 
 See this online resource for further details:
- https://curl.haxx.se/docs/sslcerts.html
+ https://curl.se/docs/sslcerts.html
diff --git a/docs/cmdline-opts/interface.d b/docs/cmdline-opts/interface.d
index 65827fb8b..196e7efa3 100644
--- a/docs/cmdline-opts/interface.d
+++ b/docs/cmdline-opts/interface.d
@@ -2,6 +2,7 @@ Long: interface
 Arg: <name>
 Help: Use network INTERFACE (or address)
 See-also: dns-interface
+Category: connection
 ---
 
 Perform an operation using a specified interface. You can enter interface
diff --git a/docs/cmdline-opts/ipv4.d b/docs/cmdline-opts/ipv4.d
index 9c40c8c3e..a6691376a 100644
--- a/docs/cmdline-opts/ipv4.d
+++ b/docs/cmdline-opts/ipv4.d
@@ -7,6 +7,7 @@ Mutexed: ipv6
 Requires:
 See-also: http1.1 http2
 Help: Resolve names to IPv4 addresses
+Category: connection dns
 ---
 This option tells curl to resolve names to IPv4 addresses only, and not for
 example try IPv6.
diff --git a/docs/cmdline-opts/ipv6.d b/docs/cmdline-opts/ipv6.d
index 6eef6dd03..ce0415caa 100644
--- a/docs/cmdline-opts/ipv6.d
+++ b/docs/cmdline-opts/ipv6.d
@@ -7,6 +7,7 @@ Mutexed: ipv4
 Requires:
 See-also: http1.1 http2
 Help: Resolve names to IPv6 addresses
+Category: connection dns
 ---
 This option tells curl to resolve names to IPv6 addresses only, and not for
 example try IPv4.
diff --git a/docs/cmdline-opts/junk-session-cookies.d 
b/docs/cmdline-opts/junk-session-cookies.d
index 40ccd9c2d..993b77fa8 100644
--- a/docs/cmdline-opts/junk-session-cookies.d
+++ b/docs/cmdline-opts/junk-session-cookies.d
@@ -3,6 +3,7 @@ Short: j
 Help: Ignore session cookies read from file
 Protocols: HTTP
 See-also: cookie cookie-jar
+Category: http
 ---
 When curl is told to read cookies from a given file, this option will make it
 discard all "session cookies". This will basically have the same effect as if
diff --git a/docs/cmdline-opts/keepalive-time.d 
b/docs/cmdline-opts/keepalive-time.d
index c816e13ff..41261535c 100644
--- a/docs/cmdline-opts/keepalive-time.d
+++ b/docs/cmdline-opts/keepalive-time.d
@@ -2,6 +2,7 @@ Long: keepalive-time
 Arg: <seconds>
 Help: Interval time for keepalive probes
 Added: 7.18.0
+Category: connection
 ---
 This option sets the time a connection needs to remain idle before sending
 keepalive probes and the time between individual keepalive probes. It is
diff --git a/docs/cmdline-opts/key-type.d b/docs/cmdline-opts/key-type.d
index bf39bcd35..50a068676 100644
--- a/docs/cmdline-opts/key-type.d
+++ b/docs/cmdline-opts/key-type.d
@@ -2,6 +2,7 @@ Long: key-type
 Arg: <type>
 Help: Private key file type (DER/PEM/ENG)
 Protocols: TLS
+Category: tls
 ---
 Private key file type. Specify which type your --key provided private key
 is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
diff --git a/docs/cmdline-opts/key.d b/docs/cmdline-opts/key.d
index 855e2f7b6..a762e6faf 100644
--- a/docs/cmdline-opts/key.d
+++ b/docs/cmdline-opts/key.d
@@ -2,6 +2,7 @@ Long: key
 Arg: <key>
 Protocols: TLS SSH
 Help: Private key file name
+Category: tls ssh
 ---
 Private key file name. Allows you to provide your private key in this separate
 file. For SSH, if not specified, curl tries the following candidates in order:
diff --git a/docs/cmdline-opts/krb.d b/docs/cmdline-opts/krb.d
index 19547af08..7759cfb04 100644
--- a/docs/cmdline-opts/krb.d
+++ b/docs/cmdline-opts/krb.d
@@ -3,6 +3,7 @@ Arg: <level>
 Help: Enable Kerberos with security <level>
 Protocols: FTP
 Requires: Kerberos
+Category: ftp
 ---
 Enable Kerberos authentication and use. The level must be entered and should
 be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
diff --git a/docs/cmdline-opts/libcurl.d b/docs/cmdline-opts/libcurl.d
index ef132fe74..eb9850c68 100644
--- a/docs/cmdline-opts/libcurl.d
+++ b/docs/cmdline-opts/libcurl.d
@@ -2,6 +2,7 @@ Long: libcurl
 Arg: <file>
 Help: Dump libcurl equivalent code of this command line
 Added: 7.16.1
+Category: curl
 ---
 Append this option to any ordinary curl command line, and you will get a
 libcurl-using C source code written to the file that does the equivalent
diff --git a/docs/cmdline-opts/limit-rate.d b/docs/cmdline-opts/limit-rate.d
index 06c456e3e..cb3a86077 100644
--- a/docs/cmdline-opts/limit-rate.d
+++ b/docs/cmdline-opts/limit-rate.d
@@ -1,6 +1,7 @@
 Long: limit-rate
 Arg: <speed>
 Help: Limit transfer speed to RATE
+Category: connection
 ---
 Specify the maximum transfer rate you want curl to use - for both downloads
 and uploads. This feature is useful if you have a limited pipe and you'd like
diff --git a/docs/cmdline-opts/list-only.d b/docs/cmdline-opts/list-only.d
index 63b2851f4..c69885801 100644
--- a/docs/cmdline-opts/list-only.d
+++ b/docs/cmdline-opts/list-only.d
@@ -3,6 +3,7 @@ Short: l
 Protocols: FTP POP3
 Help: List only mode
 Added: 4.0
+Category: ftp pop3
 ---
 (FTP)
 When listing an FTP directory, this switch forces a name-only view. This is
diff --git a/docs/cmdline-opts/local-port.d b/docs/cmdline-opts/local-port.d
index d96b46eb8..3f7a0e024 100644
--- a/docs/cmdline-opts/local-port.d
+++ b/docs/cmdline-opts/local-port.d
@@ -2,6 +2,7 @@ Long: local-port
 Arg: <num/range>
 Help: Force use of RANGE for local port numbers
 Added: 7.15.2
+Category: connection
 ---
 Set a preferred single number or range (FROM-TO) of local port numbers to use
 for the connection(s).  Note that port numbers by nature are a scarce resource
diff --git a/docs/cmdline-opts/location-trusted.d 
b/docs/cmdline-opts/location-trusted.d
index 995a8718a..f01d842bc 100644
--- a/docs/cmdline-opts/location-trusted.d
+++ b/docs/cmdline-opts/location-trusted.d
@@ -2,6 +2,7 @@ Long: location-trusted
 Help: Like --location, and send auth to other hosts
 Protocols: HTTP
 See-also: user
+Category: http auth
 ---
 Like --location, but will allow sending the name + password to all hosts that
 the site may redirect to. This may or may not introduce a security breach if
diff --git a/docs/cmdline-opts/location.d b/docs/cmdline-opts/location.d
index b5ba1f4fa..c70b2eba8 100644
--- a/docs/cmdline-opts/location.d
+++ b/docs/cmdline-opts/location.d
@@ -2,6 +2,7 @@ Long: location
 Short: L
 Help: Follow redirects
 Protocols: HTTP
+Category: http
 ---
 If the server reports that the requested page has moved to a different
 location (indicated with a Location: header and a 3XX response code), this
diff --git a/docs/cmdline-opts/login-options.d 
b/docs/cmdline-opts/login-options.d
index 8bad0511d..887d5d517 100644
--- a/docs/cmdline-opts/login-options.d
+++ b/docs/cmdline-opts/login-options.d
@@ -3,6 +3,7 @@ Arg: <options>
 Protocols: IMAP POP3 SMTP
 Help: Server login options
 Added: 7.34.0
+Category: imap pop3 smtp auth
 ---
 Specify the login options to use during server authentication.
 
diff --git a/docs/cmdline-opts/mail-auth.d b/docs/cmdline-opts/mail-auth.d
index 70cf0eda4..529997161 100644
--- a/docs/cmdline-opts/mail-auth.d
+++ b/docs/cmdline-opts/mail-auth.d
@@ -4,6 +4,7 @@ Protocols: SMTP
 Help: Originator address of the original email
 Added: 7.25.0
 See-also: mail-rcpt mail-from
+Category: smtp
 ---
 Specify a single address. This will be used to specify the authentication
 address (identity) of a submitted message that is being relayed to another
diff --git a/docs/cmdline-opts/mail-from.d b/docs/cmdline-opts/mail-from.d
index 1d932344c..faf48e2a4 100644
--- a/docs/cmdline-opts/mail-from.d
+++ b/docs/cmdline-opts/mail-from.d
@@ -4,5 +4,6 @@ Help: Mail from this address
 Protocols: SMTP
 Added: 7.20.0
 See-also: mail-rcpt mail-auth
+Category: smtp
 ---
 Specify a single address that the given mail should get sent from.
diff --git a/docs/cmdline-opts/mail-rcpt-allowfails.d 
b/docs/cmdline-opts/mail-rcpt-allowfails.d
index b5723df34..76457c32e 100644
--- a/docs/cmdline-opts/mail-rcpt-allowfails.d
+++ b/docs/cmdline-opts/mail-rcpt-allowfails.d
@@ -2,6 +2,7 @@ Long: mail-rcpt-allowfails
 Help: Allow RCPT TO command to fail for some recipients
 Protocols: SMTP
 Added: 7.69.0
+Category: smtp
 ---
 When sending data to multiple recipients, by default curl will abort SMTP
 conversation if at least one of the recipients causes RCPT TO command to
diff --git a/docs/cmdline-opts/mail-rcpt.d b/docs/cmdline-opts/mail-rcpt.d
index 0a2859b68..d8ae046ee 100644
--- a/docs/cmdline-opts/mail-rcpt.d
+++ b/docs/cmdline-opts/mail-rcpt.d
@@ -3,6 +3,7 @@ Arg: <address>
 Help: Mail to this address
 Protocols: SMTP
 Added: 7.20.0
+Category: smtp
 ---
 Specify a single address, user name or mailing list name. Repeat this
 option several times to send to multiple recipients.
diff --git a/docs/cmdline-opts/manual.d b/docs/cmdline-opts/manual.d
index a9dbb0c78..25ed08dd2 100644
--- a/docs/cmdline-opts/manual.d
+++ b/docs/cmdline-opts/manual.d
@@ -1,5 +1,6 @@
 Long: manual
 Short: M
 Help: Display the full manual
+Category: curl
 ---
 Manual. Display the huge help text.
diff --git a/docs/cmdline-opts/max-filesize.d b/docs/cmdline-opts/max-filesize.d
index 50d5266e1..1f6bdc663 100644
--- a/docs/cmdline-opts/max-filesize.d
+++ b/docs/cmdline-opts/max-filesize.d
@@ -2,6 +2,7 @@ Long: max-filesize
 Arg: <bytes>
 Help: Maximum file size to download
 See-also: limit-rate
+Category: connection
 ---
 Specify the maximum size (in bytes) of a file to download. If the file
 requested is larger than this value, the transfer will not start and curl will
diff --git a/docs/cmdline-opts/max-redirs.d b/docs/cmdline-opts/max-redirs.d
index a97860a8b..ba16c43fc 100644
--- a/docs/cmdline-opts/max-redirs.d
+++ b/docs/cmdline-opts/max-redirs.d
@@ -2,6 +2,7 @@ Long: max-redirs
 Arg: <num>
 Help: Maximum number of redirects allowed
 Protocols: HTTP
+Category: http
 ---
 Set maximum number of redirection-followings allowed. When --location is used,
 is used to prevent curl from following redirections too much. By default, the
diff --git a/docs/cmdline-opts/max-time.d b/docs/cmdline-opts/max-time.d
index 0057f9d04..c4e4ed7eb 100644
--- a/docs/cmdline-opts/max-time.d
+++ b/docs/cmdline-opts/max-time.d
@@ -3,6 +3,7 @@ Short: m
 Arg: <seconds>
 Help: Maximum time allowed for the transfer
 See-also: connect-timeout
+Category: connection
 ---
 Maximum time in seconds that you allow the whole operation to take.  This is
 useful for preventing your batch jobs from hanging for hours due to slow
diff --git a/docs/cmdline-opts/metalink.d b/docs/cmdline-opts/metalink.d
index 81fc8bc78..883766439 100644
--- a/docs/cmdline-opts/metalink.d
+++ b/docs/cmdline-opts/metalink.d
@@ -2,6 +2,7 @@ Long: metalink
 Help: Process given URLs as metalink XML file
 Added: 7.27.0
 Requires: metalink
+Category: misc
 ---
 This option can tell curl to parse and process a given URI as Metalink file
 (both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors
diff --git a/docs/cmdline-opts/negotiate.d b/docs/cmdline-opts/negotiate.d
index 69a6b9170..e247bfbee 100644
--- a/docs/cmdline-opts/negotiate.d
+++ b/docs/cmdline-opts/negotiate.d
@@ -2,6 +2,7 @@ Long: negotiate
 Help: Use HTTP Negotiate (SPNEGO) authentication
 Protocols: HTTP
 See-also: basic ntlm anyauth proxy-negotiate
+Category: auth http
 ---
 Enables Negotiate (SPNEGO) authentication.
 
diff --git a/docs/cmdline-opts/netrc-file.d b/docs/cmdline-opts/netrc-file.d
index 50126d255..95fb2654a 100644
--- a/docs/cmdline-opts/netrc-file.d
+++ b/docs/cmdline-opts/netrc-file.d
@@ -3,6 +3,7 @@ Help: Specify FILE for netrc
 Arg: <filename>
 Added: 7.21.5
 Mutexed: netrc
+Category: curl
 ---
 This option is similar to --netrc, except that you provide the path (absolute
 or relative) to the netrc file that curl should use.  You can only specify one
diff --git a/docs/cmdline-opts/netrc-optional.d 
b/docs/cmdline-opts/netrc-optional.d
index c28540309..fa92032bd 100644
--- a/docs/cmdline-opts/netrc-optional.d
+++ b/docs/cmdline-opts/netrc-optional.d
@@ -2,6 +2,7 @@ Long: netrc-optional
 Help: Use either .netrc or URL
 Mutexed: netrc
 See-also: netrc-file
+Category: curl
 ---
 Very similar to --netrc, but this option makes the .netrc usage \fBoptional\fP
 and not mandatory as the --netrc option does.
diff --git a/docs/cmdline-opts/netrc.d b/docs/cmdline-opts/netrc.d
index 2df26782c..6aac568a6 100644
--- a/docs/cmdline-opts/netrc.d
+++ b/docs/cmdline-opts/netrc.d
@@ -1,6 +1,7 @@
 Long: netrc
 Short: n
 Help: Must read .netrc for user name and password
+Category: curl
 ---
 Makes curl scan the \fI.netrc\fP (\fI_netrc\fP on Windows) file in the user's
 home directory for login name and password. This is typically used for FTP on
diff --git a/docs/cmdline-opts/next.d b/docs/cmdline-opts/next.d
index 1d1e70a35..1adcc7535 100644
--- a/docs/cmdline-opts/next.d
+++ b/docs/cmdline-opts/next.d
@@ -5,6 +5,7 @@ Protocols:
 Added: 7.36.0
 Magic: divider
 Help: Make next URL use its separate set of options
+Category: curl
 ---
 Tells curl to use a separate operation for the following URL and associated
 options. This allows you to send several URL requests, each with their own
diff --git a/docs/cmdline-opts/no-alpn.d b/docs/cmdline-opts/no-alpn.d
index 88abb8368..8031b4f07 100644
--- a/docs/cmdline-opts/no-alpn.d
+++ b/docs/cmdline-opts/no-alpn.d
@@ -5,6 +5,7 @@ Added: 7.36.0
 See-also: no-npn http2
 Requires: TLS
 Help: Disable the ALPN TLS extension
+Category: tls http
 ---
 Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
 with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
diff --git a/docs/cmdline-opts/no-buffer.d b/docs/cmdline-opts/no-buffer.d
index 65a6282f6..1079f4712 100644
--- a/docs/cmdline-opts/no-buffer.d
+++ b/docs/cmdline-opts/no-buffer.d
@@ -1,6 +1,7 @@
 Long: no-buffer
 Short: N
 Help: Disable buffering of the output stream
+Category: curl
 ---
 Disables the buffering of the output stream. In normal work situations, curl
 will use a standard buffered output stream that will have the effect that it
diff --git a/docs/cmdline-opts/no-keepalive.d b/docs/cmdline-opts/no-keepalive.d
index 8fb28a036..72f3bc9a5 100644
--- a/docs/cmdline-opts/no-keepalive.d
+++ b/docs/cmdline-opts/no-keepalive.d
@@ -1,5 +1,6 @@
 Long: no-keepalive
 Help: Disable TCP keepalive on the connection
+Category: connection
 ---
 Disables the use of keepalive messages on the TCP connection. curl otherwise
 enables them by default.
diff --git a/docs/cmdline-opts/no-npn.d b/docs/cmdline-opts/no-npn.d
index ab0f6de2e..27e5974bd 100644
--- a/docs/cmdline-opts/no-npn.d
+++ b/docs/cmdline-opts/no-npn.d
@@ -6,6 +6,7 @@ Mutexed:
 See-also: no-alpn http2
 Requires: TLS
 Help: Disable the NPN TLS extension
+Category: tls http
 ---
 Disable the NPN TLS extension. NPN is enabled by default if libcurl was built
 with an SSL library that supports NPN. NPN is used by a libcurl that supports
diff --git a/docs/cmdline-opts/no-progress-meter.d 
b/docs/cmdline-opts/no-progress-meter.d
index aff0717d3..bf28d635d 100644
--- a/docs/cmdline-opts/no-progress-meter.d
+++ b/docs/cmdline-opts/no-progress-meter.d
@@ -2,6 +2,7 @@ Long: no-progress-meter
 Help: Do not show the progress meter
 See-also: verbose silent
 Added: 7.67.0
+Category: verbose
 ---
 Option to switch off the progress meter output without muting or otherwise
 affecting warning and informational messages like --silent does.
diff --git a/docs/cmdline-opts/no-sessionid.d b/docs/cmdline-opts/no-sessionid.d
index 397a15869..013ca4cb4 100644
--- a/docs/cmdline-opts/no-sessionid.d
+++ b/docs/cmdline-opts/no-sessionid.d
@@ -2,6 +2,7 @@ Long: no-sessionid
 Help: Disable SSL session-ID reusing
 Protocols: TLS
 Added: 7.16.0
+Category: tls
 ---
 Disable curl's use of SSL session-ID caching.  By default all transfers are
 done using the cache. Note that while nothing should ever get hurt by
diff --git a/docs/cmdline-opts/noproxy.d b/docs/cmdline-opts/noproxy.d
index a216e75f4..12ce6d3ed 100644
--- a/docs/cmdline-opts/noproxy.d
+++ b/docs/cmdline-opts/noproxy.d
@@ -2,6 +2,7 @@ Long: noproxy
 Arg: <no-proxy-list>
 Help: List of hosts which do not use proxy
 Added: 7.19.4
+Category: proxy
 ---
 Comma-separated list of hosts which do not use a proxy, if one is specified.
 The only wildcard is a single * character, which matches all hosts, and
diff --git a/docs/cmdline-opts/ntlm-wb.d b/docs/cmdline-opts/ntlm-wb.d
index 7b9338408..4a2f7e1e6 100644
--- a/docs/cmdline-opts/ntlm-wb.d
+++ b/docs/cmdline-opts/ntlm-wb.d
@@ -2,6 +2,7 @@ Long: ntlm-wb
 Help: Use HTTP NTLM authentication with winbind
 Protocols: HTTP
 See-also: ntlm proxy-ntlm
+Category: auth http
 ---
 Enables NTLM much in the style --ntlm does, but hand over the authentication
 to the separate binary ntlmauth application that is executed when needed.
diff --git a/docs/cmdline-opts/ntlm.d b/docs/cmdline-opts/ntlm.d
index baaa1d534..c63c086eb 100644
--- a/docs/cmdline-opts/ntlm.d
+++ b/docs/cmdline-opts/ntlm.d
@@ -4,6 +4,7 @@ Mutexed: basic negotiate digest anyauth
 See-also: proxy-ntlm
 Protocols: HTTP
 Requires: TLS
+Category: auth http
 ---
 Enables NTLM authentication. The NTLM authentication method was designed by
 Microsoft and is used by IIS web servers. It is a proprietary protocol,
diff --git a/docs/cmdline-opts/oauth2-bearer.d 
b/docs/cmdline-opts/oauth2-bearer.d
index 30466e579..e0ea210ed 100644
--- a/docs/cmdline-opts/oauth2-bearer.d
+++ b/docs/cmdline-opts/oauth2-bearer.d
@@ -2,6 +2,7 @@ Long: oauth2-bearer
 Help: OAuth 2 Bearer Token
 Arg: <token>
 Protocols: IMAP POP3 SMTP HTTP
+Category: auth
 ---
 Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
 is used in conjunction with the user name which can be specified as part of
diff --git a/docs/cmdline-opts/output-dir.d b/docs/cmdline-opts/output-dir.d
new file mode 100644
index 000000000..d2ff7738e
--- /dev/null
+++ b/docs/cmdline-opts/output-dir.d
@@ -0,0 +1,19 @@
+Long: output-dir
+Arg: <dir>
+Help: Directory to save files in
+Added: 7.73.0
+See-also: remote-name remote-header-name
+Category: curl
+---
+
+This option specifies the directory in which files should be stored, when
+--remote-name or --output are used.
+
+The given output directory is used for all URLs and output options on the
+command line, up until the first --next.
+
+If the specified target directory doesn't exist, the operation will fail
+unless --create-dirs is also used.
+
+If this option is used multiple times, the last specified directory will be
+used.
diff --git a/docs/cmdline-opts/output.d b/docs/cmdline-opts/output.d
index f310c267d..bf35bf4a0 100644
--- a/docs/cmdline-opts/output.d
+++ b/docs/cmdline-opts/output.d
@@ -3,6 +3,7 @@ Arg: <file>
 Short: o
 Help: Write to file instead of stdout
 See-also: remote-name remote-name-all remote-header-name
+Category: important curl
 ---
 Write output to <file> instead of stdout. If you are using {} or [] to fetch
 multiple documents, you should quote the URL and you can use '#' followed by a
diff --git a/docs/cmdline-opts/page-footer b/docs/cmdline-opts/page-footer
index de77c4e0c..f105eb759 100644
--- a/docs/cmdline-opts/page-footer
+++ b/docs/cmdline-opts/page-footer
@@ -39,11 +39,15 @@ accesses the target URL through the proxy.
 The list of host names can also be include numerical IP addresses, and IPv6
 versions should then be given without enclosing brackets.
 
+IPv6 numerical addresses are compared as strings, so they will only match if
+the representations are the same: "::1" is the same as "::0:1" but they don't
+match.
+
 .IP "CURL_SSL_BACKEND <TLS backend>"
 If curl was built with support for "MultiSSL", meaning that it has built-in
 support for more than one TLS backend, this environment variable can be set to
 the case insensitive name of the particular backend to use when curl is
-invokved. Setting a name that isn't a built-in alternative, will make curl
+invoked. Setting a name that isn't a built-in alternative, will make curl
 stay with the default.
 .IP "QLOGDIR <directory name>"
 If curl was built with HTTP/3 support, setting this environment variable to a
@@ -279,6 +283,6 @@ are meant to never change.
 Daniel Stenberg is the main author, but the whole list of contributors is
 found in the separate THANKS file.
 .Sh SEE ALSO
-.Lk https://curl.haxx.se
+.Lk https://curl.se
 .Xr ftp 1 ,
 .Xr wget 1
diff --git a/docs/cmdline-opts/page-header b/docs/cmdline-opts/page-header
index a51e485ba..dcc299f73 100644
--- a/docs/cmdline-opts/page-header
+++ b/docs/cmdline-opts/page-header
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -99,6 +99,15 @@ getting many files from the same server will not do multiple 
connects /
 handshakes. This improves speed. Of course this is only done on files
 specified on a single command line and cannot be used between separate curl
 invokes.
+.SH OUTPUT
+If not told otherwise, curl writes the received data to stdout. It can be
+instructed to instead save that data into a local file, using the --output or
+--remote-name options. If curl is given multiple URLs to transfer on the
+command line, it similarly needs multiple options for where to save them.
+
+curl does not parse or otherwise "understand" the content it gets or writes as
+output. It does no encoding or decoding, unless explicitly asked so with
+dedicated command line options.
 .SH PROTOCOLS
 curl supports numerous protocols, or put in URL terms: schemes. Your
 particular build may not support them all.
diff --git a/docs/cmdline-opts/parallel-immediate.d 
b/docs/cmdline-opts/parallel-immediate.d
index 343931085..95c8afc42 100644
--- a/docs/cmdline-opts/parallel-immediate.d
+++ b/docs/cmdline-opts/parallel-immediate.d
@@ -2,6 +2,7 @@ Long: parallel-immediate
 Help: Do not wait for multiplexing (with --parallel)
 Added: 7.68.0
 See-also: parallel parallel-max
+Category: connection curl
 ---
 When doing parallel transfers, this option will instruct curl that it should
 rather prefer opening up more connections in parallel at once rather than
diff --git a/docs/cmdline-opts/parallel-max.d b/docs/cmdline-opts/parallel-max.d
index a8c79c743..d49aeb7a9 100644
--- a/docs/cmdline-opts/parallel-max.d
+++ b/docs/cmdline-opts/parallel-max.d
@@ -2,6 +2,7 @@ Long: parallel-max
 Help: Maximum concurrency for parallel transfers
 Added: 7.66.0
 See-also: parallel
+Category: connection curl
 ---
 When asked to do parallel transfers, using --parallel, this option controls
 the maximum amount of transfers to do simultaneously.
diff --git a/docs/cmdline-opts/parallel.d b/docs/cmdline-opts/parallel.d
index fac84e624..d6b4affe3 100644
--- a/docs/cmdline-opts/parallel.d
+++ b/docs/cmdline-opts/parallel.d
@@ -2,6 +2,7 @@ Short: Z
 Long: parallel
 Help: Perform transfers in parallel
 Added: 7.66.0
+Category: connection curl
 ---
 Makes curl perform its transfers in parallel as compared to the regular serial
 manner.
diff --git a/docs/cmdline-opts/pass.d b/docs/cmdline-opts/pass.d
index 2639cb9d0..f6633d242 100644
--- a/docs/cmdline-opts/pass.d
+++ b/docs/cmdline-opts/pass.d
@@ -2,6 +2,7 @@ Long: pass
 Arg: <phrase>
 Help: Pass phrase for the private key
 Protocols: SSH TLS
+Category: ssh tls auth
 ---
 Passphrase for the private key
 
diff --git a/docs/cmdline-opts/path-as-is.d b/docs/cmdline-opts/path-as-is.d
index 946e2f07a..0bfaf6639 100644
--- a/docs/cmdline-opts/path-as-is.d
+++ b/docs/cmdline-opts/path-as-is.d
@@ -1,6 +1,7 @@
 Long: path-as-is
 Help: Do not squash .. sequences in URL path
 Added: 7.42.0
+Category: curl
 ---
 Tell curl to not handle sequences of /../ or /./ in the given URL
 path. Normally curl will squash or merge them according to standards but with
diff --git a/docs/cmdline-opts/pinnedpubkey.d b/docs/cmdline-opts/pinnedpubkey.d
index cd21911f8..617252c6c 100644
--- a/docs/cmdline-opts/pinnedpubkey.d
+++ b/docs/cmdline-opts/pinnedpubkey.d
@@ -2,6 +2,7 @@ Long: pinnedpubkey
 Arg: <hashes>
 Help: FILE/HASHES Public key to verify peer against
 Protocols: TLS
+Category: tls
 ---
 Tells curl to use the specified public key file (or hashes) to verify the
 peer. This can be a path to a file which contains a single public key in PEM
diff --git a/docs/cmdline-opts/post301.d b/docs/cmdline-opts/post301.d
index 87a9fe7ed..9cc2ad018 100644
--- a/docs/cmdline-opts/post301.d
+++ b/docs/cmdline-opts/post301.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 301
 Protocols: HTTP
 See-also: post302 post303 location
 Added: 7.17.1
+Category: http post
 ---
 Tells curl to respect RFC 7231/6.4.2 and not convert POST requests into GET
 requests when following a 301 redirection. The non-RFC behaviour is ubiquitous
diff --git a/docs/cmdline-opts/post302.d b/docs/cmdline-opts/post302.d
index caf0d87f1..02749032f 100644
--- a/docs/cmdline-opts/post302.d
+++ b/docs/cmdline-opts/post302.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 302
 Protocols: HTTP
 See-also: post301 post303 location
 Added: 7.19.1
+Category: http post
 ---
 Tells curl to respect RFC 7231/6.4.3 and not convert POST requests into GET
 requests when following a 302 redirection. The non-RFC behaviour is ubiquitous
diff --git a/docs/cmdline-opts/post303.d b/docs/cmdline-opts/post303.d
index 44f39e610..1a67e13ef 100644
--- a/docs/cmdline-opts/post303.d
+++ b/docs/cmdline-opts/post303.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 303
 Protocols: HTTP
 See-also: post302 post301 location
 Added: 7.26.0
+Category: http post
 ---
 Tells curl to violate RFC 7231/6.4.4 and not convert POST requests into GET
 requests when following 303 redirections. A server may require a POST to
diff --git a/docs/cmdline-opts/preproxy.d b/docs/cmdline-opts/preproxy.d
index b8eb77fa4..a917c16ed 100644
--- a/docs/cmdline-opts/preproxy.d
+++ b/docs/cmdline-opts/preproxy.d
@@ -2,6 +2,7 @@ Long: preproxy
 Arg: [protocol://]host[:port]
 Help: Use this proxy first
 Added: 7.52.0
+Category: proxy
 ---
 Use the specified SOCKS proxy before connecting to an HTTP or HTTPS --proxy. In
 such a case curl first connects to the SOCKS proxy and then connects (through
diff --git a/docs/cmdline-opts/progress-bar.d b/docs/cmdline-opts/progress-bar.d
index f27de2d93..299d5384a 100644
--- a/docs/cmdline-opts/progress-bar.d
+++ b/docs/cmdline-opts/progress-bar.d
@@ -1,6 +1,7 @@
 Short: #
 Long: progress-bar
 Help: Display transfer progress as a bar
+Category: verbose
 ---
 Make curl display transfer progress as a simple progress bar instead of the
 standard, more informational, meter.
diff --git a/docs/cmdline-opts/proto-default.d 
b/docs/cmdline-opts/proto-default.d
index ccc3b85f3..1c2afea2c 100644
--- a/docs/cmdline-opts/proto-default.d
+++ b/docs/cmdline-opts/proto-default.d
@@ -2,6 +2,7 @@ Long: proto-default
 Help: Use PROTOCOL for any URL missing a scheme
 Arg: <protocol>
 Added: 7.45.0
+Category: connection curl
 ---
 Tells curl to use \fIprotocol\fP for any URL missing a scheme name.
 
diff --git a/docs/cmdline-opts/proto-redir.d b/docs/cmdline-opts/proto-redir.d
index a1205dd03..9a096f531 100644
--- a/docs/cmdline-opts/proto-redir.d
+++ b/docs/cmdline-opts/proto-redir.d
@@ -2,6 +2,7 @@ Long: proto-redir
 Arg: <protocols>
 Help: Enable/disable PROTOCOLS on redirect
 Added: 7.20.2
+Category: connection curl
 ---
 Tells curl to limit what protocols it may use on redirect. Protocols denied by
 --proto are not overridden by this option. See --proto for how protocols are
diff --git a/docs/cmdline-opts/proto.d b/docs/cmdline-opts/proto.d
index e1ece1788..46c912254 100644
--- a/docs/cmdline-opts/proto.d
+++ b/docs/cmdline-opts/proto.d
@@ -3,6 +3,7 @@ Arg: <protocols>
 Help: Enable/disable PROTOCOLS
 See-also: proto-redir proto-default
 Added: 7.20.2
+Category: connection curl
 ---
 Tells curl to limit what protocols it may use in the transfer. Protocols are
 evaluated left to right, are comma separated, and are each a protocol name or
diff --git a/docs/cmdline-opts/proxy-anyauth.d 
b/docs/cmdline-opts/proxy-anyauth.d
index b60d0a05e..6410c0e6a 100644
--- a/docs/cmdline-opts/proxy-anyauth.d
+++ b/docs/cmdline-opts/proxy-anyauth.d
@@ -2,6 +2,7 @@ Long: proxy-anyauth
 Help: Pick any proxy authentication method
 Added: 7.13.2
 See-also: proxy proxy-basic proxy-digest
+Category: proxy auth
 ---
 Tells curl to pick a suitable authentication method when communicating with
 the given HTTP proxy. This might cause an extra request/response round-trip.
diff --git a/docs/cmdline-opts/proxy-basic.d b/docs/cmdline-opts/proxy-basic.d
index 566f890a9..e842f9900 100644
--- a/docs/cmdline-opts/proxy-basic.d
+++ b/docs/cmdline-opts/proxy-basic.d
@@ -1,6 +1,7 @@
 Long: proxy-basic
 Help: Use Basic authentication on the proxy
 See-also: proxy proxy-anyauth proxy-digest
+Category: proxy auth
 ---
 Tells curl to use HTTP Basic authentication when communicating with the given
 proxy. Use --basic for enabling HTTP Basic with a remote host. Basic is the
diff --git a/docs/cmdline-opts/proxy-cacert.d b/docs/cmdline-opts/proxy-cacert.d
index 2713dd2a4..bbc731a28 100644
--- a/docs/cmdline-opts/proxy-cacert.d
+++ b/docs/cmdline-opts/proxy-cacert.d
@@ -3,5 +3,6 @@ Help: CA certificate to verify peer against for proxy
 Arg: <file>
 Added: 7.52.0
 See-also: proxy-capath cacert capath proxy
+Category: proxy tls
 ---
 Same as --cacert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-capath.d b/docs/cmdline-opts/proxy-capath.d
index 177246aab..cc342b755 100644
--- a/docs/cmdline-opts/proxy-capath.d
+++ b/docs/cmdline-opts/proxy-capath.d
@@ -3,5 +3,6 @@ Help: CA directory to verify peer against for proxy
 Arg: <dir>
 Added: 7.52.0
 See-also: proxy-cacert proxy capath
+Category: proxy tls
 ---
 Same as --capath but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert-type.d 
b/docs/cmdline-opts/proxy-cert-type.d
index 906d2a115..fb7596c17 100644
--- a/docs/cmdline-opts/proxy-cert-type.d
+++ b/docs/cmdline-opts/proxy-cert-type.d
@@ -2,5 +2,6 @@ Long: proxy-cert-type
 Arg: <type>
 Added: 7.52.0
 Help: Client certificate type for HTTPS proxy
+Category: proxy tls
 ---
 Same as --cert-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert.d b/docs/cmdline-opts/proxy-cert.d
index 43acd3950..7df2712f3 100644
--- a/docs/cmdline-opts/proxy-cert.d
+++ b/docs/cmdline-opts/proxy-cert.d
@@ -2,5 +2,6 @@ Long: proxy-cert
 Arg: <cert[:passwd]>
 Help: Set client certificate for proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --cert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-ciphers.d 
b/docs/cmdline-opts/proxy-ciphers.d
index dcac81284..366555673 100644
--- a/docs/cmdline-opts/proxy-ciphers.d
+++ b/docs/cmdline-opts/proxy-ciphers.d
@@ -2,5 +2,6 @@ Long: proxy-ciphers
 Arg: <list>
 Help: SSL ciphers to use for proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --ciphers but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-crlfile.d 
b/docs/cmdline-opts/proxy-crlfile.d
index 1d6247f47..580dc50ce 100644
--- a/docs/cmdline-opts/proxy-crlfile.d
+++ b/docs/cmdline-opts/proxy-crlfile.d
@@ -2,5 +2,6 @@ Long: proxy-crlfile
 Arg: <file>
 Help: Set a CRL list for proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --crlfile but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-digest.d b/docs/cmdline-opts/proxy-digest.d
index ccf46636c..52f1fcc67 100644
--- a/docs/cmdline-opts/proxy-digest.d
+++ b/docs/cmdline-opts/proxy-digest.d
@@ -1,6 +1,7 @@
 Long: proxy-digest
 Help: Use Digest authentication on the proxy
 See-also: proxy proxy-anyauth proxy-basic
+Category: proxy tls
 ---
 Tells curl to use HTTP Digest authentication when communicating with the given
 proxy. Use --digest for enabling HTTP Digest with a remote host.
diff --git a/docs/cmdline-opts/proxy-header.d b/docs/cmdline-opts/proxy-header.d
index c1b0bb7c4..9f1121d2f 100644
--- a/docs/cmdline-opts/proxy-header.d
+++ b/docs/cmdline-opts/proxy-header.d
@@ -3,6 +3,7 @@ Arg: <header/@file>
 Help: Pass custom header(s) to proxy
 Protocols: HTTP
 Added: 7.37.0
+Category: proxy
 ---
 Extra header to include in the request when sending HTTP to a proxy. You may
 specify any number of extra headers. This is the equivalent option to --header
diff --git a/docs/cmdline-opts/proxy-insecure.d 
b/docs/cmdline-opts/proxy-insecure.d
index 762828f43..e123f4019 100644
--- a/docs/cmdline-opts/proxy-insecure.d
+++ b/docs/cmdline-opts/proxy-insecure.d
@@ -1,5 +1,6 @@
 Long: proxy-insecure
 Help: Do HTTPS proxy connections without verifying the proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --insecure but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key-type.d 
b/docs/cmdline-opts/proxy-key-type.d
index ce7482ae9..1906872ef 100644
--- a/docs/cmdline-opts/proxy-key-type.d
+++ b/docs/cmdline-opts/proxy-key-type.d
@@ -2,5 +2,6 @@ Long: proxy-key-type
 Arg: <type>
 Help: Private key file type for proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --key-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key.d b/docs/cmdline-opts/proxy-key.d
index e61eb18a9..57d469f43 100644
--- a/docs/cmdline-opts/proxy-key.d
+++ b/docs/cmdline-opts/proxy-key.d
@@ -1,5 +1,6 @@
 Long: proxy-key
 Help: Private key for HTTPS proxy
 Arg: <key>
+Category: proxy tls
 ---
 Same as --key but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-negotiate.d 
b/docs/cmdline-opts/proxy-negotiate.d
index 775f62a9a..72f35960e 100644
--- a/docs/cmdline-opts/proxy-negotiate.d
+++ b/docs/cmdline-opts/proxy-negotiate.d
@@ -2,6 +2,7 @@ Long: proxy-negotiate
 Help: Use HTTP Negotiate (SPNEGO) authentication on the proxy
 Added: 7.17.1
 See-also: proxy-anyauth proxy-basic
+Category: proxy auth
 ---
 Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating
 with the given proxy. Use --negotiate for enabling HTTP Negotiate (SPNEGO)
diff --git a/docs/cmdline-opts/proxy-ntlm.d b/docs/cmdline-opts/proxy-ntlm.d
index c30db53b9..cb1ba7b00 100644
--- a/docs/cmdline-opts/proxy-ntlm.d
+++ b/docs/cmdline-opts/proxy-ntlm.d
@@ -1,6 +1,7 @@
 Long: proxy-ntlm
 Help: Use NTLM authentication on the proxy
 See-also: proxy-negotiate proxy-anyauth
+Category: proxy auth
 ---
 Tells curl to use HTTP NTLM authentication when communicating with the given
 proxy. Use --ntlm for enabling NTLM with a remote host.
diff --git a/docs/cmdline-opts/proxy-pass.d b/docs/cmdline-opts/proxy-pass.d
index 3371714ba..627451bbb 100644
--- a/docs/cmdline-opts/proxy-pass.d
+++ b/docs/cmdline-opts/proxy-pass.d
@@ -2,5 +2,6 @@ Long: proxy-pass
 Arg: <phrase>
 Help: Pass phrase for the private key for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --pass but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-pinnedpubkey.d 
b/docs/cmdline-opts/proxy-pinnedpubkey.d
index abd6dc4aa..2ab79f19e 100644
--- a/docs/cmdline-opts/proxy-pinnedpubkey.d
+++ b/docs/cmdline-opts/proxy-pinnedpubkey.d
@@ -2,6 +2,7 @@ Long: proxy-pinnedpubkey
 Arg: <hashes>
 Help: FILE/HASHES public key to verify proxy with
 Protocols: TLS
+Category: proxy tls
 ---
 Tells curl to use the specified public key file (or hashes) to verify the
 proxy. This can be a path to a file which contains a single public key in PEM
diff --git a/docs/cmdline-opts/proxy-service-name.d 
b/docs/cmdline-opts/proxy-service-name.d
index 9a73f2be6..f78072906 100644
--- a/docs/cmdline-opts/proxy-service-name.d
+++ b/docs/cmdline-opts/proxy-service-name.d
@@ -2,5 +2,6 @@ Long: proxy-service-name
 Arg: <name>
 Help: SPNEGO proxy service name
 Added: 7.43.0
+Category: proxy tls
 ---
 This option allows you to change the service name for proxy negotiation.
diff --git a/docs/cmdline-opts/proxy-ssl-allow-beast.d 
b/docs/cmdline-opts/proxy-ssl-allow-beast.d
index de96b8436..138001b36 100644
--- a/docs/cmdline-opts/proxy-ssl-allow-beast.d
+++ b/docs/cmdline-opts/proxy-ssl-allow-beast.d
@@ -1,5 +1,6 @@
 Long: proxy-ssl-allow-beast
 Help: Allow security flaw for interop for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls
 ---
 Same as --ssl-allow-beast but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tls13-ciphers.d 
b/docs/cmdline-opts/proxy-tls13-ciphers.d
index 08961b72e..9f03f135e 100644
--- a/docs/cmdline-opts/proxy-tls13-ciphers.d
+++ b/docs/cmdline-opts/proxy-tls13-ciphers.d
@@ -2,12 +2,13 @@ Long: proxy-tls13-ciphers
 Arg: <ciphersuite list>
 help: TLS 1.3 proxy cipher suites
 Protocols: TLS
+Category: proxy tls
 ---
 Specifies which cipher suites to use in the connection to your HTTPS proxy
 when it negotiates TLS 1.3. The list of ciphers suites must specify valid
 ciphers. Read up on TLS 1.3 cipher suite details on this URL:
 
- https://curl.haxx.se/docs/ssl-ciphers.html
+ https://curl.se/docs/ssl-ciphers.html
 
 This option is currently used only when curl is built to use OpenSSL 1.1.1 or
 later. If you are using a different SSL backend you can try setting TLS 1.3
diff --git a/docs/cmdline-opts/proxy-tlsauthtype.d 
b/docs/cmdline-opts/proxy-tlsauthtype.d
index 7d0ce8e1a..5649a0f5f 100644
--- a/docs/cmdline-opts/proxy-tlsauthtype.d
+++ b/docs/cmdline-opts/proxy-tlsauthtype.d
@@ -2,5 +2,6 @@ Long: proxy-tlsauthtype
 Arg: <type>
 Help: TLS authentication type for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --tlsauthtype but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlspassword.d 
b/docs/cmdline-opts/proxy-tlspassword.d
index cf003844e..38a33d45d 100644
--- a/docs/cmdline-opts/proxy-tlspassword.d
+++ b/docs/cmdline-opts/proxy-tlspassword.d
@@ -2,5 +2,6 @@ Long: proxy-tlspassword
 Arg: <string>
 Help: TLS password for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --tlspassword but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsuser.d 
b/docs/cmdline-opts/proxy-tlsuser.d
index 758a7c953..587f7f510 100644
--- a/docs/cmdline-opts/proxy-tlsuser.d
+++ b/docs/cmdline-opts/proxy-tlsuser.d
@@ -2,5 +2,6 @@ Long: proxy-tlsuser
 Arg: <name>
 Help: TLS username for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --tlsuser but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsv1.d b/docs/cmdline-opts/proxy-tlsv1.d
index d024eeac3..5003f5f70 100644
--- a/docs/cmdline-opts/proxy-tlsv1.d
+++ b/docs/cmdline-opts/proxy-tlsv1.d
@@ -1,5 +1,6 @@
 Long: proxy-tlsv1
 Help: Use TLSv1 for HTTPS proxy
 Added: 7.52.0
+Category: proxy tls auth
 ---
 Same as --tlsv1 but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-user.d b/docs/cmdline-opts/proxy-user.d
index 152466daa..82fc5170f 100644
--- a/docs/cmdline-opts/proxy-user.d
+++ b/docs/cmdline-opts/proxy-user.d
@@ -2,6 +2,7 @@ Long: proxy-user
 Short: U
 Arg: <user:password>
 Help: Proxy user and password
+Category: proxy auth
 ---
 Specify the user name and password to use for proxy authentication.
 
diff --git a/docs/cmdline-opts/proxy.d b/docs/cmdline-opts/proxy.d
index 6506692be..0592f13ba 100644
--- a/docs/cmdline-opts/proxy.d
+++ b/docs/cmdline-opts/proxy.d
@@ -2,6 +2,7 @@ Long: proxy
 Short: x
 Arg: [protocol://]host[:port]
 Help: Use this proxy
+Category: proxy
 ---
 Use the specified proxy.
 
diff --git a/docs/cmdline-opts/proxy1.0.d b/docs/cmdline-opts/proxy1.0.d
index 4a931bd15..b8a232bf7 100644
--- a/docs/cmdline-opts/proxy1.0.d
+++ b/docs/cmdline-opts/proxy1.0.d
@@ -1,6 +1,7 @@
 Long: proxy1.0
 Arg: <host[:port]>
 Help: Use HTTP/1.0 proxy on given port
+Category: proxy
 ---
 Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
 assumed at port 1080.
diff --git a/docs/cmdline-opts/proxytunnel.d b/docs/cmdline-opts/proxytunnel.d
index 1f587f120..94dae992f 100644
--- a/docs/cmdline-opts/proxytunnel.d
+++ b/docs/cmdline-opts/proxytunnel.d
@@ -2,6 +2,7 @@ Long: proxytunnel
 Short: p
 Help: Operate through an HTTP proxy tunnel (using CONNECT)
 See-also: proxy
+Category: proxy
 ---
 When an HTTP proxy is used --proxy, this option will make curl tunnel through
 the proxy. The tunnel approach is made with the HTTP proxy CONNECT request and
diff --git a/docs/cmdline-opts/pubkey.d b/docs/cmdline-opts/pubkey.d
index b2e11c024..692daf6b0 100644
--- a/docs/cmdline-opts/pubkey.d
+++ b/docs/cmdline-opts/pubkey.d
@@ -2,6 +2,7 @@ Long: pubkey
 Arg: <key>
 Protocols: SFTP SCP
 Help: SSH Public key file name
+Category: sftp scp auth
 ---
 Public key file name. Allows you to provide your public key in this separate
 file.
diff --git a/docs/cmdline-opts/quote.d b/docs/cmdline-opts/quote.d
index 59a98eafb..a33ed3571 100644
--- a/docs/cmdline-opts/quote.d
+++ b/docs/cmdline-opts/quote.d
@@ -2,6 +2,7 @@ Long: quote
 Short: Q
 Help: Send command(s) to server before transfer
 Protocols: FTP SFTP
+Category: ftp sftp
 ---
 
 Send an arbitrary command to the remote FTP or SFTP server. Quote commands are
@@ -26,6 +27,10 @@ itself before sending them to the server.  File names may be 
quoted
 shell-style to embed spaces or special characters.  Following is the list of
 all supported SFTP quote commands:
 .RS
+.IP "atime date file"
+The atime command sets the last access time of the file named by the file
+operand. The <date expression> can be all sorts of date strings, see the
+\fIcurl_getdate(3)\fP man page for date expression details. (Added in 7.73.0)
 .IP "chgrp group file"
 The chgrp command sets the group ID of the file named by the file operand to
 the group ID specified by the group operand. The group operand is a decimal
@@ -42,6 +47,10 @@ The ln and symlink commands create a symbolic link at the 
target_file location
 pointing to the source_file location.
 .IP "mkdir directory_name"
 The mkdir command creates the directory named by the directory_name operand.
+.IP "mtime date file"
+The mtime command sets the last modification time of the file named by the
+file operand. The <date expression> can be all sorts of date strings, see the
+\fIcurl_getdate(3)\fP man page for date expression details. (Added in 7.73.0)
 .IP "pwd"
 The pwd command returns the absolute pathname of the current working directory.
 .IP "rename source target"
diff --git a/docs/cmdline-opts/random-file.d b/docs/cmdline-opts/random-file.d
index 51626f88d..c57f52364 100644
--- a/docs/cmdline-opts/random-file.d
+++ b/docs/cmdline-opts/random-file.d
@@ -1,6 +1,7 @@
 Long: random-file
 Arg: <file>
 Help: File for reading random data from
+Category: misc
 ---
 Specify the path name to file containing what will be considered as random
 data. The data may be used to seed the random engine for SSL connections.  See
diff --git a/docs/cmdline-opts/range.d b/docs/cmdline-opts/range.d
index b888dd181..e2d1f62fc 100644
--- a/docs/cmdline-opts/range.d
+++ b/docs/cmdline-opts/range.d
@@ -3,6 +3,7 @@ Short: r
 Help: Retrieve only the bytes within RANGE
 Arg: <range>
 Protocols: HTTP FTP SFTP FILE
+Category: http ftp sftp file
 ---
 Retrieve a byte range (i.e. a partial document) from an HTTP/1.1, FTP or SFTP
 server or a local FILE. Ranges can be specified in a number of ways.
@@ -28,7 +29,8 @@ specifies two separate 100-byte ranges(*) (HTTP)
 .RE
 .IP
 (*) = NOTE that this will cause the server to reply with a multipart
-response!
+response, which will be returned as-is by curl! Parsing or otherwise
+transforming this response is the responsibility of the caller.
 
 Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the
 \&'start-stop' range syntax. If a non-digit character is given in the range,
diff --git a/docs/cmdline-opts/raw.d b/docs/cmdline-opts/raw.d
index c3328e69a..90e777263 100644
--- a/docs/cmdline-opts/raw.d
+++ b/docs/cmdline-opts/raw.d
@@ -2,6 +2,7 @@ Long: raw
 Help: Do HTTP "raw"; no transfer decoding
 Added: 7.16.2
 Protocols: HTTP
+Category: http
 ---
 When used, it disables all internal HTTP decoding of content or transfer
 encodings and instead makes them passed on unaltered, raw.
diff --git a/docs/cmdline-opts/referer.d b/docs/cmdline-opts/referer.d
index cd84e9d5a..8b2057b94 100644
--- a/docs/cmdline-opts/referer.d
+++ b/docs/cmdline-opts/referer.d
@@ -4,6 +4,7 @@ Arg: <URL>
 Protocols: HTTP
 Help: Referrer URL
 See-also: user-agent header
+Category: http
 ---
 Sends the "Referrer Page" information to the HTTP server. This can also be set
 with the --header flag of course.  When used with --location you can append
diff --git a/docs/cmdline-opts/remote-header-name.d 
b/docs/cmdline-opts/remote-header-name.d
index 771b6d469..700da69fc 100644
--- a/docs/cmdline-opts/remote-header-name.d
+++ b/docs/cmdline-opts/remote-header-name.d
@@ -2,6 +2,7 @@ Long: remote-header-name
 Short: J
 Protocols: HTTP
 Help: Use the header-provided filename
+Category: output
 ---
 This option tells the --remote-name option to use the server-specified
 Content-Disposition filename instead of extracting a filename from the URL.
diff --git a/docs/cmdline-opts/remote-name-all.d 
b/docs/cmdline-opts/remote-name-all.d
index f7a199679..299684c51 100644
--- a/docs/cmdline-opts/remote-name-all.d
+++ b/docs/cmdline-opts/remote-name-all.d
@@ -1,6 +1,7 @@
 Long: remote-name-all
 Help: Use the remote file name for all URLs
 Added: 7.19.0
+Category: output
 ---
 This option changes the default action for all given URLs to be dealt with as
 if --remote-name were used for each one. So if you want to disable that for a
diff --git a/docs/cmdline-opts/remote-name.d b/docs/cmdline-opts/remote-name.d
index 9fed64bf4..184c32e47 100644
--- a/docs/cmdline-opts/remote-name.d
+++ b/docs/cmdline-opts/remote-name.d
@@ -1,6 +1,7 @@
 Long: remote-name
 Short: O
 Help: Write output to a file named as the remote file
+Category: important output
 ---
 Write output to a local file named like the remote file we get. (Only the file
 part of the remote file is used, the path is cut off.)
diff --git a/docs/cmdline-opts/remote-time.d b/docs/cmdline-opts/remote-time.d
index 7f6809dc3..96fb4fbe9 100644
--- a/docs/cmdline-opts/remote-time.d
+++ b/docs/cmdline-opts/remote-time.d
@@ -1,6 +1,7 @@
 Long: remote-time
 Short: R
 Help: Set the remote file's time on the local output
+Category: output
 ---
 When used, this will make curl attempt to figure out the timestamp of the
 remote file, and if that is available make the local file get that same
diff --git a/docs/cmdline-opts/request-target.d 
b/docs/cmdline-opts/request-target.d
index b46b4af02..df423f87d 100644
--- a/docs/cmdline-opts/request-target.d
+++ b/docs/cmdline-opts/request-target.d
@@ -2,6 +2,7 @@ Long: request-target
 Help: Specify the target for this request
 Protocols: HTTP
 Added: 7.55.0
+Category: http
 ---
 Tells curl to use an alternative "target" (path) instead of using the path as
 provided in the URL. Particularly useful when wanting to issue HTTP requests
diff --git a/docs/cmdline-opts/request.d b/docs/cmdline-opts/request.d
index 3919d426a..47c4c8b04 100644
--- a/docs/cmdline-opts/request.d
+++ b/docs/cmdline-opts/request.d
@@ -2,6 +2,7 @@ Long: request
 Short: X
 Arg: <command>
 Help: Specify request command to use
+Category: connection
 ---
 (HTTP) Specifies a custom request method to use when communicating with the
 HTTP server.  The specified request method will be used instead of the method
diff --git a/docs/cmdline-opts/resolve.d b/docs/cmdline-opts/resolve.d
index c1692f0f8..41f6a1bd5 100644
--- a/docs/cmdline-opts/resolve.d
+++ b/docs/cmdline-opts/resolve.d
@@ -2,6 +2,7 @@ Long: resolve
 Arg: <host:port:addr[,addr]...>
 Help: Resolve the host+port to this address
 Added: 7.21.3
+Category: connection
 ---
 Provide a custom address for a specific host and port pair. Using this, you
 can make the curl requests(s) use a specified address and prevent the
diff --git a/docs/cmdline-opts/retry-all-errors.d 
b/docs/cmdline-opts/retry-all-errors.d
index 4554f5938..6bda52b6e 100644
--- a/docs/cmdline-opts/retry-all-errors.d
+++ b/docs/cmdline-opts/retry-all-errors.d
@@ -1,6 +1,7 @@
 Long: retry-all-errors
 Help: Retry all errors (use with --retry)
 Added: 7.71.0
+Category: curl
 ---
 Retry on any error. This option is used together with --retry.
 
diff --git a/docs/cmdline-opts/retry-connrefused.d 
b/docs/cmdline-opts/retry-connrefused.d
index 6a78e1fda..be34f973d 100644
--- a/docs/cmdline-opts/retry-connrefused.d
+++ b/docs/cmdline-opts/retry-connrefused.d
@@ -1,6 +1,7 @@
 Long: retry-connrefused
 Help: Retry on connection refused (use with --retry)
 Added: 7.52.0
+Category: curl
 ---
 In addition to the other conditions, consider ECONNREFUSED as a transient
 error too for --retry. This option is used together with --retry.
diff --git a/docs/cmdline-opts/retry-delay.d b/docs/cmdline-opts/retry-delay.d
index 1691356d4..5645c0e6a 100644
--- a/docs/cmdline-opts/retry-delay.d
+++ b/docs/cmdline-opts/retry-delay.d
@@ -2,6 +2,7 @@ Long: retry-delay
 Arg: <seconds>
 Help: Wait time between retries
 Added: 7.12.3
+Category: curl
 ---
 Make curl sleep this amount of time before each retry when a transfer has
 failed with a transient error (it changes the default backoff time algorithm
diff --git a/docs/cmdline-opts/retry-max-time.d 
b/docs/cmdline-opts/retry-max-time.d
index 0920c9244..9d6faf304 100644
--- a/docs/cmdline-opts/retry-max-time.d
+++ b/docs/cmdline-opts/retry-max-time.d
@@ -2,6 +2,7 @@ Long: retry-max-time
 Arg: <seconds>
 Help: Retry only within this period
 Added: 7.12.3
+Category: curl
 ---
 The retry timer is reset before the first transfer attempt. Retries will be
 done as usual (see --retry) as long as the timer hasn't reached this given
diff --git a/docs/cmdline-opts/retry.d b/docs/cmdline-opts/retry.d
index 3db89b71c..70f6e7bfd 100644
--- a/docs/cmdline-opts/retry.d
+++ b/docs/cmdline-opts/retry.d
@@ -2,6 +2,7 @@ Long: retry
 Arg: <num>
 Added: 7.12.3
 Help: Retry request if transient problems occur
+Category: curl
 ---
 If a transient error is returned when curl tries to perform a transfer, it
 will retry this number of times before giving up. Setting the number to 0
diff --git a/docs/cmdline-opts/sasl-authzid.d b/docs/cmdline-opts/sasl-authzid.d
index a3bd46e70..e802c80a1 100644
--- a/docs/cmdline-opts/sasl-authzid.d
+++ b/docs/cmdline-opts/sasl-authzid.d
@@ -2,6 +2,7 @@ Long: sasl-authzid
 Arg: <identity>
 Help: Identity for SASL PLAIN authentication
 Added: 7.66.0
+Category: auth
 ---
 Use this authorisation identity (authzid), during SASL PLAIN authentication,
 in addition to the authentication identity (authcid) as specified by --user.
diff --git a/docs/cmdline-opts/sasl-ir.d b/docs/cmdline-opts/sasl-ir.d
index c0dab9463..0041c3b4e 100644
--- a/docs/cmdline-opts/sasl-ir.d
+++ b/docs/cmdline-opts/sasl-ir.d
@@ -1,5 +1,6 @@
 Long: sasl-ir
 Help: Enable initial response in SASL authentication
 Added: 7.31.0
+Category: auth
 ---
 Enable initial response in SASL authentication.
diff --git a/docs/cmdline-opts/service-name.d b/docs/cmdline-opts/service-name.d
index 4dfeb27d6..c64496b85 100644
--- a/docs/cmdline-opts/service-name.d
+++ b/docs/cmdline-opts/service-name.d
@@ -2,6 +2,7 @@ Long: service-name
 Help: SPNEGO service name
 Arg: <name>
 Added: 7.43.0
+Category: misc
 ---
 This option allows you to change the service name for SPNEGO.
 
diff --git a/docs/cmdline-opts/show-error.d b/docs/cmdline-opts/show-error.d
index b9667a4ca..2124409e5 100644
--- a/docs/cmdline-opts/show-error.d
+++ b/docs/cmdline-opts/show-error.d
@@ -1,5 +1,7 @@
 Long: show-error
 Short: S
 Help: Show error even when -s is used
+See-also: no-progress-meter
+Category: curl
 ---
 When used with --silent, it makes curl show an error message if it fails.
diff --git a/docs/cmdline-opts/silent.d b/docs/cmdline-opts/silent.d
index b0b4425b3..58a522335 100644
--- a/docs/cmdline-opts/silent.d
+++ b/docs/cmdline-opts/silent.d
@@ -1,7 +1,8 @@
 Long: silent
 Short: s
 Help: Silent mode
-See-also: verbose stderr
+See-also: verbose stderr no-progress-meter
+Category: important verbose
 ---
 Silent or quiet mode. Don't show progress meter or error messages.  Makes Curl
 mute. It will still output the data you ask for, potentially even to the
diff --git a/docs/cmdline-opts/socks4.d b/docs/cmdline-opts/socks4.d
index 11f6ae033..bc095d546 100644
--- a/docs/cmdline-opts/socks4.d
+++ b/docs/cmdline-opts/socks4.d
@@ -2,6 +2,7 @@ Long: socks4
 Arg: <host[:port]>
 Help: SOCKS4 proxy on given host + port
 Added: 7.15.2
+Category: proxy
 ---
 Use the specified SOCKS4 proxy. If the port number is not specified, it is
 assumed at port 1080.
diff --git a/docs/cmdline-opts/socks4a.d b/docs/cmdline-opts/socks4a.d
index ae254ae0e..d3177a9d7 100644
--- a/docs/cmdline-opts/socks4a.d
+++ b/docs/cmdline-opts/socks4a.d
@@ -2,6 +2,7 @@ Long: socks4a
 Arg: <host[:port]>
 Help: SOCKS4a proxy on given host + port
 Added: 7.18.0
+Category: proxy
 ---
 Use the specified SOCKS4a proxy. If the port number is not specified, it is
 assumed at port 1080.
diff --git a/docs/cmdline-opts/socks5-basic.d b/docs/cmdline-opts/socks5-basic.d
index 67d16b3a6..52d1e6619 100644
--- a/docs/cmdline-opts/socks5-basic.d
+++ b/docs/cmdline-opts/socks5-basic.d
@@ -1,6 +1,7 @@
 Long: socks5-basic
 Help: Enable username/password auth for SOCKS5 proxies
 Added: 7.55.0
+Category: proxy auth
 ---
 Tells curl to use username/password authentication when connecting to a SOCKS5
 proxy.  The username/password authentication is enabled by default.  Use
diff --git a/docs/cmdline-opts/socks5-gssapi-nec.d 
b/docs/cmdline-opts/socks5-gssapi-nec.d
index 477e218e3..b538f33f3 100644
--- a/docs/cmdline-opts/socks5-gssapi-nec.d
+++ b/docs/cmdline-opts/socks5-gssapi-nec.d
@@ -1,6 +1,7 @@
 Long: socks5-gssapi-nec
 Help: Compatibility with NEC SOCKS5 server
 Added: 7.19.4
+Category: proxy auth
 ---
 As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
 says in section 4.3/4.4 it should be protected, but the NEC reference
diff --git a/docs/cmdline-opts/socks5-gssapi-service.d 
b/docs/cmdline-opts/socks5-gssapi-service.d
index eb3b2407b..e61d0f5ab 100644
--- a/docs/cmdline-opts/socks5-gssapi-service.d
+++ b/docs/cmdline-opts/socks5-gssapi-service.d
@@ -2,6 +2,7 @@ Long: socks5-gssapi-service
 Arg: <name>
 Help: SOCKS5 proxy service name for GSS-API
 Added: 7.19.4
+Category: proxy auth
 ---
 The default service name for a socks server is rcmd/server-fqdn. This option
 allows you to change it.
diff --git a/docs/cmdline-opts/socks5-gssapi.d 
b/docs/cmdline-opts/socks5-gssapi.d
index 0070f37eb..72ae7aeb2 100644
--- a/docs/cmdline-opts/socks5-gssapi.d
+++ b/docs/cmdline-opts/socks5-gssapi.d
@@ -1,6 +1,7 @@
 Long: socks5-gssapi
 Help: Enable GSS-API auth for SOCKS5 proxies
 Added: 7.55.0
+Category: proxy auth
 ---
 Tells curl to use GSS-API authentication when connecting to a SOCKS5 proxy.
 The GSS-API authentication is enabled by default (if curl is compiled with
diff --git a/docs/cmdline-opts/socks5-hostname.d 
b/docs/cmdline-opts/socks5-hostname.d
index 9d9d946e5..247d7660e 100644
--- a/docs/cmdline-opts/socks5-hostname.d
+++ b/docs/cmdline-opts/socks5-hostname.d
@@ -2,6 +2,7 @@ Long: socks5-hostname
 Arg: <host[:port]>
 Help: SOCKS5 proxy, pass host name to proxy
 Added: 7.18.0
+Category: proxy
 ---
 Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
 the port number is not specified, it is assumed at port 1080.
diff --git a/docs/cmdline-opts/socks5.d b/docs/cmdline-opts/socks5.d
index 22fae7629..bbe92f0a1 100644
--- a/docs/cmdline-opts/socks5.d
+++ b/docs/cmdline-opts/socks5.d
@@ -2,6 +2,7 @@ Long: socks5
 Arg: <host[:port]>
 Help: SOCKS5 proxy on given host + port
 Added: 7.18.0
+Category: proxy
 ---
 Use the specified SOCKS5 proxy - but resolve the host name locally. If the
 port number is not specified, it is assumed at port 1080.
diff --git a/docs/cmdline-opts/speed-limit.d b/docs/cmdline-opts/speed-limit.d
index e2b81c79a..3f9ad3a46 100644
--- a/docs/cmdline-opts/speed-limit.d
+++ b/docs/cmdline-opts/speed-limit.d
@@ -2,6 +2,7 @@ Long: speed-limit
 Short: Y
 Arg: <speed>
 Help: Stop transfers slower than this
+Category: connection
 ---
 If a download is slower than this given speed (in bytes per second) for
 speed-time seconds it gets aborted. speed-time is set with --speed-time and is
diff --git a/docs/cmdline-opts/speed-time.d b/docs/cmdline-opts/speed-time.d
index 98d6ae13c..81acabec4 100644
--- a/docs/cmdline-opts/speed-time.d
+++ b/docs/cmdline-opts/speed-time.d
@@ -2,6 +2,7 @@ Long: speed-time
 Short: y
 Arg: <seconds>
 Help: Trigger 'speed-limit' abort after this time
+Category: connection
 ---
 If a download is slower than speed-limit bytes per second during a speed-time
 period, the download gets aborted. If speed-time is used, the default
diff --git a/docs/cmdline-opts/ssl-allow-beast.d 
b/docs/cmdline-opts/ssl-allow-beast.d
index 973fcd451..f18fe7470 100644
--- a/docs/cmdline-opts/ssl-allow-beast.d
+++ b/docs/cmdline-opts/ssl-allow-beast.d
@@ -1,6 +1,7 @@
 Long: ssl-allow-beast
 Help: Allow security flaw to improve interop
 Added: 7.25.0
+Category: tls
 ---
 This option tells curl to not work around a security flaw in the SSL3 and
 TLS1.0 protocols known as BEAST.  If this option isn't used, the SSL layer may
diff --git a/docs/cmdline-opts/ssl-no-revoke.d 
b/docs/cmdline-opts/ssl-no-revoke.d
index f94b11143..3b1614243 100644
--- a/docs/cmdline-opts/ssl-no-revoke.d
+++ b/docs/cmdline-opts/ssl-no-revoke.d
@@ -1,6 +1,7 @@
 Long: ssl-no-revoke
 Help: Disable cert revocation checks (Schannel)
 Added: 7.44.0
+Category: tls
 ---
 (Schannel) This option tells curl to disable certificate revocation checks.
 WARNING: this option loosens the SSL security, and by using this flag you ask
diff --git a/docs/cmdline-opts/ssl-reqd.d b/docs/cmdline-opts/ssl-reqd.d
index 3c6f8a257..2e573e39d 100644
--- a/docs/cmdline-opts/ssl-reqd.d
+++ b/docs/cmdline-opts/ssl-reqd.d
@@ -2,6 +2,7 @@ Long: ssl-reqd
 Help: Require SSL/TLS
 Protocols: FTP IMAP POP3 SMTP
 Added: 7.20.0
+Category: tls
 ---
 Require SSL/TLS for the connection.  Terminates the connection if the server
 doesn't support SSL/TLS.
diff --git a/docs/cmdline-opts/ssl-revoke-best-effort.d 
b/docs/cmdline-opts/ssl-revoke-best-effort.d
index e339b8af0..af22da461 100644
--- a/docs/cmdline-opts/ssl-revoke-best-effort.d
+++ b/docs/cmdline-opts/ssl-revoke-best-effort.d
@@ -1,6 +1,7 @@
 Long: ssl-revoke-best-effort
 Help: Ignore missing/offline cert CRL dist points
 Added: 7.70.0
+Category: tls
 ---
 (Schannel) This option tells curl to ignore certificate revocation checks when
 they failed due to missing/offline distribution points for the revocation check
diff --git a/docs/cmdline-opts/ssl.d b/docs/cmdline-opts/ssl.d
index dabd83761..8df460106 100644
--- a/docs/cmdline-opts/ssl.d
+++ b/docs/cmdline-opts/ssl.d
@@ -2,6 +2,7 @@ Long: ssl
 Help: Try SSL/TLS
 Protocols: FTP IMAP POP3 SMTP
 Added: 7.20.0
+Category: tls
 ---
 
 Try to use SSL/TLS for the connection.  Reverts to a non-secure connection if
diff --git a/docs/cmdline-opts/sslv2.d b/docs/cmdline-opts/sslv2.d
index 67d2b8506..773ab691e 100644
--- a/docs/cmdline-opts/sslv2.d
+++ b/docs/cmdline-opts/sslv2.d
@@ -7,6 +7,7 @@ Mutexed: sslv3 tlsv1 tlsv1.1 tlsv1.2
 Requires: TLS
 See-also: http1.1 http2
 Help: Use SSLv2
+Category: tls
 ---
 Forces curl to use SSL version 2 when negotiating with a remote SSL
 server. Sometimes curl is built without SSLv2 support. SSLv2 is widely
diff --git a/docs/cmdline-opts/sslv3.d b/docs/cmdline-opts/sslv3.d
index 101ad1004..7beed8f81 100644
--- a/docs/cmdline-opts/sslv3.d
+++ b/docs/cmdline-opts/sslv3.d
@@ -7,6 +7,7 @@ Mutexed: sslv2 tlsv1 tlsv1.1 tlsv1.2
 Requires: TLS
 See-also: http1.1 http2
 Help: Use SSLv3
+Category: tls
 ---
 Forces curl to use SSL version 3 when negotiating with a remote SSL
 server. Sometimes curl is built without SSLv3 support. SSLv3 is widely
diff --git a/docs/cmdline-opts/stderr.d b/docs/cmdline-opts/stderr.d
index e8cf7ba68..6da040159 100644
--- a/docs/cmdline-opts/stderr.d
+++ b/docs/cmdline-opts/stderr.d
@@ -1,6 +1,7 @@
 Long: stderr
 Help: Where to redirect stderr
 See-also: verbose silent
+Category: verbose
 ---
 Redirect all writes to stderr to the specified file instead. If the file name
 is a plain '-', it is instead written to stdout.
diff --git a/docs/cmdline-opts/styled-output.d 
b/docs/cmdline-opts/styled-output.d
index e4751aecb..8aa4a0f05 100644
--- a/docs/cmdline-opts/styled-output.d
+++ b/docs/cmdline-opts/styled-output.d
@@ -1,6 +1,7 @@
 Long: styled-output
 Help: Enable styled output for HTTP headers
 Added: 7.61.0
+Category: verbose
 ---
 Enables the automatic use of bold font styles when writing HTTP headers to the
 terminal. Use --no-styled-output to switch them off.
diff --git a/docs/cmdline-opts/suppress-connect-headers.d 
b/docs/cmdline-opts/suppress-connect-headers.d
index d208b8917..b4e2a17db 100644
--- a/docs/cmdline-opts/suppress-connect-headers.d
+++ b/docs/cmdline-opts/suppress-connect-headers.d
@@ -1,6 +1,7 @@
 Long: suppress-connect-headers
 Help: Suppress proxy CONNECT response headers
 See-also: dump-header include proxytunnel
+Category: proxy
 ---
 When --proxytunnel is used and a CONNECT request is made don't output proxy
 CONNECT response headers. This option is meant to be used with --dump-header or
diff --git a/docs/cmdline-opts/tcp-fastopen.d b/docs/cmdline-opts/tcp-fastopen.d
index 08e141df7..faef499f3 100644
--- a/docs/cmdline-opts/tcp-fastopen.d
+++ b/docs/cmdline-opts/tcp-fastopen.d
@@ -1,5 +1,6 @@
 Long: tcp-fastopen
 Added: 7.49.0
 Help: Use TCP Fast Open
+Category: connection
 ---
 Enable use of TCP Fast Open (RFC7413).
diff --git a/docs/cmdline-opts/tcp-nodelay.d b/docs/cmdline-opts/tcp-nodelay.d
index f047a7c6f..f1cf644a4 100644
--- a/docs/cmdline-opts/tcp-nodelay.d
+++ b/docs/cmdline-opts/tcp-nodelay.d
@@ -1,6 +1,7 @@
 Long: tcp-nodelay
 Help: Use the TCP_NODELAY option
 Added: 7.11.2
+Category: connection
 ---
 Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
 details about this option.
diff --git a/docs/cmdline-opts/telnet-option.d 
b/docs/cmdline-opts/telnet-option.d
index a67cb627b..789de3ea1 100644
--- a/docs/cmdline-opts/telnet-option.d
+++ b/docs/cmdline-opts/telnet-option.d
@@ -2,6 +2,7 @@ Long: telnet-option
 Short: t
 Arg: <opt=val>
 Help: Set telnet option
+Category: telnet
 ---
 Pass options to the telnet protocol. Supported options are:
 
diff --git a/docs/cmdline-opts/tftp-blksize.d b/docs/cmdline-opts/tftp-blksize.d
index c184328de..6e67ed2e1 100644
--- a/docs/cmdline-opts/tftp-blksize.d
+++ b/docs/cmdline-opts/tftp-blksize.d
@@ -3,6 +3,7 @@ Arg: <value>
 Help: Set TFTP BLKSIZE option
 Protocols: TFTP
 Added: 7.20.0
+Category: tftp
 ---
 Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
 try to use when transferring data to or from a TFTP server. By default 512
diff --git a/docs/cmdline-opts/tftp-no-options.d 
b/docs/cmdline-opts/tftp-no-options.d
index e2a4dacd5..023327301 100644
--- a/docs/cmdline-opts/tftp-no-options.d
+++ b/docs/cmdline-opts/tftp-no-options.d
@@ -2,6 +2,7 @@ Long: tftp-no-options
 Help: Do not send any TFTP options
 Protocols: TFTP
 Added: 7.48.0
+Category: tftp
 ---
 Tells curl not to send TFTP options requests.
 
diff --git a/docs/cmdline-opts/time-cond.d b/docs/cmdline-opts/time-cond.d
index 830b4e1a2..f733eeb0b 100644
--- a/docs/cmdline-opts/time-cond.d
+++ b/docs/cmdline-opts/time-cond.d
@@ -3,6 +3,7 @@ Short: z
 Arg: <time>
 Help: Transfer based on a time condition
 Protocols: HTTP FTP
+Category: http ftp
 ---
 Request a file that has been modified later than the given time and date, or
 one that has been modified before that time. The <date expression> can be all
diff --git a/docs/cmdline-opts/tls-max.d b/docs/cmdline-opts/tls-max.d
index 475c12fe8..07eb65465 100644
--- a/docs/cmdline-opts/tls-max.d
+++ b/docs/cmdline-opts/tls-max.d
@@ -6,6 +6,7 @@ Added: 7.54.0
 Requires: TLS
 See-also: tlsv1.0 tlsv1.1 tlsv1.2 tlsv1.3
 Help: Set maximum allowed TLS version
+Category: tls
 ---
 VERSION defines maximum supported TLS version. The minimum acceptable version
 is set by tlsv1.0, tlsv1.1, tlsv1.2 or tlsv1.3.
diff --git a/docs/cmdline-opts/tls13-ciphers.d 
b/docs/cmdline-opts/tls13-ciphers.d
index db8033525..0df1695b4 100644
--- a/docs/cmdline-opts/tls13-ciphers.d
+++ b/docs/cmdline-opts/tls13-ciphers.d
@@ -2,12 +2,13 @@ Long: tls13-ciphers
 Arg: <ciphersuite list>
 help: TLS 1.3 cipher suites to use
 Protocols: TLS
+Category: tls
 ---
 Specifies which cipher suites to use in the connection if it negotiates TLS
 1.3. The list of ciphers suites must specify valid ciphers. Read up on TLS 1.3
 cipher suite details on this URL:
 
- https://curl.haxx.se/docs/ssl-ciphers.html
+ https://curl.se/docs/ssl-ciphers.html
 
 This option is currently used only when curl is built to use OpenSSL 1.1.1 or
 later. If you are using a different SSL backend you can try setting TLS 1.3
diff --git a/docs/cmdline-opts/tlsauthtype.d b/docs/cmdline-opts/tlsauthtype.d
index ede21c2f7..5b283cf9b 100644
--- a/docs/cmdline-opts/tlsauthtype.d
+++ b/docs/cmdline-opts/tlsauthtype.d
@@ -2,6 +2,7 @@ Long: tlsauthtype
 Arg: <type>
 Help: TLS authentication type
 Added: 7.21.4
+Category: tls auth
 ---
 Set TLS authentication type. Currently, the only supported option is "SRP",
 for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
diff --git a/docs/cmdline-opts/tlspassword.d b/docs/cmdline-opts/tlspassword.d
index b2e65362e..5c6a0fa51 100644
--- a/docs/cmdline-opts/tlspassword.d
+++ b/docs/cmdline-opts/tlspassword.d
@@ -1,6 +1,7 @@
 Long: tlspassword
 Help: TLS password
 Added: 7.21.4
+Category: tls auth
 ---
 Set password for use with the TLS authentication method specified with
 --tlsauthtype. Requires that --tlsuser also be set.
diff --git a/docs/cmdline-opts/tlsuser.d b/docs/cmdline-opts/tlsuser.d
index 7192b9f1d..ada152608 100644
--- a/docs/cmdline-opts/tlsuser.d
+++ b/docs/cmdline-opts/tlsuser.d
@@ -2,6 +2,7 @@ Long: tlsuser
 Arg: <name>
 Help: TLS user name
 Added: 7.21.4
+Category: tls auth
 ---
 Set username for use with the TLS authentication method specified with
 --tlsauthtype. Requires that --tlspassword also is set.
diff --git a/docs/cmdline-opts/tlsv1.0.d b/docs/cmdline-opts/tlsv1.0.d
index 2b1f0156a..4f0176f31 100644
--- a/docs/cmdline-opts/tlsv1.0.d
+++ b/docs/cmdline-opts/tlsv1.0.d
@@ -2,6 +2,7 @@ Long: tlsv1.0
 Help: Use TLSv1.0 or greater
 Protocols: TLS
 Added: 7.34.0
+Category: tls
 ---
 Forces curl to use TLS version 1.0 or later when connecting to a remote TLS 
server.
 
diff --git a/docs/cmdline-opts/tlsv1.1.d b/docs/cmdline-opts/tlsv1.1.d
index 405d552bb..b3649f7f4 100644
--- a/docs/cmdline-opts/tlsv1.1.d
+++ b/docs/cmdline-opts/tlsv1.1.d
@@ -2,6 +2,7 @@ Long: tlsv1.1
 Help: Use TLSv1.1 or greater
 Protocols: TLS
 Added: 7.34.0
+Category: tls
 ---
 Forces curl to use TLS version 1.1 or later when connecting to a remote TLS 
server.
 
diff --git a/docs/cmdline-opts/tlsv1.2.d b/docs/cmdline-opts/tlsv1.2.d
index bdf1fcf62..dffbccb9d 100644
--- a/docs/cmdline-opts/tlsv1.2.d
+++ b/docs/cmdline-opts/tlsv1.2.d
@@ -2,6 +2,7 @@ Long: tlsv1.2
 Help: Use TLSv1.2 or greater
 Protocols: TLS
 Added: 7.34.0
+Category: tls
 ---
 Forces curl to use TLS version 1.2 or later when connecting to a remote TLS 
server.
 
diff --git a/docs/cmdline-opts/tlsv1.3.d b/docs/cmdline-opts/tlsv1.3.d
index 19da857b7..37d953552 100644
--- a/docs/cmdline-opts/tlsv1.3.d
+++ b/docs/cmdline-opts/tlsv1.3.d
@@ -2,6 +2,7 @@ Long: tlsv1.3
 Help: Use TLSv1.3 or greater
 Protocols: TLS
 Added: 7.52.0
+Category: tls
 ---
 Forces curl to use TLS version 1.3 or later when connecting to a remote TLS
 server.
diff --git a/docs/cmdline-opts/tlsv1.d b/docs/cmdline-opts/tlsv1.d
index 4cb405697..d4c0c5160 100644
--- a/docs/cmdline-opts/tlsv1.d
+++ b/docs/cmdline-opts/tlsv1.d
@@ -7,6 +7,7 @@ Mutexed: tlsv1.1 tlsv1.2 tlsv1.3
 Requires: TLS
 See-also: http1.1 http2
 Help: Use TLSv1.0 or greater
+Category: tls
 ---
 Tells curl to use at least TLS version 1.x when negotiating with a remote TLS
 server. That means TLS version 1.0 or higher
diff --git a/docs/cmdline-opts/tr-encoding.d b/docs/cmdline-opts/tr-encoding.d
index 01bb62bb3..ce1d00325 100644
--- a/docs/cmdline-opts/tr-encoding.d
+++ b/docs/cmdline-opts/tr-encoding.d
@@ -2,6 +2,7 @@ Long: tr-encoding
 Added: 7.21.6
 Help: Request compressed transfer encoding
 Protocols: HTTP
+Category: http
 ---
 Request a compressed Transfer-Encoding response using one of the algorithms
 curl supports, and uncompress the data while receiving it.
diff --git a/docs/cmdline-opts/trace-ascii.d b/docs/cmdline-opts/trace-ascii.d
index fceaa7126..fa7e16ccc 100644
--- a/docs/cmdline-opts/trace-ascii.d
+++ b/docs/cmdline-opts/trace-ascii.d
@@ -2,6 +2,7 @@ Long: trace-ascii
 Arg: <file>
 Help: Like --trace, but without hex output
 Mutexed: trace verbose
+Category: verbose
 ---
 Enables a full trace dump of all incoming and outgoing data, including
 descriptive information, to the given output file. Use "-" as filename to have
diff --git a/docs/cmdline-opts/trace-time.d b/docs/cmdline-opts/trace-time.d
index 27dcc42cf..19a31a70e 100644
--- a/docs/cmdline-opts/trace-time.d
+++ b/docs/cmdline-opts/trace-time.d
@@ -1,5 +1,6 @@
 Long: trace-time
 Help: Add time stamps to trace/verbose output
 Added: 7.14.0
+Category: verbose
 ---
 Prepends a time stamp to each trace or verbose line that curl displays.
diff --git a/docs/cmdline-opts/trace.d b/docs/cmdline-opts/trace.d
index 334ea5ad6..502dafd71 100644
--- a/docs/cmdline-opts/trace.d
+++ b/docs/cmdline-opts/trace.d
@@ -2,6 +2,7 @@ Long: trace
 Arg: <file>
 Help: Write a debug trace to FILE
 Mutexed: verbose trace-ascii
+Category: verbose
 ---
 Enables a full trace dump of all incoming and outgoing data, including
 descriptive information, to the given output file. Use "-" as filename to have
diff --git a/docs/cmdline-opts/unix-socket.d b/docs/cmdline-opts/unix-socket.d
index 812d20f3b..e4ea91d01 100644
--- a/docs/cmdline-opts/unix-socket.d
+++ b/docs/cmdline-opts/unix-socket.d
@@ -3,5 +3,6 @@ Arg: <path>
 Help: Connect through this Unix domain socket
 Added: 7.40.0
 Protocols: HTTP
+Category: connection
 ---
 Connect through this Unix domain socket, instead of using the network.
diff --git a/docs/cmdline-opts/upload-file.d b/docs/cmdline-opts/upload-file.d
index 6f01dbf35..63584b797 100644
--- a/docs/cmdline-opts/upload-file.d
+++ b/docs/cmdline-opts/upload-file.d
@@ -2,6 +2,7 @@ Long: upload-file
 Short: T
 Arg: <file>
 Help: Transfer local FILE to destination
+Category: important upload
 ---
 This transfers the specified local file to the remote URL. If there is no file
 part in the specified URL, curl will append the local file name. NOTE that you
diff --git a/docs/cmdline-opts/url.d b/docs/cmdline-opts/url.d
index 991f1f27c..30f0bf72e 100644
--- a/docs/cmdline-opts/url.d
+++ b/docs/cmdline-opts/url.d
@@ -1,6 +1,7 @@
 Long: url
 Arg: <url>
 Help: URL to work with
+Category: curl
 ---
 Specify a URL to fetch. This option is mostly handy when you want to specify
 URL(s) in a config file.
diff --git a/docs/cmdline-opts/use-ascii.d b/docs/cmdline-opts/use-ascii.d
index d59fad922..3a5a6a4f8 100644
--- a/docs/cmdline-opts/use-ascii.d
+++ b/docs/cmdline-opts/use-ascii.d
@@ -2,6 +2,7 @@ Short: B
 Long: use-ascii
 Help: Use ASCII/text transfer
 Protocols: FTP LDAP
+Category: misc
 ---
 Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
 ends with ";type=A". This option causes data sent to stdout to be in text mode
diff --git a/docs/cmdline-opts/user-agent.d b/docs/cmdline-opts/user-agent.d
index c6dd2e584..ec2ca82bb 100644
--- a/docs/cmdline-opts/user-agent.d
+++ b/docs/cmdline-opts/user-agent.d
@@ -3,6 +3,7 @@ Long: user-agent
 Arg: <name>
 Help: Send User-Agent <name> to server
 Protocols: HTTP
+Category: important http
 ---
 
 Specify the User-Agent string to send to the HTTP server. To encode blanks in
diff --git a/docs/cmdline-opts/user.d b/docs/cmdline-opts/user.d
index 7001d28ab..b588700c0 100644
--- a/docs/cmdline-opts/user.d
+++ b/docs/cmdline-opts/user.d
@@ -2,6 +2,7 @@ Long: user
 Short: u
 Arg: <user:password>
 Help: Server user and password
+Category: important auth
 ---
 Specify the user name and password to use for server authentication. Overrides
 --netrc and --netrc-optional.
diff --git a/docs/cmdline-opts/verbose.d b/docs/cmdline-opts/verbose.d
index 5d3352183..8db1ea222 100644
--- a/docs/cmdline-opts/verbose.d
+++ b/docs/cmdline-opts/verbose.d
@@ -3,6 +3,7 @@ Long: verbose
 Mutexed: trace trace-ascii
 Help: Make the operation more talkative
 See-also: include
+Category: important verbose
 ---
 Makes curl verbose during the operation. Useful for debugging and seeing
 what's going on "under the hood". A line starting with '>' means "header data"
diff --git a/docs/cmdline-opts/version.d b/docs/cmdline-opts/version.d
index 16c1843f1..f6c091707 100644
--- a/docs/cmdline-opts/version.d
+++ b/docs/cmdline-opts/version.d
@@ -1,6 +1,7 @@
 Long: version
 Short: V
 Help: Show version number and quit
+Category: important curl
 ---
 Displays information about curl and the libcurl version it uses.
 
@@ -27,6 +28,8 @@ This curl uses a libcurl built with Debug. This enables more 
error-tracking
 and memory debugging etc. For curl-developers only!
 .IP "GSS-API"
 GSS-API is supported.
+.IP "HSTS"
+HSTS support is present.
 .IP "HTTP2"
 HTTP/2 support has been built-in.
 .IP "HTTP3"
diff --git a/docs/cmdline-opts/write-out.d b/docs/cmdline-opts/write-out.d
index 686bda6ea..28b9a13a9 100644
--- a/docs/cmdline-opts/write-out.d
+++ b/docs/cmdline-opts/write-out.d
@@ -2,6 +2,7 @@ Long: write-out
 Short: w
 Arg: <format>
 Help: Use output FORMAT after completion
+Category: verbose
 ---
 Make curl display information on stdout after a completed transfer. The format
 is a string that may contain plain text mixed with any number of
@@ -66,6 +67,10 @@ The http method used in the most recent HTTP request (Added 
in 7.72.0)
 .B num_connects
 Number of new connects made in the recent transfer. (Added in 7.12.3)
 .TP
+.B num_headers
+The number of response headers in the most recent request (restarted at each
+ redirect). Note that the status line IS NOT a header. (Added in 7.73.0)
+.TP
 .B num_redirects
 Number of redirects that were followed in the request. (Added in 7.12.3)
 .TP
diff --git a/docs/cmdline-opts/xattr.d b/docs/cmdline-opts/xattr.d
index b7553daeb..4b64c6cbf 100644
--- a/docs/cmdline-opts/xattr.d
+++ b/docs/cmdline-opts/xattr.d
@@ -1,5 +1,6 @@
 Long: xattr
 Help: Store metadata in extended file attributes
+Category: misc
 ---
 When saving output to a file, this option tells curl to store certain file
 metadata in extended file attributes. Currently, the URL is stored in the
diff --git a/docs/examples/.gitignore b/docs/examples/.gitignore
index cf5571bbf..45661bb7e 100644
--- a/docs/examples/.gitignore
+++ b/docs/examples/.gitignore
@@ -5,6 +5,7 @@ imap-authzid
 pop3-authzid
 smtp-authzid
 10-at-a-time
+altsvc
 anyauthput
 certinfo
 chkspeed
@@ -29,11 +30,14 @@ http2-download
 http2-pushinmemory
 http2-serverpush
 http2-upload
+http3
+http3-present
 httpcustomheader
 httpput
+httpput-postfields
 https
-imap
 imap-append
+imap-authzid
 imap-copy
 imap-create
 imap-delete
@@ -51,10 +55,12 @@ multi-app
 multi-debugcallback
 multi-double
 multi-formadd
+multi-poll
 multi-post
 multi-single
 parseurl
 persistent
+pop3-authzid
 pop3-dele
 pop3-list
 pop3-multi
@@ -65,8 +71,6 @@ pop3-stat
 pop3-tls
 pop3-top
 pop3-uidl
-pop3s
-pop3slist
 post-callback
 postinmemory
 postit2
@@ -81,8 +85,8 @@ sftpuploadresume
 shared-connection-cache
 simple
 simplepost
-simplesmtp
 simplessl
+smtp-authzid
 smtp-expn
 smtp-mail
 smtp-mime
diff --git a/docs/examples/10-at-a-time.c b/docs/examples/10-at-a-time.c
index 12e5261fa..3f9e76076 100644
--- a/docs/examples/10-at-a-time.c
+++ b/docs/examples/10-at-a-time.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/Makefile.am b/docs/examples/Makefile.am
index dd37a687a..0777b12f8 100644
--- a/docs/examples/Makefile.am
+++ b/docs/examples/Makefile.am
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -22,7 +22,7 @@
 
 AUTOMAKE_OPTIONS = foreign nostdinc
 
-EXTRA_DIST = README Makefile.example Makefile.inc Makefile.m32 \
+EXTRA_DIST = README.md Makefile.example Makefile.inc Makefile.m32 \
   Makefile.netware makefile.dj $(COMPLICATED_EXAMPLES)
 
 # Specify our include paths here, and do it relative to $(top_srcdir) and
diff --git a/docs/examples/Makefile.example b/docs/examples/Makefile.example
index 72e762fbb..e598d35dc 100644
--- a/docs/examples/Makefile.example
+++ b/docs/examples/Makefile.example
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/Makefile.inc b/docs/examples/Makefile.inc
index 79c9e509a..8b7b11b2c 100644
--- a/docs/examples/Makefile.inc
+++ b/docs/examples/Makefile.inc
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -36,7 +36,7 @@ check_PROGRAMS = 10-at-a-time anyauthput cookie_interface 
debug fileupload \
   ftpuploadresume sslbackend postit2-formadd multi-formadd                 \
   shared-connection-cache sftpuploadresume http2-pushinmemory parseurl     \
   urlapi imap-authzid pop3-authzid smtp-authzid http3 altsvc               \
-  http3-present multi-poll
+  http3-present multi-poll httpput-postfields
 
 # These examples require external dependencies that may not be commonly
 # available on POSIX systems, so don't bother attempting to compile them here.
diff --git a/docs/examples/Makefile.m32 b/docs/examples/Makefile.m32
index e8c0d376f..12ba11186 100644
--- a/docs/examples/Makefile.m32
+++ b/docs/examples/Makefile.m32
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -89,6 +89,14 @@ endif
 ifndef NGHTTP2_PATH
 NGHTTP2_PATH = ../../../nghttp2-1.0.0
 endif
+# Edit the path below to point to the base of your nghttp3 package.
+ifndef NGHTTP3_PATH
+NGHTTP3_PATH = ../../../nghttp3-1.0.0
+endif
+# Edit the path below to point to the base of your ngtcp2 package.
+ifndef NGTCP2_PATH
+NGTCP2_PATH = ../../../ngtcp2-1.0.0
+endif
 
 PROOT = ../..
 
@@ -215,6 +223,12 @@ endif
 ifeq ($(findstring -nghttp2,$(CFG)),-nghttp2)
 NGHTTP2 = 1
 endif
+ifeq ($(findstring -nghttp3,$(CFG)),-nghttp3)
+NGHTTP3 = 1
+endif
+ifeq ($(findstring -ngtcp2,$(CFG)),-ngtcp2)
+NGTCP2 = 1
+endif
 
 INCLUDES = -I. -I$(PROOT) -I$(PROOT)/include -I$(PROOT)/lib
 
@@ -252,6 +266,15 @@ ifdef SSH2
   endif
 endif
 ifdef SSL
+  ifdef NGHTTP3
+    CFLAGS += -DUSE_NGHTTP3
+    curl_LDADD += -L"$(NGHTTP3_PATH)/lib" -lnghttp3
+    ifdef NGTCP2
+      CFLAGS += -DUSE_NGTCP2
+      curl_LDADD += -L"$(NGTCP2_PATH)/lib" -lngtcp2 -lngtcp2_crypto_openssl
+    endif
+  endif
+
   ifndef OPENSSL_INCLUDE
     ifeq "$(wildcard $(OPENSSL_PATH)/outinc)" "$(OPENSSL_PATH)/outinc"
       OPENSSL_INCLUDE = $(OPENSSL_PATH)/outinc
@@ -294,7 +317,12 @@ endif
 ifdef ZSTD
   INCLUDES += -I"$(ZSTD_PATH)/include"
   CFLAGS += -DHAVE_ZSTD
-  curl_LDADD += -L"$(ZSTD_PATH)/lib" -lzstd
+  curl_LDADD += -L"$(ZSTD_PATH)/lib"
+  ifdef ZSTD_LIBS
+    curl_LDADD += $(ZSTD_LIBS)
+  else
+    curl_LDADD += -lzstd
+  endif
 endif
 ifdef BROTLI
   INCLUDES += -I"$(BROTLI_PATH)/include"
diff --git a/docs/examples/Makefile.netware b/docs/examples/Makefile.netware
index 260c55773..3198e2664 100644
--- a/docs/examples/Makefile.netware
+++ b/docs/examples/Makefile.netware
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/README b/docs/examples/README.md
similarity index 57%
rename from docs/examples/README
rename to docs/examples/README.md
index 6336c3733..c83846566 100644
--- a/docs/examples/README
+++ b/docs/examples/README.md
@@ -1,8 +1,4 @@
-                                  _   _ ____  _
-                              ___| | | |  _ \| |
-                             / __| | | | |_) | |
-                            | (__| |_| |  _ <| |___
-                             \___|\___/|_| \_\_____|
+# libcurl examples
 
 This directory is for libcurl programming examples. They are meant to show
 some simple steps on how you can build your own application to take full
@@ -11,26 +7,26 @@ advantage of libcurl.
 If you end up with other small but still useful example sources, please mail
 them for submission in future packages and on the website.
 
-BUILDING
+## Building
 
 The Makefile.example is an example makefile that could be used to build these
 examples. Just edit the file according to your system and requirements first.
 
 Most examples should build fine using a command line like this:
 
-  $ `curl-config --cc --cflags --libs` -o example example.c
+    `curl-config --cc --cflags --libs` -o example example.c
 
 Some compilers don't like having the arguments in this order but instead
 want you do reorganize them like:
 
-  $ `curl-config --cc` -o example example.c `curl-config --cflags --libs`
+    `curl-config --cc` -o example example.c `curl-config --cflags --libs`
 
-*PLEASE* do not use the curl.haxx.se site as a test target for your libcurl
-applications/experiments. Even if some of the examples use that site as a URL
-at some places, it doesn't mean that the URLs work or that we expect you to
-actually torture our website with your tests!  Thanks.
+**Please** do not use the `curl.se` site as a test target for your
+libcurl applications/experiments. Even if some of the examples use that site
+as a URL at some places, it doesn't mean that the URLs work or that we expect
+you to actually torture our website with your tests!  Thanks.
 
-EXAMPLES
+## Examples
 
 Each example source code file is designed to be and work stand-alone and
 rather self-explanatory. The examples may at times lack the level of error
diff --git a/docs/examples/adddocsref.pl b/docs/examples/adddocsref.pl
index 3b01e36a2..96a4c3a98 100755
--- a/docs/examples/adddocsref.pl
+++ b/docs/examples/adddocsref.pl
@@ -10,7 +10,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -23,7 +23,7 @@
 
 # pass files as argument(s)
 
-my $docroot="https://curl.haxx.se/libcurl/c";;
+my $docroot="https://curl.se/libcurl/c";;
 
 for $f (@ARGV) {
     open(NEW, ">$f.new");
diff --git a/docs/examples/altsvc.c b/docs/examples/altsvc.c
index 2cd4b18d7..69e77e3c3 100644
--- a/docs/examples/altsvc.c
+++ b/docs/examples/altsvc.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/anyauthput.c b/docs/examples/anyauthput.c
index fe742c96d..71c243791 100644
--- a/docs/examples/anyauthput.c
+++ b/docs/examples/anyauthput.c
@@ -9,7 +9,7 @@
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/cacertinmem.c b/docs/examples/cacertinmem.c
index fd132809b..09d757cca 100644
--- a/docs/examples/cacertinmem.c
+++ b/docs/examples/cacertinmem.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/certinfo.c b/docs/examples/certinfo.c
index ee56f0e47..590b27da0 100644
--- a/docs/examples/certinfo.c
+++ b/docs/examples/certinfo.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/chkspeed.c b/docs/examples/chkspeed.c
index 70964c70d..5ff8ee18c 100644
--- a/docs/examples/chkspeed.c
+++ b/docs/examples/chkspeed.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/cookie_interface.c b/docs/examples/cookie_interface.c
index f645f29e7..e1715be70 100644
--- a/docs/examples/cookie_interface.c
+++ b/docs/examples/cookie_interface.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/debug.c b/docs/examples/debug.c
index 1a1c0c8cd..831f4460e 100644
--- a/docs/examples/debug.c
+++ b/docs/examples/debug.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ephiperfifo.c b/docs/examples/ephiperfifo.c
index c0c972a6b..47707a893 100644
--- a/docs/examples/ephiperfifo.c
+++ b/docs/examples/ephiperfifo.c
@@ -9,7 +9,7 @@
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/evhiperfifo.c b/docs/examples/evhiperfifo.c
index cfce7fc06..6e613f510 100644
--- a/docs/examples/evhiperfifo.c
+++ b/docs/examples/evhiperfifo.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/externalsocket.c b/docs/examples/externalsocket.c
index 4bc12a325..f3691f9de 100644
--- a/docs/examples/externalsocket.c
+++ b/docs/examples/externalsocket.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/fileupload.c b/docs/examples/fileupload.c
index 096acb0b1..c18eef937 100644
--- a/docs/examples/fileupload.c
+++ b/docs/examples/fileupload.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ftp-wildcard.c b/docs/examples/ftp-wildcard.c
index e560731bf..4ce89f1ee 100644
--- a/docs/examples/ftp-wildcard.c
+++ b/docs/examples/ftp-wildcard.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ftpget.c b/docs/examples/ftpget.c
index 68e655305..71f5119d7 100644
--- a/docs/examples/ftpget.c
+++ b/docs/examples/ftpget.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ftpgetinfo.c b/docs/examples/ftpgetinfo.c
index c6f190cac..761a06926 100644
--- a/docs/examples/ftpgetinfo.c
+++ b/docs/examples/ftpgetinfo.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
@@ -64,7 +64,7 @@ int main(void)
     res = curl_easy_perform(curl);
 
     if(CURLE_OK == res) {
-      /* https://curl.haxx.se/libcurl/c/curl_easy_getinfo.html */
+      /* https://curl.se/libcurl/c/curl_easy_getinfo.html */
       res = curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime);
       if((CURLE_OK == res) && (filetime >= 0)) {
         time_t file_time = (time_t)filetime;
diff --git a/docs/examples/ftpgetresp.c b/docs/examples/ftpgetresp.c
index 19723bc7b..9d440f3bd 100644
--- a/docs/examples/ftpgetresp.c
+++ b/docs/examples/ftpgetresp.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ftpsget.c b/docs/examples/ftpsget.c
index dedd347b1..d865747f9 100644
--- a/docs/examples/ftpsget.c
+++ b/docs/examples/ftpsget.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ftpupload.c b/docs/examples/ftpupload.c
index ff4dbae32..c07c97e60 100644
--- a/docs/examples/ftpupload.c
+++ b/docs/examples/ftpupload.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ftpuploadfrommem.c b/docs/examples/ftpuploadfrommem.c
index ed1ea80d5..50bbf222f 100644
--- a/docs/examples/ftpuploadfrommem.c
+++ b/docs/examples/ftpuploadfrommem.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ftpuploadresume.c b/docs/examples/ftpuploadresume.c
index c966c76e9..9678f5506 100644
--- a/docs/examples/ftpuploadresume.c
+++ b/docs/examples/ftpuploadresume.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/getinfo.c b/docs/examples/getinfo.c
index 2438f2f97..7693fcd11 100644
--- a/docs/examples/getinfo.c
+++ b/docs/examples/getinfo.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/getinmemory.c b/docs/examples/getinmemory.c
index 18c39f7b5..e42f8392c 100644
--- a/docs/examples/getinmemory.c
+++ b/docs/examples/getinmemory.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/getredirect.c b/docs/examples/getredirect.c
index a7f656d20..75603db21 100644
--- a/docs/examples/getredirect.c
+++ b/docs/examples/getredirect.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/ghiper.c b/docs/examples/ghiper.c
index a157094c7..fbab212a9 100644
--- a/docs/examples/ghiper.c
+++ b/docs/examples/ghiper.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/hiperfifo.c b/docs/examples/hiperfifo.c
index a7f71125a..cd5a4ee09 100644
--- a/docs/examples/hiperfifo.c
+++ b/docs/examples/hiperfifo.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/href_extractor.c b/docs/examples/href_extractor.c
index 2ec062cfb..a684fd09c 100644
--- a/docs/examples/href_extractor.c
+++ b/docs/examples/href_extractor.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/htmltidy.c b/docs/examples/htmltidy.c
index 9d4ad1a5d..9ee02da9f 100644
--- a/docs/examples/htmltidy.c
+++ b/docs/examples/htmltidy.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/htmltitle.cpp b/docs/examples/htmltitle.cpp
index 8dff811e8..8fe02aecb 100644
--- a/docs/examples/htmltitle.cpp
+++ b/docs/examples/htmltitle.cpp
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/http-post.c b/docs/examples/http-post.c
index e09f6de3e..204c45f0e 100644
--- a/docs/examples/http-post.c
+++ b/docs/examples/http-post.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/http2-download.c b/docs/examples/http2-download.c
index 3504c5af2..807b69449 100644
--- a/docs/examples/http2-download.c
+++ b/docs/examples/http2-download.c
@@ -9,7 +9,7 @@
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/http2-pushinmemory.c 
b/docs/examples/http2-pushinmemory.c
index b0e099bd8..a7c5a2784 100644
--- a/docs/examples/http2-pushinmemory.c
+++ b/docs/examples/http2-pushinmemory.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/http2-serverpush.c b/docs/examples/http2-serverpush.c
index 26d5a6927..bf494d610 100644
--- a/docs/examples/http2-serverpush.c
+++ b/docs/examples/http2-serverpush.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/http2-upload.c b/docs/examples/http2-upload.c
index 6aa48ecbc..22ec2dec3 100644
--- a/docs/examples/http2-upload.c
+++ b/docs/examples/http2-upload.c
@@ -9,7 +9,7 @@
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/http3-present.c b/docs/examples/http3-present.c
index 229964941..1128235b5 100644
--- a/docs/examples/http3-present.c
+++ b/docs/examples/http3-present.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/http3.c b/docs/examples/http3.c
index 1a283057d..27ace81d9 100644
--- a/docs/examples/http3.c
+++ b/docs/examples/http3.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/httpcustomheader.c b/docs/examples/httpcustomheader.c
index d98aa7a5a..dede209f7 100644
--- a/docs/examples/httpcustomheader.c
+++ b/docs/examples/httpcustomheader.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/httpput-postfields.c 
b/docs/examples/httpput-postfields.c
new file mode 100644
index 000000000..1d3320c4f
--- /dev/null
+++ b/docs/examples/httpput-postfields.c
@@ -0,0 +1,101 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+/* <DESC>
+ * HTTP PUT using CURLOPT_POSTFIELDS
+ * </DESC>
+ */
+#include <stdio.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <gnurl/curl.h>
+
+static const char olivertwist[]=
+  "Among other public buildings in a certain town, which for many reasons "
+  "it will be prudent to refrain from mentioning, and to which I will assign "
+  "no fictitious name, there is one anciently common to most towns, great or "
+  "small: to wit, a workhouse; and in this workhouse was born; on a day and "
+  "date which I need not trouble myself to repeat, inasmuch as it can be of "
+  "no possible consequence to the reader, in this stage of the business at "
+  "all events; the item of mortality whose name is prefixed to the head of "
+  "this chapter.";
+
+/*
+ * This example shows a HTTP PUT operation that sends a fixed buffer with
+ * CURLOPT_POSTFIELDS to the URL given as an argument.
+ */
+
+int main(int argc, char **argv)
+{
+  CURL *curl;
+  CURLcode res;
+  char *url;
+
+  if(argc < 2)
+    return 1;
+
+  url = argv[1];
+
+  /* In windows, this will init the winsock stuff */
+  curl_global_init(CURL_GLOBAL_ALL);
+
+  /* get a curl handle */
+  curl = curl_easy_init();
+  if(curl) {
+    struct curl_slist *headers = NULL;
+
+    /* default type with postfields is application/x-www-form-urlencoded,
+       change it if you want */
+    headers = curl_slist_append(headers, "Content-Type: literature/classic");
+    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
+
+    /* pass on content in request body. When CURLOPT_POSTFIELDSIZE isn't used,
+       curl does strlen to get the size. */
+    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, olivertwist);
+
+    /* override the POST implied by CURLOPT_POSTFIELDS
+     *
+     * Warning: CURLOPT_CUSTOMREQUEST is problematic, especially if you want
+     * to follow redirects. Be aware.
+     */
+    curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
+
+    /* specify target URL, and note that this URL should include a file
+       name, not only a directory */
+    curl_easy_setopt(curl, CURLOPT_URL, url);
+
+    /* Now run off and do what you've been told! */
+    res = curl_easy_perform(curl);
+    /* Check for errors */
+    if(res != CURLE_OK)
+      fprintf(stderr, "curl_easy_perform() failed: %s\n",
+              curl_easy_strerror(res));
+
+    /* always cleanup */
+    curl_easy_cleanup(curl);
+
+    /* free headers */
+    curl_slist_free_all(headers);
+  }
+
+  curl_global_cleanup();
+  return 0;
+}
diff --git a/docs/examples/httpput.c b/docs/examples/httpput.c
index 8399dbfe7..e7ace2bff 100644
--- a/docs/examples/httpput.c
+++ b/docs/examples/httpput.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
@@ -89,12 +89,9 @@ int main(int argc, char **argv)
     /* we want to use our own read function */
     curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
 
-    /* enable uploading */
+    /* enable uploading (implies PUT over HTTP) */
     curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
 
-    /* HTTP PUT please */
-    curl_easy_setopt(curl, CURLOPT_PUT, 1L);
-
     /* specify target URL, and note that this URL should include a file
        name, not only a directory */
     curl_easy_setopt(curl, CURLOPT_URL, url);
diff --git a/docs/examples/https.c b/docs/examples/https.c
index 7e6116499..282f068c7 100644
--- a/docs/examples/https.c
+++ b/docs/examples/https.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-append.c b/docs/examples/imap-append.c
index 56704d4c6..fc7dfb15f 100644
--- a/docs/examples/imap-append.c
+++ b/docs/examples/imap-append.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-authzid.c b/docs/examples/imap-authzid.c
index 535084e2e..0074eb972 100644
--- a/docs/examples/imap-authzid.c
+++ b/docs/examples/imap-authzid.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-copy.c b/docs/examples/imap-copy.c
index b24ffe026..699e825f6 100644
--- a/docs/examples/imap-copy.c
+++ b/docs/examples/imap-copy.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-create.c b/docs/examples/imap-create.c
index caac825fa..72e426879 100644
--- a/docs/examples/imap-create.c
+++ b/docs/examples/imap-create.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-delete.c b/docs/examples/imap-delete.c
index a8066032c..0edddd205 100644
--- a/docs/examples/imap-delete.c
+++ b/docs/examples/imap-delete.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-examine.c b/docs/examples/imap-examine.c
index 700943365..3bb2a72cc 100644
--- a/docs/examples/imap-examine.c
+++ b/docs/examples/imap-examine.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-fetch.c b/docs/examples/imap-fetch.c
index 30dfd39e4..a2e109dd9 100644
--- a/docs/examples/imap-fetch.c
+++ b/docs/examples/imap-fetch.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-list.c b/docs/examples/imap-list.c
index 236d3101f..282542621 100644
--- a/docs/examples/imap-list.c
+++ b/docs/examples/imap-list.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-lsub.c b/docs/examples/imap-lsub.c
index ed150a0b6..42415904f 100644
--- a/docs/examples/imap-lsub.c
+++ b/docs/examples/imap-lsub.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-multi.c b/docs/examples/imap-multi.c
index c1f429e14..c67506059 100644
--- a/docs/examples/imap-multi.c
+++ b/docs/examples/imap-multi.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-noop.c b/docs/examples/imap-noop.c
index 36aec963e..839da7be3 100644
--- a/docs/examples/imap-noop.c
+++ b/docs/examples/imap-noop.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-search.c b/docs/examples/imap-search.c
index 07f95d9a3..41c19a348 100644
--- a/docs/examples/imap-search.c
+++ b/docs/examples/imap-search.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-ssl.c b/docs/examples/imap-ssl.c
index 9e1ff3405..5f9152a2a 100644
--- a/docs/examples/imap-ssl.c
+++ b/docs/examples/imap-ssl.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-store.c b/docs/examples/imap-store.c
index eba5f72d4..3fc3a4849 100644
--- a/docs/examples/imap-store.c
+++ b/docs/examples/imap-store.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/imap-tls.c b/docs/examples/imap-tls.c
index 0df1e63f4..2649056e8 100644
--- a/docs/examples/imap-tls.c
+++ b/docs/examples/imap-tls.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/makefile.dj b/docs/examples/makefile.dj
index eca16b8a6..3a1f05c01 100644
--- a/docs/examples/makefile.dj
+++ b/docs/examples/makefile.dj
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-app.c b/docs/examples/multi-app.c
index 6359ee7c7..721853d6e 100644
--- a/docs/examples/multi-app.c
+++ b/docs/examples/multi-app.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-debugcallback.c 
b/docs/examples/multi-debugcallback.c
index 32ea91491..6f92bbe97 100644
--- a/docs/examples/multi-debugcallback.c
+++ b/docs/examples/multi-debugcallback.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-double.c b/docs/examples/multi-double.c
index b389b2e70..e245f583a 100644
--- a/docs/examples/multi-double.c
+++ b/docs/examples/multi-double.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-event.c b/docs/examples/multi-event.c
index 307b316af..13a42955d 100644
--- a/docs/examples/multi-event.c
+++ b/docs/examples/multi-event.c
@@ -9,7 +9,7 @@
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-formadd.c b/docs/examples/multi-formadd.c
index 96e4495f3..aa3faa089 100644
--- a/docs/examples/multi-formadd.c
+++ b/docs/examples/multi-formadd.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-poll.c b/docs/examples/multi-poll.c
index 34e2ebc4b..7f66baae8 100644
--- a/docs/examples/multi-poll.c
+++ b/docs/examples/multi-poll.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-post.c b/docs/examples/multi-post.c
index 2e12315cd..60afe5f7b 100644
--- a/docs/examples/multi-post.c
+++ b/docs/examples/multi-post.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-single.c b/docs/examples/multi-single.c
index 6d63c2d23..3d038ee8c 100644
--- a/docs/examples/multi-single.c
+++ b/docs/examples/multi-single.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multi-uv.c b/docs/examples/multi-uv.c
index e9cc7b125..0562fbea7 100644
--- a/docs/examples/multi-uv.c
+++ b/docs/examples/multi-uv.c
@@ -9,7 +9,7 @@
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/multithread.c b/docs/examples/multithread.c
index f25407e69..14b1f191c 100644
--- a/docs/examples/multithread.c
+++ b/docs/examples/multithread.c
@@ -9,7 +9,7 @@
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
@@ -36,11 +36,11 @@
   If you intend to use a SSL-based protocol here you might need to setup TLS
   library mutex callbacks as described here:
 
-  https://curl.haxx.se/libcurl/c/threadsafe.html
+  https://curl.se/libcurl/c/threadsafe.html
 
 */
 const char * const urls[NUMT]= {
-  "https://curl.haxx.se/";,
+  "https://curl.se/";,
   "ftp://cool.haxx.se/";,
   "https://www.cag.se/";,
   "www.haxx.se"
diff --git a/docs/examples/opensslthreadlock.c 
b/docs/examples/opensslthreadlock.c
index 649ef93a9..dac987ec6 100644
--- a/docs/examples/opensslthreadlock.c
+++ b/docs/examples/opensslthreadlock.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/parseurl.c b/docs/examples/parseurl.c
index d14174678..6dcecf99f 100644
--- a/docs/examples/parseurl.c
+++ b/docs/examples/parseurl.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/persistent.c b/docs/examples/persistent.c
index c5b289a44..b17448301 100644
--- a/docs/examples/persistent.c
+++ b/docs/examples/persistent.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-authzid.c b/docs/examples/pop3-authzid.c
index 8a50806dc..4226084d5 100644
--- a/docs/examples/pop3-authzid.c
+++ b/docs/examples/pop3-authzid.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-dele.c b/docs/examples/pop3-dele.c
index 45dbaa0f8..62238cd4d 100644
--- a/docs/examples/pop3-dele.c
+++ b/docs/examples/pop3-dele.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-list.c b/docs/examples/pop3-list.c
index 39b38a4d1..2c52c6c73 100644
--- a/docs/examples/pop3-list.c
+++ b/docs/examples/pop3-list.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-multi.c b/docs/examples/pop3-multi.c
index e86084394..a723ae03a 100644
--- a/docs/examples/pop3-multi.c
+++ b/docs/examples/pop3-multi.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-noop.c b/docs/examples/pop3-noop.c
index f0675e068..05a310174 100644
--- a/docs/examples/pop3-noop.c
+++ b/docs/examples/pop3-noop.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-retr.c b/docs/examples/pop3-retr.c
index 308a82fcb..727998473 100644
--- a/docs/examples/pop3-retr.c
+++ b/docs/examples/pop3-retr.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-ssl.c b/docs/examples/pop3-ssl.c
index 67aa647d3..1ef94d08f 100644
--- a/docs/examples/pop3-ssl.c
+++ b/docs/examples/pop3-ssl.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-stat.c b/docs/examples/pop3-stat.c
index 62832e83e..a7a1b46f0 100644
--- a/docs/examples/pop3-stat.c
+++ b/docs/examples/pop3-stat.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-tls.c b/docs/examples/pop3-tls.c
index 381f94268..8d3172878 100644
--- a/docs/examples/pop3-tls.c
+++ b/docs/examples/pop3-tls.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-top.c b/docs/examples/pop3-top.c
index c9ffd1f22..69b83321d 100644
--- a/docs/examples/pop3-top.c
+++ b/docs/examples/pop3-top.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/pop3-uidl.c b/docs/examples/pop3-uidl.c
index 9f6828c60..9ced73903 100644
--- a/docs/examples/pop3-uidl.c
+++ b/docs/examples/pop3-uidl.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/post-callback.c b/docs/examples/post-callback.c
index 324767bc1..3ffad9f85 100644
--- a/docs/examples/post-callback.c
+++ b/docs/examples/post-callback.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/postinmemory.c b/docs/examples/postinmemory.c
index 0cc66506e..6d008f4fb 100644
--- a/docs/examples/postinmemory.c
+++ b/docs/examples/postinmemory.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/postit2-formadd.c b/docs/examples/postit2-formadd.c
index af6348b25..b02eb3c8d 100644
--- a/docs/examples/postit2-formadd.c
+++ b/docs/examples/postit2-formadd.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/postit2.c b/docs/examples/postit2.c
index de352d3df..13062cd7c 100644
--- a/docs/examples/postit2.c
+++ b/docs/examples/postit2.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/progressfunc.c b/docs/examples/progressfunc.c
index fd366cf2f..03ee67f36 100644
--- a/docs/examples/progressfunc.c
+++ b/docs/examples/progressfunc.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/resolve.c b/docs/examples/resolve.c
index 75ee4e983..8e879710a 100644
--- a/docs/examples/resolve.c
+++ b/docs/examples/resolve.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/sampleconv.c b/docs/examples/sampleconv.c
index 97914ed8c..305952d32 100644
--- a/docs/examples/sampleconv.c
+++ b/docs/examples/sampleconv.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/sendrecv.c b/docs/examples/sendrecv.c
index b9c6bbc8f..ac49180f4 100644
--- a/docs/examples/sendrecv.c
+++ b/docs/examples/sendrecv.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/sepheaders.c b/docs/examples/sepheaders.c
index 548433135..5e400c749 100644
--- a/docs/examples/sepheaders.c
+++ b/docs/examples/sepheaders.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/sessioninfo.c b/docs/examples/sessioninfo.c
index 3941dc924..082cae98f 100644
--- a/docs/examples/sessioninfo.c
+++ b/docs/examples/sessioninfo.c
@@ -9,7 +9,7 @@
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/sftpget.c b/docs/examples/sftpget.c
index 14230e95c..338e9020c 100644
--- a/docs/examples/sftpget.c
+++ b/docs/examples/sftpget.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/sftpuploadresume.c b/docs/examples/sftpuploadresume.c
index f428ae489..f503a560f 100644
--- a/docs/examples/sftpuploadresume.c
+++ b/docs/examples/sftpuploadresume.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/shared-connection-cache.c 
b/docs/examples/shared-connection-cache.c
index f1073b1fb..78429c06e 100644
--- a/docs/examples/shared-connection-cache.c
+++ b/docs/examples/shared-connection-cache.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
@@ -63,7 +63,7 @@ int main(void)
     if(curl) {
       CURLcode res;
 
-      curl_easy_setopt(curl, CURLOPT_URL, "https://curl.haxx.se/";);
+      curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/";);
 
       /* use the share object */
       curl_easy_setopt(curl, CURLOPT_SHARE, share);
diff --git a/docs/examples/simple.c b/docs/examples/simple.c
index 6296b0ef0..ecebd0d26 100644
--- a/docs/examples/simple.c
+++ b/docs/examples/simple.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/simplepost.c b/docs/examples/simplepost.c
index b4d3a0b9c..39b8b76b0 100644
--- a/docs/examples/simplepost.c
+++ b/docs/examples/simplepost.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/simplessl.c b/docs/examples/simplessl.c
index 7b6a2b71b..090d1eadb 100644
--- a/docs/examples/simplessl.c
+++ b/docs/examples/simplessl.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smooth-gtk-thread.c 
b/docs/examples/smooth-gtk-thread.c
index af8c0ca6e..efe2e8b90 100644
--- a/docs/examples/smooth-gtk-thread.c
+++ b/docs/examples/smooth-gtk-thread.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smtp-authzid.c b/docs/examples/smtp-authzid.c
index ad03638b9..f1c81ad1e 100644
--- a/docs/examples/smtp-authzid.c
+++ b/docs/examples/smtp-authzid.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smtp-expn.c b/docs/examples/smtp-expn.c
index 2673ea2f6..4c3eb1966 100644
--- a/docs/examples/smtp-expn.c
+++ b/docs/examples/smtp-expn.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smtp-mail.c b/docs/examples/smtp-mail.c
index 89a9fd5cd..85d47b63d 100644
--- a/docs/examples/smtp-mail.c
+++ b/docs/examples/smtp-mail.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smtp-mime.c b/docs/examples/smtp-mime.c
index 91fa89927..4d55f882f 100644
--- a/docs/examples/smtp-mime.c
+++ b/docs/examples/smtp-mime.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smtp-multi.c b/docs/examples/smtp-multi.c
index a58f3282f..9f0335072 100644
--- a/docs/examples/smtp-multi.c
+++ b/docs/examples/smtp-multi.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smtp-ssl.c b/docs/examples/smtp-ssl.c
index fcb692326..0e88d2d88 100644
--- a/docs/examples/smtp-ssl.c
+++ b/docs/examples/smtp-ssl.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smtp-tls.c b/docs/examples/smtp-tls.c
index 92ccec1ac..b5469c9c6 100644
--- a/docs/examples/smtp-tls.c
+++ b/docs/examples/smtp-tls.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/smtp-vrfy.c b/docs/examples/smtp-vrfy.c
index e8c494423..9b4c925ff 100644
--- a/docs/examples/smtp-vrfy.c
+++ b/docs/examples/smtp-vrfy.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/sslbackend.c b/docs/examples/sslbackend.c
index b19e3dccd..2b33863dd 100644
--- a/docs/examples/sslbackend.c
+++ b/docs/examples/sslbackend.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
@@ -47,7 +47,7 @@ int main(int argc, char **argv)
     const curl_ssl_backend **list;
     int i;
 
-    result = curl_global_sslset(-1, NULL, &list);
+    result = curl_global_sslset((curl_sslbackend)-1, NULL, &list);
     assert(result == CURLSSLSET_UNKNOWN_BACKEND);
 
     for(i = 0; list[i]; i++)
@@ -62,7 +62,7 @@ int main(int argc, char **argv)
     result = curl_global_sslset((curl_sslbackend)id, NULL, NULL);
   }
   else
-    result = curl_global_sslset(-1, name, NULL);
+    result = curl_global_sslset((curl_sslbackend)-1, name, NULL);
 
   if(result == CURLSSLSET_UNKNOWN_BACKEND) {
     fprintf(stderr, "Unknown SSL backend id: %s\n", name);
diff --git a/docs/examples/synctime.c b/docs/examples/synctime.c
index 2806965b5..f5f8e1ad6 100644
--- a/docs/examples/synctime.c
+++ b/docs/examples/synctime.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/threaded-shared-conn.c 
b/docs/examples/threaded-shared-conn.c
index baa83b4e7..d13e0d3e3 100644
--- a/docs/examples/threaded-shared-conn.c
+++ b/docs/examples/threaded-shared-conn.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/threaded-ssl.c b/docs/examples/threaded-ssl.c
index cef0cf470..da4c1d7a0 100644
--- a/docs/examples/threaded-ssl.c
+++ b/docs/examples/threaded-ssl.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/url2file.c b/docs/examples/url2file.c
index f975db2a2..c46a59629 100644
--- a/docs/examples/url2file.c
+++ b/docs/examples/url2file.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/urlapi.c b/docs/examples/urlapi.c
index fcddfda57..7af2b3fdf 100644
--- a/docs/examples/urlapi.c
+++ b/docs/examples/urlapi.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/usercertinmem.c b/docs/examples/usercertinmem.c
index 92f9655e2..15b922171 100644
--- a/docs/examples/usercertinmem.c
+++ b/docs/examples/usercertinmem.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 2013 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2013 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/version-check.pl b/docs/examples/version-check.pl
index c8bc3a849..46450f6dd 100755
--- a/docs/examples/version-check.pl
+++ b/docs/examples/version-check.pl
@@ -10,7 +10,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/examples/xmlstream.c b/docs/examples/xmlstream.c
index 8b5b29e79..70509ec97 100644
--- a/docs/examples/xmlstream.c
+++ b/docs/examples/xmlstream.c
@@ -5,11 +5,11 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.se/docs/copyright.html.
  *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/gnurl-config.1 b/docs/gnurl-config.1
index 84fd0576f..e7e1b6c19 100644
--- a/docs/gnurl-config.1
+++ b/docs/gnurl-config.1
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/CMakeLists.txt b/docs/libcurl/CMakeLists.txt
index 8ef604a42..948a72121 100644
--- a/docs/libcurl/CMakeLists.txt
+++ b/docs/libcurl/CMakeLists.txt
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/Makefile.am b/docs/libcurl/Makefile.am
index 224eff1c2..862600ac2 100644
--- a/docs/libcurl/Makefile.am
+++ b/docs/libcurl/Makefile.am
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/Makefile.inc b/docs/libcurl/Makefile.inc
index fe3dd65a8..a6ab1793a 100644
--- a/docs/libcurl/Makefile.inc
+++ b/docs/libcurl/Makefile.inc
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
@@ -28,6 +28,9 @@ man_MANS = \
  gnurl_easy_escape.3 \
  gnurl_easy_getinfo.3 \
  gnurl_easy_init.3 \
+ gnurl_easy_option_by_id.3 \
+ gnurl_easy_option_by_name.3 \
+ gnurl_easy_option_next.3 \
  gnurl_easy_pause.3 \
  gnurl_easy_perform.3 \
  gnurl_easy_recv.3 \
diff --git a/docs/libcurl/gnurl_easy_cleanup.3 
b/docs/libcurl/gnurl_easy_cleanup.3
index fd05f44fb..0411b1809 100644
--- a/docs/libcurl/gnurl_easy_cleanup.3
+++ b/docs/libcurl/gnurl_easy_cleanup.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -60,7 +60,7 @@ None
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   curl_easy_cleanup(curl);
 }
diff --git a/docs/libcurl/gnurl_easy_duphandle.3 
b/docs/libcurl/gnurl_easy_duphandle.3
index bf413235c..df5277d2e 100644
--- a/docs/libcurl/gnurl_easy_duphandle.3
+++ b/docs/libcurl/gnurl_easy_duphandle.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_easy_escape.3 b/docs/libcurl/gnurl_easy_escape.3
index 8430ea1c2..fed95a650 100644
--- a/docs/libcurl/gnurl_easy_escape.3
+++ b/docs/libcurl/gnurl_easy_escape.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -36,7 +36,8 @@ a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their 
"URL escaped"
 version (%NN where NN is a two-digit hexadecimal number).
 
 If \fIlength\fP is set to 0 (zero), \fIcurl_easy_escape(3)\fP uses strlen() on
-the input \fIstring\fP to find out the size.
+the input \fIstring\fP to find out the size. This function does not accept
+input strings longer than \fBCURL_MAX_INPUT_LENGTH\fP (8 MB).
 
 You must \fIcurl_free(3)\fP the returned string when you're done with it.
 .SH ENCODING
diff --git a/docs/libcurl/gnurl_easy_getinfo.3 
b/docs/libcurl/gnurl_easy_getinfo.3
index c6a338e1c..105699377 100644
--- a/docs/libcurl/gnurl_easy_getinfo.3
+++ b/docs/libcurl/gnurl_easy_getinfo.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -141,6 +141,9 @@ See \fICURLINFO_REQUEST_SIZE(3)\fP
 .IP CURLINFO_SSL_VERIFYRESULT
 Certificate verification result.
 See \fICURLINFO_SSL_VERIFYRESULT(3)\fP
+.IP CURLINFO_PROXY_ERROR
+Detailed proxy error.
+See \fICURLINFO_PROXY_ERROR(3)\fP
 .IP CURLINFO_PROXY_SSL_VERIFYRESULT
 Proxy certificate verification result.
 See \fICURLINFO_PROXY_SSL_VERIFYRESULT(3)\fP
diff --git a/docs/libcurl/gnurl_easy_init.3 b/docs/libcurl/gnurl_easy_init.3
index a17400dc5..af8950038 100644
--- a/docs/libcurl/gnurl_easy_init.3
+++ b/docs/libcurl/gnurl_easy_init.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -49,7 +49,7 @@ other curl functions.
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   curl_easy_cleanup(curl);
 }
diff --git a/docs/libcurl/opts/GNURLOPT_STDERR.3 
b/docs/libcurl/gnurl_easy_option_by_id.3
similarity index 55%
copy from docs/libcurl/opts/GNURLOPT_STDERR.3
copy to docs/libcurl/gnurl_easy_option_by_id.3
index c2758d54a..7629b8078 100644
--- a/docs/libcurl/opts/GNURLOPT_STDERR.3
+++ b/docs/libcurl/gnurl_easy_option_by_id.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -19,36 +19,28 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.\"
-.TH GNURLOPT_STDERR 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
+.TH gnurl_easy_option_by_id 3 "27 Aug 2020" "libcurl 7.73.0" "libgnurl Manual"
 .SH NAME
-CURLOPT_STDERR \- redirect stderr to another stream
+curl_easy_option_by_id - find an easy setopt option by id
 .SH SYNOPSIS
+.nf
 #include <gnurl/curl.h>
 
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STDERR, FILE *stream);
+const struct curl_easyoption *curl_easy_option_by_id(CURLoption id);
+.fi
 .SH DESCRIPTION
-Pass a FILE * as parameter. Tell libcurl to use this \fIstream\fP instead of
-stderr when showing the progress meter and displaying \fICURLOPT_VERBOSE(3)\fP
-data.
-.SH DEFAULT
-stderr
-.SH PROTOCOLS
-All
-.SH EXAMPLE
-.nf
-CURL *curl = curl_easy_init();
-FILE *filep = fopen("dump", "wb");
-if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
-  curl_easy_setopt(curl, CURLOPT_STDERR, filep);
+Given a CURLoption \fBid\fP, this function returns a pointer to the
+curl_easyoption struct, holding information about the
+\fIcurl_easy_setopt(3)\fP option using that id. The option id is the CURLOPT_
+prefix ones provided in the standard gnurl/curl.h header file. This function
+will return the non-aliases version for the cases where there is an alias
+function as well.
 
-  curl_easy_perform(curl);
-}
-.fi
+If libcurl has no option with the given id, this function returns NULL.
 .SH AVAILABILITY
-Always
+This function was added in libcurl 7.73.0
 .SH RETURN VALUE
-Returns CURLE_OK
+A pointer to the curl_easyoption struct for the option or NULL.
 .SH "SEE ALSO"
-.BR CURLOPT_VERBOSE "(3), " CURLOPT_NOPROGRESS "(3), "
+.BR curl_easy_option_by_name "(3)," curl_easy_option_next "(3),"
+.BR curl_easy_setopt "(3),"
diff --git a/docs/libcurl/opts/GNURLOPT_STDERR.3 
b/docs/libcurl/gnurl_easy_option_by_name.3
similarity index 57%
copy from docs/libcurl/opts/GNURLOPT_STDERR.3
copy to docs/libcurl/gnurl_easy_option_by_name.3
index c2758d54a..932c2d5e3 100644
--- a/docs/libcurl/opts/GNURLOPT_STDERR.3
+++ b/docs/libcurl/gnurl_easy_option_by_name.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -19,36 +19,26 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.\"
-.TH GNURLOPT_STDERR 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
+.TH gnurl_easy_option_by_name 3 "27 Aug 2020" "libcurl 7.73.0" "libgnurl 
Manual"
 .SH NAME
-CURLOPT_STDERR \- redirect stderr to another stream
+curl_easy_option_by_name - find an easy setopt option by name
 .SH SYNOPSIS
+.nf
 #include <gnurl/curl.h>
 
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STDERR, FILE *stream);
+const struct curl_easyoption *curl_easy_option_by_name(const char *name);
+.fi
 .SH DESCRIPTION
-Pass a FILE * as parameter. Tell libcurl to use this \fIstream\fP instead of
-stderr when showing the progress meter and displaying \fICURLOPT_VERBOSE(3)\fP
-data.
-.SH DEFAULT
-stderr
-.SH PROTOCOLS
-All
-.SH EXAMPLE
-.nf
-CURL *curl = curl_easy_init();
-FILE *filep = fopen("dump", "wb");
-if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
-  curl_easy_setopt(curl, CURLOPT_STDERR, filep);
+Given a \fBname\fP, this function returns a pointer to the curl_easyoption
+struct, holding information about the \fIcurl_easy_setopt(3)\fP option using
+that name. The name should be specified without the "CURLOPT_" prefix and the
+name comparison is made case insensitive.
 
-  curl_easy_perform(curl);
-}
-.fi
+If libcurl has no option with the given name, this function returns NULL.
 .SH AVAILABILITY
-Always
+This function was added in libcurl 7.73.0
 .SH RETURN VALUE
-Returns CURLE_OK
+A pointer to the curl_easyoption struct for the option or NULL.
 .SH "SEE ALSO"
-.BR CURLOPT_VERBOSE "(3), " CURLOPT_NOPROGRESS "(3), "
+.BR curl_easy_option_next "(3)," curl_easy_option_by_id "(3),"
+.BR curl_easy_setopt "(3),"
diff --git a/docs/libcurl/gnurl_easy_option_next.3 
b/docs/libcurl/gnurl_easy_option_next.3
new file mode 100644
index 000000000..4b6d7356a
--- /dev/null
+++ b/docs/libcurl/gnurl_easy_option_next.3
@@ -0,0 +1,74 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.TH gnurl_easy_option_next 3 "27 Aug 2020" "libcurl 7.73.0" "libgnurl Manual"
+.SH NAME
+curl_easy_option_next - iterate over easy setopt options
+.SH SYNOPSIS
+.nf
+#include <gnurl/curl.h>
+
+typedef enum {
+  CURLOT_LONG,    /* long (a range of values) */
+  CURLOT_VALUES,  /*      (a defined set or bitmask) */
+  CURLOT_OFF_T,   /* curl_off_t (a range of values) */
+  CURLOT_OBJECT,  /* pointer (void *) */
+  CURLOT_STRING,  /*         (char * to zero terminated buffer) */
+  CURLOT_SLIST,   /*         (struct curl_slist *) */
+  CURLOT_CBPTR,   /*         (void * passed as-is to a callback) */
+  CURLOT_BLOB,    /* blob (struct curl_blob *) */
+  CURLOT_FUNCTION /* function pointer */
+} curl_easytype;
+
+/* The CURLOPTTYPE_* id ranges can still be used to figure out what type/size
+   to use for curl_easy_setopt() for the given id */
+struct curl_easyoption {
+  const char *name;
+  CURLoption id;
+  curl_easytype type;
+  unsigned int flags;
+};
+
+const struct curl_easyoption *
+curl_easy_option_next(const struct curl_easyoption *prev);
+.fi
+.SH DESCRIPTION
+This function returns a pointer to the first or the next curl_easyoption
+struct, providing an ability to iterate over all known options for
+\fIcurl_easy_setopt(3)\fP in this instance of libcurl.
+
+Pass a \fBNULL\fP argument as \fBprev\fP to get the first option returned, or
+pass in the current option to get the next one returned. If there is no more
+option to return, \fIcurl_easy_option_next(3)\fP returns NULL.
+
+The options returned by this functions are the ones known to this libcurl and
+information about what argument type they want.
+
+If the \fBCURLOT_FLAG_ALIAS\fP bit is set in the flags field, it means the
+name is provided for backwards compatibility as an alias.
+.SH AVAILABILITY
+This function was added in libcurl 7.73.0
+.SH RETURN VALUE
+A pointer to the curl_easyoption struct for the next option or NULL if no more
+options.
+.SH "SEE ALSO"
+.BR curl_easy_option_by_name "(3)," curl_easy_option_by_id "(3),"
+.BR curl_easy_setopt "(3),"
diff --git a/docs/libcurl/gnurl_easy_pause.3 b/docs/libcurl/gnurl_easy_pause.3
index 6d223f2dd..3f27639d2 100644
--- a/docs/libcurl/gnurl_easy_pause.3
+++ b/docs/libcurl/gnurl_easy_pause.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_easy_perform.3 
b/docs/libcurl/gnurl_easy_perform.3
index 36c6675f0..6e1ea6f37 100644
--- a/docs/libcurl/gnurl_easy_perform.3
+++ b/docs/libcurl/gnurl_easy_perform.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -63,7 +63,7 @@ the error buffer when non-zero is returned.
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   curl_easy_cleanup(curl);
 }
diff --git a/docs/libcurl/gnurl_easy_recv.3 b/docs/libcurl/gnurl_easy_recv.3
index d5127757f..abcc97457 100644
--- a/docs/libcurl/gnurl_easy_recv.3
+++ b/docs/libcurl/gnurl_easy_recv.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_easy_reset.3 b/docs/libcurl/gnurl_easy_reset.3
index 5bf6ddf9a..05b7b069f 100644
--- a/docs/libcurl/gnurl_easy_reset.3
+++ b/docs/libcurl/gnurl_easy_reset.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_easy_send.3 b/docs/libcurl/gnurl_easy_send.3
index 08c0671b0..91c1324d4 100644
--- a/docs/libcurl/gnurl_easy_send.3
+++ b/docs/libcurl/gnurl_easy_send.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_easy_setopt.3 b/docs/libcurl/gnurl_easy_setopt.3
index 6d6e3f842..848981927 100644
--- a/docs/libcurl/gnurl_easy_setopt.3
+++ b/docs/libcurl/gnurl_easy_setopt.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -48,7 +48,8 @@ thus the string storage associated to the pointer argument 
may be overwritten
 after \fIcurl_easy_setopt(3)\fP returns. The only exception to this rule is
 really \fICURLOPT_POSTFIELDS(3)\fP, but the alternative that copies the string
 \fICURLOPT_COPYPOSTFIELDS(3)\fP has some usage characteristics you need to
-read up on.
+read up on. This function does not accept input strings longer than
+\fBCURL_MAX_INPUT_LENGTH\fP (8 MB).
 
 The order in which the options are set does not matter.
 
@@ -319,6 +320,18 @@ Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP
 Specify the Alt-Svc: cache file name. See \fICURLOPT_ALTSVC(3)\fP
 .IP CURLOPT_ALTSVC_CTRL
 Enable and configure Alt-Svc: treatment. See \fICURLOPT_ALTSVC_CTRL(3)\fP
+.IP CURLOPT_HSTS
+Set HSTS cache file. See \fICURLOPT_HSTS(3)\fP
+.IP CURLOPT_HSTS_CTRL
+Enable HSTS. See \fICURLOPT_HSTS_CTRL(3)\fP
+.IP CURLOPT_HSTSREADFUNCTION
+Set HSTS read callback. See \fICURLOPT_HSTSREADFUNCTION(3)\fP
+.IP CURLOPT_HSTSREADDATA
+Pass pointer to the HSTS read callback. See \fICURLOPT_HSTSREADDATA(3)\fP
+.IP CURLOPT_HSTSWRITEFUNCTION
+Set HSTS write callback. See \fICURLOPT_HSTSWRITEFUNCTION(3)\fP
+.IP CURLOPT_HSTSWRITEDATA
+Pass pointer to the HSTS write callback. See \fICURLOPT_HSTSWRITEDATA(3)\fP
 .IP CURLOPT_HTTPGET
 Do an HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP
 .IP CURLOPT_REQUEST_TARGET
@@ -532,6 +545,8 @@ Proxy client key type. See \fICURLOPT_PROXY_SSLKEYTYPE(3)\fP
 Client key password. See \fICURLOPT_KEYPASSWD(3)\fP
 .IP CURLOPT_PROXY_KEYPASSWD
 Proxy client key password. See \fICURLOPT_PROXY_KEYPASSWD(3)\fP
+.IP CURLOPT_SSL_EC_CURVES
+Set key exchange curves. See \fICURLOPT_SSL_EC_CURVES(3)\fP
 .IP CURLOPT_SSL_ENABLE_ALPN
 Enable use of ALPN. See \fICURLOPT_SSL_ENABLE_ALPN(3)\fP
 .IP CURLOPT_SSL_ENABLE_NPN
@@ -643,6 +658,9 @@ Strings passed on to libcurl must be shorter than 8000000 
bytes, otherwise
 \fIcurl_easy_setopt(3)\fP returns \fBCURLE_BAD_FUNCTION_ARGUMENT\fP (added in
 7.65.0).
 
+\fBCURLE_BAD_FUNCTION_ARGUMENT\fP is returned when the argument to an option
+is invalid, like perhaps out of range.a
+
 If you try to set an option that libcurl doesn't know about, perhaps because
 the library is too old to support it or the option was removed in a recent
 version, this function will return \fICURLE_UNKNOWN_OPTION\fP. If support for
@@ -653,7 +671,7 @@ the option was disabled at compile-time, it will return
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   curl_easy_cleanup(curl);
 }
diff --git a/docs/libcurl/gnurl_easy_strerror.3 
b/docs/libcurl/gnurl_easy_strerror.3
index ec49d2cc0..5463f3830 100644
--- a/docs/libcurl/gnurl_easy_strerror.3
+++ b/docs/libcurl/gnurl_easy_strerror.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_easy_unescape.3 
b/docs/libcurl/gnurl_easy_unescape.3
index 9841b4435..a997f2ef8 100644
--- a/docs/libcurl/gnurl_easy_unescape.3
+++ b/docs/libcurl/gnurl_easy_unescape.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_easy_upkeep.3 b/docs/libcurl/gnurl_easy_upkeep.3
index 761902381..9437959d8 100644
--- a/docs/libcurl/gnurl_easy_upkeep.3
+++ b/docs/libcurl/gnurl_easy_upkeep.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_escape.3 b/docs/libcurl/gnurl_escape.3
index c65392801..3a28d4fa4 100644
--- a/docs/libcurl/gnurl_escape.3
+++ b/docs/libcurl/gnurl_escape.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_formadd.3 b/docs/libcurl/gnurl_formadd.3
index e3a48e49d..581d551d0 100644
--- a/docs/libcurl/gnurl_formadd.3
+++ b/docs/libcurl/gnurl_formadd.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_formfree.3 b/docs/libcurl/gnurl_formfree.3
index 24764dc59..71df7e19a 100644
--- a/docs/libcurl/gnurl_formfree.3
+++ b/docs/libcurl/gnurl_formfree.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_formget.3 b/docs/libcurl/gnurl_formget.3
index 261e51df6..c9e43bd75 100644
--- a/docs/libcurl/gnurl_formget.3
+++ b/docs/libcurl/gnurl_formget.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_free.3 b/docs/libcurl/gnurl_free.3
index e9901fa74..e13e1b985 100644
--- a/docs/libcurl/gnurl_free.3
+++ b/docs/libcurl/gnurl_free.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_getdate.3 b/docs/libcurl/gnurl_getdate.3
index eb122eaf3..a29e485af 100644
--- a/docs/libcurl/gnurl_getdate.3
+++ b/docs/libcurl/gnurl_getdate.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_getenv.3 b/docs/libcurl/gnurl_getenv.3
index a953eba35..3d1f8929e 100644
--- a/docs/libcurl/gnurl_getenv.3
+++ b/docs/libcurl/gnurl_getenv.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_global_cleanup.3 
b/docs/libcurl/gnurl_global_cleanup.3
index a5b6675c2..8fdfc1162 100644
--- a/docs/libcurl/gnurl_global_cleanup.3
+++ b/docs/libcurl/gnurl_global_cleanup.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_global_init.3 b/docs/libcurl/gnurl_global_init.3
index db84fad00..abc6d9b60 100644
--- a/docs/libcurl/gnurl_global_init.3
+++ b/docs/libcurl/gnurl_global_init.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_global_init_mem.3 
b/docs/libcurl/gnurl_global_init_mem.3
index ddd64db7f..d3d1d9279 100644
--- a/docs/libcurl/gnurl_global_init_mem.3
+++ b/docs/libcurl/gnurl_global_init_mem.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_global_sslset.3 
b/docs/libcurl/gnurl_global_sslset.3
index ed9c236d7..8cc67a234 100644
--- a/docs/libcurl/gnurl_global_sslset.3
+++ b/docs/libcurl/gnurl_global_sslset.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_addpart.3 
b/docs/libcurl/gnurl_mime_addpart.3
index 9aab787eb..330b28f71 100644
--- a/docs/libcurl/gnurl_mime_addpart.3
+++ b/docs/libcurl/gnurl_mime_addpart.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_data.3 b/docs/libcurl/gnurl_mime_data.3
index 728826ab0..1cc4d2a10 100644
--- a/docs/libcurl/gnurl_mime_data.3
+++ b/docs/libcurl/gnurl_mime_data.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_data_cb.3 
b/docs/libcurl/gnurl_mime_data_cb.3
index 2fd7413c4..1eadf1e04 100644
--- a/docs/libcurl/gnurl_mime_data_cb.3
+++ b/docs/libcurl/gnurl_mime_data_cb.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_encoder.3 
b/docs/libcurl/gnurl_mime_encoder.3
index d0546b6b0..1026a679b 100644
--- a/docs/libcurl/gnurl_mime_encoder.3
+++ b/docs/libcurl/gnurl_mime_encoder.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_filedata.3 
b/docs/libcurl/gnurl_mime_filedata.3
index e89d22fea..deb0d4510 100644
--- a/docs/libcurl/gnurl_mime_filedata.3
+++ b/docs/libcurl/gnurl_mime_filedata.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_filename.3 
b/docs/libcurl/gnurl_mime_filename.3
index 6534a9ce5..a231545d5 100644
--- a/docs/libcurl/gnurl_mime_filename.3
+++ b/docs/libcurl/gnurl_mime_filename.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_free.3 b/docs/libcurl/gnurl_mime_free.3
index 8476d1a32..4677c3f73 100644
--- a/docs/libcurl/gnurl_mime_free.3
+++ b/docs/libcurl/gnurl_mime_free.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_headers.3 
b/docs/libcurl/gnurl_mime_headers.3
index ae54efd81..0e9b365b7 100644
--- a/docs/libcurl/gnurl_mime_headers.3
+++ b/docs/libcurl/gnurl_mime_headers.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -50,7 +50,7 @@ CURLE_OK or a CURL error code upon failure.
 .nf
  struct curl_slist *headers = NULL;
 
- headers = curl_slist_append("Custom-Header: mooo", headers);
+ headers = curl_slist_append(headers, "Custom-Header: mooo");
 
  /* use these headers, please take ownership */
  curl_mime_headers(part, headers, TRUE);
diff --git a/docs/libcurl/gnurl_mime_init.3 b/docs/libcurl/gnurl_mime_init.3
index d6a49d1e7..e83df3874 100644
--- a/docs/libcurl/gnurl_mime_init.3
+++ b/docs/libcurl/gnurl_mime_init.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -56,7 +56,7 @@ A mime struct handle, or NULL upon failure.
 
  /* Post and send it. */
  curl_easy_setopt(easy, CURLOPT_MIMEPOST, mime);
- curl_easy_setopt(easy, CURLOPT_URL, "http://example.com";);
+ curl_easy_setopt(easy, CURLOPT_URL, "https://example.com";);
  curl_easy_perform(easy);
 
  /* Clean-up. */
diff --git a/docs/libcurl/gnurl_mime_name.3 b/docs/libcurl/gnurl_mime_name.3
index 79afe7515..a8504b112 100644
--- a/docs/libcurl/gnurl_mime_name.3
+++ b/docs/libcurl/gnurl_mime_name.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_subparts.3 
b/docs/libcurl/gnurl_mime_subparts.3
index ab57e6159..4f9883655 100644
--- a/docs/libcurl/gnurl_mime_subparts.3
+++ b/docs/libcurl/gnurl_mime_subparts.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mime_type.3 b/docs/libcurl/gnurl_mime_type.3
index 1c1daae9b..29bbbf008 100644
--- a/docs/libcurl/gnurl_mime_type.3
+++ b/docs/libcurl/gnurl_mime_type.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_mprintf.3 b/docs/libcurl/gnurl_mprintf.3
index c34898afc..4a19e8cbf 100644
--- a/docs/libcurl/gnurl_mprintf.3
+++ b/docs/libcurl/gnurl_mprintf.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_add_handle.3 
b/docs/libcurl/gnurl_multi_add_handle.3
index c1d103f17..c8c230f34 100644
--- a/docs/libcurl/gnurl_multi_add_handle.3
+++ b/docs/libcurl/gnurl_multi_add_handle.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_assign.3 
b/docs/libcurl/gnurl_multi_assign.3
index 7cb2bf29b..395986966 100644
--- a/docs/libcurl/gnurl_multi_assign.3
+++ b/docs/libcurl/gnurl_multi_assign.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_cleanup.3 
b/docs/libcurl/gnurl_multi_cleanup.3
index cc3691137..6cb0537c2 100644
--- a/docs/libcurl/gnurl_multi_cleanup.3
+++ b/docs/libcurl/gnurl_multi_cleanup.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_fdset.3 b/docs/libcurl/gnurl_multi_fdset.3
index 81fb4b1dc..74cb22511 100644
--- a/docs/libcurl/gnurl_multi_fdset.3
+++ b/docs/libcurl/gnurl_multi_fdset.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_info_read.3 
b/docs/libcurl/gnurl_multi_info_read.3
index daa754a9a..e89b30f8d 100644
--- a/docs/libcurl/gnurl_multi_info_read.3
+++ b/docs/libcurl/gnurl_multi_info_read.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_init.3 b/docs/libcurl/gnurl_multi_init.3
index d06c12f4e..0b4f9e0ca 100644
--- a/docs/libcurl/gnurl_multi_init.3
+++ b/docs/libcurl/gnurl_multi_init.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_perform.3 
b/docs/libcurl/gnurl_multi_perform.3
index f59cc5e53..76fa3ff12 100644
--- a/docs/libcurl/gnurl_multi_perform.3
+++ b/docs/libcurl/gnurl_multi_perform.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_poll.3 b/docs/libcurl/gnurl_multi_poll.3
index adab68d5e..37fcd7581 100644
--- a/docs/libcurl/gnurl_multi_poll.3
+++ b/docs/libcurl/gnurl_multi_poll.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_remove_handle.3 
b/docs/libcurl/gnurl_multi_remove_handle.3
index 0987ea287..9f7cc9e3b 100644
--- a/docs/libcurl/gnurl_multi_remove_handle.3
+++ b/docs/libcurl/gnurl_multi_remove_handle.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_setopt.3 
b/docs/libcurl/gnurl_multi_setopt.3
index dd141be0c..583274eab 100644
--- a/docs/libcurl/gnurl_multi_setopt.3
+++ b/docs/libcurl/gnurl_multi_setopt.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_socket.3 
b/docs/libcurl/gnurl_multi_socket.3
index 3ca76e668..01b801e89 100644
--- a/docs/libcurl/gnurl_multi_socket.3
+++ b/docs/libcurl/gnurl_multi_socket.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_socket_action.3 
b/docs/libcurl/gnurl_multi_socket_action.3
index 35b709231..419cc12fb 100644
--- a/docs/libcurl/gnurl_multi_socket_action.3
+++ b/docs/libcurl/gnurl_multi_socket_action.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_strerror.3 
b/docs/libcurl/gnurl_multi_strerror.3
index feb6cd684..24dbdb946 100644
--- a/docs/libcurl/gnurl_multi_strerror.3
+++ b/docs/libcurl/gnurl_multi_strerror.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_timeout.3 
b/docs/libcurl/gnurl_multi_timeout.3
index e2620dd8f..76e45ac25 100644
--- a/docs/libcurl/gnurl_multi_timeout.3
+++ b/docs/libcurl/gnurl_multi_timeout.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_wait.3 b/docs/libcurl/gnurl_multi_wait.3
index 21c0842b4..64a7426a9 100644
--- a/docs/libcurl/gnurl_multi_wait.3
+++ b/docs/libcurl/gnurl_multi_wait.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_multi_wakeup.3 
b/docs/libcurl/gnurl_multi_wakeup.3
index c47f85549..f029fb721 100644
--- a/docs/libcurl/gnurl_multi_wakeup.3
+++ b/docs/libcurl/gnurl_multi_wakeup.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_share_cleanup.3 
b/docs/libcurl/gnurl_share_cleanup.3
index 9c07e0cbb..e3352573d 100644
--- a/docs/libcurl/gnurl_share_cleanup.3
+++ b/docs/libcurl/gnurl_share_cleanup.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_share_init.3 b/docs/libcurl/gnurl_share_init.3
index 4b479a614..954b10324 100644
--- a/docs/libcurl/gnurl_share_init.3
+++ b/docs/libcurl/gnurl_share_init.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_share_setopt.3 
b/docs/libcurl/gnurl_share_setopt.3
index a446b6451..022211149 100644
--- a/docs/libcurl/gnurl_share_setopt.3
+++ b/docs/libcurl/gnurl_share_setopt.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_share_strerror.3 
b/docs/libcurl/gnurl_share_strerror.3
index 5cb755742..b579298d5 100644
--- a/docs/libcurl/gnurl_share_strerror.3
+++ b/docs/libcurl/gnurl_share_strerror.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_slist_append.3 
b/docs/libcurl/gnurl_slist_append.3
index 963ad760d..c76cb7881 100644
--- a/docs/libcurl/gnurl_slist_append.3
+++ b/docs/libcurl/gnurl_slist_append.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_slist_free_all.3 
b/docs/libcurl/gnurl_slist_free_all.3
index bb9c522f7..30ab779fa 100644
--- a/docs/libcurl/gnurl_slist_free_all.3
+++ b/docs/libcurl/gnurl_slist_free_all.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_strequal.3 b/docs/libcurl/gnurl_strequal.3
index 4b7752cd7..3dab5cec2 100644
--- a/docs/libcurl/gnurl_strequal.3
+++ b/docs/libcurl/gnurl_strequal.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_unescape.3 b/docs/libcurl/gnurl_unescape.3
index c88b3947f..6fb54eb23 100644
--- a/docs/libcurl/gnurl_unescape.3
+++ b/docs/libcurl/gnurl_unescape.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_url.3 b/docs/libcurl/gnurl_url.3
index 325865ae2..68b6cd042 100644
--- a/docs/libcurl/gnurl_url.3
+++ b/docs/libcurl/gnurl_url.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_url_cleanup.3 b/docs/libcurl/gnurl_url_cleanup.3
index f0bfefdba..7452601f9 100644
--- a/docs/libcurl/gnurl_url_cleanup.3
+++ b/docs/libcurl/gnurl_url_cleanup.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_url_dup.3 b/docs/libcurl/gnurl_url_dup.3
index 7fa8d17c7..ea11af04e 100644
--- a/docs/libcurl/gnurl_url_dup.3
+++ b/docs/libcurl/gnurl_url_dup.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_url_get.3 b/docs/libcurl/gnurl_url_get.3
index 20edd1427..647e76432 100644
--- a/docs/libcurl/gnurl_url_get.3
+++ b/docs/libcurl/gnurl_url_get.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_url_set.3 b/docs/libcurl/gnurl_url_set.3
index 043ec38fb..23bc33279 100644
--- a/docs/libcurl/gnurl_url_set.3
+++ b/docs/libcurl/gnurl_url_set.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -126,7 +126,7 @@ A URL string passed on to \fIcurl_url_set(3)\fP for the 
\fBCURLUPART_URL\fP
 part, must be shorter than 8000000 bytes otherwise it returns
 \fBCURLUE_MALFORMED_INPUT\fP (added in 7.65.0).
 
-If this function returns an error, no URL part is returned.
+If this function returns an error, no URL part is set.
 .SH EXAMPLE
 .nf
   CURLUcode rc;
diff --git a/docs/libcurl/gnurl_version.3 b/docs/libcurl/gnurl_version.3
index d08ef0bdc..5c4c28cb0 100644
--- a/docs/libcurl/gnurl_version.3
+++ b/docs/libcurl/gnurl_version.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/gnurl_version_info.3 
b/docs/libcurl/gnurl_version_info.3
index 2e8ed2956..15042dc42 100644
--- a/docs/libcurl/gnurl_version_info.3
+++ b/docs/libcurl/gnurl_version_info.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -143,6 +143,9 @@ to use the current user credentials without the app having 
to pass them on.
 (Added in 7.38.0)
 .IP CURL_VERSION_GSSNEGOTIATE
 supports HTTP GSS-Negotiate (added in 7.10.6)
+.IP CURL_VERSION_HSTS
+libcurl was built with support for HSTS (HTTP Strict Transport Security)
+(Added in 7.74.0)
 .IP CURL_VERSION_HTTPS_PROXY
 libcurl was built with support for HTTPS-proxy.
 (Added in 7.52.0)
@@ -192,7 +195,8 @@ makes libcurl use Windows-provided functions for Kerberos, 
NTLM, SPNEGO and
 Digest authentication. It also allows libcurl to use the current user
 credentials without the app having to pass them on. (Added in 7.13.2)
 .IP CURL_VERSION_TLSAUTH_SRP
-libcurl was built with support for TLS-SRP. (Added in 7.21.4)
+libcurl was built with support for TLS-SRP (in one or more of the built-in TLS
+backends). (Added in 7.21.4)
 .IP CURL_VERSION_UNIX_SOCKETS
 libcurl was built with support for Unix domain sockets.
 (Added in 7.40.0)
diff --git a/docs/libcurl/libgnurl-easy.3 b/docs/libcurl/libgnurl-easy.3
index 7ba0b683e..0fe58159a 100644
--- a/docs/libcurl/libgnurl-easy.3
+++ b/docs/libcurl/libgnurl-easy.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/libgnurl-env.3 b/docs/libcurl/libgnurl-env.3
index 3807e662e..97ffde96d 100644
--- a/docs/libcurl/libgnurl-env.3
+++ b/docs/libcurl/libgnurl-env.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 2018 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -30,7 +30,7 @@ supports a set of additional environment variables 
independently of this.
 .IP "[scheme]_proxy"
 When libcurl is given a URL to use in a transfer, it first extracts the
 "scheme" part from the URL and checks if there is a given proxy set for that
-in its corresponding environment variable. A URL like "http://example.com";
+in its corresponding environment variable. A URL like "https://example.com";
 will hence use the "http_proxy" variable, while a URL like "ftp://example.com";
 will use the "ftp_proxy" variable.
 
diff --git a/docs/libcurl/libgnurl-errors.3 b/docs/libcurl/libgnurl-errors.3
index c76535d0f..ae8c674e9 100644
--- a/docs/libcurl/libgnurl-errors.3
+++ b/docs/libcurl/libgnurl-errors.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/libgnurl-multi.3 b/docs/libcurl/libgnurl-multi.3
index 5176aebf0..77fe4c756 100644
--- a/docs/libcurl/libgnurl-multi.3
+++ b/docs/libcurl/libgnurl-multi.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/libgnurl-security.3 b/docs/libcurl/libgnurl-security.3
index f340facd3..705e2c7ef 100644
--- a/docs/libcurl/libgnurl-security.3
+++ b/docs/libcurl/libgnurl-security.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -154,7 +154,7 @@ behind a firewall.  Applications can mitigate against this 
by using the
 \fICURLOPT_FTP_SKIP_PASV_IP(3)\fP option or \fICURLOPT_FTPPORT(3)\fP.
 
 Local servers sometimes assume local access comes from friends and trusted
-users. An application that expects http://example.com/file_to_read that and
+users. An application that expects https://example.com/file_to_read that and
 instead gets http://192.168.0.1/my_router_config might print a file that would
 otherwise be protected by the firewall.
 
@@ -348,7 +348,7 @@ plain HTTP connection.
 .SH "Report Security Problems"
 Should you detect or just suspect a security problem in libcurl or curl,
 contact the project curl security team immediately. See
-https://curl.haxx.se/dev/secprocess.html for details.
+https://curl.se/dev/secprocess.html for details.
 .SH "Showing What You Do"
 Relatedly, be aware that in situations when you have problems with libcurl and
 ask someone for help, everything you reveal in order to get best possible help
diff --git a/docs/libcurl/libgnurl-share.3 b/docs/libcurl/libgnurl-share.3
index 26e43b8c8..6f77c322c 100644
--- a/docs/libcurl/libgnurl-share.3
+++ b/docs/libcurl/libgnurl-share.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/libgnurl-thread.3 b/docs/libcurl/libgnurl-thread.3
index a85d0ca0d..ff9c2304f 100644
--- a/docs/libcurl/libgnurl-thread.3
+++ b/docs/libcurl/libgnurl-thread.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -51,7 +51,7 @@ OpenSSL <= 1.0.2 the user must set callbacks.
 
 
https://www.openssl.org/docs/man1.0.2/man3/CRYPTO_set_locking_callback.html#DESCRIPTION
 
-https://curl.haxx.se/libcurl/c/opensslthreadlock.html
+https://curl.se/libcurl/c/opensslthreadlock.html
 
 .IP GnuTLS
 https://gnutls.org/manual/html_node/Thread-safety.html
diff --git a/docs/libcurl/libgnurl-tutorial.3 b/docs/libcurl/libgnurl-tutorial.3
index c6f88d659..3aafcb853 100644
--- a/docs/libcurl/libgnurl-tutorial.3
+++ b/docs/libcurl/libgnurl-tutorial.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/libgnurl-url.3 b/docs/libcurl/libgnurl-url.3
index bdf82ec15..5b375131e 100644
--- a/docs/libcurl/libgnurl-url.3
+++ b/docs/libcurl/libgnurl-url.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/libgnurl.3 b/docs/libcurl/libgnurl.3
index d4ed70349..22bb82305 100644
--- a/docs/libcurl/libgnurl.3
+++ b/docs/libcurl/libgnurl.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/libgnurl.m4 b/docs/libcurl/libgnurl.m4
index c4f484813..036230c85 100644
--- a/docs/libcurl/libgnurl.m4
+++ b/docs/libcurl/libgnurl.m4
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/mksymbolsmanpage.pl b/docs/libcurl/mksymbolsmanpage.pl
index 7ac6fac88..b3609b4dd 100755
--- a/docs/libcurl/mksymbolsmanpage.pl
+++ b/docs/libcurl/mksymbolsmanpage.pl
@@ -10,7 +10,7 @@
 # *
 # * This software is licensed as described in the file COPYING, which
 # * you should have received as part of this distribution. The terms
-# * are also available at https://curl.haxx.se/docs/copyright.html.
+# * are also available at https://curl.se/docs/copyright.html.
 # *
 # * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # * copies of the Software, and permit persons to whom the Software is
@@ -39,7 +39,7 @@ print <<HEADER
 .\\" *
 .\\" * This software is licensed as described in the file COPYING, which
 .\\" * you should have received as part of this distribution. The terms
-.\\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\\" * are also available at https://curl.se/docs/copyright.html.
 .\\" *
 .\\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/CMakeLists.txt b/docs/libcurl/opts/CMakeLists.txt
index 98acedf2a..d0035016d 100644
--- a/docs/libcurl/opts/CMakeLists.txt
+++ b/docs/libcurl/opts/CMakeLists.txt
@@ -9,7 +9,7 @@
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_ACTIVESOCKET.3 
b/docs/libcurl/opts/GNURLINFO_ACTIVESOCKET.3
index 3a3d54fa3..601e5d572 100644
--- a/docs/libcurl/opts/GNURLINFO_ACTIVESOCKET.3
+++ b/docs/libcurl/opts/GNURLINFO_ACTIVESOCKET.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -47,7 +47,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   curl_socket_t sockfd;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Do not do the transfer - only connect to host */
   curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
diff --git a/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3 
b/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3
index 03ade4a3c..a99ecd555 100644
--- a/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME_T.3 
b/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME_T.3
index 1ae9e6c9e..b192efc57 100644
--- a/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_CERTINFO.3 
b/docs/libcurl/opts/GNURLINFO_CERTINFO.3
index d3782fd39..7be8a24fc 100644
--- a/docs/libcurl/opts/GNURLINFO_CERTINFO.3
+++ b/docs/libcurl/opts/GNURLINFO_CERTINFO.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_CONDITION_UNMET.3 
b/docs/libcurl/opts/GNURLINFO_CONDITION_UNMET.3
index dcd6fc0e5..c37d0530c 100644
--- a/docs/libcurl/opts/GNURLINFO_CONDITION_UNMET.3
+++ b/docs/libcurl/opts/GNURLINFO_CONDITION_UNMET.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -41,7 +41,7 @@ HTTP and some
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* January 1, 2020 is 1577833200 */
   curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 1577833200L);
diff --git a/docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3 
b/docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3
index 651850cde..e94626aa6 100644
--- a/docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_CONNECT_TIME_T.3 
b/docs/libcurl/opts/GNURLINFO_CONNECT_TIME_T.3
index 3479cc851..759f3a52a 100644
--- a/docs/libcurl/opts/GNURLINFO_CONNECT_TIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_CONNECT_TIME_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD.3 
b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD.3
index 639299337..8498f8fb6 100644
--- a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD.3
+++ b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -41,7 +41,7 @@ HTTP(S)
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 
b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
index 74ca85049..99aad3842 100644
--- a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -38,7 +38,7 @@ HTTP(S)
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD.3 
b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD.3
index cd668e9eb..56a914b7a 100644
--- a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD.3
+++ b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -40,7 +40,7 @@ All
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the upload */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3 
b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3
index f6c033fb8..334e7058a 100644
--- a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -37,7 +37,7 @@ All
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the upload */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_CONTENT_TYPE.3 
b/docs/libcurl/opts/GNURLINFO_CONTENT_TYPE.3
index a75a223fa..80fb69d56 100644
--- a/docs/libcurl/opts/GNURLINFO_CONTENT_TYPE.3
+++ b/docs/libcurl/opts/GNURLINFO_CONTENT_TYPE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -42,7 +42,7 @@ HTTP(S)
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   res = curl_easy_perform(curl);
 
diff --git a/docs/libcurl/opts/GNURLINFO_COOKIELIST.3 
b/docs/libcurl/opts/GNURLINFO_COOKIELIST.3
index e82ddb8a3..088392df7 100644
--- a/docs/libcurl/opts/GNURLINFO_COOKIELIST.3
+++ b/docs/libcurl/opts/GNURLINFO_COOKIELIST.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -43,7 +43,7 @@ HTTP(S)
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* enable the cookie engine */
   curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "");
diff --git a/docs/libcurl/opts/GNURLINFO_EFFECTIVE_METHOD.3 
b/docs/libcurl/opts/GNURLINFO_EFFECTIVE_METHOD.3
index 57e45c26a..7b356c6dd 100644
--- a/docs/libcurl/opts/GNURLINFO_EFFECTIVE_METHOD.3
+++ b/docs/libcurl/opts/GNURLINFO_EFFECTIVE_METHOD.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -47,7 +47,7 @@ HTTP(S)
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "data");
   curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_EFFECTIVE_URL.3 
b/docs/libcurl/opts/GNURLINFO_EFFECTIVE_URL.3
index ce9ec45f5..484641b58 100644
--- a/docs/libcurl/opts/GNURLINFO_EFFECTIVE_URL.3
+++ b/docs/libcurl/opts/GNURLINFO_EFFECTIVE_URL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -43,7 +43,7 @@ HTTP(S)
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
diff --git a/docs/libcurl/opts/GNURLINFO_FILETIME.3 
b/docs/libcurl/opts/GNURLINFO_FILETIME.3
index b23b8afd2..c5c1d2ccf 100644
--- a/docs/libcurl/opts/GNURLINFO_FILETIME.3
+++ b/docs/libcurl/opts/GNURLINFO_FILETIME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_FILETIME_T.3 
b/docs/libcurl/opts/GNURLINFO_FILETIME_T.3
index 6ffd1a168..9cb2e209c 100644
--- a/docs/libcurl/opts/GNURLINFO_FILETIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_FILETIME_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_FTP_ENTRY_PATH.3 
b/docs/libcurl/opts/GNURLINFO_FTP_ENTRY_PATH.3
index ee74c2c39..6bcd0ad3e 100644
--- a/docs/libcurl/opts/GNURLINFO_FTP_ENTRY_PATH.3
+++ b/docs/libcurl/opts/GNURLINFO_FTP_ENTRY_PATH.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_HEADER_SIZE.3 
b/docs/libcurl/opts/GNURLINFO_HEADER_SIZE.3
index bc0418158..c9eb4ee3a 100644
--- a/docs/libcurl/opts/GNURLINFO_HEADER_SIZE.3
+++ b/docs/libcurl/opts/GNURLINFO_HEADER_SIZE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -40,7 +40,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     long size;
diff --git a/docs/libcurl/opts/GNURLINFO_HTTPAUTH_AVAIL.3 
b/docs/libcurl/opts/GNURLINFO_HTTPAUTH_AVAIL.3
index 5d83d00ea..0cc2adacb 100644
--- a/docs/libcurl/opts/GNURLINFO_HTTPAUTH_AVAIL.3
+++ b/docs/libcurl/opts/GNURLINFO_HTTPAUTH_AVAIL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -38,7 +38,7 @@ HTTP(S)
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   res = curl_easy_perform(curl);
 
diff --git a/docs/libcurl/opts/GNURLINFO_HTTP_CONNECTCODE.3 
b/docs/libcurl/opts/GNURLINFO_HTTP_CONNECTCODE.3
index 356ac2a88..3e47f2079 100644
--- a/docs/libcurl/opts/GNURLINFO_HTTP_CONNECTCODE.3
+++ b/docs/libcurl/opts/GNURLINFO_HTTP_CONNECTCODE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_HTTP_VERSION.3 
b/docs/libcurl/opts/GNURLINFO_HTTP_VERSION.3
index caa43c725..f8f319888 100644
--- a/docs/libcurl/opts/GNURLINFO_HTTP_VERSION.3
+++ b/docs/libcurl/opts/GNURLINFO_HTTP_VERSION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -39,7 +39,7 @@ HTTP
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     long http_version;
diff --git a/docs/libcurl/opts/GNURLINFO_LASTSOCKET.3 
b/docs/libcurl/opts/GNURLINFO_LASTSOCKET.3
index f3e717220..70e44afef 100644
--- a/docs/libcurl/opts/GNURLINFO_LASTSOCKET.3
+++ b/docs/libcurl/opts/GNURLINFO_LASTSOCKET.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -47,7 +47,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   long sockfd; /* doesn't work on win64! */
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Do not do the transfer - only connect to host */
   curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
diff --git a/docs/libcurl/opts/GNURLINFO_LOCAL_IP.3 
b/docs/libcurl/opts/GNURLINFO_LOCAL_IP.3
index a2fe9b736..78ccf85f7 100644
--- a/docs/libcurl/opts/GNURLINFO_LOCAL_IP.3
+++ b/docs/libcurl/opts/GNURLINFO_LOCAL_IP.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -45,7 +45,7 @@ All
 {
   char *ip;
 
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request, res will get the return code */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_LOCAL_PORT.3 
b/docs/libcurl/opts/GNURLINFO_LOCAL_PORT.3
index 9b10fd3ff..f197d3800 100644
--- a/docs/libcurl/opts/GNURLINFO_LOCAL_PORT.3
+++ b/docs/libcurl/opts/GNURLINFO_LOCAL_PORT.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -40,7 +40,7 @@ All
 
   curl = curl_easy_init();
   if(curl) {
-    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/";);
+    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
     res = curl_easy_perform(curl);
 
     if(CURLE_OK == res) {
diff --git a/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3 
b/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3
index 52d374d1f..e3b0d1e4e 100644
--- a/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME_T.3 
b/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME_T.3
index 542df9736..14b473737 100644
--- a/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_NUM_CONNECTS.3 
b/docs/libcurl/opts/GNURLINFO_NUM_CONNECTS.3
index 982f02241..d87c08ef5 100644
--- a/docs/libcurl/opts/GNURLINFO_NUM_CONNECTS.3
+++ b/docs/libcurl/opts/GNURLINFO_NUM_CONNECTS.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -41,7 +41,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
diff --git a/docs/libcurl/opts/GNURLINFO_OS_ERRNO.3 
b/docs/libcurl/opts/GNURLINFO_OS_ERRNO.3
index 2e987b1ae..8e9d1f587 100644
--- a/docs/libcurl/opts/GNURLINFO_OS_ERRNO.3
+++ b/docs/libcurl/opts/GNURLINFO_OS_ERRNO.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -38,7 +38,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res != CURLE_OK) {
     long error;
diff --git a/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3 
b/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3
index 515293439..b0a1d6fb9 100644
--- a/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME_T.3 
b/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME_T.3
index 1cccdef70..a00ed8395 100644
--- a/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_PRIMARY_IP.3 
b/docs/libcurl/opts/GNURLINFO_PRIMARY_IP.3
index 3100c2086..8466e70eb 100644
--- a/docs/libcurl/opts/GNURLINFO_PRIMARY_IP.3
+++ b/docs/libcurl/opts/GNURLINFO_PRIMARY_IP.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -44,7 +44,7 @@ All network based ones
 {
   char *ip;
 
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request, res will get the return code */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_PRIMARY_PORT.3 
b/docs/libcurl/opts/GNURLINFO_PRIMARY_PORT.3
index 44658e4c7..5a37b23d1 100644
--- a/docs/libcurl/opts/GNURLINFO_PRIMARY_PORT.3
+++ b/docs/libcurl/opts/GNURLINFO_PRIMARY_PORT.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -37,7 +37,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     long port;
diff --git a/docs/libcurl/opts/GNURLINFO_PRIVATE.3 
b/docs/libcurl/opts/GNURLINFO_PRIVATE.3
index 027ae245e..a0006e20c 100644
--- a/docs/libcurl/opts/GNURLINFO_PRIVATE.3
+++ b/docs/libcurl/opts/GNURLINFO_PRIVATE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -39,7 +39,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   void *pointer = 0x2345454;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin";);
 
   /* set the private pointer */
   curl_easy_setopt(curl, CURLOPT_PRIVATE, pointer);
diff --git a/docs/libcurl/opts/GNURLINFO_PROTOCOL.3 
b/docs/libcurl/opts/GNURLINFO_PROTOCOL.3
index ff6546379..e8430e5e4 100644
--- a/docs/libcurl/opts/GNURLINFO_PROTOCOL.3
+++ b/docs/libcurl/opts/GNURLINFO_PROTOCOL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -46,7 +46,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     long protocol;
diff --git a/docs/libcurl/opts/GNURLINFO_PROXYAUTH_AVAIL.3 
b/docs/libcurl/opts/GNURLINFO_PROXYAUTH_AVAIL.3
index 5a5064e09..437d45b46 100644
--- a/docs/libcurl/opts/GNURLINFO_PROXYAUTH_AVAIL.3
+++ b/docs/libcurl/opts/GNURLINFO_PROXYAUTH_AVAIL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -38,7 +38,7 @@ HTTP(S)
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   curl_easy_setopt(curl, CURLOPT_PROXY, "http://127.0.0.1:80";);
 
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_PROXY_ERROR.3 
b/docs/libcurl/opts/GNURLINFO_PROXY_ERROR.3
new file mode 100644
index 000000000..3b3ed45e7
--- /dev/null
+++ b/docs/libcurl/opts/GNURLINFO_PROXY_ERROR.3
@@ -0,0 +1,104 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH GNURLINFO_PROXY_ERROR 3 "3 Aug 2020" "libcurl 7.73.0" "curl_easy_getinfo 
options"
+.SH NAME
+CURLINFO_PROXY_ERROR \- get the detailed (SOCKS) proxy error
+.SH SYNOPSIS
+.nf
+#include <gnurl/curl.h>
+
+typedef enum {
+  CURLPX_OK,
+  CURLPX_BAD_ADDRESS_TYPE,
+  CURLPX_BAD_VERSION,
+  CURLPX_CLOSED,
+  CURLPX_GSSAPI,
+  CURLPX_GSSAPI_PERMSG,
+  CURLPX_GSSAPI_PROTECTION,
+  CURLPX_IDENTD,
+  CURLPX_IDENTD_DIFFER,
+  CURLPX_LONG_HOSTNAME,
+  CURLPX_LONG_PASSWD,
+  CURLPX_LONG_USER,
+  CURLPX_NO_AUTH,
+  CURLPX_RECV_ADDRESS,
+  CURLPX_RECV_AUTH,
+  CURLPX_RECV_CONNECT,
+  CURLPX_RECV_REQACK,
+  CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED,
+  CURLPX_REPLY_COMMAND_NOT_SUPPORTED,
+  CURLPX_REPLY_CONNECTION_REFUSED,
+  CURLPX_REPLY_GENERAL_SERVER_FAILURE,
+  CURLPX_REPLY_HOST_UNREACHABLE,
+  CURLPX_REPLY_NETWORK_UNREACHABLE,
+  CURLPX_REPLY_NOT_ALLOWED,
+  CURLPX_REPLY_TTL_EXPIRED,
+  CURLPX_REPLY_UNASSIGNED,
+  CURLPX_REQUEST_FAILED,
+  CURLPX_RESOLVE_HOST,
+  CURLPX_SEND_AUTH,
+  CURLPX_SEND_CONNECT,
+  CURLPX_SEND_REQUEST,
+  CURLPX_UNKNOWN_FAIL,
+  CURLPX_UNKNOWN_MODE,
+  CURLPX_USER_REJECTED,
+  CURLPX_LAST /* never use */
+} CURLproxycode;
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXY_ERROR, long *detail);
+.fi
+.SH DESCRIPTION
+Pass a pointer to a long to receive a detailed error code when the most recent
+transfer returned a CURLE_PROXY error.
+
+The return value will match the CURLproxycode set.
+
+The returned value will be zero (equal to CURLPX_OK) if no such response code
+was available.
+.SH PROTOCOLS
+All that can be done over SOCKS
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+  CURLcode res;
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
+
+  curl_easy_setopt(curl, CURLOPT_PROXY, "socks5://127.0.0.1");
+  res = curl_easy_perform(curl);
+  if(res == CURLE_PROXY) {
+    long proxycode;
+    res = curl_easy_getinfo(curl, CURLINFO_PROXY_ERROR, &proxycode);
+    if(!res && proxycode)
+      printf("The detailed proxy error: %ld\\n", proxycode);
+  }
+  curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.73.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLINFO_RESPONSE_CODE "(3), " libcurl-errors "(3), "
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
diff --git a/docs/libcurl/opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3 
b/docs/libcurl/opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3
index 48d166c60..79da9ecb4 100644
--- a/docs/libcurl/opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_REDIRECT_COUNT.3 
b/docs/libcurl/opts/GNURLINFO_REDIRECT_COUNT.3
index 9cdce3897..0a52d2016 100644
--- a/docs/libcurl/opts/GNURLINFO_REDIRECT_COUNT.3
+++ b/docs/libcurl/opts/GNURLINFO_REDIRECT_COUNT.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -37,7 +37,7 @@ HTTP(S)
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
diff --git a/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3 
b/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3
index 26f3f5117..d26a346a3 100644
--- a/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME_T.3 
b/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME_T.3
index 093bbae1f..168f5d180 100644
--- a/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_REDIRECT_URL.3 
b/docs/libcurl/opts/GNURLINFO_REDIRECT_URL.3
index 6ba66d726..9bf35eb30 100644
--- a/docs/libcurl/opts/GNURLINFO_REDIRECT_URL.3
+++ b/docs/libcurl/opts/GNURLINFO_REDIRECT_URL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -43,7 +43,7 @@ HTTP(S)
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     char *url = NULL;
diff --git a/docs/libcurl/opts/GNURLINFO_REQUEST_SIZE.3 
b/docs/libcurl/opts/GNURLINFO_REQUEST_SIZE.3
index 33606b0dd..2f85ffba5 100644
--- a/docs/libcurl/opts/GNURLINFO_REQUEST_SIZE.3
+++ b/docs/libcurl/opts/GNURLINFO_REQUEST_SIZE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -38,7 +38,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     long req;
diff --git a/docs/libcurl/opts/GNURLINFO_RESPONSE_CODE.3 
b/docs/libcurl/opts/GNURLINFO_RESPONSE_CODE.3
index 9632fd837..e9ded3515 100644
--- a/docs/libcurl/opts/GNURLINFO_RESPONSE_CODE.3
+++ b/docs/libcurl/opts/GNURLINFO_RESPONSE_CODE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -42,7 +42,7 @@ HTTP, FTP and SMTP
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     long response_code;
diff --git a/docs/libcurl/opts/GNURLINFO_RETRY_AFTER.3 
b/docs/libcurl/opts/GNURLINFO_RETRY_AFTER.3
index 785c6b4df..eede14931 100644
--- a/docs/libcurl/opts/GNURLINFO_RETRY_AFTER.3
+++ b/docs/libcurl/opts/GNURLINFO_RETRY_AFTER.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -29,7 +29,7 @@ CURLINFO_RETRY_AFTER \- returns the Retry-After retry delay
 CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RETRY_AFTER, curl_off_t 
*retry);
 .SH DESCRIPTION
 Pass a pointer to a curl_off_t variable to receive the number of seconds the
-HTTP server suggesets the client should wait until the next request is
+HTTP server suggests the client should wait until the next request is
 issued. The information from the "Retry-After:" header.
 
 While the HTTP header might contain a fixed date string, the
@@ -44,7 +44,7 @@ HTTP(S)
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     curl_off_t wait = 0;
diff --git a/docs/libcurl/opts/GNURLINFO_RTSP_CLIENT_CSEQ.3 
b/docs/libcurl/opts/GNURLINFO_RTSP_CLIENT_CSEQ.3
index 2efeb618a..1f163187c 100644
--- a/docs/libcurl/opts/GNURLINFO_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/GNURLINFO_RTSP_CLIENT_CSEQ.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_RTSP_CSEQ_RECV.3 
b/docs/libcurl/opts/GNURLINFO_RTSP_CSEQ_RECV.3
index added9c70..1ff4fd09f 100644
--- a/docs/libcurl/opts/GNURLINFO_RTSP_CSEQ_RECV.3
+++ b/docs/libcurl/opts/GNURLINFO_RTSP_CSEQ_RECV.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_RTSP_SERVER_CSEQ.3 
b/docs/libcurl/opts/GNURLINFO_RTSP_SERVER_CSEQ.3
index 88abb0709..82b1a6b59 100644
--- a/docs/libcurl/opts/GNURLINFO_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/GNURLINFO_RTSP_SERVER_CSEQ.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_RTSP_SESSION_ID.3 
b/docs/libcurl/opts/GNURLINFO_RTSP_SESSION_ID.3
index c2a2df18e..dc66fee4c 100644
--- a/docs/libcurl/opts/GNURLINFO_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/GNURLINFO_RTSP_SESSION_ID.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_SCHEME.3 
b/docs/libcurl/opts/GNURLINFO_SCHEME.3
index 13f0a023a..8c983d04d 100644
--- a/docs/libcurl/opts/GNURLINFO_SCHEME.3
+++ b/docs/libcurl/opts/GNURLINFO_SCHEME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -42,7 +42,7 @@ All
 CURL *curl = curl_easy_init();
 if(curl) {
   CURLcode res;
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
   res = curl_easy_perform(curl);
   if(res == CURLE_OK) {
     char *scheme = NULL;
diff --git a/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD.3 
b/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD.3
index f3c224fd6..d849103e3 100644
--- a/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD.3
+++ b/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -42,7 +42,7 @@ All
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3 
b/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3
index bee15f477..ac17a10ec 100644
--- a/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -39,7 +39,7 @@ All
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD.3 
b/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD.3
index 3915385ac..80e2cced5 100644
--- a/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD.3
+++ b/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -39,7 +39,7 @@ All
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.3 
b/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.3
index d042d7d7e..727a01013 100644
--- a/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -36,7 +36,7 @@ All
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD.3 
b/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD.3
index b30e1c183..93c5238d8 100644
--- a/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD.3
+++ b/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -38,7 +38,7 @@ sensible variable type.
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.3 
b/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.3
index 2c574b44e..f963d9029 100644
--- a/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -35,7 +35,7 @@ that curl measured for the complete download. Measured in 
bytes/second.
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD.3 
b/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD.3
index 5ab3d92fe..775091e96 100644
--- a/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD.3
+++ b/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -38,7 +38,7 @@ sensible variable type.
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3 
b/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3
index 7959222d3..c8ada230a 100644
--- a/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -35,7 +35,7 @@ curl measured for the complete upload. Measured in 
bytes/second.
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* Perform the request */
   res = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/GNURLINFO_SSL_ENGINES.3 
b/docs/libcurl/opts/GNURLINFO_SSL_ENGINES.3
index 9a0120bdf..640cc0ebc 100644
--- a/docs/libcurl/opts/GNURLINFO_SSL_ENGINES.3
+++ b/docs/libcurl/opts/GNURLINFO_SSL_ENGINES.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3 
b/docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3
index 5b4d64341..a71efe758 100644
--- a/docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3 
b/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3
index 6ac4707c8..0335846f9 100644
--- a/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME_T.3 
b/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME_T.3
index db71fd8e2..da8e17e9e 100644
--- a/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_TLS_SESSION.3 
b/docs/libcurl/opts/GNURLINFO_TLS_SESSION.3
index 293fb0217..0ad56e4ab 100644
--- a/docs/libcurl/opts/GNURLINFO_TLS_SESSION.3
+++ b/docs/libcurl/opts/GNURLINFO_TLS_SESSION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3 
b/docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3
index c4674e75b..99129fb77 100644
--- a/docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3
+++ b/docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3 
b/docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3
index bab982cdc..54d334b2a 100644
--- a/docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLINFO_TOTAL_TIME_T.3 
b/docs/libcurl/opts/GNURLINFO_TOTAL_TIME_T.3
index 70cd7e567..330cd34ca 100644
--- a/docs/libcurl/opts/GNURLINFO_TOTAL_TIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_TOTAL_TIME_T.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 
b/docs/libcurl/opts/GNURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
index 4da4fed01..e30fd84e3 100644
--- a/docs/libcurl/opts/GNURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/GNURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 
b/docs/libcurl/opts/GNURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
index 884cb1d72..3c9201c6d 100644
--- a/docs/libcurl/opts/GNURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/GNURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_MAXCONNECTS.3 
b/docs/libcurl/opts/GNURLMOPT_MAXCONNECTS.3
index 942918aca..14cc849fa 100644
--- a/docs/libcurl/opts/GNURLMOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/GNURLMOPT_MAXCONNECTS.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_MAX_CONCURRENT_STREAMS.3 
b/docs/libcurl/opts/GNURLMOPT_MAX_CONCURRENT_STREAMS.3
index 3e59209ad..ced56abfd 100644
--- a/docs/libcurl/opts/GNURLMOPT_MAX_CONCURRENT_STREAMS.3
+++ b/docs/libcurl/opts/GNURLMOPT_MAX_CONCURRENT_STREAMS.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_MAX_HOST_CONNECTIONS.3 
b/docs/libcurl/opts/GNURLMOPT_MAX_HOST_CONNECTIONS.3
index 13455c71b..d2b9290c7 100644
--- a/docs/libcurl/opts/GNURLMOPT_MAX_HOST_CONNECTIONS.3
+++ b/docs/libcurl/opts/GNURLMOPT_MAX_HOST_CONNECTIONS.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_MAX_PIPELINE_LENGTH.3 
b/docs/libcurl/opts/GNURLMOPT_MAX_PIPELINE_LENGTH.3
index 63a856a3b..de0d7095f 100644
--- a/docs/libcurl/opts/GNURLMOPT_MAX_PIPELINE_LENGTH.3
+++ b/docs/libcurl/opts/GNURLMOPT_MAX_PIPELINE_LENGTH.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_MAX_TOTAL_CONNECTIONS.3 
b/docs/libcurl/opts/GNURLMOPT_MAX_TOTAL_CONNECTIONS.3
index 733ba0293..45733cd6f 100644
--- a/docs/libcurl/opts/GNURLMOPT_MAX_TOTAL_CONNECTIONS.3
+++ b/docs/libcurl/opts/GNURLMOPT_MAX_TOTAL_CONNECTIONS.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_PIPELINING.3 
b/docs/libcurl/opts/GNURLMOPT_PIPELINING.3
index 95d0aad05..3e71a23e4 100644
--- a/docs/libcurl/opts/GNURLMOPT_PIPELINING.3
+++ b/docs/libcurl/opts/GNURLMOPT_PIPELINING.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_PIPELINING_SERVER_BL.3 
b/docs/libcurl/opts/GNURLMOPT_PIPELINING_SERVER_BL.3
index 46bce5f63..47c142854 100644
--- a/docs/libcurl/opts/GNURLMOPT_PIPELINING_SERVER_BL.3
+++ b/docs/libcurl/opts/GNURLMOPT_PIPELINING_SERVER_BL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_PIPELINING_SITE_BL.3 
b/docs/libcurl/opts/GNURLMOPT_PIPELINING_SITE_BL.3
index ab42861e3..5856d43a1 100644
--- a/docs/libcurl/opts/GNURLMOPT_PIPELINING_SITE_BL.3
+++ b/docs/libcurl/opts/GNURLMOPT_PIPELINING_SITE_BL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_PUSHDATA.3 
b/docs/libcurl/opts/GNURLMOPT_PUSHDATA.3
index 82ec928ae..5f6586a5c 100644
--- a/docs/libcurl/opts/GNURLMOPT_PUSHDATA.3
+++ b/docs/libcurl/opts/GNURLMOPT_PUSHDATA.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_PUSHFUNCTION.3 
b/docs/libcurl/opts/GNURLMOPT_PUSHFUNCTION.3
index b9d5efcdc..5c15f9973 100644
--- a/docs/libcurl/opts/GNURLMOPT_PUSHFUNCTION.3
+++ b/docs/libcurl/opts/GNURLMOPT_PUSHFUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_SOCKETDATA.3 
b/docs/libcurl/opts/GNURLMOPT_SOCKETDATA.3
index 10bff8bd7..2f1a9a1cc 100644
--- a/docs/libcurl/opts/GNURLMOPT_SOCKETDATA.3
+++ b/docs/libcurl/opts/GNURLMOPT_SOCKETDATA.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_SOCKETFUNCTION.3 
b/docs/libcurl/opts/GNURLMOPT_SOCKETFUNCTION.3
index cd7b49dce..dd70220b4 100644
--- a/docs/libcurl/opts/GNURLMOPT_SOCKETFUNCTION.3
+++ b/docs/libcurl/opts/GNURLMOPT_SOCKETFUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_TIMERDATA.3 
b/docs/libcurl/opts/GNURLMOPT_TIMERDATA.3
index 29ad19160..0e54ed23c 100644
--- a/docs/libcurl/opts/GNURLMOPT_TIMERDATA.3
+++ b/docs/libcurl/opts/GNURLMOPT_TIMERDATA.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLMOPT_TIMERFUNCTION.3 
b/docs/libcurl/opts/GNURLMOPT_TIMERFUNCTION.3
index 1e2d64862..46d5b5157 100644
--- a/docs/libcurl/opts/GNURLMOPT_TIMERFUNCTION.3
+++ b/docs/libcurl/opts/GNURLMOPT_TIMERFUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3 
b/docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3
index fbb25c4f6..ccb644a16 100644
--- a/docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3
+++ b/docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_ACCEPTTIMEOUT_MS.3 
b/docs/libcurl/opts/GNURLOPT_ACCEPTTIMEOUT_MS.3
index d74e14960..2c1e09df4 100644
--- a/docs/libcurl/opts/GNURLOPT_ACCEPTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/GNURLOPT_ACCEPTTIMEOUT_MS.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3 
b/docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3
index 2586b013d..f2be9198d 100644
--- a/docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3
+++ b/docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -82,7 +82,7 @@ HTTP
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* enable all supported built-in compressions */
   curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "");
diff --git a/docs/libcurl/opts/GNURLOPT_ADDRESS_SCOPE.3 
b/docs/libcurl/opts/GNURLOPT_ADDRESS_SCOPE.3
index 75467fe20..706a24e4e 100644
--- a/docs/libcurl/opts/GNURLOPT_ADDRESS_SCOPE.3
+++ b/docs/libcurl/opts/GNURLOPT_ADDRESS_SCOPE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_ALTSVC.3 
b/docs/libcurl/opts/GNURLOPT_ALTSVC.3
index d1d44629e..9ba1e7ef0 100644
--- a/docs/libcurl/opts/GNURLOPT_ALTSVC.3
+++ b/docs/libcurl/opts/GNURLOPT_ALTSVC.3
@@ -5,11 +5,11 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -29,11 +29,6 @@ CURLOPT_ALTSVC \- set alt-svc cache file name
 
 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ALTSVC, char *filename);
 .fi
-.SH EXPERIMENTAL
-Warning: this feature is early code and is marked as experimental. It can only
-be enabled by explicitly telling configure with \fB--enable-alt-svc\fP. You are
-advised to not ship this in production before the experimental label is
-removed.
 .SH DESCRIPTION
 Pass in a pointer to a \fIfilename\fP to instruct libcurl to use that file as
 the Alt-Svc cache to read existing cache contents from and possibly also write
diff --git a/docs/libcurl/opts/GNURLOPT_ALTSVC_CTRL.3 
b/docs/libcurl/opts/GNURLOPT_ALTSVC_CTRL.3
index 287da646e..6dc10bbc1 100644
--- a/docs/libcurl/opts/GNURLOPT_ALTSVC_CTRL.3
+++ b/docs/libcurl/opts/GNURLOPT_ALTSVC_CTRL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -27,7 +27,6 @@ CURLOPT_ALTSVC_CTRL \- control alt-svc behavior
 .nf
 #include <gnurl/curl.h>
 
-#define CURLALTSVC_IMMEDIATELY  (1<<0)
 #define CURLALTSVC_READONLYFILE (1<<2)
 #define CURLALTSVC_H1           (1<<3)
 #define CURLALTSVC_H2           (1<<4)
@@ -35,11 +34,6 @@ CURLOPT_ALTSVC_CTRL \- control alt-svc behavior
 
 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ALTSVC_CTRL, long bitmask);
 .fi
-.SH EXPERIMENTAL
-Warning: this feature is early code and is marked as experimental. It can only
-be enabled by explicitly telling configure with \fB--enable-alt-svc\fP. You are
-advised to not ship this in production before the experimental label is
-removed.
 .SH DESCRIPTION
 Populate the long \fIbitmask\fP with the correct set of features to instruct
 libcurl how to handle Alt-Svc for the transfers using this handle.
@@ -50,10 +44,6 @@ origin is properly hosted over HTTPS. These requirements are 
there to make
 sure both the source and the destination are legitimate.
 
 Setting any bit will enable the alt-svc engine.
-.IP "CURLALTSVC_IMMEDIATELY"
-If an Alt-Svc: header is received, this instructs libcurl to switch to one of
-those alternatives asap rather than to save it and use for the next
-request. (Not currently supported).
 .IP "CURLALTSVC_READONLYFILE"
 Do not write the alt-svc cache back to the file specified with
 \fICURLOPT_ALTSVC(3)\fP even if it gets updated. By default a file specified
diff --git a/docs/libcurl/opts/GNURLOPT_APPEND.3 
b/docs/libcurl/opts/GNURLOPT_APPEND.3
index 69e293191..65eee1ea1 100644
--- a/docs/libcurl/opts/GNURLOPT_APPEND.3
+++ b/docs/libcurl/opts/GNURLOPT_APPEND.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_AUTOREFERER.3 
b/docs/libcurl/opts/GNURLOPT_AUTOREFERER.3
index 9f0f2f527..77ab5ec1f 100644
--- a/docs/libcurl/opts/GNURLOPT_AUTOREFERER.3
+++ b/docs/libcurl/opts/GNURLOPT_AUTOREFERER.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -39,7 +39,7 @@ HTTP
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin";);
 
   /* follow redirects */
   curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
diff --git a/docs/libcurl/opts/GNURLOPT_BUFFERSIZE.3 
b/docs/libcurl/opts/GNURLOPT_BUFFERSIZE.3
index 1607d02de..240fd5d02 100644
--- a/docs/libcurl/opts/GNURLOPT_BUFFERSIZE.3
+++ b/docs/libcurl/opts/GNURLOPT_BUFFERSIZE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CAINFO.3 
b/docs/libcurl/opts/GNURLOPT_CAINFO.3
index 83a86a643..44ae70232 100644
--- a/docs/libcurl/opts/GNURLOPT_CAINFO.3
+++ b/docs/libcurl/opts/GNURLOPT_CAINFO.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CAPATH.3 
b/docs/libcurl/opts/GNURLOPT_CAPATH.3
index 17ff2fb47..bf089b109 100644
--- a/docs/libcurl/opts/GNURLOPT_CAPATH.3
+++ b/docs/libcurl/opts/GNURLOPT_CAPATH.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CERTINFO.3 
b/docs/libcurl/opts/GNURLOPT_CERTINFO.3
index 0aba17e7c..a3d074616 100644
--- a/docs/libcurl/opts/GNURLOPT_CERTINFO.3
+++ b/docs/libcurl/opts/GNURLOPT_CERTINFO.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CHUNK_BGN_FUNCTION.3 
b/docs/libcurl/opts/GNURLOPT_CHUNK_BGN_FUNCTION.3
index a4ca84936..6f14562ea 100644
--- a/docs/libcurl/opts/GNURLOPT_CHUNK_BGN_FUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_CHUNK_BGN_FUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CHUNK_DATA.3 
b/docs/libcurl/opts/GNURLOPT_CHUNK_DATA.3
index 04572f405..3fdc26bf0 100644
--- a/docs/libcurl/opts/GNURLOPT_CHUNK_DATA.3
+++ b/docs/libcurl/opts/GNURLOPT_CHUNK_DATA.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CHUNK_END_FUNCTION.3 
b/docs/libcurl/opts/GNURLOPT_CHUNK_END_FUNCTION.3
index d99d53e2e..69322bf68 100644
--- a/docs/libcurl/opts/GNURLOPT_CHUNK_END_FUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_CHUNK_END_FUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CLOSESOCKETDATA.3 
b/docs/libcurl/opts/GNURLOPT_CLOSESOCKETDATA.3
index dd9e69594..7772996d6 100644
--- a/docs/libcurl/opts/GNURLOPT_CLOSESOCKETDATA.3
+++ b/docs/libcurl/opts/GNURLOPT_CLOSESOCKETDATA.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CLOSESOCKETFUNCTION.3 
b/docs/libcurl/opts/GNURLOPT_CLOSESOCKETFUNCTION.3
index f7d8d45b4..41b0fdd97 100644
--- a/docs/libcurl/opts/GNURLOPT_CLOSESOCKETFUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_CLOSESOCKETFUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT.3 
b/docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT.3
index 60ee364f7..ca8d6f00c 100644
--- a/docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT.3
+++ b/docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -47,7 +47,7 @@ All
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* complete connection within 10 seconds */
   curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10L);
diff --git a/docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT_MS.3 
b/docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT_MS.3
index da836e0c8..d8a0ac58e 100644
--- a/docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/GNURLOPT_CONNECTTIMEOUT_MS.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -47,7 +47,7 @@ All
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* complete connection within 10000 milliseconds */
   curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 10000L);
diff --git a/docs/libcurl/opts/GNURLOPT_CONNECT_ONLY.3 
b/docs/libcurl/opts/GNURLOPT_CONNECT_ONLY.3
index 6e7962760..9ee9654e2 100644
--- a/docs/libcurl/opts/GNURLOPT_CONNECT_ONLY.3
+++ b/docs/libcurl/opts/GNURLOPT_CONNECT_ONLY.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CONNECT_TO.3 
b/docs/libcurl/opts/GNURLOPT_CONNECT_TO.3
index a54121001..63532347a 100644
--- a/docs/libcurl/opts/GNURLOPT_CONNECT_TO.3
+++ b/docs/libcurl/opts/GNURLOPT_CONNECT_TO.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -93,7 +93,7 @@ connect_to = curl_slist_append(NULL, 
"example.com::server1.example.com:");
 curl = curl_easy_init();
 if(curl) {
   curl_easy_setopt(curl, CURLOPT_CONNECT_TO, connect_to);
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   curl_easy_perform(curl);
 
diff --git a/docs/libcurl/opts/GNURLOPT_CONV_FROM_NETWORK_FUNCTION.3 
b/docs/libcurl/opts/GNURLOPT_CONV_FROM_NETWORK_FUNCTION.3
index 783395aec..dd1f32ad7 100644
--- a/docs/libcurl/opts/GNURLOPT_CONV_FROM_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_CONV_FROM_NETWORK_FUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CONV_FROM_UTF8_FUNCTION.3 
b/docs/libcurl/opts/GNURLOPT_CONV_FROM_UTF8_FUNCTION.3
index 42c0a976a..64ce846b5 100644
--- a/docs/libcurl/opts/GNURLOPT_CONV_FROM_UTF8_FUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_CONV_FROM_UTF8_FUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CONV_TO_NETWORK_FUNCTION.3 
b/docs/libcurl/opts/GNURLOPT_CONV_TO_NETWORK_FUNCTION.3
index b2a0629b4..5e81d8f41 100644
--- a/docs/libcurl/opts/GNURLOPT_CONV_TO_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_CONV_TO_NETWORK_FUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_COOKIE.3 
b/docs/libcurl/opts/GNURLOPT_COOKIE.3
index 3a2a1967e..49937b430 100644
--- a/docs/libcurl/opts/GNURLOPT_COOKIE.3
+++ b/docs/libcurl/opts/GNURLOPT_COOKIE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -66,7 +66,7 @@ HTTP
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   curl_easy_setopt(curl, CURLOPT_COOKIE, "tool=curl; fun=yes;");
 
diff --git a/docs/libcurl/opts/GNURLOPT_COOKIEFILE.3 
b/docs/libcurl/opts/GNURLOPT_COOKIEFILE.3
index 50298e550..369037b91 100644
--- a/docs/libcurl/opts/GNURLOPT_COOKIEFILE.3
+++ b/docs/libcurl/opts/GNURLOPT_COOKIEFILE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -65,7 +65,7 @@ HTTP
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin";);
 
   /* get cookies from an existing file */
   curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/tmp/cookies.txt");
@@ -78,7 +78,7 @@ if(curl) {
 .SH "Cookie file format"
 The cookie file format and general cookie concepts in curl are described in
 the HTTP-COOKIES.md file, also hosted online here:
-https://curl.haxx.se/docs/http-cookies.html
+https://curl.se/docs/http-cookies.html
 .SH AVAILABILITY
 As long as HTTP is supported
 .SH RETURN VALUE
diff --git a/docs/libcurl/opts/GNURLOPT_COOKIEJAR.3 
b/docs/libcurl/opts/GNURLOPT_COOKIEJAR.3
index 0a6f60ba0..849a09630 100644
--- a/docs/libcurl/opts/GNURLOPT_COOKIEJAR.3
+++ b/docs/libcurl/opts/GNURLOPT_COOKIEJAR.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -57,7 +57,7 @@ HTTP
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin";);
 
   /* export cookies to this file when closing the handle */
   curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "/tmp/cookies.txt");
diff --git a/docs/libcurl/opts/GNURLOPT_COOKIELIST.3 
b/docs/libcurl/opts/GNURLOPT_COOKIELIST.3
index fe0c19380..45902351e 100644
--- a/docs/libcurl/opts/GNURLOPT_COOKIELIST.3
+++ b/docs/libcurl/opts/GNURLOPT_COOKIELIST.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -107,7 +107,7 @@ curl_easy_cleanup(curl);  /* cookies exported to 
cookies.txt */
 .SH "Cookie file format"
 The cookie file format and general cookie concepts in curl are described in
 the HTTP-COOKIES.md file, also hosted online here:
-https://curl.haxx.se/docs/http-cookies.html
+https://curl.se/docs/http-cookies.html
 .SH AVAILABILITY
 ALL was added in 7.14.1
 
diff --git a/docs/libcurl/opts/GNURLOPT_COOKIESESSION.3 
b/docs/libcurl/opts/GNURLOPT_COOKIESESSION.3
index 5911c949d..8725f3691 100644
--- a/docs/libcurl/opts/GNURLOPT_COOKIESESSION.3
+++ b/docs/libcurl/opts/GNURLOPT_COOKIESESSION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -45,7 +45,7 @@ HTTP
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin";);
 
   /* new "session", don't load session cookies */
   curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 1L);
diff --git a/docs/libcurl/opts/GNURLOPT_COPYPOSTFIELDS.3 
b/docs/libcurl/opts/GNURLOPT_COPYPOSTFIELDS.3
index 9a6940663..057354b44 100644
--- a/docs/libcurl/opts/GNURLOPT_COPYPOSTFIELDS.3
+++ b/docs/libcurl/opts/GNURLOPT_COPYPOSTFIELDS.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -50,7 +50,7 @@ HTTP(S)
 CURL *curl = curl_easy_init();
 if(curl) {
   char local_buffer[1024]="data to send";
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 
   /* size of the data to copy from the buffer and send in the request */
   curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 12L);
diff --git a/docs/libcurl/opts/GNURLOPT_CRLF.3 
b/docs/libcurl/opts/GNURLOPT_CRLF.3
index 461a295df..1b030b941 100644
--- a/docs/libcurl/opts/GNURLOPT_CRLF.3
+++ b/docs/libcurl/opts/GNURLOPT_CRLF.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CRLFILE.3 
b/docs/libcurl/opts/GNURLOPT_CRLFILE.3
index bffc55b8a..49a56c53e 100644
--- a/docs/libcurl/opts/GNURLOPT_CRLFILE.3
+++ b/docs/libcurl/opts/GNURLOPT_CRLFILE.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_CURLU.3 
b/docs/libcurl/opts/GNURLOPT_CURLU.3
index 4721ed6ac..f673d003d 100644
--- a/docs/libcurl/opts/GNURLOPT_CURLU.3
+++ b/docs/libcurl/opts/GNURLOPT_CURLU.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -50,7 +50,7 @@ CURLU *urlp = curl_url();
 int res = 0;
 if(curl) {
 
-  res = curl_url_set(urlp, CURLUPART_URL, "http://example.com";, 0);
+  res = curl_url_set(urlp, CURLUPART_URL, "https://example.com";, 0);
 
   curl_easy_setopt(handle, CURLOPT_CURLU, urlp);
 
diff --git a/docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3 
b/docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3
index 1bd5020c5..133ae9286 100644
--- a/docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3
+++ b/docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -91,7 +91,7 @@ HTTP, FTP, IMAP, POP3 and SMTP
 .nf
 CURL *curl = curl_easy_init();
 if(curl) {
-  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin";);
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin";);
 
   /* DELETE the given path */
   curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
diff --git a/docs/libcurl/opts/GNURLOPT_DEBUGDATA.3 
b/docs/libcurl/opts/GNURLOPT_DEBUGDATA.3
index 1435ee039..a4746f51c 100644
--- a/docs/libcurl/opts/GNURLOPT_DEBUGDATA.3
+++ b/docs/libcurl/opts/GNURLOPT_DEBUGDATA.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -36,7 +36,7 @@ NULL
 .SH PROTOCOLS
 All
 .SH EXAMPLE
-https://curl.haxx.se/libcurl/c/debug.html
+https://curl.se/libcurl/c/debug.html
 .SH AVAILABILITY
 Always
 .SH RETURN VALUE
diff --git a/docs/libcurl/opts/GNURLOPT_DEBUGFUNCTION.3 
b/docs/libcurl/opts/GNURLOPT_DEBUGFUNCTION.3
index c470cdac1..c20a9ed8b 100644
--- a/docs/libcurl/opts/GNURLOPT_DEBUGFUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_DEBUGFUNCTION.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
@@ -166,7 +166,7 @@ int main(void)
     /* example.com is redirected, so we tell libcurl to follow redirection */
     curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
 
-    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/";);
+    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
     res = curl_easy_perform(curl);
     /* Check for errors */
     if(res != CURLE_OK)
diff --git a/docs/libcurl/opts/GNURLOPT_DEFAULT_PROTOCOL.3 
b/docs/libcurl/opts/GNURLOPT_DEFAULT_PROTOCOL.3
index 92f4fc253..760b180bf 100644
--- a/docs/libcurl/opts/GNURLOPT_DEFAULT_PROTOCOL.3
+++ b/docs/libcurl/opts/GNURLOPT_DEFAULT_PROTOCOL.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_DIRLISTONLY.3 
b/docs/libcurl/opts/GNURLOPT_DIRLISTONLY.3
index 8ecb04fe2..81722df09 100644
--- a/docs/libcurl/opts/GNURLOPT_DIRLISTONLY.3
+++ b/docs/libcurl/opts/GNURLOPT_DIRLISTONLY.3
@@ -9,7 +9,7 @@
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
-.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" * are also available at https://curl.se/docs/copyright.html.
 .\" *
 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 .\" * copies of the Software, and permit persons to whom the Software is
diff --git a/docs/libcurl/opts/GNURLOPT_DISALLOW_USERNAME_IN_URL.3 
b/docs/libcurl/opts/GNURLOPT_DISALLOW_USERNAME_IN_URL.3
index a70e95d1a..46e1ffba4 100644
--- a/docs/libcurl/opts/GNURLOPT_DISALLOW_USERNAME_IN_URL.3
+++ b/docs/libcurl/opts/GNURLOPT_DISALLOW_USERNAME_IN_URL.3
@@ -