# curl 8.14.0 - Product: curl (https://whatsnew.fyi/product/curl) - Vendor: curl - Date: 2025-05-28 - Version: 8.14.0 - Original notes: https://curl.se/ch/8.14.0.html - Permalink: https://whatsnew.fyi/product/curl/releases/8.14.0 - Labels: Platforms: Desktop What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — MQTT to send ping at upkeep interval - **added** — Schannel to handle PKCS12 client certificates containing CA certificates - **added** — CURLOPT_SSL_SIGNATURE_ALGORITHMS option and --sigalgs command-line flag for TLS - **added** — NGTCP2 with OpenSSL support in vquic - **added** — Websocket option to disable auto-pong reply - **added** — CURLOPT_PROTOCOLS to accept a long argument in DoH - **fixed** — Async-threaded resolver using reference counter - **fixed** — DNS resolver improvements for threaded and DoH configurations - **fixed** — FTP accept connect in cf-socket - **fixed** — HTTP/2 stream window size after unpausing - **fixed** — Race condition in FTP upload handling - **fixed** — Memory leak when -h is used in config file - **fixed** — Transfer-Encoding parser improvements - **fixed** — HTTP/2 handling of TE request header using trailers - **changed** — Headers to enforce a maximum number of response headers to accept - **changed** — AWS SigV4 to improve URL encoding and canonicalization - **changed** — Build system improvements for cmake including detection of wolfSSL and ngtcp2 features - **removed** — Support for VS2008 as noted in DEPRECATE.md - **removed** — Windows CE support as noted in DEPRECATE.md curl / Docs / Releases / Changes in 8.14.0 Related: Daily Snapshots Source repo Release log Pending Release 🠰 8.13.0 all changes 8.14.1 🠲 #### Changes in 8.14.0 - May 28 2025 8.14.0 8.14.0 Changes: - mqtt: send ping at upkeep interval - schannel: handle pkcs12 client certificates containing CA certificates - TLS: add CURLOPT_SSL_SIGNATURE_ALGORITHMS and --sigalgs - vquic: ngtcp2 + openssl support - wcurl: import v2025.04.20 script + docs - websocket: add option to disable auto-pong reply Bugfixes: - _SEEALSO.md: remove spaces around command and man page section - asyn-thrdd: fix detach from running thread - asyn-thrdd: explain how this is okay with a comment - asyn resolver code improvements - async-threaded resolver: use ref counter - async: DoH improvements - autotools: detect `wolfSSL_set_quic_use_legacy_code` like cmake does - autotools: install shell completion files on cross build - aws-sigv4: allow a blank string - build: check required rustls-ffi version - build: enable gcc-12/13+, clang-10+ picky warnings - build: enable gcc-15 picky warnings - certs: drop unused `default_bits` from `.prm` files - cf-https-connect: use the passed in dns struct pointer - cf-socket: fix FTP accept connect - cfilters: remove assert - cmake/FindNGTCP2: simplify multi-pkg-config detection - cmake: append picky warnings to `CMAKE_REQUIRED_FLAGS` as string - cmake: avoid 'target is imported but not globally visible' when consuming libcurl with old cmake - cmake: do not install `mk-ca-bundle` script and man page - cmake: enable `-Wall` for MSVC when `PICKY_COMPILER=ON` - cmake: extend integration tests - cmake: fix `fish` install directory detection via `pkg-config` - cmake: fix nghttp3 static linking with `USE_OPENSSL_QUIC=ON` - cmake: fix option() and mark_as_advanced() mixed order - cmake: fix shell completion install when only one flavor is enabled - cmake: honor individual picky option overrides found in `CMAKE_C_FLAGS` - cmake: install shell completions for cross-builds - cmake: link `crypt32` for OpenSSL feature detection - cmake: merge `CURL_WERROR` logic into `PickyWarnings.cmake` - cmake: prefer `COMPILE_OPTIONS` over `CMAKE_C_FLAGS` for custom C options - cmake: quotes, whitespace, use `VERSION_GREATER_EQUAL` - cmake: revert `CURL_LTO` behavior for multi-config generators - cmake: set `BUILDING_LIBCURL` directly for unit test targets - cmake: stop deleting `-W` from `CMAKE_C_FLAGS` (MSVC) - cmake: tidy up and document feature detections in dependencies - cmake: use `CMAKE_COMPILE_WARNING_AS_ERROR` if available - cmake: use `INCLUDE_DIRECTORIES` prop to specify local header dirs - cmake: use `LIB_NAME` in `curl-config.cmake.in` - cmake: use absolute paths for completion targets - cmake: use the `LINK_OPTIONS` property with CMake 3.13+ - configure: catch asking for double resolver without https-rr - configure: fix --disable-rt - configure: restore link checks - configure: suppress command not found for brew - conncache: make Curl_cpool_init return void - connect: shutdown timer fix - content_encoding: Transfer-Encoding parser improvements - CONTRIBUTE: add project guidelines for AI use - contrithanks.sh: drop set -e - cpool/cshutdown: force close connections under pressure - curl: fix memory leak when -h is used in config file - curl: only warn once for --manual in manual-disabled build - curl_get_line: handle lines ending on the buffer boundary - curl_krb5: only use functions if FTP is still enabled - curl_multibyte: fixup low-level calls, include in unity builds - curl_osslq: remove a leftover debug fprintf() call - curl_version_info.md: clarify ssl_version for MultiSSL - CURLMOPT_TIMERFUNCTION.md: correct the example - CURLOPT_ERRORBUFFER.md: buffer is read only after curl takes ownership - CURLOPT_FOLLOWLOCATION.md: switch to GET => no body - CURLOPT_READFUNCTION.md: mention the seek callback - CURLOPT_XFERINFOFUNCTION.md: fix the callback return type in example - curlx: move the docs to docs/internals/ - DEPRECATE.md: drop _[Truncated at 4000 characters — full notes: https://curl.se/ch/8.14.0.html]_