Skip to content

Commit fee6760

Browse files
committed
ext/curl: Bump minimim Curl version to >= 7.61.0
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.
1 parent 453f5ab commit fee6760

12 files changed

+9
-554
lines changed

NEWS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Core:
1414

1515
Curl:
1616
. Deprecated the CURLOPT_BINARYTRANSFER constant. (divinity76)
17+
. Bumped required libcurl version to 7.61.0. (Ayesh)
1718

1819
Date:
1920
. Added DateTime[Immutable]::createFromTimestamp. (Marc Bennewitz)

UPGRADING

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,9 @@ PDO_SQLITE:
392392
9. Other Changes to Extensions
393393
========================================
394394

395+
- Curl:
396+
. The Curl extension now requires at least libcurl 7.61.0.
397+
395398
- Intl:
396399
. The class constants are typed now.
397400

ext/curl/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ PHP_ARG_WITH([curl],
44
[Include cURL support])])
55

66
if test "$PHP_CURL" != "no"; then
7-
PKG_CHECK_MODULES([CURL], [libcurl >= 7.29.0])
7+
PKG_CHECK_MODULES([CURL], [libcurl >= 7.61.0])
88
PKG_CHECK_VAR([CURL_FEATURES], [libcurl], [supported_features])
99

1010
PHP_EVAL_LIBLINE($CURL_LIBS, CURL_SHARED_LIBADD)

ext/curl/curl.stub.php

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -472,13 +472,11 @@
472472
* @cvalue CURLOPT_WRITEHEADER
473473
*/
474474
const CURLOPT_WRITEHEADER = UNKNOWN;
475-
#if LIBCURL_VERSION_NUM >= 0x072000
476475
/**
477476
* @var int
478477
* @cvalue CURLOPT_XFERINFOFUNCTION
479478
*/
480479
const CURLOPT_XFERINFOFUNCTION = UNKNOWN;
481-
#endif
482480

483481
/* */
484482
/**
@@ -776,13 +774,11 @@
776774
* @cvalue CURLE_SSL_PEER_CERTIFICATE
777775
*/
778776
const CURLE_SSL_PEER_CERTIFICATE = UNKNOWN;
779-
#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */
780777
/**
781778
* @var int
782779
* @cvalue CURLE_SSL_PINNEDPUBKEYNOTMATCH
783780
*/
784781
const CURLE_SSL_PINNEDPUBKEYNOTMATCH = UNKNOWN;
785-
#endif
786782
/**
787783
* @var int
788784
* @cvalue CURLE_TELNET_OPTION_SYNTAX
@@ -998,13 +994,11 @@
998994
* @cvalue CURLM_OUT_OF_MEMORY
999995
*/
1000996
const CURLM_OUT_OF_MEMORY = UNKNOWN;
1001-
#if LIBCURL_VERSION_NUM >= 0x072001 /* Available since 7.32.1 */
1002997
/**
1003998
* @var int
1004999
* @cvalue CURLM_ADDED_ALREADY
10051000
*/
10061001
const CURLM_ADDED_ALREADY = UNKNOWN;
1007-
#endif
10081002

10091003
/* Curl proxy constants */
10101004
/**
@@ -2385,7 +2379,6 @@
23852379
*/
23862380
const CURLSSH_AUTH_AGENT = UNKNOWN;
23872381

2388-
#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */
23892382
/**
23902383
* @var int
23912384
* @cvalue CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE
@@ -2411,17 +2404,13 @@
24112404
* @cvalue CURLMOPT_MAX_TOTAL_CONNECTIONS
24122405
*/
24132406
const CURLMOPT_MAX_TOTAL_CONNECTIONS = UNKNOWN;
2414-
#endif
24152407

2416-
#if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */
24172408
/**
24182409
* @var int
24192410
* @cvalue CURLOPT_SASL_IR
24202411
*/
24212412
const CURLOPT_SASL_IR = UNKNOWN;
2422-
#endif
24232413

2424-
#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */
24252414
/**
24262415
* @var int
24272416
* @cvalue CURLOPT_DNS_INTERFACE
@@ -2453,9 +2442,7 @@
24532442
* @cvalue CURL_VERSION_HTTP2
24542443
*/
24552444
const CURL_VERSION_HTTP2 = UNKNOWN;
2456-
#endif
24572445

2458-
#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */
24592446
/**
24602447
* @var int
24612448
* @cvalue CURLOPT_LOGIN_OPTIONS
@@ -2477,9 +2464,7 @@
24772464
* @cvalue CURL_SSLVERSION_TLSv1_2
24782465
*/
24792466
const CURL_SSLVERSION_TLSv1_2 = UNKNOWN;
2480-
#endif
24812467

