Skip to main content

Moodle 3.7

Unsupported Moodle Version
This version of Moodle is no longer supported and will not receive fixes for security risks.
You are encouraged to upgrade to a supported version of Moodle.

Release date: 20 May 2019

Here is the full list of fixed issues in 3.7.

See our New features page in the user documentation for an introduction to Moodle 3.7 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.2 or later
  • PHP version: minimum PHP 7.1.0 Note: minimum PHP version has increased since Moodle 3.6. PHP 7.2.x and 7.3.x are supported too. See Moodle and PHP for details.
  • PHP extension intl is required since Moodle 3.4 (it was recommended in 2.0 onwards)

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.

DatabaseMinimum versionRecommended
PostgreSQL9.411.x then 12.x in Moodle 3.7.5 onwards
Microsoft SQL Server2008Latest
Oracle Database11.2Latest

Client requirements

Browser support

Moodle is compatible with any standards compliant web browser. We regularly test Moodle with the following browsers:


  • Chrome
  • Firefox
  • Safari
  • Edge
  • Internet Explorer


  • MobileSafari
  • Google Chrome

For the best experience and optimum security, we recommend that you keep your browser up to date.

Note: Legacy browsers with known compatibility issues with Moodle 3.7:

  • Internet Explorer 10 and below
  • Safari 7 and below

Major features


  • MDL-22077 - Private reply option
  • MDL-65033 - Ability to star discussions
  • MDL-64956 - In-page forum post reply
  • MDL-65032 - Ability to lock discussions manually
  • MDL-65069 - Ability to create discussions without changing page
  • MDL-64820 - Forum display updated to use templates
  • MDL-65071 - List of discussions is sortable
  • MDL-65034 - Accessibility improvements to forum discussions
  • MDL-65394 - Forum rendering speed improvements
  • MDL-46881 - Forum scheduled task (cron) has been refactored into several smaller cron tasks


  • MDL-65015 - HTML in messages is cleaned according to site/role "trusttext" configuration
  • MDL-64715 - Personal space in messaging drawer for draft messages etc.
  • MDL-64495 - New settings page for messaging-related settings
  • MDL-63620 - Group conversations can be created from both the auto-create groups edit page and the import groups tool
  • MDL-63915 - Old messaging user interface removed and replaced with a new widget
  • MDL-64773 - Messaging conversations can be muted
  • MDL-65132 - New capability for deleting messages for all users within group conversations
  • MDL-64017 - Message processors can identify and handle group messages
  • MDL-64703 - Updated interface on the messaging index page
  • MDL-64137 - Searches highlight text that matches the search term
  • MDL-65114 - Timestamps in the main conversation list include days and years
  • MDL-64093 - New admin setting to set the site default for using enter key to send messages
  • MDL-60680 - Improved push notifications


  • MDL-58428 - All Boost templates moved to core
  • MDL-64505 - Classic theme introduced to core
  • MDL-64506 - Bootstrapbase and related themes (Clean/More) removed from core
  • MDL-65449 - Themes can override the course pattern used on the dashboard


Open Badges

  • MDL-63262 - Support added for Open Badges 2.0 platforms
  • MDL-63876 - Moodle competencies can be linked to criteria for badges in Open Badges 2.0

Dashboard and Course Overview

  • MDL-63794 - Course categories can be displayed on courses in the course overview block
  • MDL-64855 - New admin setting to control the output of the course category in the myoverview block
  • MDL-64376 - Scrolling improved in the recently accessed courses block
  • MDL-64903 - Course filters are logically grouped in the myoverview block
  • MDL-64898 - The completion progress bar is no longer displayed for teachers in the myoverview block

Learning Analytics

  • MDL-61667 - Improvements to the install/uninstall procedure the Analytics API offers to plugins
  • MDL-64783 - New "upcoming activities due" model added
  • MDL-65582 - The "upcoming activities due" model is enabled by default
  • MDL-64786 - Users can overwrite default model names
  • MDL-64693 - New target added for course competencies achievement
  • MDL-64636 - New target added for course completion
  • MDL-65176 - New target added for students at risk of not getting the minimum grade to pass a course
  • MDL-64954 - A "More info" link provides more information about different core analytics elements
  • MDL-64777 - Default models can be restored
  • MDL-64787 - Analytics models can be evaluated using a trained machine learning backend
  • MDL-60944 - Models can be created, deleted, imported and exported
  • MDL-64779 - Ability to choose whether to include trained model weights in an export
  • MDL-65175 - When evaluating a model, the time-splitting method can be set using the web interface
  • MDL-65177 - It is possible to set the frequency of insight generation for models based on assumptions (e.g. the "upcoming activities due" model)
  • MDL-60936 - "Enabled time-splitting methods" analytics setting converted to a list of default time-splitting methods for a model's evaluation

