Details
-
Epic
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
4.1
-
None
-
MOODLE_401_STABLE
-
Prepare Moodle for PHP 8.1
-
Description
Accumulative branches (with all the pending stuff still not upstream) are:
The, hopefully small, epic to turn Moodle ready for PHP 8.1.
When: Being cristal clear (aka transparent), the ideal target release for this is Moodle 4.1.0 (aka, supported since the very beginning of the branch), but be warned that full support may arrive later in any Moodle 4.1.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-81 and https://php.watch/versions/8.1.
- Changes detailed: https://github.com/php/php-src/blob/PHP-8.1/UPGRADING.
- Accepted RFCs: https://wiki.php.net/rfc#php_81.
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). Note that, until release, this file is considered WIP and subject to changes!
- ensure older versions of Moodle don't work with PHP 8.1 (
MDL-73017) - verify that the apache logs are clean of PHP 8.1 notices/warnings/errors (MDL-73019)
- get moodle-php-apache docker images working with the new php version
- verify that php-parallel-lint/php-parallel-lint and others pass for all php versions (
MDL-73406) - verify that all the issues found by the dev version of PHPCompatibility are fixed or false positives (
MDL-73587). - search in the tracker for any issue created about "php 8.1" or "php81". Add them to this epic after analysing them.
- Update docs (and others, see testing instructions) once this is ready.
- FINAL: get travis and gha working with the new php version (MDL-73018)
- ...
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
- moodle-ci-runner
- nightlyjobs
- moodle-cs
- moodle-plugin-ci
- local_codechecker
- local_moodlecheck
- local_ci
- moodle-tool_pluginskel
- moodle-webservice_xmlrpc
- ...
All the issues belonging to this epic should be pulled into master and MOODLE_401_STABLE (unless they are bug fixes requiring patching older, still supported, branches)
Attachments
Issue Links
- has a clone
-
MDL-76405 Prepare Moodle for PHP 8.2
-
- Open
-
- has a non-specific relationship to
-
MDL-76373 Review third party libraries for new versions (4.2 release)
-
- Open
-
-
MDL-73715 Review third party libraries for new versions (4.1 release)
-
- Closed
-
- has been marked as being related by
-
MDL-76080 mod_data: Test for create_field does not test anything
-
- Closed
-
-
MDL-76724 Decide Moodle 4.3 requirements and push them to environment.xml (due date: 2023-05-08)
-
- Open
-
-
MDL-74905 Decide Moodle 4.2 requirements and push them to environment.xml (due date: 2022-12-26)
-
- Waiting for testing
-
-
MDL-71747 Decide Moodle 4.1 requirements and push them to environment.xml (due date: 2022-06-01)
-
- Closed
-
- is a clone of
-
MDL-70745 Prepare Moodle for PHP 8.0
-
- Closed
-
- is child of
-
IDEA-147 PHP version compatibility
-
- In development
-
- Testing discovered
-
MDL-75952 Remove all Reflection setAccessible() uses from core once php81 is the minimum
-
- Open
-
-
MDL-70889 XMLRPC to be or not to be
-
- Closed
-
-
MDL-75760 Explicitly set MYSQLI_REPORT_OFF in the mysql native driver
-
- Closed
-
-
MDL-75761 Consider modernising the mysql (and children) native database drivers
-
- Open
-
- will be (partly) resolved by
-
MDL-67733 Upgrade Google APIs client library to latest version
-
- Waiting for peer review
-
-
MDL-76089 Upgrade Horde to latest version
-
- Waiting for testing
-
-
MDL-75468 Upgrade TCPDF to 6.5.0
-
- Closed
-
-
MDL-75487 Upgrade CFPropertyList to 2.0.3
-
- Closed
-
-
MDL-74823 Upgrade HTML Purifier to 4.16.0
-
- Closed
-
-
MDL-75466 Upgrade PHPMailer to 6.6.5
-
- Closed
-
-
MDL-75481 Upgrade MongoDB to 1.13.1
-
- Closed
-
-
MDL-75776 Bump behat and phpunit (composer) dependencies to current ones
-
- Closed
-