diff --git a/.github/workflows/install-testing.yml b/.github/workflows/install-testing.yml
index 1599ad019d827..6cd3b70ad7439 100644
--- a/.github/workflows/install-testing.yml
+++ b/.github/workflows/install-testing.yml
@@ -1,6 +1,9 @@
# Confirms that installing WordPress using WP-CLI works successfully.
#
# This workflow is not meant to test wordpress-develop checkouts, but rather tagged versions officially available on WordPress.org.
+#
+# This workflow is triggered for all WordPress versions that are currently receiving security updates. It therefore needs to
+# retain support for older PHP and database versions.
name: Installation Tests
on:
diff --git a/.github/workflows/local-docker-environment.yml b/.github/workflows/local-docker-environment.yml
index 06638af14a552..5ddb5f5d6fe57 100644
--- a/.github/workflows/local-docker-environment.yml
+++ b/.github/workflows/local-docker-environment.yml
@@ -106,11 +106,6 @@ jobs:
- db-version: '9.2'
- db-version: '9.3'
- db-version: '9.4'
- # MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '9.5'
- - php: '7.3'
- db-version: '9.5'
# No PHP 8.5 + Memcached support yet.
- php: '8.5'
memcached: true
diff --git a/.github/workflows/phpunit-tests.yml b/.github/workflows/phpunit-tests.yml
index 63615dfad19f8..de2de9091677c 100644
--- a/.github/workflows/phpunit-tests.yml
+++ b/.github/workflows/phpunit-tests.yml
@@ -72,7 +72,7 @@ jobs:
fail-fast: false
matrix:
os: [ ubuntu-24.04 ]
- php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
+ php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
db-type: [ 'mysql' ]
db-version: [ '5.7', '8.0', '8.4' ]
tests-domain: [ 'example.org' ]
@@ -149,7 +149,7 @@ jobs:
fail-fast: false
matrix:
os: [ ubuntu-24.04 ]
- php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
+ php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
db-type: [ 'mariadb' ]
db-version: [ '5.5', '10.3', '10.5', '10.6', '10.11', '11.4', '11.8' ]
multisite: [ false, true ]
@@ -201,7 +201,7 @@ jobs:
fail-fast: false
matrix:
os: [ ubuntu-24.04 ]
- php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
+ php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
db-type: [ 'mysql', 'mariadb' ]
db-version: [ '9.5', '12.0' ]
multisite: [ false, true ]
@@ -209,11 +209,6 @@ jobs:
db-innovation: [ true ]
exclude:
- # MySQL 9.0+ will not work on PHP <= 7.3 because mysql_native_password was removed. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '9.5'
- - php: '7.3'
- db-version: '9.5'
# Exclude version combinations that don't exist.
- db-type: 'mariadb'
db-version: '9.5'
@@ -248,7 +243,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- php: [ '7.2', '7.4', '8.0', '8.4' ]
+ php: [ '7.4', '8.0', '8.4' ]
db-type: [ 'mysql' ]
db-version: [ '8.4' ]
phpunit-test-groups: [ 'html-api-html5lib-tests' ]
@@ -277,7 +272,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- php: [ '7.2', '8.4' ]
+ php: [ '7.4', '8.4' ]
db-version: [ '8.4', '11.8' ]
db-type: [ 'mysql', 'mariadb' ]
multisite: [ false ]
diff --git a/.github/workflows/reusable-upgrade-testing.yml b/.github/workflows/reusable-upgrade-testing.yml
index 193802ce9f4ad..aa1760daf6c40 100644
--- a/.github/workflows/reusable-upgrade-testing.yml
+++ b/.github/workflows/reusable-upgrade-testing.yml
@@ -75,8 +75,6 @@ jobs:
--health-retries="5"
-e MYSQL_ROOT_PASSWORD="root"
-e MYSQL_DATABASE="test_db"
- --entrypoint sh ${{ inputs.db-type }}:${{ inputs.db-version }}
- -c "exec docker-entrypoint.sh mysqld${{ inputs.db-type == 'mysql' && contains( fromJSON('["7.2", "7.3"]'), inputs.php ) && ' --default-authentication-plugin=mysql_native_password' || '' }}"
steps:
- name: Set up PHP ${{ inputs.php }}
diff --git a/.github/workflows/upgrade-develop-testing.yml b/.github/workflows/upgrade-develop-testing.yml
index 8d00334c38903..b33188106c44f 100644
--- a/.github/workflows/upgrade-develop-testing.yml
+++ b/.github/workflows/upgrade-develop-testing.yml
@@ -63,20 +63,12 @@ jobs:
fail-fast: false
matrix:
os: [ 'ubuntu-24.04' ]
- php: [ '7.2', '8.4' ]
+ php: [ '7.4', '8.4' ]
db-type: [ 'mysql' ]
db-version: [ '5.7', '8.4' ]
- # WordPress 4.9 is the oldest version that supports PHP 7.2.
- wp: [ '4.9', '6.7', '6.8', '6.9-RC1' ]
+ # WordPress 5.3 is the oldest version that supports PHP 7.4.
+ wp: [ '5.3', '6.7', '6.8', '6.9-RC1' ]
multisite: [ false, true ]
-
- exclude:
- # The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '8.4'
- # WordPress 4.9 does not support PHP 8.4.
- - php: '8.4'
- wp: '4.9'
with:
os: ${{ matrix.os }}
php: ${{ matrix.php }}
@@ -98,17 +90,11 @@ jobs:
fail-fast: false
matrix:
os: [ 'ubuntu-24.04' ]
- php: [ '7.2', '8.4' ]
+ php: [ '7.4', '8.4' ]
db-type: [ 'mysql' ]
db-version: [ '8.4' ]
- # WordPress 4.9 is the oldest version that supports PHP 7.2.
wp: [ '6.7', '6.8' ]
multisite: [ false, true ]
-
- exclude:
- # The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '8.4'
with:
os: ${{ matrix.os }}
php: ${{ matrix.php }}
diff --git a/.github/workflows/upgrade-testing.yml b/.github/workflows/upgrade-testing.yml
index f6ba23c87a328..4f6025e054580 100644
--- a/.github/workflows/upgrade-testing.yml
+++ b/.github/workflows/upgrade-testing.yml
@@ -68,23 +68,11 @@ jobs:
fail-fast: false
matrix:
os: [ 'ubuntu-24.04' ]
- php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
+ php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
db-type: [ 'mysql' ]
db-version: [ '5.7', '8.0', '8.4', '9.5' ]
wp: [ '6.7', '6.8' ]
multisite: [ false, true ]
-
- exclude:
- # The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '8.4'
- - php: '7.3'
- db-version: '8.4'
- # MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '9.5'
- - php: '7.3'
- db-version: '9.5'
with:
os: ${{ matrix.os }}
php: ${{ matrix.php }}
@@ -105,16 +93,11 @@ jobs:
fail-fast: false
matrix:
os: [ 'ubuntu-24.04' ]
- php: [ '7.2', '7.4', '8.0', '8.4' ]
+ php: [ '7.4', '8.0', '8.4' ]
db-type: [ 'mysql' ]
db-version: [ '5.7', '8.4' ]
wp: [ '6.0', '6.3', '6.4', '6.5' ]
multisite: [ false, true ]
-
- exclude:
- # The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '8.4'
with:
os: ${{ matrix.os }}
php: ${{ matrix.php }}
@@ -124,7 +107,7 @@ jobs:
new-version: ${{ inputs.new-version && inputs.new-version || 'latest' }}
multisite: ${{ matrix.multisite }}
- # Tests 5.x releases where the WordPress database version changed on the oldest and newest supported versions of PHP 7.
+ # Tests 5.x releases where the WordPress database version changed on the only supported version of PHP 7.
upgrade-tests-wp-5x-php-7x-mysql:
name: ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
uses: ./.github/workflows/reusable-upgrade-testing.yml
@@ -135,16 +118,11 @@ jobs:
fail-fast: false
matrix:
os: [ 'ubuntu-24.04' ]
- php: [ '7.2', '7.4' ]
+ php: [ '7.4' ]
db-type: [ 'mysql' ]
db-version: [ '5.7', '8.4' ]
wp: [ '5.0', '5.1', '5.3', '5.4', '5.5', '5.6', '5.9' ]
multisite: [ false, true ]
-
- exclude:
- # The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '8.4'
with:
os: ${{ matrix.os }}
php: ${{ matrix.php }}
@@ -199,23 +177,11 @@ jobs:
fail-fast: false
matrix:
os: [ 'ubuntu-24.04' ]
- php: [ '7.2', '7.3', '7.4' ]
+ php: [ '7.4' ]
db-type: [ 'mysql' ]
db-version: [ '5.7', '8.0', '8.4', '9.5' ]
wp: [ '4.7' ]
multisite: [ false, true ]
-
- exclude:
- # The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '8.4'
- - php: '7.3'
- db-version: '8.4'
- # MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
- - php: '7.2'
- db-version: '9.5'
- - php: '7.3'
- db-version: '9.5'
with:
os: ${{ matrix.os }}
php: ${{ matrix.php }}
diff --git a/.version-support-php.json b/.version-support-php.json
index 6618a1680b9bf..5374052d2383c 100644
--- a/.version-support-php.json
+++ b/.version-support-php.json
@@ -1,7 +1,5 @@
{
"7-0": [
- "7.2",
- "7.3",
"7.4",
"8.0",
"8.1",
diff --git a/composer.json b/composer.json
index 64ce2356a6719..2c5b20f7879a9 100644
--- a/composer.json
+++ b/composer.json
@@ -13,7 +13,7 @@
"require": {
"ext-hash": "*",
"ext-json": "*",
- "php": ">=7.2.24"
+ "php": ">=7.4"
},
"suggest": {
"ext-dom": "*"
diff --git a/docker-compose.yml b/docker-compose.yml
index 274e106ec8e5c..cc2ed8d94975e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -79,9 +79,6 @@ services:
- ./tools/local-env/mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql
- mysql:/var/lib/mysql
- # For compatibility with PHP versions that don't support the caching_sha2_password auth plugin used in MySQL 8.0.
- command: ${LOCAL_DB_AUTH_OPTION-}
-
healthcheck:
test: [
'CMD-SHELL',
diff --git a/phpcompat.xml.dist b/phpcompat.xml.dist
index a4771be79618b..c4ebab64ea19b 100644
--- a/phpcompat.xml.dist
+++ b/phpcompat.xml.dist
@@ -66,8 +66,8 @@
-
-
+
+