-
Epic
-
Resolution: Fixed
-
Minor
-
3.11, 4.0
-
MOODLE_311_STABLE, MOODLE_400_STABLE
-
MOODLE_311_STABLE, MOODLE_400_STABLE
-
Prepare Moodle for PHP 8.0
-
(image taken before closing, now php80 is being tested everywhere, GHA, CI... so no need for those custom tests and branches anymore)
Accumulative branches (with all the pending stuff still not upstream) are:
- master: https://github.com/stronk7/moodle/compare/master...php80 (deleted)
- 311_STABLE: https://github.com/stronk7/moodle/compare/MOODLE_311_STABLE...php80_311 (deleted)
An, hopefully, small epic to turn Moodle ready for PHP 8.0.
When: Being cristal clear (aka transparent), the ideal target release for this is Moodle 3.11.0 (aka, supported since the very beginning of the branch), but be warned that full support may arrive later in any Moodle 3.11.x minor release in the branch, depending of a number of factors (extensions availability and bugs, 3rd part libraries, last minute surprises...).
Some initial links:
- Main changes explained: https://stitcher.io/blog/new-in-php-8 and https://php.watch/versions/8.0.
- Changes detailed: https://github.com/php/php-src/blob/PHP-8.0/UPGRADING.
- Accepted RFCs: https://wiki.php.net/rfc#php_80.
Some basic requirements for this:
get unit and acceptance tests passing against all databases (may imply the need of upgrading phpunit/behat...).
check all the changes details have been reviewed and fixed (attached file).
ensure older versions of Moodle don't work with PHP 8.0 (
MDL-68735)get travis and gha working with the new php version (
MDL-70900)verify that there apache logs are clean of PHP 8.0 notices/warnings/errors (
MDL-70986)get moodle-php-apache docker images working with the new php version
verify that php-parallel-lint/php-parallel-lint passes for all php versions (
MDL-73405)Update docs (and others, see testing instructions) once this is ready.
- ...
And some tasks to do once this is upstream:
TODO 1: Review the travis and/or github actions configuration for various repositories. The new PHP version needs to be covered. Known to need review / fix repos include:
moodle_docker (PR#158)
moodle-ci-runner
nightlyjobs (MR!31)
moodle-plugin-ci (PR#94)
local_codechecker (PR#145)
local_moodlecheck (PR#74)
local_ci
- moodle-tool_pluginskel (PR#109)
- ...
TODO 2: Verify that this PR has been fixed/hopefully released @ MinkExtension (new PHP 8 warning) and update our dependencies to it.
All the issues belonging to this epic should be pulled into both MOODLE_311_STABLE and master (unless they are bug fixes requiring patching older, still supported, branches)
- has a clone
-
MDL-73016 Prepare Moodle for PHP 8.1
-
- Closed
-
- has a non-specific relationship to
-
MDL-64681 Better handling of broken (needsupdate = 1) gradebook
-
- Closed
-
- has been marked as being related by
-
MDL-70543 xmlrpc and PHP8
-
- Closed
-
-
MDL-71637 mb_substitute_character ValueError for PHP 8.0
-
- Closed
-
-
MDL-75645 Cannot export to Mahara portfolio on php8
-
- Closed
-
-
MDL-76376 Array count() error in MOODLE v4.0 after update to PHP v8.0
-
- Closed
-
-
MDL-78544 PHP 8.0 compatibility: Configuration for recent files repository site admin page generates exception
-
- Closed
-
-
MDL-74905 Decide Moodle 4.2 requirements and push them to environment.xml (due date: 2022-12-26)
-
- Closed
-
-
MDL-70594 Decide Moodle 4.0 requirements and push them to environment.xml (due date: 2021-06-09)
-
- Closed
-
-
MDL-69308 Decide Moodle 3.11 requirements and push them to environment.xml (due date: 2020-12-21)
-
- Closed
-
-
MDL-71747 Decide Moodle 4.1 requirements and push them to environment.xml (due date: 2022-06-01)
-
- Closed
-
-
MDL-71036 Upgrade PHPUnit to 9.5.x
-
- Closed
-
- is a clone of
-
MDL-66260 Prepare Moodle for PHP 7.4
-
- Closed
-
- Testing discovered
-
MDL-70889 XMLRPC to be or not to be
-
- Closed
-