Usability improvements

  • MDL-5311 - Choices can be cleared for single-answer multiple-choice questions
  • MDL-43385 - Print output of books has been improved
  • MDL-28505 - Course backup and restore can be performed asynchronously
  • MDL-61537 - Ability to rotate pages when annotating PDFs in assignment feedback
  • MDL-63773 - Assignment settings form hides irrelevant options instead of disabling them
  • MDL-64552 - Moodle forms inside the admin top level directory hide irrelevant options instead of disabling them
  • MDL-64557 - Moodle forms inside the course directory hide irrelevant options instead of disabling them
  • MDL-60474 - The student selection tool in the grading interface reflects the sorting order of the grading table
  • MDL-39261 - File support added to lesson essay questions
  • MDL-60913 - Global search results can be split into tabs by category
  • MDL-50793 - Teachers can see hidden pages in book activities
  • MDL-60059 - Workshop activity action events support drag and drop in the calendar
  • MDL-62142 - Accessibility improvements for Boost course landing page

Other Highlights

Functional changes

  • MDL-31355 - Forum due dates are added to the calendar
  • MDL-36088 - Adding/modifying questions to/in the question bank is logged
  • MDL-49673 - Assignment has an option to not display the grader to students
  • MDL-31852 - HTML tags allowed in the title of Lesson "content pages"
  • MDL-64377 - Ability to delete assignment file submissions
  • MDL-64243 - Nextcloud serves "offline" files consistent with other integrations (e.g. OneDrive and Google Docs)
  • MDL-53346 - User competencies in courses show the linked learning plans
  • MDL-62223 - Improved submission statements for assignments
  • MDL-52828 - Competencies can be graded when grading an activity
  • MDL-65154 - Course competencies page shows students which competencies are linked to an activity
  • MDL-64414 - "AND" and "OR" are available in if-conditions for grade calculations

For administrators

  • MDL-10965 - There is a new capability moodle/category:viewcourselist for controlling who can view the list of non-hidden courses
  • MDL-57898 - New custom field types plugin and course custom fields functionality
  • MDL-49399 - Output can be captured during cron and task runs
  • MDL-62869 - Global search can be configured to include all visible courses
  • MDL-64322 - New data privacy capability to restrict submission of deletion requests for other users
  • MDL-63569 - A constant can be added to the subject of all emails
  • MDL-62907 - The standard log table 'other' field can be set to store in JSON format
  • MDL-64281 - Frame embedding is always allowed for requests coming from the Moodle app
  • MDL-61164 - Tasks using legacy cron functionality moved to scheduled tasks
  • MDL-57900 - Added fields to provide site metadata to support learning analytics
  • MDL-63623 - Plugins can be uninstalled via command line
  • MDL-64323 - Additional fields are included in user searches when making new data requests on behalf of a user
  • MDL-64347 - Improved processing of scheduled and ad-hoc tasks
  • MDL-65142 - Tables can be downloaded in PDF format (new dataformat)
  • MDL-64314 - Insights notification enable web notifications by default
  • MDL-65138 - Course sharing to is disabled by default (configured via a new setting)
  • MDL-64454 - Site administration page warns if cron does not run frequently
  • MDL-62728 - The language packs page displays a warning when locales are not fully supported
  • MDL-64071 - Improved diagnostics when testing LDAP settings
  • MDL-64823 - Disabling mobile plugins works as expected
  • MDL-44484 - Theme field available in the bulk upload users tool
  • MDL-64477 - Learning analytics usage data is included with site usage data
  • MDL-64337 - Mobile app enabled sites prompt users that do not use the app to download it in notification emails
  • MDL-64339 - User names provided in the comments report are hyperlinked to the user's profile

For developers

  • MDL-54592 - MongoDB cache store upgraded to use PHP 7 compatible library
  • MDL-63977 - Behat testing available for mobile app features and plugins
  • MDL-63986 - Behat testing added for the messaging drawer
  • MDL-64449 - New debug feature to expose code issues with session locks
  • MDL-52167 - Core functionality added to enable site administration settings to be hidden if dependent on another disabled setting
  • MDL-63366 - Ability to specify filters for unit testing coverage
  • MDL-65130 - Improved unit testing coverage generation by only respecting the @covers annotation
  • MDL-60470 - New "after_require_login" hook introduced
  • MDL-65204 - Phpunit upgraded to version 7.5.x
  • MDL-64348 - Improved AJAX template fetching
  • MDL-59986 - External database enrolment sync moved to a scheduled task
  • MDL-63880 - Some templates common in dashboard blocks have been moved to increase reusability
  • MDL-64587 - New option in the XMLDB editor to add the mandatory persistent fields
  • MDL-64324 - ID collisions are avoided when forms are loaded from AJAX
  • MDL-64684 - When JavaScript caching is disabled, jQuery and RequireJS are no longer minified

New web services

  • MDL-64252 - New SCORM web service to return user capabilities
  • MDL-64656 - New web service to return the tag associated with an element
  • MDL-64655 - New forum web service to return user access information
  • MDL-64642 - New web service to call multiple external functions