master
build: assume POSIX `select()` is available
tidy-up: comments, messages, formatting
DoH: improvements
build: replace `assert()` with `DEBUGASSERT()`, where missing
vdns: directory for all DNS related sources
mbedtls: enforce verifyhost when verifypeer is disabled
unit tests: extract "private" prototypes at build time
cmake: drop logic for `GNU/kFreeBSD` systems
Makefile.am: replace stray `:=` with `=` [ci skip]
badwords: rework exceptions, fix many of them
tidy-up: typos, comment nits
altsvc: use Curl_peer in processing
lib: fix formatting nits (part 2)
api: fix printf format specifier
hardening: add API guards
tidy-up: apply clang-format fixes
tidy-up: miscellaneous
build: tidy up and dedupe `strdup` functions
bufref: add Curl_bufref_dup that returns a strdup()ed version
tidy-up: use more `static`, `sizeof()`, `char[]`, double-const
HTTP/3: add proxy CONNECT and MASQUE CONNECT-UDP support (ngtcp2 QUIC)
cf-dns: resolve on filter demand
lib: add "Curl_" prefix to two global functions
websockets: buffer ugprade data at connection level
cf-setup: own source file
cf-socket: disable TCP SYN retransmissions for localhost on Windows
cf-socket: make Curl_addr2string static
conncache: conn upkeep/alive: move and enhance
conncache: connection healthiness fix
websocket: pause writing and meta data fix
content_encoding: avoid strcpy
cookie: refuse to load cookies set against a PSL domain
src: safely clear certain buffers
cfilters: fix event-based connection shutdown
tidy-up: prefer "initialize" with a 'z'
dnscache: use Curl_peer in resolve and dnscache operations
ctype: exclude control bytes from ISPRINT and ISGRAPH
curl_ed25519: add GnuTLS support (via nettle, hogweed)
httpsig: add RFC 9421 HTTP Message Signatures support
copyright: update all copyright lines and remove year ranges
tidy-up: drop stray comparisons with literal zero
tidy-up: fix comment indentation
curl_get_line: error out on read errors
spnego: block NTLM fallback in SPNEGO negotiation
protocol source, all about protocols and uri schemes
stop using the word 'just'
sasl: fix zero-length response encoding
build: require `!NDEBUG` for debug-enabled (aka development) builds
api-guard: check lock on session cache
httpsrr: DoH with HTTPS, fix response handling
lib: client writer tweaks
ws: pause/unpause write handling
tidy-up: sort TLS backends, distros, alphabetically
unittests: cleanups
lib: move all UNITTEST prototypes to C files (cont.)
build: merge TrackMemory (`CURLDEBUG`) into debug-enabled option
tidy-up: use `CURL_CSTRLEN()` macro on more static strings
formdata: replace stray camelcase local function names
clang-tidy: add arg names to prototypes where missing
clang-tidy: sync argument names in prototype and definition
tidy-up: use `curlx_safefree()`
lib: refactor the type of funcs which have useless return and checks
connect: connection close tweaks
hsts: duplicate live HSTS data in curl_easy_duphandle
http1: fix potential NULL dereference in `Curl_h1_req_parse_read()`
http2: make server push transfers inherit share from parent
http: refactor http_on_response into sub functions
lib: move all UNITTEST prototypes to C files
build: drop duplicate include `curl/curl.h` and others
lib: transfer origin and proxy handling
idn: restore `MultiByteToWideChar()` `MB_ERR_INVALID_CHARS` flag
idn: replace header guards with forward declaration
tidy-up: docs, comments, typos, whitespace
badwords: prefer 'workaround' (without hyphen)
ldap_do: refactor error handling and simplify show_vals function
multi: add notifications API
build: tidy up and improve versioned-symbols options
llist: constify struct pointers
gnutls: fix more nettle 4+ compatibility issues
md5: replace magic numbers with `MD5_DIGEST_LEN`
tidy-up: drop redundant `!= NULL` syntax
mime.c: avoid integer overflow in base64 size calculation
tidy-up: macro parentheses
url: rename Curl_init_do => Curl_init_transfer
netrc: remember and check filename loaded
netrc: scanner refactor
openldap: handle Curl_sasl_continue() returns better
tidy-up: add spaces around equal operators where missing
urlpieces: remove members that live in peers/creds
pingpong: reject nul byte in server response line
progress: fx CURLINFO time reporting
websockets: auto-tunnel through http proxy
psl: update a comment to understandable English
tool_doswin: add stdin relay auth
lib: ratelimit timestamps
lib: reader/writer fixes
rtsp: refactor method handling and improve error checks
clang-tidy: check `bugprone-macro-parentheses`, fix fallouts
tidy-up: rename `Curl_safefree()`/`tool_safefree()` to `curlx_safefree()`
slist: constify Curl_slist_append_nodup() string argument
lib: make SMB support opt-in
socket: use name `sockerr` for socket error variables
creds: add sasl service name
build: use more `const`
urlapi: improved return codes
windows: determine `RtlVerifyVersionInfo` address on global init
timeval: make `Curl_freq` variable static (Windows)
tidy-up: syntax and code nits
thrdpool: retry failed thread starts while items wait
lib: make resolving HTTPS DNS records reliable:
asyn-thrdd: retry link-local ipv6 if missing scope id
uint-spbset: reused empty chunks
urlapi: clear password buffer on error path