Moodle 4.0
You are encouraged to upgrade to a supported version of Moodle.
Release date: 19 April 2022
Here is the full list of fixed issues in 4.0.0.
See our New features page in the user documentation for an introduction to Moodle 4.0 with screenshots.
If you are upgrading from a previous version, please see Upgrading in the user docs.
Server requirements
These are just the minimum supported versions. We recommend keeping all of your software and operating systems up-to-date.
- Moodle upgrade: Moodle 3.6 or later
- PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x and 8.0.x are supported too. See PHP for details.
- PHP extension sodium is recommended. It will be required in Moodle 4.2. For further details, see Environment - PHP extension sodium.
- PHP extension exif is recommended.
- PHP setting max_input_vars is recommended to be >= 5000 for PHP 7.x installations. It's a requirement for PHP 8.x installations. For further details, see Environment - max input vars.
Database requirements
Moodle supports the following database servers. Again, version numbers are just the minimum supported version. We recommend running the latest stable version of any software.
Database | Minimum version | Recommended |
---|---|---|
PostgreSQL | 10 (increased since Moodle 3.11) | Latest |
MySQL | 5.7 | Latest |
MariaDB | 10.2.29 | Latest |
Microsoft SQL Server | 2017 (increased since Moodle 3.10) | Latest |
Oracle Database | 11.2 | Latest |
Client requirements
Browser support
Moodle is compatible with any standards compliant web browser. We regularly test Moodle with the following browsers:
Desktop:
- Chrome
- Firefox
- Safari
- Edge Note: Moodle 4.0 does NOT support Internet Explorer 11.
Safari 7 and below has known compatibility issues with Moodle 4.0.
Mobile:
- MobileSafari
- Google Chrome For the best experience and optimum security, we recommend that you keep your browser up to date.
Major UX improvements
Navigation improvements
- MDL-70208 - Implement frontend functionality for primary navigation
- MDL-70207 - Implement backend functionality for primary navigation
- MDL-70202 - Implement frontend functionality for secondary navigation
- MDL-70198 - Implement backend functionality for secondary navigation
- MDL-70196 - Create a module based navigation bar
- MDL-72352 - Ensure that secondary navigation is backwards compatible
- MDL-73462 - Course and category management secondary and tertiary navigation
- MDL-71977 - Define the secondary navigation nodes that should be always displayed in the more menu in the module context
- MDL-71901 - Allow plugins to define their own secondary nav ordering
- MDL-70844 - Update the secondary navigation view to send site administration information in tab form
- MDL-72396 - Allow easy setting of the active tab for navigation views
- MDL-71912 - Implement tertiary navigation for plugins (also see MDL-71913, MDL-71914 and MDL-71914)
- MDL-73863 - Tertiary navigation in course completion
- MDL-72875 - Add tertiary navigation to the participants page
- MDL-72904 - Add tertiary navigation to the badges pages
- MDL-72873 - Add tertiary navigation to the gradebook
- MDL-72094 - Update the course reports page styling and functionality
- MDL-71083 - Move the user menu in the top bar into the primary navigation menu in the mobile view
- MDL-73393 - Ensure that existing third party themes still work with latest navigation changes
- MDL-71943 - Dynamic (AJAX) tabs in Moodle LMS
- MDL-72090 - Convert course admin pages from link farms to dropdowns
- MDL-72413 - Move the activity modules title, description, and activity completion into a standard module API
- MDL-72736 - Remove section navigation on one section per page
- MDL-72834 - Move the calendar link into the user menu
- MDL-72450 - Remove the next and previous activity links from all activity modules in Boost
- MDL-71148 - Combine both the custom menu & primary navigation renderers
- MDL-71683 - Update language menu to move from the top navigation into the user menu when logged in
- MDL-72005 - Update the context_header in Boost to move the breadcrumb to the top
Course index
- MDL-71209 - Create the new course index list
- MDL-72660 - Add activity completion indicators to the course index
- MDL-71228 - Implement drag and drop option for sections and activities in the course index
- MDL-71211 - Keep the status of the course index collapsed and expanded sections per user and course
- MDL-71795 - Course index on activity view page
- MDL-71828 - Implement section links' behaviour in course index
- MDL-71664 - Enable drag & drop from course index to course content and vice versa
- MDL-72463 - Add 'highlighted' label to course index
- MDL-71727 - Sync course index and course content when an element is dragged
- MDL-72897 - Mark the current section in the course index
- MDL-73340 - Open course index by default first time a user access the course
- MDL-73310 - Show the course index on all pages within a course
Course experience
- MDL-71037 - Sections are now collapsible for Topics and Weekly course formats
- MDL-71691 - Created a new activity UI component
- MDL-71689 - Improvements to add activity and add section design
- MDL-71663 - Created a new "move" option in the sections and activity cog menu in the course editor
- MDL-71779 - Made 'Add a new topic/week' option client side on Topics and Weekly formats
- MDL-72311 - Proceed straight to course content when creating a new course
- MDL-71863 - Created core_courseformat subsystem
- MDL-72578 - Moved activity UI component to output classes and templates
- MDL-73343 - New quick access to create a new course from My courses page when there is no course available