Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
482 commits
Select commit Hold shift + click to select a range
6ee40bd
CURLOPT_POSTFIELDSIZE.md: improve wording
bagder Sep 24, 2026
064cdf5
libssh: work with empty priv_key
And-yW Sep 24, 2026
92a7da5
GHA: update dependency pyrefly to v1.3.1
renovate[bot] Sep 24, 2026
efc5e67
GHA: update dependency cloudflare/quiche to v0.30.0
renovate[bot] Sep 24, 2026
bc7863a
mbedtls: resend length check
icing Sep 24, 2026
3b4f5bb
peer: parsing a zoneid as number fix
icing Sep 23, 2026
6e5dee3
ssls: validate input arguments in import, export, and unpack
filtede98 Sep 23, 2026
ed27269
GHA/macos: add Xcode 27, drop macos-14
vszakats Sep 24, 2026
8940c14
cw-out: recheck callbacks for each call
icing Sep 24, 2026
ee2959a
httpsrr+ech: check target and port
icing Sep 24, 2026
d745b13
tool_operate: set stdin non-blocking unconditionally
bagder Sep 24, 2026
d4dc5b4
ftplistparser: when wildcarding, skip files with slashes
bagder Sep 24, 2026
664d00d
ws: do not auto-pong in raw mode
filtede98 Sep 22, 2026
1845ae1
RELEASE-NOTES: synced
bagder Sep 24, 2026
dd3e3fc
cpool: do not use admin handle for conn lookup
icing Sep 25, 2026
44835a3
rustls: break recv loop on empty plain text
icing Sep 25, 2026
c28aeff
vtls_scache: remember lock state locally
icing Sep 25, 2026
a2a0e4e
cf-ngtcp2-cmn: fix possible `-Wdeclaration-after-statement`
vszakats Sep 25, 2026
57fffc3
appveyor: drop two no-SSL jobs
vszakats Sep 25, 2026
89bcecd
GHA/linux: move two steps to the background
vszakats Sep 24, 2026
ac29fbe
GHA/windows: bump stunnel to 5.82
vszakats Sep 25, 2026
5c61b17
apple-sectrust: check ocsp copy alloc
icing Sep 25, 2026
bdaff23
imap: do size checks using 64-bit math
bagder Sep 25, 2026
4a17fbf
KNOWN_BUGS: drop the curl-config private details entry
xhon-pelushi Sep 16, 2026
790a219
http2: fix reset after 1xx response
icing Sep 25, 2026
404eae3
GHA/http3-linux: do not set `BORINGSSL_VERSION` for quiche builds
vszakats Sep 25, 2026
87f2436
GHA: update dependency rustls/rustls-ffi to v0.15.4
renovate[bot] Sep 25, 2026
9fab110
GHA/windows: fix MSVC arm job after upstream runner bump
vszakats Sep 25, 2026
e262540
GHA/linux: use Rustls bare zip package (was: .deb)
vszakats Sep 25, 2026
49b34a0
GHA: update dependency wolfSSL/wolfssl to v5.9.4
renovate[bot] Sep 25, 2026
5f921cb
GHA/linux: switch Rustls valgrind jobs to arm64 for >2x performance
vszakats Sep 24, 2026
d79df57
tests: require valgrind 3+ (2007-08-03)
vszakats Sep 25, 2026
3a0d22a
GHA/linux: skip test 1674 in valgrind jobs
vszakats Sep 25, 2026
c63d1c0
DEPENDENCIES.md: fix release date for valgrind 3.0.0 to 2005-08-03
vszakats Sep 25, 2026
98519da
GHA/linux: pin ubuntu-24.04 in jobs where it makes sense
vszakats Sep 25, 2026
941cda6
mprintf: make mprintf() and mfprintf() return -1 on error
bagder Sep 25, 2026
47c08c8
GHA: update dependency cloudflare/quiche to v0.30.0 (revert)
vszakats Sep 26, 2026
1fd0191
GHA/http3-linux: reduce quiche cache blob size
vszakats Sep 26, 2026
a939614
GHA/curl-for-win: drop redundant env
vszakats Sep 26, 2026
0feb52b
cf-socket: adjust NO_SYN_RETRANSMISSIONS for older Windows
bagder Sep 25, 2026
755e36e
GHA/curl-for-win: switch to arm64 runners for Linux and Windows build…
vszakats Sep 26, 2026
49eaadd
http_aws_sigv4: fix the s3express service name
tiptenbrink Sep 26, 2026
7007a02
GHA/windows: try fixing mingw64 diffutils deleted upstream
vszakats Sep 27, 2026
cee47ee
cmake: link llvm stdc++ lib to AWS-LC/BoringSSL-specific feature dete…
vszakats Sep 27, 2026
bfd313e
GHA/linux: switch two remaining valgrind jobs to arm64 runners (for ~…
vszakats Sep 27, 2026
9c93316
quiche: fix building with quiche 0.30.0 in CI, update/extend build in…
vszakats Sep 24, 2026
b3640b0
GHA/windows: move Linux cross-builds to arm64 runners
vszakats Sep 27, 2026
b2799a4
schannel: fix `-Wextra-semi-stmt` with clang and extra debug enabled
vszakats Sep 28, 2026
e5218ee
GHA/windows: drop redundant verbose build option
vszakats Sep 28, 2026
29dfc2a
GHA/windows: replace legacy mingw64 jobs with ucrt64 and clang64
vszakats Sep 28, 2026
484e4e9
GHA/macos: add workaround to pass OS target version in GCC cmake jobs
vszakats Sep 27, 2026
c492678
apple: sync up version guard macro style
vszakats Sep 28, 2026
c2a94ba
socketpair: use `pipe2()` on Apple OSes (requires SDK 27)
vszakats Sep 24, 2026
c345611
pytest: silence pytest warnings
vszakats Sep 28, 2026
70a5eed
curl_setup.h: drop compatibility raw C flag `ENABLE_IPV6`
vszakats Sep 28, 2026
013c14a
cmake/Find*: drop deprecated compatibility config variables
vszakats Sep 28, 2026
f197dfd
GHA/windows: install Python for Cygwin tests
vszakats Sep 28, 2026
6ec29b5
ftpserver.pl: fix warnings when running test 804
vszakats Sep 28, 2026
852ebe5
test2072: enable on Cygwin/MSYS2
vszakats Sep 28, 2026
4a2bed0
GHA/windows: enable httpsig in Cygwin/MSYS2 jobs
vszakats Sep 28, 2026
82636cd
GHA/windows: install Python for a MSYS2/mingw job
vszakats Sep 28, 2026
37a6e61
GHA: bump required test minimums
vszakats Sep 28, 2026
87c5b26
DEPRECATE.md: reflect SMB removal
vszakats Sep 28, 2026
bca466c
apple: shorten versions in `__builtin_available()` calls
vszakats Sep 28, 2026
05aea50
sectrust: add guards for rest of Apple OS flavors
vszakats Sep 28, 2026
00be517
GHA/linux: reduce require tests to fit flaky stunnel fail
vszakats Sep 28, 2026
9a0b2e5
GHA: update dependency pyrefly to v1.3.2
renovate[bot] Sep 28, 2026
5c58f89
renovate.json: bump pyrefly once per month
vszakats Sep 28, 2026
657d7f1
tests: fix typos in a comment
ump45nose Sep 29, 2026
14037d1
GHA: bump msys2/setup-msys2 to v2.33.0, drop wolfssl workaround
vszakats Sep 29, 2026
be9e603
curlx_fopen: add macro to cast file mode
vszakats Sep 29, 2026
42ed22d
GHA/non-native: add 32-bit Android job
vszakats Sep 29, 2026
ea21cab
schannel: fix compiler warning `-Wstrict-aliasing` in ALPN code
vszakats Sep 29, 2026
92c3857
GHA/windows: merge 32-bit mingw job into the dl-mingw one
vszakats Sep 29, 2026
2277ef1
GHA/pkg-install: make `apt-get` less verbose again
vszakats Sep 29, 2026
e919448
GHA/windows: suppress MSYS2 deprecation warnings in dl-mingw jobs
vszakats Sep 29, 2026
da700c7
GHA/windows: reduce MSYS2/Cygwin builds
vszakats Sep 29, 2026
d48f2f4
vquic: use `CURLX_FILE_MODE()` in `Curl_qlogdir()`
vszakats Sep 29, 2026
e9e60e1
test5018: replace literal log dir with macro, to fix `runner.pm` Perl…
vszakats Sep 29, 2026
098db82
Revert "tool_operate: set stdin non-blocking unconditionally"
jay Sep 28, 2026
c2e283d
GHA: update dependency openssl/openssl to v4.0.3
renovate[bot] Sep 29, 2026
f1d662d
GHA: sync BoringSSL tarball source with Renovate trigger URL, bump ve…
vszakats Sep 29, 2026
5566d7a
GHA: drop redundant BoringSSL build subdirectory
vszakats Sep 29, 2026
39c8f9d
cmake: enable C++ library for GCC in AWS-LC/BoringSSL static builds
vszakats Sep 29, 2026
17ea04a
tests/http: use @classmethod when appropriate
dfandrich Sep 28, 2026
b37b3e5
GHA/linux: build and link BoringSSL statically
vszakats Sep 29, 2026
2bdaf35
peer: compare zoneid case sensitive
icing Sep 29, 2026
bb348b3
multi_ntfy: recheck callback on dispatch
icing Sep 29, 2026
a418f3f
GHA/linux: disable MD5 SSH tests with Homebrew libssh2
vszakats Sep 30, 2026
183ea8b
test2007: bump to use SHA256 public key hash (was: MD5)
vszakats Sep 30, 2026
69d924c
GHA/checksrc: install pyrefly via brew to save manual bumps
vszakats Sep 30, 2026
5e654e2
GHA/windows: reduce number MSYS2 package cache entries
vszakats Sep 29, 2026
8049695
GHA/windows: reuse pre-installed MSYS2 in MSVC arm64 job
vszakats Sep 30, 2026
410e444
GHA: drop `actionlint`, abandoned upstream
vszakats Sep 30, 2026
3ae15e6
GHA/windows: enable MSYS2 cache for MSVC Intel Win32 job
vszakats Sep 30, 2026
0b00631
GHA/linux: split long valgrind job into two
vszakats Sep 30, 2026
7de1340
tidy-up: miscellaneous
vszakats Aug 31, 2026
39e585e
curl-openssl.m4: sync LibreSSL detection method with rest of forks
vszakats Sep 25, 2026
8a9c494
apple: sync hash init calls, add comments
vszakats Sep 28, 2026
2b145f3
test2007: set `MSYS2_ARG_CONV_EXCL` to avoid flaky failures
vszakats Sep 30, 2026
60cf74f
tidy-up: null-terminator, NUL byte
vszakats Sep 28, 2026
0e017e0
GHA/linux: move GCC analyzer to the 2nd valgrind slice
vszakats Oct 1, 2026
ff1fa03
parsedate: validate NULL date pointer in curl_getdate
filtede98 Sep 29, 2026
94390cd
http_chunks: limit trailers size
icing Sep 29, 2026
5057074
http2: limit trailers and headers count
icing Sep 29, 2026
a65d5ae
socketpair: fix accept loop
icing Sep 29, 2026
62a6ee5
dnscache: check hostname on lookup
icing Sep 29, 2026
146698e
conncache: never discard a connection still in use
icing Sep 30, 2026
888a26a
urldata: shrink connectdata negotiate states
icing Sep 30, 2026
c951415
GHA/linux: bump Slackware container, re-enable SSL via GnuTLS
vszakats Oct 1, 2026
bc63c15
lib: replace `CURLX_FILE_MODE()` with `mode_t` cast
vszakats Sep 30, 2026
8fa50e0
GHA/linux: bump recent Alpine container to latest
vszakats Oct 1, 2026
9be300c
test/servers.pm: restrict h2/3 port reuse
icing Oct 1, 2026
bc4abc7
GHA/linux: make Intel C build more interesting
vszakats Oct 1, 2026
01d6471
runtests: add extra room for mininum number of tests in sliced jobs
vszakats Oct 1, 2026
f1b4d6c
GHA/http3-linux: replace URL using insecure redirects with secure alt…
vszakats Oct 1, 2026
ce42059
GHA/linux: fix misplaced Renovate annotation for nettle / gnutls
vszakats Oct 1, 2026
5f3e12f
GHA: update dependency gnutls/gnutls to v3.8.13
renovate[bot] Oct 1, 2026
1482b86
GHA/http3-linux: try `semver-coerced` in Renovate nettle version anno…
vszakats Oct 1, 2026
d4dc7d1
GHA/http3-linux: bump to gnutls/nettle 4.0
vszakats Oct 1, 2026
4e11d82
GHA: bump Actions and pips
dependabot[bot] Oct 1, 2026
4d36408
GHA/http3-linux: fix missing nghttp2 in 'AM openssl-prev' job
vszakats Oct 1, 2026
39ad9b0
GHA/distcheck: switch MSYS2 integration tests to ucrt64
vszakats Oct 1, 2026
a23a600
ws: check pointer args in curl_ws_recv
filtede98 Sep 23, 2026
318bd97
http2: init some callbacks for HTTP/2 push easy handles
icing Sep 30, 2026
978cce1
openssl: fix OpenSSL v4.1 no-deprecated build
MarcelRaad Sep 30, 2026
2621402
os400: use correct free function
icing Oct 1, 2026
7c732f5
GHA/distcheck: pass unix-style paths in MSYS2 configurations
vszakats Oct 2, 2026
66ea3f9
tests/cmake: suppress stderr in `if` expression
vszakats Oct 2, 2026
d460224
GHA/http3-linux: bump OpenSSL 3 to latest
vszakats Oct 2, 2026
7f147c6
renovate: move configuration file to .github subdir
vszakats Oct 2, 2026
c431936
GHA/linux: move one Linux clang-tidy job to arm64
vszakats Oct 2, 2026
9fd900c
GHA/linux: use automatic CPU arch for cached artifacts, related impro…
vszakats Oct 2, 2026
6b506de
GHA/linux: move the other Linux clang-tidy job to arm64
vszakats Oct 2, 2026
6c72371
GHA/http3-linux: add CPU and revision number to cache keys, switch 2 …
vszakats Oct 1, 2026
7da7436
GHA/codeql: switch Linux job to arm64
vszakats Oct 2, 2026
a75c217
spacecheck.pl: ensure files do not have their executable bit set
vszakats Oct 2, 2026
52d6355
GHA/windows: replace `diffie-hellman-group-exchange-sha256` with `dif…
vszakats Oct 2, 2026
2f642a7
tidy-up: drop broken Unicode codepoint links
vszakats Oct 3, 2026
21983c2
IPFS.md: replace sunset link, allowlist another one to avoid `mdlinkc…
vszakats Oct 3, 2026
7023964
docs: document and align the blocking situations
aeroyorch Sep 20, 2026
2678ea9
mdlinkcheck: pass `--retry-max-time` to avoid server-controlled long …
vszakats Oct 3, 2026
10a7e1c
GHA: move 7 checker jobs to arm64
vszakats Oct 2, 2026
61a31e0
http: simplify Curl_http_follow
bagder Oct 3, 2026
8680115
GHA/windows: bump dl-mingw gcc-16 toolchain
vszakats Oct 4, 2026
289f6a1
GHA: update dependency libressl/portable to v4.3.3
vszakats Oct 4, 2026
fd33638
lib: small performance tweaks
icing Sep 30, 2026
d56732f
KNOWN_BUGS: widen the aws-sigv4 payload hash entry
xhon-pelushi Sep 17, 2026
84b99b1
GHA: drop unused bot configs (stale-bot and lock-threads)
vszakats Oct 4, 2026
fbf3d86
tests: rename debug env to `CURL_DEBUG_VERSION`
vszakats Oct 4, 2026
e351db1
sshserver.pl: set `PerSourcePenalties no` when sshd supports it
vszakats Oct 4, 2026
6d01363
RELEASE-NOTES: synced
bagder Oct 4, 2026
5c3a833
GHA: update dependency pizlonator/fil-c to v0.686
renovate[bot] Oct 5, 2026
efcbd56
docs: SSL session import/file updates
icing Oct 1, 2026
1c9f1f4
dynhds: check size overflows
icing Oct 1, 2026
7f0bc7a
GHA: enable Renovate bumps for previous versions of mbedTLS and OpenSSL
vszakats Oct 5, 2026
307871f
GHA/http3-linux: downgrade to OpenSSL 3.5.x LTS (from 3.6.x)
vszakats Oct 5, 2026
30f5a2b
renovate: fix bump rule for OpenLDAP
vszakats Oct 5, 2026
13f4a36
renovate: drop redundant annotation tags
vszakats Oct 5, 2026
cc5ed55
renovate: fix bump rule for OpenLDAP (cont.)
vszakats Oct 5, 2026
3685da5
GHA: update dependency openldap/openldap to v2.7.1
renovate[bot] Oct 5, 2026
52fc4ac
cookie: accept and ignore values for 'secure' and 'httponly'
bagder Oct 5, 2026
b783adf
GHA: auto-bump stunnel, amissl, add comments to manually bumped deps
vszakats Oct 5, 2026
1cd2671
ngtcp2: use stream in userdata
icing Oct 5, 2026
753555d
retry.md: clarify that the server can override retry delay time
jay Oct 4, 2026
6d6bab9
schannel: handle empty tokens during renegotiation
dscho Oct 5, 2026
78c5061
GHA/https3-linux: isolate and mitigate arm64 compiler optimization bu…
vszakats Oct 5, 2026
45aea42
CI: sort target file information by filename
vszakats Oct 6, 2026
fe880e5
cookie: cookies for a PSL domain from jar just limits tailmatch
bagder Oct 6, 2026
4ff20ec
DEPRECATE: Common Name support in TLS certificates for OpenSSL
bagder Oct 6, 2026
e164492
GHA: update debian:bookworm-slim Docker digest to 7c7b2c9
renovate[bot] Oct 6, 2026
42376a7
pytest: set `PerSourcePenalties no` when sshd supports it
vszakats Oct 5, 2026
ed9a5f9
cshutdown: use ptrarray instead of llist
icing Oct 2, 2026
aeb3e9f
curl_multi_perform: doc update
icing Oct 6, 2026
0673aa2
url: check syntax before applying default-protocol
bagder Oct 5, 2026
65685bf
tool_util: add Unicode support to `tool_execpath()`
vszakats Oct 6, 2026
63f67c8
tool: add Unicode and long-filename support to `--create-dir` (Windows)
vszakats Feb 1, 2026
21b9f03
GHA/linux: run `randcurl` step in the background
vszakats Oct 1, 2026
e90bb2f
tests: clean up Python test code
dfandrich Oct 6, 2026
50d1aa4
RELEASE-NOTES: synced
bagder Oct 7, 2026
1c6dc73
config2setopts: rename define for maximum cookie header length
bagder Oct 6, 2026
d929543
http2: use stream in userdata
icing Oct 5, 2026
e08d306
websocket: error on EOS with incomplete frame
icing Sep 30, 2026
4b03329
easy: change event pollset construction
icing Oct 1, 2026
36a582d
http: reject empty header names
cmeister2 Oct 6, 2026
6c74687
connect: do not busy-loop in blocking connect without a timeout
aeroyorch Sep 21, 2026
11d0b20
multi: is_finished() fix
icing Oct 7, 2026
ffc1898
pytest: adjust threshold in test_20_11_crazy_pings to better pass on …
vszakats Oct 7, 2026
2f114dc
appveyor: sync debug option logic with GHA
vszakats Oct 7, 2026
413df33
GHA/non-native: fail early if `mport` did not complete the install step
vszakats Oct 7, 2026
09f9fed
cookie: accept and ignore empty property names in Set-Cookie
bagder Oct 7, 2026
d8363b7
tool: handling of "synthetic" errors
icing Oct 7, 2026
64fb3e7
gnutls: hardening
icing Oct 7, 2026
55652ad
openssl: hardening
icing Oct 7, 2026
954065b
unit1399: check microsecond precision across redirects
renanmpimentel Oct 5, 2026
20e7d0a
tests: add SFTP connection reuse tests
aeroyorch Oct 4, 2026
10bf036
share link: forget connection
cla7aye15I4nd Sep 7, 2026
e634352
cf-https-connect: re-arm the timer for the hard eyeballs timeout
nicolas-grekas Oct 2, 2026
b32baab
pingpong: schedule server response timeouts for the socket API
KurodaKayn Oct 3, 2026
15ad1b8
ECH: rework config, add test cases
icing Sep 28, 2026
bea2e5d
rustls: consume CURLOPT_SSLCERT_BLOB / CURLOPT_SSLKEY_BLOB in the rus…
ns-ylambert Sep 30, 2026
39b0693
websocket: auto PONG with client reader fix
icing Oct 7, 2026
582cdc8
pytest: start all servers early
icing Oct 8, 2026
b0a8bdb
ldap: tidy up variable scope, merge nested `#if`s
vszakats Oct 8, 2026
e8adc72
schannel: fix guard for old MSVC workaround
vszakats Oct 8, 2026
2874cc6
mqttd: work around bogus VS2019 32-bit compiler warning
vszakats Oct 7, 2026
424aa99
config2setopts: restore error on --proxy for proxy disabled builds
bagder Oct 8, 2026
5e20136
imap: close the connection on premature done instead of finalizing
MegaManSec Oct 9, 2026
1c19d96
pingpong: guard sendleft against a send reporting more than requested
MegaManSec Oct 9, 2026
354834b
connect: keep IP info and connect time when connect fails
iserdardursun Oct 8, 2026
24dfe31
cfilters: fail a send that reports more written than requested
MegaManSec Oct 9, 2026
1536ae8
pytest: fixture fixes
icing Oct 8, 2026
67662e2
mailmap: join Joushua's addresses
bagder Oct 9, 2026
f8423b9
THANKS-filter: drop "OSS-Fuzz", it is a service not someone to credit
bagder Oct 9, 2026
048ebab
cf-ngtcp2-cmn: drop debug output
bagder Oct 9, 2026
d37d79d
url: CURLOPT_INTERFACE fix connection reuse match
icing Oct 9, 2026
e94fb70
h3-proxy: teardown fix
icing Oct 9, 2026
c00a302
mbedtls: pass correct length for PEM/DER key blobs to mbedtls_pk_pars…
ns-ylambert Oct 5, 2026
686ec81
http_chunks: accept exactly 17 characters chunk-size
bagder Oct 9, 2026
d3e7caf
GHA/windows: drop unused `-ac` runtests options
vszakats Oct 9, 2026
098d3a0
runtests: unset `CURL_MEMDEBUG` for curl requests made to the CI API
vszakats Oct 9, 2026
82aea8c
GHA: update dependency awslabs/aws-lc to v5.11.0, ruff to v0.17.0
renovate[bot] Oct 10, 2026
2f3f99d
test1119, 1167: disable MSYS2 argument conversion
vszakats Oct 9, 2026
ce0fe71
GHA/non-native: lower pccritic score for FreeBSD jobs
vszakats Oct 10, 2026
b8f71d6
test428: skip when running on older MSYS2 versions
vszakats Oct 10, 2026
49f003f
unit1664: add workaround for VS2019 16.3 - VS2022 17.4 x64 miscompile
vszakats Oct 9, 2026
9b8e544
GHA: update dependency pyspelling to v2.13
renovate[bot] Oct 11, 2026
e197647
test1664: delete duplicate sub-test
vszakats Oct 11, 2026
70c084a
docs: note CAINFO/SSL_VERIFYPEER/SSL_VERIFYSTATUS effect on LDAP
vszakats Oct 8, 2026
6cd9bb6
VERSIONS/RELEASE-PROCEDURE: adjusted release details
bagder Oct 12, 2026
8b0744a
multi: adjust the cleanup order in multi_done
icing Oct 12, 2026
5e727ca
GnuTLS: remove our own OCSP signature verification
icing Oct 8, 2026
3c60b05
openssl: support X509 store caching when CApath is configured
jdymitarai Oct 11, 2026
1aac64a
test1119, 1167: disable MSYS2 argument conversion narrowly
vszakats Oct 12, 2026
4f9edc8
testcurl.pl: drop support for building c-ares from embedded source tree
vszakats Oct 12, 2026
8cdee8a
lib557: exclude three floating point test cases for VS2013 and earlier
vszakats Oct 12, 2026
ec79b79
wcurl: import v2026.10.12
samueloph Oct 13, 2026
1a338d1
examples: showcase more options used
bagder Oct 12, 2026
a4d6184
tool_getparam: restore --socks5-gssapi-service
Rat5ak Oct 10, 2026
e8ca163
CI: add Scorecard workflow
bagder Oct 13, 2026
5a5f81d
tidy-up: miscellaneous
vszakats Sep 2, 2026
2b34864
GHA/scorecard: disable the `cache-mode` key
vszakats Oct 13, 2026
9a6d4ff
Revert "setopt: clear the 'custom' CA booleans when set to NULL"
jay Sep 30, 2026
978bfe9
schannel: retain close_notify records across send retries
PiDiBi Oct 11, 2026
e6dec1f
dnscache: compare full hostnames when lookup keys are truncated
cla7aye15I4nd Oct 11, 2026
bcf2691
THANKS: add 8.23.0 contributors
bagder Oct 14, 2026
3163ec0
RELEASE-NOTES: synced
bagder Oct 14, 2026
c86cd24
repair: automated fix for libcurl-module-build build failure
Oct 26, 2026
1f3106f
conncache: poll an idle connection for pending input on every reuse
1rhino2 Oct 15, 2026
fad4770
Update comment in vtls_config.h
simon-lemay-unity Oct 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 5 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
###########################################################################

# View these jobs in the browser: https://app.circleci.com/pipelines/github/curl/curl
# Images: https://circleci.com/developer/images?imageType=machine

# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/reference/configuration-reference/
version: 2.1
Expand All @@ -45,9 +46,7 @@ commands:
steps:
- run:
command: |
sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev python3-pip
python3 -m venv ~/venv
~/venv/bin/pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary -r tests/requirements.txt
sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev

configure:
steps:
Expand Down Expand Up @@ -104,7 +103,6 @@ commands:
steps:
- run:
command: |
source ~/venv/bin/activate
# Revert a CircleCI-specific local setting that makes test 1459
# return 67 (CURLE_LOGIN_DENIED) instead of the
# expected 60 (CURLE_PEER_FAILED_VERIFICATION).
Expand All @@ -114,7 +112,7 @@ commands:
executors:
ubuntu:
machine:
image: ubuntu-2204:2026.05.1
image: ubuntu-2204:2026.05.1 # manually bumped

jobs:
basic:
Expand Down Expand Up @@ -157,7 +155,7 @@ jobs:

arm:
machine:
image: ubuntu-2204:2026.05.1
image: ubuntu-2204:2026.05.1 # manually bumped
resource_class: arm.medium
steps:
- checkout
Expand All @@ -168,7 +166,7 @@ jobs:

arm-cares:
machine:
image: ubuntu-2204:2026.05.1
image: ubuntu-2204:2026.05.1 # manually bumped
resource_class: arm.medium
steps:
- checkout
Expand Down
3 changes: 2 additions & 1 deletion .clang-tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ Checks:
- readability-redundant-control-flow
- readability-redundant-declaration
- readability-redundant-function-ptr-dereference
- readability-redundant-parentheses
# readability-redundant-nested-if # would need local suppression in a handful of cases
# - readability-redundant-parentheses
- readability-redundant-preprocessor
- readability-suspicious-call-argument
- readability-uppercase-literal-suffix
Expand Down
68 changes: 68 additions & 0 deletions .github/actions/pkg-install/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
#
# SPDX-License-Identifier: curl

# https://docs.github.com/en/actions/tutorials/create-actions/create-a-composite-action
name: 'Install packages'
description: 'Installs packages for local workflows'

inputs:
apt:
description: 'Optional space-separated list of apt package names'
brew:
description: 'Optional space-separated list of Homebrew package names'
pip:
description: 'Optional pip command-line options'

runs:
using: 'composite'
steps:
- name: 'install (apt)'
if: ${{ inputs.apt }}
shell: bash
env:
PACKAGES: ${{ inputs.apt }}
run: |
sudo rm -f /etc/apt/apt.conf.d/20apt-esm-hook.conf || true
ls -l /etc/apt/sources.list.d
sudo find /etc/apt/sources.list.d -type f -not -name 'ubuntu.sources' -delete -print
sudo sed -i '/\/archive\.ubuntu\.com/d' /etc/apt/apt-mirrors.txt
sudo sed -i '/\/security\.ubuntu\.com/d' /etc/apt/apt-mirrors.txt
# sudo sed -i 's/priority:1/priority:9/' /etc/apt/apt-mirrors.txt
cat /etc/apt/apt-mirrors.txt
[[ "${PACKAGES}" = *':i386'* ]] && sudo dpkg --add-architecture i386
sudo apt-get -o Dpkg::Use-Pty=0 update
sudo apt-get -o Dpkg::Use-Pty=0 install ${PACKAGES}

- name: 'install (brew)'
if: ${{ inputs.brew }}
shell: bash
env:
HOMEBREW_NO_INSTALL_CLEANUP: '1'
PACKAGES: ${{ inputs.brew }}
run: |
if [[ "$(uname)" != *'Darwin'* ]]; then
brewroot='/home/linuxbrew/.linuxbrew/bin/'
fi
# Run this command with retries because of spurious failures seen while running the tests.
# shellcheck disable=SC2181
while [[ $? == 0 ]]; do
for i in 1 2 3; do
if ${brewroot}brew install ${PACKAGES}; then
break 2
else
echo "Error: wait to try again: $i"
sleep 10
fi
done
false Too many retries
done

- name: 'install (pip)'
if: ${{ inputs.pip }}
shell: bash
env:
PACKAGES: ${{ inputs.pip }}
run: |
[ -d ~/venv ] || python3 -m venv ~/venv
~/venv/bin/pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary ${PACKAGES}
15 changes: 15 additions & 0 deletions .github/egress-firewall.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright (C) Viktor Szakats
#
# SPDX-License-Identifier: curl

# https://github.com/github-early-access/actions-native-egress-firewall

# Defaults:
# - github.com
# - [...]blob.core.windows.net
# - codeload.github.com
# - [...]actions.githubusercontent.com

mode: enforce
allow:
- api.github.com
10 changes: 1 addition & 9 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -454,14 +454,6 @@ script:
scripts/**\
}"

SMB:
- all:
- changed-files:
- any-glob-to-all-files: "{\
lib/smb.*,\
tests/smbserver.py\
}"

SMTP:
- all:
- changed-files:
Expand Down Expand Up @@ -564,7 +556,7 @@ Windows:
appveyor.*,\
CMake/win32-cache.cmake,\
lib/*win32*,\
lib/curlx/fopen.*,\
lib/curlx/win32-fopen.*,\
lib/curlx/multibyte.*,\
lib/curlx/winapi.*,\
lib/libcurl.def,\
Expand Down
12 changes: 0 additions & 12 deletions .github/lock.yml

This file was deleted.

23 changes: 10 additions & 13 deletions renovate.json → .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,16 @@
"schedule": [
"* * 10 * *"
]
},
{
"description": "Schedule package updates on the 10th of January",
"matchSourceUrls": [
"**/amissl/**"
],
"groupName": "yearly updates by URL",
"schedule": [
"* * 10 1 *"
]
}
],
"customManagers": [
Expand All @@ -79,19 +89,6 @@
],
"versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}",
"extractVersionTemplate": "{{#if extractVersion}}{{{extractVersion}}}{{else}}^v?(?<version>.+)${{/if}}"
},
{
"customType": "regex",
"managerFilePatterns": [
"/^\\.github/workflows/linux\\.yml$/"
],
"matchStrings": [
"OPENLDAP_VERSION: (?<currentValue>.*)\\s"
],
"datasourceTemplate": "github-tags",
"depNameTemplate": "openldap/openldap",
"versioningTemplate": "semver",
"extractVersionTemplate": "^OPENLDAP_REL_ENG_(?<major>\\d+)_(?<minor>\\d+)_(?<patch>\\d+)$"
}
]
}
1 change: 1 addition & 0 deletions .github/scripts/cmp-config.pl
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
my %remove = (
'#define CURL_EXTERN_SYMBOL' => 1,
'#define CURL_OS "Linux"' => 1,
'#define CURL_OS "aarch64-unknown-linux-gnu"' => 1,
'#define CURL_OS "x86_64-pc-linux-gnu"' => 1,
'#define GETHOSTNAME_TYPE_ARG2 int' => 1,
'#define GETHOSTNAME_TYPE_ARG2 size_t' => 1,
Expand Down
1 change: 0 additions & 1 deletion .github/scripts/distfiles.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ gitonly=".git*
^appveyor.*
^GIT-INFO.md
^README.md
^renovate.json
^REUSE.toml
^SECURITY.md
^LICENSES/*
Expand Down
3 changes: 0 additions & 3 deletions .github/scripts/pyspelling.words
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,6 @@ IMAP
imap
IMAPS
imaps
impacket
implementers
INI
init
Expand Down Expand Up @@ -792,9 +791,7 @@ slist
sln
Slowloris
SMB
smb
SMBS
smbs
SMBv
SMTP
smtp
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/requirements-docs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
#
# SPDX-License-Identifier: curl

pyspelling==2.12.1
pyspelling==2.13
3 changes: 1 addition & 2 deletions .github/scripts/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,5 @@

cmakelang==0.6.13
codespell==2.4.3
pyrefly==1.2.0
reuse==6.2.0
ruff==0.16.5
ruff==0.17.0
6 changes: 4 additions & 2 deletions .github/scripts/shellcheck-ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,18 @@

set -eu

cd -- "$(dirname "${0}")"/../..

export SHELLCHECK_OPTS='--exclude=1090,1091,2086,2153 --enable=avoid-nullary-conditions,deprecate-which'

# GHA
git ls-files '.github/workflows/*.yml' | while read -r f; do
git ls-files '.github/actions/**/*.yml' '.github/workflows/*.yml' | while read -r f; do
echo "Verifying ${f}..."
{
echo '#!/usr/bin/env bash'
echo 'set -eu'
yq eval '.. | select(has("run") and (.run | type == "!!str")) | .run + "\ntrue\n"' "${f}"
} | sed -E 's|\$\{\{ .+ \}\}|GHA_EXPRESSION|g' | shellcheck -
} | shellcheck -
done

# Circle CI
Expand Down
6 changes: 3 additions & 3 deletions .github/scripts/verify-examples.pl
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
use warnings;

my @files = @ARGV;
my $cfile = "test.c";
my $cfile = 'test-' . (defined $ENV{'CC'} ? $ENV{'CC'} : 'gcc') . '.c';
my $check = "./scripts/checksrc.pl";
my $error = 0;

Expand All @@ -42,14 +42,14 @@ sub testcompile {
if(defined $ENV{'CFLAGS'}) {
$cflags .= ' ' . $ENV{'CFLAGS'};
}
my $rc = system($cc . ' -c test.c -I include -W -Wall -pedantic -Werror ' . $cflags . ' ' .
my $rc = system($cc . ' -c ' . $cfile . ' -I include -W -Wall -pedantic -Werror ' . $cflags . ' ' .
'-Wno-unused-parameter -Wno-unused-but-set-variable ' .
'-DCURL_ALLOW_OLD_MULTI_SOCKET -DCURL_DISABLE_DEPRECATION') >> 8;
return $rc;
}

sub checksrc {
my $rc = system($check, ('test.c')) >> 8;
my $rc = system($check, ($cfile)) >> 8;
return $rc;
}

Expand Down
21 changes: 0 additions & 21 deletions .github/stale.yml

This file was deleted.

1 change: 1 addition & 0 deletions .github/workflows/appveyor-status.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ concurrency:
cancel-in-progress: true

permissions: {}
cache-mode: none

jobs:
split:
Expand Down
Loading
Loading