ext/curl: bump minimum libcurl version to 7.61.1#22232
Open
GrahamCampbell wants to merge 1 commit into
Open
Conversation
The minimum was raised to 7.61.0 in phpGH-13259 to track RHEL 8, but RHEL 8 and its rebuilds (Rocky, Alma, EL 8) ship libcurl 7.61.1 and have since the original 8.0 GA in May 2019; the plain 7.61.0 point release is not carried by any supported distribution. This aligns the floor with the baseline it already targets. 7.61.1 also contains the upstream fix (curl/curl@d6cf930) for libcurl returning success without a response when an upload rewind was required but could not be performed; from 7.61.1 that case is reported as CURLE_SEND_FAIL_REWIND instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The minimum libcurl was raised to 7.61.0 in #13259 to line up with RHEL 8, the oldest enterprise distribution still in support. The thing is, RHEL 8 and its rebuilds (Rocky, Alma, EL 8) don't actually ship 7.61.0 — they ship 7.61.1, and have done since the original 8.0 GA in May 2019 (
curl-7.61.1-8.el8). The plain 7.61.0 point release was only the latest stable for about two months in 2018 before 7.61.1 superseded it, and I can't find a supported distribution that carries it. So moving the floor from 7.61.0 to 7.61.1 doesn't drop anything real; it just makes the requirement match the baseline it was already meant to represent.There's a small concrete upside too. 7.61.1 is where curl/curl@d6cf930 landed, which fixed libcurl reporting success with no response (errno 0) when it needed to rewind an upload to resend it but couldn't. Before that fix the failure was silent; from 7.61.1 it surfaces properly as
CURLE_SEND_FAIL_REWIND. Requiring 7.61.1 makes that behaviour consistent across every libcurl PHP can be built against. Moreover, in combination with #22230, this would allow a future version of Guzzle to by-pass some janky workaround code on PHP 8.6+ (and eventually remove that code... in like a decade when Guzzle can make PHP 8.6 the minimum version floor).