-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Bump required libcurl version to 7.29.0 #4917
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
libcurl 7.17.1 has been released 12 years ago, so it doesn't seem reasonable to still cater to older versions. The main reason for this version bump is to cater to a mass renaming of `CURLE_*` constants in 7.17.0 (and a single further renaming in 7.17.1), whereby many of the old constants have been marked obsolete, and according to curl.h have been scheduled for removal in 2009 already. So we remove all respective PHP `CURLE_*` constants, and add not yet available replacements, except for those constants which have been marked as being obsolete (`CURLE_OBSOLETE*`), since these error codes are not supposed to be returned ever. Renamed constants: * `CURLE_FTP_ACCESS_DENIED` → `CURLE_REMOTE_ACCESS_DENIED` * `CURLE_FTP_BAD_DOWNLOAD_RESUME` → `CURLE_BAD_DOWNLOAD_RESUME` * `CURLE_FTP_COULDNT_SET_BINARY` → `CURLE_FTP_COULDNT_SET_TYPE` * `CURLE_FTP_COULDNT_STOR_FILE` → `CURLE_UPLOAD_FAILED` * `CURLE_FTP_PARTIAL_FILE` → `CURLE_PARTIAL_FILE` * `CURLE_FTP_QUOTE_ERROR` → `CURLE_QUOTE_ERROR` * `CURLE_HTTP_NOT_FOUND` → `CURLE_HTTP_RETURNED_ERROR` * `CURLE_HTTP_PORT_FAILED` → `CURLE_INTERFACE_FAILED` * `CURLE_HTTP_RANGE_ERROR` → `CURLE_RANGE_ERROR` * `CURLE_OPERATION_TIMEOUTED` → `CURLE_OPERATION_TIMEDOUT` * `CURLE_SSL_PEER_CERTIFICATE` → `CURLE_PEER_FAILED_VERIFICATION` * `CURLE_URL_MALFORMAT_USER` → `CURLE_NOT_BUILT_IN` * `CURLE_FTP_SSL_FAILED` → `CURLE_USE_SSL_FAILED` Removed constants: * `CURLE_BAD_CALLING_ORDER` * `CURLE_BAD_PASSWORD_ENTERED` * `CURLE_FTP_CANT_RECONNECT` * `CURLE_FTP_COULDNT_GET_SIZE` * `CURLE_FTP_COULDNT_SET_ASCII` * `CURLE_FTP_USER_PASSWORD_INCORRECT` * `CURLE_FTP_WEIRD_USER_REPLY` * `CURLE_FTP_WRITE_ERROR` * `CURLE_LIBRARY_NOT_FOUND` * `CURLE_OBSOLETE` * `CURLE_SHARE_IN_USE` * `CURLE_MALFORMAT_USER`
I've opened #5072 to add support for deprecation constant. I think our course of action here should be to deprecate the old names and internally define their values to the new constants. That way we can avoid issues if the constants are removed, but can handle the deprecation/removal on our own schedule (as you mention, there are a number that are more recent). |
Thanks! That sounds sensible. Will update the PR ASAP. |
Even RHEL / CentOS 6 have 7.19.7, and is probably the older maintained distribution (and will be EOL in a few months), and BTW most of lib. are already outdated and recent PHP 7.4 can not be build there without some big effort. RHEL / CentOS 7 (5 years old, will be maintained until 2024) have 7.29.0 So fine for me to bump mininal required version to anything less than 7.29 |
As said on the mailing list, I would rather see a "major" bump in the required version and bump it directly to 7.29.0 than go for an older release. But just my opinion :) |
Let's wait for PR php#5072, and act accordingly then.
Apparently, bumping the requirements only to libcurl >= 7.19.1 was very conservative, and several devs suggested to bump the requirements to libcurl >= 7.29.0 right away, we follow suit. After all, libcurl 7.29.0 will be almost eight years old when PHP 8.0.0 will be released, so at least this version is supposed to be available everywhere.
I have now undone the removal of the constants (which can still be done later; should wait for PR #5072), but bumped the requirements to libcurl >= 7.29.0, which appears to have consensus. |
Since we do not longer support libcurl < 7.29.0, these (parts of the) tests are no longer required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM modulo one test.
Applied as 7426e3b. Thanks! |
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see php#4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
Bumps the minimum required libcurl version to 7.61.0. Please also see #4917, which bumped minimum libcurl version to the current >= 7.29.0. This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept). Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs. - Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev) - Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev) - CentOS/RHEL 7: 7.29 - RHEL 8/Rocky 8/EL 8: 7.61 - Fedora 38: 7.87 RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely bump the minimum libcurl version. 7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is a current and supported RHEL version.
libcurl 7.17.1 has been released 12 years ago, so it doesn't seem
reasonable to still cater to older versions. The main reason for this
version bump is to cater to a mass renaming of
CURLE_*
constants in7.17.0 (and a single further renaming in 7.17.1), whereby many of the
old constants have been marked obsolete, and according to curl.h have
been scheduled for removal in 2009 already.
So we remove all respective PHP
CURLE_*
constants, and add not yetavailable replacements, except for those constants which have been
marked as being obsolete (
CURLE_OBSOLETE*
), since these error codesare not supposed to be returned ever.
Renamed constants:
CURLE_FTP_ACCESS_DENIED
→CURLE_REMOTE_ACCESS_DENIED
CURLE_FTP_BAD_DOWNLOAD_RESUME
→CURLE_BAD_DOWNLOAD_RESUME
CURLE_FTP_COULDNT_SET_BINARY
→CURLE_FTP_COULDNT_SET_TYPE
CURLE_FTP_COULDNT_STOR_FILE
→CURLE_UPLOAD_FAILED
CURLE_FTP_PARTIAL_FILE
→CURLE_PARTIAL_FILE
CURLE_FTP_QUOTE_ERROR
→CURLE_QUOTE_ERROR
CURLE_HTTP_NOT_FOUND
→CURLE_HTTP_RETURNED_ERROR
CURLE_HTTP_PORT_FAILED
→CURLE_INTERFACE_FAILED
CURLE_HTTP_RANGE_ERROR
→CURLE_RANGE_ERROR
CURLE_OPERATION_TIMEOUTED
→CURLE_OPERATION_TIMEDOUT
CURLE_SSL_PEER_CERTIFICATE
→CURLE_PEER_FAILED_VERIFICATION
CURLE_URL_MALFORMAT_USER
→CURLE_NOT_BUILT_IN
CURLE_FTP_SSL_FAILED
→CURLE_USE_SSL_FAILED
Removed constants:
CURLE_BAD_CALLING_ORDER
CURLE_BAD_PASSWORD_ENTERED
CURLE_FTP_CANT_RECONNECT
CURLE_FTP_COULDNT_GET_SIZE
CURLE_FTP_COULDNT_SET_ASCII
CURLE_FTP_USER_PASSWORD_INCORRECT
CURLE_FTP_WEIRD_USER_REPLY
CURLE_FTP_WRITE_ERROR
CURLE_LIBRARY_NOT_FOUND
CURLE_OBSOLETE
CURLE_SHARE_IN_USE
CURLE_MALFORMAT_USER
While I find it a bit unfortunate that we can't deprecate the removed/renamed constants, I think this removal/renaming has to be done for PHP 8.0, since otherwise we're at risk that we can't build against future libcurl versions anymore.
Even with this patch, building with
CURL_NO_OLDIES
defined still doesn't succeed, but I'm planning to cater to the seven other obsolete constant in a separate PR, because these appear to be more controversial, mainly since they have only been obsoleted in later versions.