2482-
#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */
24832468
/**
24842469
* @var int
24852470
* @cvalue CURLOPT_EXPECT_100_TIMEOUT_MS
@@ -2495,9 +2480,7 @@
24952480
* @cvalue CURLOPT_SSL_ENABLE_NPN
24962481
*/
24972482
const CURLOPT_SSL_ENABLE_NPN = UNKNOWN;
2498-
#endif
24992483

2500-
#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */
25012484
/**
25022485
* @var int
25032486
* @cvalue CURLHEADER_SEPARATE
@@ -2518,9 +2501,7 @@
25182501
* @cvalue CURLOPT_PROXYHEADER
25192502
*/
25202503
const CURLOPT_PROXYHEADER = UNKNOWN;
2521-
#endif
25222504

2523-
#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */
25242505
/**
25252506
* @var int
25262507
* @cvalue CURLAUTH_NEGOTIATE
@@ -2531,17 +2512,13 @@
25312512
* @cvalue CURL_VERSION_GSSAPI
25322513
*/
25332514
const CURL_VERSION_GSSAPI = UNKNOWN;
2534-
#endif
25352515

2536-
#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */
25372516
/**
25382517
* @var int
25392518
* @cvalue CURLOPT_PINNEDPUBLICKEY
25402519
*/
25412520
const CURLOPT_PINNEDPUBLICKEY = UNKNOWN;
2542-
#endif
25432521

2544-
#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */
25452522
/**
25462523
* @var int
25472524
* @cvalue CURLOPT_UNIX_SOCKET_PATH
@@ -2567,17 +2544,13 @@
25672544
* @cvalue CURL_VERSION_UNIX_SOCKETS
25682545
*/
25692546
const CURL_VERSION_UNIX_SOCKETS = UNKNOWN;
2570-
#endif
25712547

2572-
#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */
25732548
/**
25742549
* @var int
25752550
* @cvalue CURLOPT_SSL_VERIFYSTATUS
25762551
*/
25772552
const CURLOPT_SSL_VERIFYSTATUS = UNKNOWN;
2578-
#endif
25792553

2580-
#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */
25812554
/**
25822555
* @var int
25832556
* @cvalue CURLOPT_PATH_AS_IS
@@ -2588,9 +2561,7 @@
25882561
* @cvalue CURLOPT_SSL_FALSESTART
25892562
*/
25902563
const CURLOPT_SSL_FALSESTART = UNKNOWN;
2591-
#endif
25922564

2593-
#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */
25942565
/**
25952566
* @var int
25962567
* @cvalue CURL_HTTP_VERSION_2
@@ -2628,25 +2599,19 @@
26282599
* @cvalue CURLPIPE_MULTIPLEX
26292600
*/
26302601
const CURLPIPE_MULTIPLEX = UNKNOWN;
2631-
#endif
26322602

2633-
#if LIBCURL_VERSION_NUM >= 0x072c00 /* Available since 7.44.0 */
26342603
/**
26352604
* @var int
26362605
* @cvalue CURLSSLOPT_NO_REVOKE
26372606
*/
26382607
const CURLSSLOPT_NO_REVOKE = UNKNOWN;
2639-
#endif
26402608

2641-
#if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */
26422609
/**
26432610
* @var int
26442611
* @cvalue CURLOPT_DEFAULT_PROTOCOL
26452612
*/
26462613
const CURLOPT_DEFAULT_PROTOCOL = UNKNOWN;
2647-
#endif
26482614

2649-
#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */
26502615
/**
26512616
* @var int
26522617
* @cvalue CURLOPT_STREAM_WEIGHT
@@ -2667,9 +2632,7 @@
26672632
* @cvalue CURL_PUSH_DENY
26682633
*/
26692634
const CURL_PUSH_DENY = UNKNOWN;
2670-
#endif
26712635

2672-
#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */
26732636
/**
26742637
* @var int
26752638
* @cvalue CURL_HTTP_VERSION_2TLS
@@ -2680,17 +2643,13 @@
26802643
* @cvalue CURL_VERSION_PSL
26812644
*/
26822645
const CURL_VERSION_PSL = UNKNOWN;
2683-
#endif
26842646

2685-
#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */
26862647
/**
26872648
* @var int
26882649
* @cvalue CURLOPT_TFTP_NO_OPTIONS
26892650
*/
26902651
const CURLOPT_TFTP_NO_OPTIONS = UNKNOWN;
2691-
#endif
26922652

2693-
#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */
26942653
/**
26952654
* @var int
26962655
* @cvalue CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
@@ -2706,17 +2665,13 @@
27062665
* @cvalue CURLOPT_TCP_FASTOPEN
27072666
*/
27082667
const CURLOPT_TCP_FASTOPEN = UNKNOWN;
2709-
#endif
27102668

