{"id":22839,"date":"2023-07-26T08:16:40","date_gmt":"2023-07-26T06:16:40","guid":{"rendered":"https:\/\/daniel.haxx.se\/blog\/?p=22839"},"modified":"2023-07-26T11:21:44","modified_gmt":"2023-07-26T09:21:44","slug":"curl-8-2-1","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2023\/07\/26\/curl-8-2-1\/","title":{"rendered":"curl 8.2.1"},"content":{"rendered":"\n<p>Welcome. Due to some annoying regressions in the previous release we think we owned it to everyone to do a quick patch follow-up.<\/p>\n\n\n\n<p>Download curl 8.2.1 from <a href=\"https:\/\/curl.se\">https:\/\/curl.se<\/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.2.1 with Daniel Stenberg\" width=\"474\" height=\"267\" src=\"https:\/\/www.youtube.com\/embed\/gxuisBdfXmI?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 221st release<br>0 changes<br>7 days (total: 9,259)<\/strong><br><strong>27 bug-fixes (total: 9,194)<\/strong><br><strong>37 commits (total: 30,646)<br>0 new public libcurl function (total: 91)<br>0 new curl_easy_setopt() option (total: 303)<\/strong><br><strong>0 new curl command line option (total: 255)<\/strong><br><strong>20 contributors, 7 new (total: 2,927)<\/strong><br><strong>13 authors, 3 new (total: 1,173)<\/strong><br><strong>0 security fixes (total: 146)<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bugfixes<\/h2>\n\n\n\n<p>Here are some the most important fixes in this release<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">configure: check for nghttp2_session_get_stream_local_window_size<\/h3>\n\n\n\n<p>We use this function now, introduced in nghttp2 1.15.0, released in September 2016.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">return IPv6 first for localhost resolves<\/h3>\n\n\n\n<p>Resolving &#8220;localhost&#8221; did not return the (fixed) addresses in the correct order. It now returns IPv6 as the first.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">http2 regression on upload EOF handling<\/h3>\n\n\n\n<p>When we added an optimization in the previous release we missed a code path that sometimes lead to &#8220;hanging&#8221; uploads over HTTP\/2.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">os400: correct EXPECTED_STRING_LASTZEROTERMINATED<\/h3>\n\n\n\n<p>curl builds fine for &#8220;IBM i&#8221; again.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">quiche: fix lookup of transfer at multi<\/h3>\n\n\n\n<p>Doing multiplexed HTTP\/3 over multiple connections with quiche works much better.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">mkhelp: strip off escape sequences<\/h3>\n\n\n\n<p>The command sequence that generates the man page display code for the <code>--manual<\/code> option did at some point regress to include escape sequences. Now those sequences are properly filtered out.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">fix build when SIZEOF_CURL_OFF_T &gt; SIZEOF_OFF_T<\/h3>\n\n\n\n<p>A build problem was fixed for these rare platforms.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">do not clear the credentials on redirect to absolute URL<\/h3>\n\n\n\n<p>Yet another regression that we allowed because we apparently did not have a test for this! Now we have a test and redirects to the same origin when using -u for credentials now send the credentials even in the redirected request.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome. Due to some annoying regressions in the previous release we think we owned it to everyone to do a quick patch follow-up. Download curl 8.2.1 from https:\/\/curl.se. Release presentation Numbers the 221st release0 changes7 days (total: 9,259)27 bug-fixes (total: 9,194)37 commits (total: 30,646)0 new public libcurl function (total: 91)0 new curl_easy_setopt() option (total: 303)0 &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2023\/07\/26\/curl-8-2-1\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">curl 8.2.1<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":22855,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[33,95],"class_list":["post-22839","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\/22839","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=22839"}],"version-history":[{"count":9,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/22839\/revisions"}],"predecessor-version":[{"id":22856,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/22839\/revisions\/22856"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media\/22855"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=22839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=22839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=22839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}