From f4047c351e26ce7d2f420dd07598a1da096d1c63 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 11 Jun 2026 15:28:19 -0600 Subject: [PATCH 1/3] chore: require PHP 8.2 --- .github/workflows/addon-integration-test.yml | 2 +- .github/workflows/e2e.yml | 2 +- .github/workflows/release.yml | 4 ++-- composer.json | 4 ++-- composer.lock | 6 +++--- inc/class-requirements.php | 2 +- readme.txt | 4 ++-- ultimate-multisite.php | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/addon-integration-test.yml b/.github/workflows/addon-integration-test.yml index 6d54dd987..35b9ee65d 100644 --- a/.github/workflows/addon-integration-test.yml +++ b/.github/workflows/addon-integration-test.yml @@ -30,7 +30,7 @@ on: description: "JSON array of PHP versions to test" required: false type: string - default: '["8.2"]' + default: '["8.2", "8.3", "8.4", "8.5"]' run-e2e: description: "Whether to run E2E (Cypress) tests" required: false diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 7c7fdf6b0..1cf67f7a4 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -14,7 +14,7 @@ jobs: timeout-minutes: 45 # Increased for setup wizard + Stripe test clock advancement strategy: matrix: - php: ["8.1", "8.2"] # Reduced PHP versions for faster CI + php: ["8.2", "8.3", "8.4", "8.5"] browser: ["chrome"] # Start with Chrome only for reliability services: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7f7a2e78b..d0661cb43 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2 with: - php-version: '7.4' + php-version: '8.2' extensions: mbstring, intl, curl tools: composer, wp-cli @@ -125,7 +125,7 @@ jobs: ## Notes - Compatible with WordPress 5.3+ - - Requires PHP 7.4.30+ + - Requires PHP 8.2+ - Always backup your site before upgrading deploy-to-wporg: diff --git a/composer.json b/composer.json index 7417afcfc..c44adc486 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,7 @@ ], "type": "wordpress-plugin", "require": { - "php": ">=7.4.1", + "php": ">=8.2", "automattic/jetpack-autoloader": "^3.0 || ^4.0 || ^5.0", "wp-ultimo/autoloader-plugin": "dev-main", "wordpress/abilities-api": "^0.4.0", @@ -80,7 +80,7 @@ }, "config": { "platform": { - "php": "7.4.1" + "php": "8.2.0" }, "allow-plugins": { "composer/installers": true, diff --git a/composer.lock b/composer.lock index 38965e32c..7231caaa3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f96bc9847525d14a2e249a3cfac6f05e", + "content-hash": "25f64335dc20fe4a18af3f77340bf469", "packages": [ { "name": "amphp/amp", @@ -7449,13 +7449,13 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.4.1", + "php": ">=8.2", "ext-json": "*", "ext-curl": "*" }, "platform-dev": {}, "platform-overrides": { - "php": "7.4.1" + "php": "8.2.0" }, "plugin-api-version": "2.9.0" } diff --git a/inc/class-requirements.php b/inc/class-requirements.php index 620c8193f..8208ba812 100644 --- a/inc/class-requirements.php +++ b/inc/class-requirements.php @@ -36,7 +36,7 @@ class Requirements { * @since 2.0.0 * @var string */ - public static $php_version = '7.4.1'; + public static $php_version = '8.2'; /** * Recommended PHP Version diff --git a/readme.txt b/readme.txt index 145045ccd..bd80b174b 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Contributors: aanduque, superdav42, vvwb, surferking, mahyarrezghi, josevega, pa Donate link: https://github.com/sponsors/superdav42/ Tags: multisite, domain mapping, wordpress multisite, multisite saas, waas Requires at least: 5.3 -Requires PHP: 7.4.30 +Requires PHP: 8.2 Tested up to: 7.0 Stable tag: 2.13.1 License: GPLv2 @@ -168,7 +168,7 @@ Ultimate Multisite uses [Microlink](https://microlink.io/) as its primary screen == Requirements == - WordPress Multisite 5.3 or higher -- PHP 7.4.30 or higher +- PHP 8.2 or higher - MySQL 5.6 or higher == Screenshots == diff --git a/ultimate-multisite.php b/ultimate-multisite.php index bd50e558a..ab7088f25 100644 --- a/ultimate-multisite.php +++ b/ultimate-multisite.php @@ -12,7 +12,7 @@ * Domain Path: /lang * Network: true * Requires at least: 5.3 - * Requires PHP: 7.4.30 + * Requires PHP: 8.2 * * Ultimate Multisite is distributed under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or From a64c9194c85a83ad331c4e46867829e08d4748bb Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 11 Jun 2026 16:05:11 -0600 Subject: [PATCH 2/3] chore: align PHP 8.2 requirement references --- .wiki/frequently-asked-questions.md | 2 +- .wiki/wp-ultimo-requirements.md | 4 ++-- AGENTS.md | 4 ++-- CONTRIBUTING.md | 4 ++-- README.md | 4 ++-- tests/WP_Ultimo/Site_Exporter/Self_Boot_Builder_Test.php | 4 ++-- views/site-exporter/self-boot/readme.txt | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.wiki/frequently-asked-questions.md b/.wiki/frequently-asked-questions.md index a34bf8443..9bbe84f32 100644 --- a/.wiki/frequently-asked-questions.md +++ b/.wiki/frequently-asked-questions.md @@ -15,7 +15,7 @@ No. Ultimate Multisite requires WordPress multisite, subdirectory, or subdomain. Ultimate Multisite requires: **WordPress Version** : v5.3+ (Recommended: Last Stable Version) -**PHP Version** : 7.4.x (Support to > 8.0 coming soon) +**PHP Version** : 8.2+ **MySQL Version** : v5+ (Recommended: Version 5.6, in case you don't have 8.0 available on your hosting provider) _Multisite (subdomain or subdirectory) also needs to be activated._ [How to Install WordPress Multisite](https://support.delta.nextpress.co/hc/wp-ultimo/articles/1677127280-how-do-i-install-word_press-multisite). diff --git a/.wiki/wp-ultimo-requirements.md b/.wiki/wp-ultimo-requirements.md index c4805c64e..17f0a01b7 100644 --- a/.wiki/wp-ultimo-requirements.md +++ b/.wiki/wp-ultimo-requirements.md @@ -34,13 +34,13 @@ After you have Multisite enabled on WordPress, it is time to install Ultimate Mu * WordPress: v5.3+ (Recommended: Last stable version) - * PHP: 7.4.x (support to > 8.0 coming soon) + * PHP: 8.2+ * MySQL: v5+ (Recommended: 5.6, in case you don't have 8.0 available on your hosting provider) These are the only software requirements for Ultimate Multisite. -Keep in mind that Ultimate Multisite may work with PHP 8.0 but we recommend running it with PHP 7.4.x. +Keep in mind that Ultimate Multisite requires PHP 8.2 or higher. Also, we recommend installing it on **main domains** , not subdomains or subdirectories. It might work on subdomains/subdirectories, but it might present some errors. diff --git a/AGENTS.md b/AGENTS.md index 310012979..c9d478772 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ UI text, docs, and user-facing strings. The code namespace `WP_Ultimo` and the `wu_` function/hook prefix are preserved for backwards compatibility — do not rename them. -WordPress Multisite WaaS plugin (formerly WP Ultimo). PHP 7.4+, WP 5.3+, GPL v2. +WordPress Multisite WaaS plugin (formerly WP Ultimo). PHP 8.2+, WP 5.3+, GPL v2. Root namespace: `WP_Ultimo`. Text domain: `ultimate-multisite`. ## Build / Test / Lint Commands @@ -125,7 +125,7 @@ assets/ # JS, CSS, images, fonts - **i18n**: All user-facing strings via `__()`, `esc_html__()`, etc. with domain `ultimate-multisite`. - **Sanitization**: Use `wu_clean()` or WordPress sanitization functions. Custom sanitizers registered in `.phpcs.xml.dist`. -- **PHP compat**: Must work on PHP 7.4+. Platform set to 7.4.1 in composer.json. +- **PHP compat**: Must work on PHP 8.2+. Platform set to 8.2.0 in composer.json. ### Naming Conventions diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6a1146f9f..d110a2cd7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,7 @@ Thank you for your interest in contributing to Multisite Ultimate! This document ### Prerequisites -- PHP 7.4+ (8.1+ recommended for development) +- PHP 8.2+ - Node.js 16+ and npm - Composer - Git @@ -396,4 +396,4 @@ The project includes hook profiling capabilities for performance analysis. - Plugin/theme restrictions - Resource limits (disk, users, etc.) -Thank you for contributing to Multisite Ultimate! 🚀 \ No newline at end of file +Thank you for contributing to Multisite Ultimate! 🚀 diff --git a/README.md b/README.md index 14931fbc8..cb295326f 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@

