{"id":26828,"date":"2025-04-02T07:54:42","date_gmt":"2025-04-02T05:54:42","guid":{"rendered":"https:\/\/daniel.haxx.se\/blog\/?p=26828"},"modified":"2025-04-04T09:12:26","modified_gmt":"2025-04-04T07:12:26","slug":"curl-8-13-0","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2025\/04\/02\/curl-8-13-0\/","title":{"rendered":"curl 8.13.0"},"content":{"rendered":"\n<p>Welcome to another curl release.<\/p>\n\n\n\n<p>Download it <a href=\"https:\/\/curl.se\/download.html\">here<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Release presentation<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"curl 8.13.0 with Daniel Stenberg\" width=\"474\" height=\"267\" src=\"https:\/\/www.youtube.com\/embed\/Jor0z31fyNw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Numbers<\/h2>\n\n\n\n<p class=\"has-text-align-center\"><strong>the 266th release<br>12 changes<br>48 days (total: 9,875)<\/strong><br><strong>305 bugfixes (total: 11,786)<\/strong><br><strong>499 commits (total: 34,782)<br>0 new public libcurl function (total: 96)<br>1 new curl_easy_setopt() option (total: 307)<\/strong><br><strong>1 new curl command line option (total: 268)<\/strong><br><strong>71 contributors, 37 new (total: 3,379)<\/strong><br><strong>41 authors, 16 new (total: 1,358)<\/strong><br><strong>0 security fixes (total: 164)<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Changes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>curl: new write-out variable &#8216;tls_earlydata&#8217;<\/li>\n\n\n\n<li>curl: &#8211;url supports a file with URLs<\/li>\n\n\n\n<li>curl: add &#8217;64dec&#8217; function for base64 decoding<\/li>\n\n\n\n<li>IMAP: add CURLOPT_UPLOAD_FLAGS and &#8211;upload-flags<\/li>\n\n\n\n<li>add CURLFOLLOW_OBEYCODE and CURLFOLLOW_FIRSTONLY<\/li>\n\n\n\n<li>gnutls: set priority via &#8211;ciphers<\/li>\n\n\n\n<li>OpenSSL\/quictls: support TLSv1.3 early data<\/li>\n\n\n\n<li>wolfSSL: support TLSv1.3 early data<\/li>\n\n\n\n<li>rustls: add support for CERTINFO<\/li>\n\n\n\n<li>rustls: add support for SSLKEYLOGFILE<\/li>\n\n\n\n<li>rustls: support ECH w\/ DoH lookup for config<\/li>\n\n\n\n<li>rustls: support native platform verifier<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Records<\/h2>\n\n\n\n<p>This release broke the old project record and is the first release ever to contain <em>more than 300 bugfixes<\/em> since the previous release. There were so many bugfixes landed that I decided to not even list my favorites in this blog post the way I have done in the past. Go read <a href=\"https:\/\/curl.se\/ch\/8.13.0.html\">the full changelog<\/a>, or watch the release video to see me talk about some of them.<\/p>\n\n\n\n<p>Another project record broken in this release is the amount commits merged into the repository since the previous release: 501.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to another curl release. Download it here. Release presentation Numbers the 266th release12 changes48 days (total: 9,875)305 bugfixes (total: 11,786)499 commits (total: 34,782)0 new public libcurl function (total: 96)1 new curl_easy_setopt() option (total: 307)1 new curl command line option (total: 268)71 contributors, 37 new (total: 3,379)41 authors, 16 new (total: 1,358)0 security fixes (total: &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2025\/04\/02\/curl-8-13-0\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">curl 8.13.0<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":26840,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[33,95],"class_list":["post-26828","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-curl","tag-curl-and-libcurl","tag-release"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/26828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=26828"}],"version-history":[{"count":11,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/26828\/revisions"}],"predecessor-version":[{"id":26846,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/26828\/revisions\/26846"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media\/26840"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=26828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=26828"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=26828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}