2711-
#if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */
27122669
/**
27132670
* @var int
27142671
* @cvalue CURLINFO_HTTP_VERSION
27152672
*/
27162673
const CURLINFO_HTTP_VERSION = UNKNOWN;
2717-
#endif
27182674

2719-
#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */
27202675
/**
27212676
* @var int
27222677
* @cvalue CURLE_WEIRD_SERVER_REPLY
@@ -2727,9 +2682,7 @@
27272682
* @cvalue CURLOPT_KEEP_SENDING_ON_ERROR
27282683
*/
27292684
const CURLOPT_KEEP_SENDING_ON_ERROR = UNKNOWN;
2730-
#endif
27312685

2732-
#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */
27332686
/**
27342687
* @var int
27352688
* @cvalue CURL_SSLVERSION_TLSv1_3
@@ -2850,9 +2803,7 @@
28502803
* @cvalue CURLPROXY_HTTPS
28512804
*/
28522805
const CURLPROXY_HTTPS = UNKNOWN;
2853-
#endif
28542806

2855-
#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */
28562807
/**
28572808
* @var int
28582809
* @cvalue CURL_MAX_READ_SIZE
@@ -2863,9 +2814,7 @@
28632814
* @cvalue CURLOPT_ABSTRACT_UNIX_SOCKET
28642815
*/
28652816
const CURLOPT_ABSTRACT_UNIX_SOCKET = UNKNOWN;
2866-
#endif
28672817

2868-
#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */
28692818
/**
28702819
* @var int
28712820
* @cvalue CURL_SSLVERSION_MAX_DEFAULT
@@ -2901,17 +2850,13 @@
29012850
* @cvalue CURLOPT_SUPPRESS_CONNECT_HEADERS
29022851
*/
29032852
const CURLOPT_SUPPRESS_CONNECT_HEADERS = UNKNOWN;
2904-
#endif
29052853

2906-
#if LIBCURL_VERSION_NUM >= 0x073601 /* Available since 7.54.1 */
29072854
/**
29082855
* @var int
29092856
* @cvalue CURLAUTH_GSSAPI
29102857
*/
29112858
const CURLAUTH_GSSAPI = UNKNOWN;
2912-
#endif
29132859

2914-
#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */
29152860
/**
29162861
* @var int
29172862
* @cvalue CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
@@ -2952,9 +2897,7 @@
29522897
* @cvalue CURLOPT_SOCKS5_AUTH
29532898
*/
29542899
const CURLOPT_SOCKS5_AUTH = UNKNOWN;
2955-
#endif
29562900

2957-
#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */
29582901
/**
29592902
* @var int
29602903
* @cvalue CURLOPT_SSH_COMPRESSION
@@ -2965,9 +2908,7 @@
29652908
* @cvalue CURL_VERSION_MULTI_SSL
29662909
*/
29672910
const CURL_VERSION_MULTI_SSL = UNKNOWN;
2968-
#endif
29692911

2970-
#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */
29712912
/**
29722913
* @var int
29732914
* @cvalue CURL_VERSION_BROTLI
@@ -2978,17 +2919,13 @@
29782919
* @cvalue CURL_LOCK_DATA_CONNECT
29792920
*/
29802921
const CURL_LOCK_DATA_CONNECT = UNKNOWN;
2981-
#endif
29822922

2983-
#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */
29842923
/**
29852924
* @var int
29862925
* @cvalue CURLSSH_AUTH_GSSAPI
29872926
*/
29882927
const CURLSSH_AUTH_GSSAPI = UNKNOWN;
2989-
#endif
29902928

2991-
#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
29922929
/**
29932930
* @var int
29942931
* @cvalue CURLINFO_FILETIME_T
@@ -3004,9 +2941,7 @@
30042941
* @cvalue CURLOPT_TIMEVALUE_LARGE
30052942
*/
30062943
const CURLOPT_TIMEVALUE_LARGE = UNKNOWN;
3007-
#endif
30082944

3009-
#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */
30102945
/**
30112946
* @var int
30122947
* @cvalue CURLOPT_DNS_SHUFFLE_ADDRESSES
@@ -3017,9 +2952,7 @@
30172952
* @cvalue CURLOPT_HAPROXYPROTOCOL
30182953
*/
30192954
const CURLOPT_HAPROXYPROTOCOL = UNKNOWN;
3020-
#endif
30212955

3022-
#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
30232956
/**
30242957
* @var int
30252958
* @cvalue CURL_LOCK_DATA_PSL
@@ -3080,7 +3013,6 @@
30803013
* @cvalue CURLOPT_TLS13_CIPHERS
30813014
*/
30823015
const CURLOPT_TLS13_CIPHERS = UNKNOWN;
3083-
#endif
30843016

30853017
#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */
30863018
/**

0 commit comments

Comments
 (0)