# curl 8.12.0 - Product: curl (https://whatsnew.fyi/product/curl) - Vendor: curl - Date: 2025-02-05 - Version: 8.12.0 - Original notes: https://curl.se/ch/8.12.0.html - Permalink: https://whatsnew.fyi/product/curl/releases/8.12.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** — Add byte range support to --variable reading from file - **added** — Make --etag-save acknowledge --create-dirs - **added** — Provide info which auth was used for HTTP and proxy - **added** — Add support to use keys and certificates from PKCS#11 provider in openssl - **added** — Add 0RTT for gnutls via CURLSSLOPT_EARLYDATA - **added** — Add feature ssls-export for SSL session im-/export - **fixed** — Fix CURLINFO_QUEUE_TIME_T and add 'time_queue' var - **fixed** — Avoid integer overflow in altsvc expire calculation - **fixed** — Return error on dot-only name in altsvc - **fixed** — Fix memory leak in asyn-ares - **fixed** — Add initial HTTPS resolve support in asyn-ares - **fixed** — Acknowledge CURLOPT_DNS_SERVERS set to NULL in asyn-ares - **fixed** — Avoid closing eventfd twice in asyn-thread - **fixed** — Fix crash in netscape cookie parsing - **fixed** — Support use of custom libzstd memory functions in content_encoding - **fixed** — Support Windows paths longer than MAX_PATH in curl_multibyte - **changed** — Cap cookie expire times to 400 days - **changed** — Drop support for zlib before 1.2.0.4 - **changed** — Put the decomp buffers into the writer structs in content_encoding - **removed** — Drop hyper support curl / Docs / Releases / Changes in 8.12.0 Related: Daily Snapshots Source repo Release log Pending Release 🠰 8.11.1 all changes 8.12.1 🠲 #### Changes in 8.12.0 - February 5 2025 8.12.0 8.12.0 Changes: - curl: add byte range support to --variable reading from file - curl: make --etag-save acknowledge --create-dirs - getinfo: fix CURLINFO_QUEUE_TIME_T and add 'time_queue' var - getinfo: provide info which auth was used for HTTP and proxy - hyper: drop support - openssl: add support to use keys and certificates from PKCS#11 provider - QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA - vtls: feature ssls-export for SSL session im-/export Bugfixes: - altsvc: avoid integer overflow in expire calculation - altsvc: return error on dot-only name - android: add CI jobs, buildinfo, cmake docs, disable `CURL_USE_PKGCONFIG` by default - asyn-ares: acknowledge CURLOPT_DNS_SERVERS set to NULL - asyn-ares: fix memory leak - asyn-ares: initial HTTPS resolve support - asyn-thread: use c-ares to resolve HTTPS RR - asyn-thread: avoid closing eventfd twice - autotools: add support for mingw UWP builds - autotools: silence gcc warnings in libtool code - binmode: convert to macro and use it from tests - build: delete `-Wsign-conversion` related FIXMEs - build: drop `-Winline` picky warning - build: drop `tool_hugehelp.c.cvs`, tidy up macros, drop `buildconf.bat` - build: drop unused feature macros, update exception list - build: fix `-Wtrampolines` picky warning for gcc 4.x versions - build: fix compiling with GCC 4.x versions - build: fix the tidy targets for autotools - build: fix unsigned `time_t` detection for cmake, MS-DOS, AmigaOS - build: replace configure check with PP condition (Android <21) - build: stop detecting `sched_yield()` on Windows - c-ares: fix/tidy-up macro initializations, avoid a deprecated function - cd2nroff: do not insist on quoted <> within backticks - cd2nroff: support "none" as a TLS backend - cf-https-connect: look into httpsrr alpns when available - cf-socket: error if address can't be copied - cfilters: kill connection filter events attach+detach - checksrc.bat: remove explicit SNPRINTF bypass - checksrc: ban use of sscanf() - checksrc: check for return with parens around a value/name - checksrc: exclude generated bundle files to avoid race condition - checksrc: fix the return() checker - checksrc: introduce 'banfunc' to ban specific functions - cmake/Find: add `iphlpapi` for c-ares, omit syslibs if dep not found - cmake/FindLDAP: avoid empty 'Requires' item when omitting `pkg-config` module - cmake/FindLDAP: avoid framework locations for libs too (Apple) - cmake/FindLibpsl: protect against `pkg-config` "half-detection" - cmake/FindLibssh: sync header comment with other modules - cmake/FindMbedTLS: drop lib duplicates early - cmake: add `librtmp` Find module - cmake: add LDAP Find module - cmake: add native `pkg-config` detection for remaining Find modules - cmake: allow `CURL_LTO` regardless of `CURL_BUILD_TYPE`, enable in CI - cmake: clang-cl improvements - cmake: delete accidental debug message - cmake: deprecate winbuild, add migration guide from legacy build methods - cmake: detect mingw-w64 version, pre-fill `HAVE_STRTOK_R` - cmake: do not store `MINGW64_VERSION` in cache - cmake: drop `CURL_USE_PKGCONFIG` from `curl-config.cmake.in` - cmake: drop `fseeko()` pre-fill and check for Windows - cmake: drop duplicate Windows cache value - cmake: drop redundant FOUND checks (libgsasl, libssh, libuv) - cmake: drop redundant opening/closing `.*` from `MATCH` expressions - cmake: drop unused `HAVE_SYS_XATTR_H` detection - cmake: drop VS2010 "Dialog Hell" workaround added in 2013 - cmake: extend zlib's `AUTO` option to brotli, zstd and enable if found - cmake: fix `net/in.h` detection for MS-DOS - cmake: improve `curl_dumpvars()` and move to `Utilities.cmake` - cmake: make libpsl required by default - cmake: make system libraries `dl`, `m`, `pthread` customizable - cmake: move `pkg-config` names to Find modules - cmake: _[Truncated at 4000 characters — full notes: https://curl.se/ch/8.12.0.html]_