{"id":26463,"date":"2025-02-13T08:23:06","date_gmt":"2025-02-13T07:23:06","guid":{"rendered":"https:\/\/daniel.haxx.se\/blog\/?p=26463"},"modified":"2025-02-13T10:38:20","modified_gmt":"2025-02-13T09:38:20","slug":"curl-8-12-1","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2025\/02\/13\/curl-8-12-1\/","title":{"rendered":"curl 8.12.1"},"content":{"rendered":"\n<p>This is a quick follow-up patch release due to the number of ugly regressions in the <a href=\"https:\/\/daniel.haxx.se\/blog\/2025\/02\/05\/curl-8-12-0\/\" data-type=\"post\" data-id=\"26439\">8.12.0 release<\/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.12.1 with Daniel Stenberg\" width=\"474\" height=\"267\" src=\"https:\/\/www.youtube.com\/embed\/0DYcn5Vb_JM?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 265th release<br>0 changes<br>8 days (total: 9,827)<\/strong><br><strong>65 bugfixes (total: 11,428)<\/strong><br><strong>67 commits (total: 34,180)<br>0 new public libcurl function (total: 96)<br>0 new curl_easy_setopt() option (total: 306)<\/strong><br><strong>0 new curl command line option (total: 267)<\/strong><br><strong>25 contributors, 14 new (total: 3,332)<\/strong><br><strong>34 authors, 18 new (total: 1,341)<\/strong><br><strong>0 security fixes (total: 164)<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bugfixes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">libcurl<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>asyn-thread: fix build with <code>CURL_DISABLE_SOCKETPAIR<\/code><\/li>\n\n\n\n<li>asyn-thread: fix the returned bitmask from Curl_resolver_getsock<\/li>\n\n\n\n<li>asyn-thread: survive a c-ares\/HTTPSRR channel set to NULL<\/li>\n\n\n\n<li>content_encoding: #error on too old zlib<\/li>\n\n\n\n<li>imap\/pop3\/smtp: TLS upgrade fixes<\/li>\n\n\n\n<li>include necessary headers for <code>inet_ntop<\/code>\/<code>inet_pton<\/code><\/li>\n\n\n\n<li>drop support for libssh older than 0.9.0<\/li>\n\n\n\n<li>netrc: return code cleanup, fix missing file error<\/li>\n\n\n\n<li>openssl-quic: ignore ciphers for h3<\/li>\n\n\n\n<li>openssl: fix out of scope variables in goto<\/li>\n\n\n\n<li>vtls: fix multissl-init<\/li>\n\n\n\n<li>vtsl: eliminate &#8216;data-&gt;state.ssl_scache&#8217;<\/li>\n\n\n\n<li>wakeup_write: make sure the eventfd write sends eight bytes<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">tool<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tool_ssls: switch to tool-specific get_line function<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">scripts<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>build: add tool_hugehelp.c into IBMi build<\/li>\n\n\n\n<li>configure\/cmake: check for realpath<\/li>\n\n\n\n<li>configure\/cmake: set asyn-rr a feature only if httpsrr is enabled<\/li>\n\n\n\n<li>runtests: fix the disabling of the memory tracking<\/li>\n\n\n\n<li>runtests: quote commands to support paths with spaces<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">docs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CURLOPT_SSH_KNOWNHOSTS.md: strongly recommend using this<\/li>\n\n\n\n<li>CURLSHOPT_SHARE.md: adjust for the new SSL session cache<\/li>\n\n\n\n<li>SPONSORS.md: clarify that we don&#8217;t promise goods or services<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This is a quick follow-up patch release due to the number of ugly regressions in the 8.12.0 release. Release presentation Numbers the 265th release0 changes8 days (total: 9,827)65 bugfixes (total: 11,428)67 commits (total: 34,180)0 new public libcurl function (total: 96)0 new curl_easy_setopt() option (total: 306)0 new curl command line option (total: 267)25 contributors, 14 new &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2025\/02\/13\/curl-8-12-1\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">curl 8.12.1<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":26484,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[33,95],"class_list":["post-26463","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\/26463","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=26463"}],"version-history":[{"count":7,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/26463\/revisions"}],"predecessor-version":[{"id":26551,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/26463\/revisions\/26551"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media\/26484"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=26463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=26463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=26463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}