Skip to main content

Moodle 3.0

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: Monday, 16th November 2015

Here is the full list of fixed issues in 3.0.

See our New Features page for a more user-friendly introduction to Moodle 3.0 with screenshots.

If you are upgrading from previous version, make sure you read the Upgrading documentation.

Server requirements

These are just the minimum supported versions. We recommend keeping all of your software up-to-date.

  • Moodle upgrade: Moodle 2.2 or later (if upgrading from earlier versions, you must upgrade to 2.2.11 as a first step)
  • PHP version: minimum PHP 5.4.4 (always use latest PHP 5.4.x or 5.5.x on Windows - For PHP 7.0.x support, upgrade to Moodle 3.0.1 or later. PHP 7.1.x is not supported by Moodle 3.0.
  • Ghostscript should be installed for pdf annotation.

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
Microsoft SQL Server2008Latest
Oracle Database10.2Latest

Client requirements

Browser support

BrowserMinimum versionRecommended versionNotes
Google Chrome30.0Latest
Mozilla Firefox25.0Latest
Apple Safari6Latest
Microsoft Internet Explorer9LatestVersion 10 is required for drag-and-drop upload of content from outside the browser into Moodle

Major features


  • MDL-29801 - Allow users to delete personal messages
  • MDL-27177 - Allow students to see each other's contact details in full profile without global permission if they are able to see each other's course profile
  • MDL-46455 - Backup/restore functionality with new logging system
  • MDL-46878 - Reset Dashboard for all users after changing the default Dashboard



  • MDL-49682 - Make forum email template editable
  • MDL-46321 - Uninformative error when moving forum without first selecting destination
  • MDL-50993 - Timed discussions are now displayed to students in a logical order
  • MDL-50430 - Number of subscribers specified in forum subscriber list


  • MDL-49176 - Assignment marking guide 'flattens' instructions for markers and students
  • MDL-49515 - Upgrade FPDI library in assignfeedback_editpdf to 1.5.4 to fix problems with PDF annotator on some files
  • MDL-50283 - Improve Rubric interface to include the ability to duplicate rows

Other activity modules

User interface and usability improvements

  • MDL-51051 - Rename 'Categories and items' to 'Gradebook setup' and add link
  • MDL-51250 - Show default section name when editing section details with default checkbox being checked
  • MDL-49984 - Add visual blocks outlines to My profile page to help separate information
  • MDL-48947 - Collect all course section editing buttons under one "Edit" dropdown
  • MDL-51087 - Use client-side validation in the signup form
  • MDL-50113 - Improve display of long user and course names in Messaging
  • MDL-50919 - Simplify the Manage tags page, allow to quickly change name, flag and official status of the tags
  • MDL-51013 - Navbar button should appear for smaller screens only when the custom menu or language menu is not empty
  • MDL-51260 - Use the new autocomplete form field for tags
  • MDL-51296 - Add title to page when adding blog post
  • MDL-38763 - Permission override UI should use JS confirmation
  • MDL-29763 - Add description to Portfolio settings page

Atto editor


  • MDL-30674 - Set guest access key from enrolment methods page
  • MDL-30157 - Allow users to start manual enrolments right now
  • MDL-49746 - Allow to sort enrolled users page by last course access
  • MDL-48074 - Group filter in enrolments list should have option "not in any group"
  • MDL-50890 - Flat file enrolment scheduled task


  • MDL-49329 - Multiple improvements in the plugins installation/update system including ability to install several plugins at the same time
  • MDL-49280 - New configuration setting to allow duplicate email addresses
  • MDL-51330 - Show scheduled tasks component in the cron log
  • MDL-51261 - Upgrade key - mechanism to protect anonymous web access to upgrade screens
  • MDL-50602 - New settings in Automated backup setup for deleting older backups and keeping a minimum number of backups
  • MDL-48438 - Add real name to email about login failures
  • MDL-30960 - New option in email settings to specify SSL or TLS (SMTPSecure property of PHPMailer)
  • MDL-46623, MDL-51824 - CAS server and LDAP authentication: Replace CLI scripts to synchronise users with scheduled tasks
  • MDL-39319 - Allow administrator to uninstall several languages in one single action
  • MDL-50155 - Move and rename "Common activities settings" link to be under "Manage activities" for consistency
  • MDL-50631 - Display Moodle ASCII logo in CLI installer
  • MDL-46167 - New option for CLI installation: skip database
  • MDL-50572 - Disable YouTube repository by default since it requires setting up
  • MDL-51739 - Lock theme selector UI when $CFG->theme is hardcoded in config.php
  • MDL-51478 - Enable Mobile services by default for sites with https
  • MDL-19748 - Do not allow to edit tags in the default authenticated user role
  • MDL-46398 - Make HTML5 video the default player for capable videos

Other improvements

  • MDL-51132 - Introduce course tagging as a replacement for user-course-tagging in the "Tags" block. See upgrade documentation
  • MDL-41042 - Course contacts shown in course listings no longer lag by an hour
  • MDL-44273 - Back-off strategy for RSS feeds
  • MDL-45981 - CAS Auth Config needs way to specify that curl should use SSLv3.
  • MDL-49891 - Add description meta to frontpage
  • MDL-25451 - Go straight to "Permissions" from block context menu instead of "Assign roles" if they are not available
  • MDL-50647 - Add 'not in group' section to group overview page
  • MDL-50956 - Allow main menu block to be displayed "throughout the entire site"
  • MDL-28954 - Allow images and embedded files in the cohort descriptions
  • MDL-50371 - Use $CFG->gradepointdefault for new manual gradeitems and grade categories

Security issues

There are no new security issues since the Moodle 2.9.3 release on 9 November 2015.

For developers

  • MDL-46455 - Events must define fields mappings in order to be correctly restored (documentation)
  • MDL-50125 - Allow all plugins to inject links in the preferences page (documentation)
  • MDL-51247 - Revive / refresh / rebuild the autocomplete mform element (documentation)
  • MDL-50839 - Allow themes to set User menu avatar size (documentation)
  • MDL-51458 - Allow for Travis-CI integration in community moodle.git clones (documentation)
  • MDL-48494 - Make $plugin->component required for all plugins
  • MDL-43896 - Drop support for $module in version.php files for Moodle 3.0
  • MDL-50645 - Cache the list of available callbacks per plugin
  • MDL-33564 - rss_error() should return a proper HTTP response code
  • MDL-37864 - New method to add help icons to the sortable table headers (documentation)
  • MDL-51737 - Add ability to detect MS Edge in our browser sniffing code
  • MDL-51213 - external_format_text should be safe to call from web or webservice (documentation)
  • MDL-51413 - Add an additional return field in get_forums_by_courses in order to specify if the current user can create discussions
  • MDL-51217 - Using recaptcha is not possible outside auth_email plugin.
  • MDL-51107 - Add a callback to inject nodes in the category settings navigation (documentation)
  • MDL-50891 - is_web_crawler should be moved to useragent class
  • MDL-50453 - Replace reserved word usage from \core\progress\null (PHP7)
  • MDL-50009 - Prevent scheduled tasks from leaving unfinished db transactions
  • MDL-49821 - Some Web Services miss checks for guest and deleted users
  • MDL-50926 - Upgrade to phpunit 4.x
  • MDL-50491 - New format_text option to exclude particular filters
  • MDL-50783 - Allow some ajax external functions to be called without a session (documentation)
  • MDL-50150 - Add "Blocks" feature to JS and PHP mustache engines (documentation)