[Taken T216165#5284682 by @Krinkle]##### Problem statement
I'd like to try to swing this around and instead look at what the highest PHP version is that we could require, for MW 1.33/34 (regular stable) and MW 1.35 (LTS). [Per the review below we're looking at PHP 7.2 for MW 1.34,We don't have a predictable timeline for when or how often we change the required PHP version of MediaWiki. but we'll want to use the same criteria in the future forIt is also unclear how we will determine what the next major update as a common task.]required PHP version will be.
This exercise makes the following (potentially controversial) assumptions:e conversation of starting to drop a version evolves organically and ad-hoc, at which point a task, usually involving TechCom. If we forget to during a year, or if the task takes too long to reach consensus, we may forget to bump the requirement in time which then results in long-term cost for maintenance, support, testing etc.
* We prefer not##### Objective
* To document which criteria MediaWiki releases will use to support adecide the PHP version beyond its EOLs it supports.
* To not have an RFC every time we want to raise the PHP version requirement.
* To evaluate these criteria on a regular basis, and when needed, raise the requirement accordingly.
##### Proposal 1
Based on @Krinkle's comment at T216165#5284682.
I'd like to propose a set of wishes we would use to determine the PHP versions we want and need to support (and not support versions older than those).
* We prefer not to support a PHP version beyond its EOL. (This means each MW x.0 stable release will only support PHP versions that don't go EOL before the MW release goes EOL; unless required for another bullet point.)
* We prefer not to support an Ubuntu or Debian version beyond its EOL. (This means each MW x.0 stable release will only support Debian+Ubuntu versions and their PHP versions if they don't go EOL before the MW release goes EOL; unless required for another bullet point.)
* Each Ubuntu and Debian version must have at least one MW version that we still support when the Linux release cycle starts.
* Administrators using the Ubuntu and Debian LTSes must have a clear upgrade path from one combination of Linux/PHP/MW to the next without any gaps where they aren't supported, and to be able to remain on such a combination for at least 1 year, preferably 2.2 years.
##### Proposal 1 (Example for current state)
[[ https://www.php.net/supported-versions.php | PHP ]]
* PHP 7.1 support: Dec 2016 - Dec 2019
* PHP 7.2 support: Nov 2017 - Nov 2020
* PHP 7.3 support: Dec 2018 - Dec 2021
[[ https://ubuntu.com/about/release-cycle | Ubuntu ]]:
* Ubuntu 18.04 LTS: mid-2018 - mid-2023 (PHP 7.2)
* Ubuntu 20.04 LTS: mid-2020 - mid-2025 (PHP 7.3, maybe later)
[[ https://wiki.debian.org/DebianReleases | Debian ]]:
* Debian 9 Stretch: mid-2017 - 2022 (PHP 7.0)
* Debian 10 Buster: mid-2019 - 2022+ (PHP 7.3)
[[ https://www.mediawiki.org/wiki/Version_lifecycle | MediaWiki ]]
* MediaWiki 1.31: June 2018 - June 2021 (PHP 7.0+)
* MediaWiki 1.32: Jan 2019 - Jan 2020 (PHP 7.0+)
* MediaWiki 1.33: June 2019 - June 2020 (PHP …)
* MediaWiki 1.34: November 2019 - November 2020 (PHP …)
* MediaWiki 1.35 LTS: June 2020 - June 2023 (PHP …)
NowLet's see which versions we would need to require for MW 1.34+ whilst upholding the proposed criteria.
The only Linux combination we need to look at is Debian 9 Stretch with PHP 7.0. On that platform, let's see if we could require PHP 7.2 for MW 1.33+ and uphold the three assumptionswe support MW 1.31 from June 2018 to June 2021 within the Debian 9 cycle, which gives them 3 years (we require 2).
The only combination we need to look at is Debian 9 Stretch with PHP 7.0. On that platform, we support MW 1.31 started June 2018, and supported until June 2021 (that's 3 years even). By thenBy June 2012, there will be Debian 10 and several MediaWiki releases that support for PHP 7.2, which gives them a clear upgrade path without any gaps where they aren't supported.
It doeThis mean however, that we don't support users who remain on a single Linux LTS for more than 3 yearss for MW 1.34 we would drop PHP 7.0, but I don't see why we would need to support that. The above proposal means they can remain idle for 2 years, and then have the third year to upgradeand 7.1, and require PHP 7.2+.