License: GPL v2 WordPress: 6.8 Tested - PHP: 7.4.0+ + PHP: 8.2+ Up To PHP: 8.4.6 Latest Release

@@ -45,7 +45,7 @@ This plugin was formerly known as WP Ultimo and is now community maintained. ## 📋 Requirements - WordPress Multisite 5.3 or higher -- PHP 7.4.30 or higher +- PHP 8.2 or higher - MySQL 5.6 or higher ## 🔧 Installation diff --git a/tests/WP_Ultimo/Site_Exporter/Self_Boot_Builder_Test.php b/tests/WP_Ultimo/Site_Exporter/Self_Boot_Builder_Test.php index e0e76cd84..c8d0b6675 100644 --- a/tests/WP_Ultimo/Site_Exporter/Self_Boot_Builder_Test.php +++ b/tests/WP_Ultimo/Site_Exporter/Self_Boot_Builder_Test.php @@ -156,11 +156,11 @@ public function test_render_readme_substitutes_all_tokens(): void { // ------------------------------------------------------------------------- /** - * The rendered index.php must be syntactically valid PHP 7.4. + * The rendered index.php must be syntactically valid PHP 8.2. * * Runs `php -l` on the rendered output in a subprocess. */ - public function test_self_boot_index_template_is_php_74_compatible(): void { + public function test_self_boot_index_template_is_php_82_compatible(): void { $rendered = Self_Boot_Builder::render_index_template('single-site', []); if (empty($rendered)) { diff --git a/views/site-exporter/self-boot/readme.txt b/views/site-exporter/self-boot/readme.txt index d0275b331..e44b00f9a 100644 --- a/views/site-exporter/self-boot/readme.txt +++ b/views/site-exporter/self-boot/readme.txt @@ -41,7 +41,7 @@ QUICK START (Browser Wizard — recommended) REQUIREMENTS -------------------------------------------------------------------------------- -- PHP 7.4 or later (PHP 8.x recommended) +- PHP 8.2 or later - MySQL 5.7+ or MariaDB 10.2+ - Outbound HTTPS to wordpress.org (unless core was bundled) - ZipArchive PHP extension From ae9338b220b8988506080452317d3d17703b9478 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 11 Jun 2026 16:12:00 -0600 Subject: [PATCH 3/3] ci: run e2e on PHP 8.5 only --- .github/workflows/e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 1cf67f7a4..787ef9f69 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -14,7 +14,7 @@ jobs: timeout-minutes: 45 # Increased for setup wizard + Stripe test clock advancement strategy: matrix: - php: ["8.2", "8.3", "8.4", "8.5"] + php: ["8.5"] browser: ["chrome"] # Start with Chrome only for reliability services: