# curl 8.13.0 - Product: curl (https://whatsnew.fyi/product/curl) - Vendor: curl - Date: 2025-04-02 - Version: 8.13.0 - Original notes: https://curl.se/ch/8.13.0.html - Permalink: https://whatsnew.fyi/product/curl/releases/8.13.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 write-out variable 'tls_earlydata' - **added** — Make --url support a file with URLs - **added** — Add CURLOPT_UPLOAD_FLAGS and --upload-flags for IMAP - **added** — Add CURLFOLLOW_OBEYCODE and CURLFOLLOW_FIRSTONLY follow constants - **added** — Add support for TLSv1.3 early data in OpenSSL and quictls - **added** — Add support for CERTINFO in rustls - **added** — Add support for SSLKEYLOGFILE in rustls - **added** — Support ECH with DoH lookup for config in rustls - **added** — Support native platform verifier in rustls - **added** — Add a '64dec' function that can base64 decode a string - **added** — Add TLS early data support for wolfssl - **changed** — Set priority via --ciphers for gnutls - **fixed** — Add curl macro to avoid redefining foreign symbols in addrinfo - **fixed** — Avoid separate 'struct resdata' allocation in asyn-thread - **fixed** — Avoid separate curl_mutex_t allocation in asyn-thread - **fixed** — Do not allocate thread_data separately in asyn-thread - **fixed** — Remove 'status' from struct Curl_async - **fixed** — Fix dllmain.c in unity builds with autotools - **fixed** — Fix connection reuse when SSL is optional curl / Docs / Releases / Changes in 8.13.0 Related: Daily Snapshots Source repo Release log Pending Release 🠰 8.12.1 all changes 8.14.0 🠲 #### Changes in 8.13.0 - April 2 2025 8.13.0 8.13.0 Changes: - curl: add write-out variable 'tls_earlydata' - curl: make --url support a file with URLs - gnutls: set priority via --ciphers - IMAP: add CURLOPT_UPLOAD_FLAGS and --upload-flags - lib: add CURLFOLLOW_OBEYCODE and CURLFOLLOW_FIRSTONLY - OpenSSL/quictls: add support for TLSv1.3 early data - rustls: add support for CERTINFO - rustls: add support for SSLKEYLOGFILE - rustls: support ECH w/ DoH lookup for config - rustls: support native platform verifier - var: add a '64dec' function that can base64 decode a string - wolfssl: tls early data support Bugfixes: - addrinfo: add curl macro to avoid redefining foreign symbols - asyn-thread: avoid the separate 'struct resdata' alloc - asyn-thread: avoid the separate curl_mutex_t alloc - asyn-thread: do not allocate thread_data separately - asyn-thread: remove 'status' from struct Curl_async - autotools: fix `dllmain.c` in unity builds - autotools: fix `libtest` bundle to depend on `FIRSTFILES` - autotools: use `CURLDEBUG` to exclude TrackMemory code from unity - aws_sigv4: cannot be used for proxy - aws_sigv4: merge repeated headers in canonical request - aws_sigv4: use strparse more for parsing - base64: drop `BUILDING_CURL` macro, always include in tests/server - build: add Windows CE / CeGCC support, with CI jobs - build: cmake multi-pkg-config detection improvements (brotli, ldap, mbedtls) - build: do not apply curl debug macros to `tests/server` by default - build: drop unused `getpart` tool - build: enable -Wjump-misses-init for GCC 4.5+ - build: enable `-Wcast-qual`, fix or silence compiler warnings - build: fix compiler warnings in feature detections - build: replace Curl_ prefix with curlx_ for functions used in servers - build: set `-O3` and tune WinCE in CI, fix `getpart`, `vtls_scache` fallouts - build: set `HAVE_STDINT_H` if `stdint.h` is available - build: set `HAVE_WRITABLE_ARGV` for Apple cross-builds - build: silence bogus `-Wconversion` warnings with gcc 5.1-5.4 - build: silence mingw32ce C99 format warnings, simplify CI - build: tidy-ups around `inet_pton` - c-ares httpsrr: fix ifdef - c-ares: error out for unsupported versions, drop unused macros - ca-native.md: sync with CURLSSLOPT_NATIVE_CA - cf-socket: deduplicate Windows Vista detection - cf-socket: remove empty switch - client writer: handle pause before decoding - cmake: `CURL_LIBDIRS` improvements (upstreamed from vcpkg) - cmake: `SHARE_LIB_OBJECT=ON` requires CMake 3.12 or newer - cmake: add custom command scripts as dependencies where missing - cmake: add pre-fill for Unix, enable in GHA/macos, verify pre-fills - cmake: add shell completion support - cmake: allow `CURL_STATIC_CRT` with shared libcurl and no curl exe - cmake: allow `CURL_STATIC_CRT` with UCRT VS2015+ builds - cmake: allow empty `IMPORT_LIB_SUFFIX`, add suffix collision detection - cmake: avoid `-Wnonnull` warning in `HAVE_FSETXATTR_5` detection - cmake: disable HTTPS-proxy as a feature if proxy is disabled - cmake: drop `CURL_DISABLE_TESTS` option - cmake: drop `HAVE_C_FLAG_Wno_long_double` logic for ancient Apple gcc - cmake: drop `HAVE_IN_ADDR_T` from pre-fill too - cmake: drop two stray TLS feature checks for wolfSSL - cmake: exclude `-MP` for `clang-cl` again - cmake: fix `HAVE_ATOMIC`/`HAVE_STDATOMIC` pre-fill for clang-cl - cmake: fix clang-tidy builds to verify tests, fix fallouts - cmake: fix detection pre-fills for iOS - cmake: fix ECH detection in custom-patched OpenSSL - cmake: fix typo in ECH config error msg - cmake: hide empty `MINGW64_VERSION` output for mingw32ce - cmake: improve httpd detection for pytest - cmake: mention 'insecure' in the debug build warning - cmake: misc tidy-ups - cmake: pre-fill known type sizes for Windows OSes - cmake: replace CMAKE_COMPILER_IS_GNUCC with CMAKE_C_COMPILER_ID - cmake: replace exec_program() _[Truncated at 4000 characters — full notes: https://curl.se/ch/8.13.0.html]_