You are encouraged to upgrade to a supported version of Moodle.
Release date: 23 May 2016
Here is the full list of fixed issues in 3.1.
See our New Features page for a more user-friendly introduction to Moodle 3.1 with screenshots.
If you are upgrading from previous version, make sure you read the Upgrading documentation.
These are just the minimum supported versions. We recommend keeping all of your software up-to-date.
- Moodle upgrade: Moodle 2.7 or later (if upgrading from earlier versions, you must upgrade to 2.7.14 as a first step)
- PHP version: minimum PHP 5.4.4 (always use latest PHP 5.4.x , 5.5.x or 5.6.x on Windows - http://windows.php.net/download/). PHP 7.0.x is supported but has some engine limitations. PHP 7.1.x is not supported.
- Ghostscript should be installed for pdf annotation.
- Unoconv should be installed for file conversion used by pdf annotations (new in Moodle 3.1)
- New requirement for Moodle 3.1 comparing to 3.0: PHP extension xmlreader
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.
|Microsoft SQL Server||2008||Latest|
|Browser||Minimum version||Recommended version||Notes|
|Microsoft Internet Explorer||9||Latest||Version 10 is required for drag-and-drop upload of content from outside the browser into Moodle|
- MDL-53451 - Competencies support in Moodle
- MDL-52954 - Improvements to the Assignment grading user interface
- MDL-31989 - Global Search API allows to search forums, wikis and other content throughout the whole site. Installation and setup of SOLR server is required,
- MDL-52002 - Significant performance improvements in gradebook calculations
- MDL-48012 - Recycle bin plugin is now part of standard Moodle distribution: allow instructors to "undo" deletions of course modules and courses. Moodle Users Association project
- MDL-49279 - Add support in moodle plugins for exporting "Mobile app addons"
- MDL-372 - Allow to "pin" discussions to keep them always on the top of the list
- MDL-34160 - Allow forum email subject to be customised
- MDL-47365 - Add permalink option to forum posts
- MDL-51214 - Rename the News forum to "Announcements"
- MDL-44087 - Forum does not observe message notification settings for digest emails
- MDL-53050 - Highlight the selected forum post when deep linking with a #anchor
- MDL-52397 - Feedback for Assignments is not sent if the assignment grade timemodified setting was set to two days ago
- MDL-52596 - Add a 'maxperpage' site wide setting for grading table size (to mitigate broken grading pages in large courses)
- MDL-52269 - Not obvious to tell if an assignment is in blind marking if user holds the "mod/assign:viewblinddetails" capabilty
- MDL-52270 - Difficult to cross reference users with their blind identities
- MDL-44598 - List student names on 'grant extension' screen
- MDL-52490 - Download selected assign submissions as a zip file
- MDL-52290 - EditPDF - Also show the total page number in the pagination
- MDL-52489 - "Download all submissions as a zip" should maintain the folder structure in students submissions
External tool (LTI)
- MDL-52154 - Rework LTI admin screens
- MDL-45064 - Option to add preconfigured external tool to the activity chooser
- MDL-52035 - Integrate LTI Provider support in Moodle as the Publish as LTI tool
- MDL-52821 - Compliance: Send tool_consumer_instance_description in LTI launch request
- MDL-53738 - Feedback activity module will be enabled by default in new 3.1 installations. If you are upgrading to 3.1 we recommend you to enable it manually.
- MDL-52094 - Various improvements to UI and bug fixes, including:
- Performance improvement to download responses as raw data in multiple formats (CSV, Excel, etc.) - now available on "Show responses" page instead of "Analysis"
- Allow any characters in labels, do not display empty labels
- Do not display empty pages
- Map frontpage feedback to multiple courses without leaving the form
- Improved display of automatic question numbers
- Disable "Response time" for anonymous feedbacks
- Use moodleforms to display feedback
- MDL-45712 - Add Result field to the SCORM Interactions Report
- MDL-48680 - Add score and status submission events to SCORM activity
- MDL-42473 - Add group support to SCORM activity
- MDL-52738 - Quiz attempt/review page should have a previous button to match next
- MDL-46092 - Add the OU styling of the Quiz navigation into Moodle core as the default
- MDL-46091 - Rationalise confirmations when you start a quiz
- MDL-52806 - Show right answers when manually grading automatically marked questions
- MDL-53304 - Immediate feedback behaviours should not show a disabled check button when you can't use it
- MDL-42190 - Option to delete a workshop submission
- MDL-50794 - Restricting file types as attachments to a workshop
Other activity modules
- MDL-51306 - Folder: Bulk download all files within a folder activity as ZIP file
- MDL-52414 - Lesson: Allow Default Settings for Lesson Module Settings
- MDL-51267 - URL/File: Make setting up a URL/File resource more obvious
- MDL-48634 - Option to rescale existing grades when changing max points
- MDL-52522 - grade_minmaxtouse should be respected for overridden categories
- MDL-51900 - Tab Down Grade Column in Single View of Gradebook
- MDL-52309 - Make Grade History report require user to submit parameters before the report starts running
- MDL-51374 - Do not purge entire databasemeta cache when there are structure changes (esp temp tables).
- MDL-51603 - Refactor downloading of csv, ods, excel etc files in reports and exports across moodle to stream progressively
- MDL-34925 - Improve bulk user export performance
- MDL-50385 - Performance improvement to the grade history report
- MDL-50851 - Introduce tag collections - ability to separate independent tag areas
- MDL-52252 - Add tags to modules (Resources and Activities)
- MDL-25742 - Allow to search wiki pages by tags
- MDL-51283 - Rename "official" tags to "standard", allow admin to set for each tag area how to use standard tags
- MDL-16855 - Add tag filtering to "Manage tags" page
- MDL-52707 - Allow tags to be combined
- MDL-27628 - Enrol meta: Possible to add multiple courses without leaving the form
- MDL-51818 - Move the profile 'Message' button to be next to the user picture
- MDL-52258 - Calendar now shows duration in calendar block
- MDL-53043 - Move user search box above the students list in the manual enrolments popup
- MDL-35590 - Navigation block redesign to meet ARIA specification
- MDL-49963 - Allow to message all participants when there are more than one page in participants list
- MDL-51354 - Help popup and improved name for events dropdown menu on the course and site logs pages
- MDL-53026 - Use inplace editable for editing cohort names
- MDL-51706 - Move plagiarism links to the top of the summary and full text outputs
- MDL-53382 - "Show all" link on participants page should be moved beneath the page switcher
- MDL-53057 - Add search feature to the File system repository
- MDL-48506 - Improve memcached cache store so that it is multi-site safe
- MDL-50661 - Restyle "Clean" theme to use Logo and Header in Frontpage with smaller logo option in other pages.
- MDL-36652 - When downloading an Excel spreadsheet of student logs, have the course short name included in the file name.
- MDL-53207 - Display stock avatar instead of own user picture from messages from fake users
- MDL-51698 - Markup the crumb trail so search engines understand it and leverage it
- MDL-53072 - Option to choose whether we include suspended users when auto-creating groups
- MDL-52869 - Convert inline activity name edit to use the inplace editable element
- MDL-26935 - New capability to control role renaming
- MDL-28030 - Add config.php settings to allow plugins to rewrite output moodle_urls (eg clean / semantic urls)
- MDL-52752 - Administrators can specify an alternate URL to use for MathJax
- MDL-52219 - Completion tracking & availability should default to on for new installs
- MDL-52990 - Enable all emails to be themed, ie add 4 wrapper mustache templates
- MDL-53260 - Option to display CLI upgrade messages in English
- MDL-52386 - Allow to control field for flagging enabled/disabled users in LDAP authentication (useful for Active Directory)
- MDL-52383 - Calendar "Days to look ahead" should allow intervals up to 1 year
- MDL-49934 - Admins or managers should be able to retrieve assignments info via get_assignments web service
There are no security issues included in this release, please refer to Moodle 3.0.4 release notes
Significant new areas
- MDL-31989 - Global Search API allows to index and search forums, wikis and other content throughout the whole site.
- MDL-49279, MDL-50032 - Add support in moodle plugins for exporting "Mobile app addons"
- MDL-53451 - Competencies support in Moodle (documentation)
- MDL-50887 - Implement plugins infrastructure for antivirus and create ClamAV plugin (documentation).
- MDL-51603 - New Dataformat plugin type for downloading data as csv, ods, excel etc (eg from table_sql export)
- MDL-50851 - Significant changes to Tags API, tag areas can now implement callbacks to display tagged items (documentation)
- MDL-46891 - Upgrade to behat 3.x (documentation)
- MDL-52954 - The mod_assign grading interface has been modified in multiple aspects, and the new page layout is quite different from many other Moodle pages. Check it carefully if you have a custom theme. There is some information available in the Assignment Grading UX specs, particularly in section 2.0 of that document.
Smaller new things
- MDL-51802 - Reusable element for inplace editing (documentation)
- MDL-30811 - Introduce notification stack to moodle sessions (documentation)
- MDL-52237 - Add a callback to inject nodes in the user profile navigation (documentation)
- MDL-51324 - New course chooser element for moodleforms (documentation)
- MDL-53311 - Reusable element for displaying tree similar to navigation tree (documentation)
Smaller changes in core APIs
- MDL-52954 - file_storage class can now convert between office documents (documentation)
- MDL-53274 - Throw exception (in developer mode) if page context is not set, otherwise it is easily missed in AJAX calls
- MDL-52826, MDL-52715 - Allow to use moodleforms in AJAX requests (documentation)
- MDL-51718 - Allow to specify scheme in moodle_url
- MDL-51700 - Ajax service should clean the return values of the external functions
- MDL-53962 - Changes to webservices XML-RPC API - it is now critical to specify parameters for XML-RPC calls in the correct order. Previously Zend may have been able to work out the order, our new implementation, at this stage, cannot.
- MDL-50464 - New renderer for RSS Client Block allows themes to customise its look
Changes related to particular plugins
- MDL-52013 - Allow mod_assign plugins to add calendar events
- MDL-48362 - Improve the enrol API to prevent logic in the UI (documentation)
- MDL-52996 - Allow Atto customisation for special-purpose plugins
- MDL-52781 - Improved validation on user fields when creating users from external datasources
- MDL-53304 - Changes to interactive question behaviour may cause the unit tests for your question type to break if you have followed the common patter. You will need to make changes like this.
For full list of deprecations refer to lib/upgrade.txt and upgrade.txt files in the folder where the particular plugin is located. Here are the most major deprecations:
- MDL-49414 - Remove deprecated web services
- MDL-48621 - Deprecate the old events system
- MDL-52207 - Delete Zend framework