Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-71747

Decide Moodle 4.1 requirements and push them to environment.xml (due date: 2022-05-20)



    • Task
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • Future Dev
    • None
    • Installation
    • None


      Policy: PHP & Moodle supported versions

      Since Moodle 3.5 (MDL-59159), these rules apply to decide Minimum PHP and Moodle versions supported:

      1. A LTS will always require the previous LTS (or later) for upgrading.
      2. The maximum PHP version supported for a branch will be the max one achieved along the life of the branch. Usually with .0 releases but may happen later (we added support for php70 with 3.0.1, or support for php73 with 3.6.4, for example).
      3. The minimum PHP version supported for a branch will be the lower of:
        • The minimum version supported in any way by php the day of the Moodle release (so we provide slow, progressive increments).
        • The maximum PHP version supported by the previous LTS branch (so we guarantee jumping between LTS is possible without upgrading PHP at the same time).

      We need to decide ASAP about all the PHP/DB/Moodle versions requirements and put all them into the environmental tests (adding them to all supported branches).

      All the still open linked issues have been also cloned here from the 4.0 sister issue (MDL-70594).

      Usual discussions:

      Feel free to propose areas to be discussed here. A numbered list with all them will be created to vote and decide the final outcomes of this issue.

       Related Tasks (create issues/PRs whenever they apply):

      TODO-1: Once the agreement is settled, if there are raised requirements (PHP/Database/Extensions...) create a MDLSITE issue to ensure that external testers environment is ready for them.

      TODO-2: Once the agreement is settled, ensure that the affected php docker images fulfill all the requirements (extensions...). Same for (still) non-dockered stuff, like legacy CI server or performance-comparison jobs.

      TODO-3: Raised lower PHP version do imply that both moodlehq/behat-extension and core composer stuff need to be updated and regenerated with it. Followup issue.

      TODO-4: Also, composer related, check that all the php and extensions requirements and recommendations in the composer.json file match the ones specified in the admin/environment.xml file (defined by this issue).

      TODO-5: Once the patch is ready to peer-review, update all the configuration @ CI infrastructure (nightlyjobs) to ensure that every Moodle branch knows its lowest and highest PHP supported versions.

      TODO-6: Once applied upstream, changes are needed @ download.moodle.org to show the new requirements there (serverscripts).

      TODO-7: Once applied upstream, ensure that the corresponding release page has the correct agreed requirements updated (ask the Community team if the page is still missing).

      TODO-8: Once applied upstream, ensure that both the Mac and Windows packages fulfill the requirements and work ok.

      TODO-9: Once applied upstream, review the travis and/or github actions configuration for various repositories. The new core requirements may be hitting them. Also add new branches if missing. Known to need review / fix repos include:

      TODO-10: Consider if there is any PHPUnit upgrade to perform whenever there are PHP version changes.

      TODO-11: Ensure that the (clone of this) issue for next (to this) requirements issue is created and contains all the information. All the non-resolved details and issues must be dragged to the new issue.

      TODO-12: Ensure that there are landing pages @ docs for all the environmental changes performed.

      TIA and ciao


        Issue Links



              Unassigned Unassigned
              stronk7 Eloy Lafuente (stronk7)
              Matteo Scaramuccia, Andrew Lyons, Huong Nguyen, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze
              0 Vote for this issue
              11 Start watching this issue