Skip to main content

Moodle 2.8

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: 10 November, 2014

Here is the full list of fixed issues in 2.8.

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

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 -, PHP 7 is NOT supported
  • 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


Our main focus has been on the Gradebook, with improved UI based on community workshops, surveys and bug reports.

New Grader report (the main interface showing all grades):

  • Uses the whole window
  • Smooth, stable scrolling in all directions
  • Works on all platforms, including phones and tablets
  • MDL-18229 - A new Single view mode allows editing of any row or column on its own
  • Allows quick editing of any cell without reloading.

New Natural weighting aggregation method

  • MDL-43378 - Combines grades simply
  • Clearer interface for using weights
  • Supports extra credit, excluded grades, hidden grades
  • Can remove the need to use any other aggregations

New Grade history report

Improved Grader setup page (for defining items and categories)

  • New design
  • Easier terminology and clearer layout
  • Bugs fixed relating to how grades are added in some scenarios
  • Prevents loss of data when you leave the window
  • Note! there are new admin settings that hide parts of the user interface. For example calculated grades are disabled by default (even if you were using them in Moodle 2.7 before you upgraded). If you use 'advanced' gradebook features, then after you upgrade, go to Site administration > Grades > Report settings > Grader report and check that the settings like Show calculations match your needs. (These settings affect the whole gradebook, not just the Grader report.)

Improved User report

  • New design
  • Clearer calculations
  • MDL-47064 - Contributions column explains grade calculations

Improved Grade import/export


  • MDL-1626 - You can subscribe to get email copies of individual discussions
  • MDL-3714 - You can now reply to forum posts received by email, and even include attachments
  • MDL-8501 - You can jump to the next and previous discussions easily
  • MDL-36929 - New discussions are displayed in full recent activity report
  • MDL-41708 - Attachments are displayed in the same order as they were uploaded


  • MDL-39929 - Option of adding additional files for use in the assignment, such as answer templates
  • MDL-45965 - New capability that allows to control which grader receives notifications


  • MDL-3034 - More than one choice can now be made

External tool


New quiz-building page

  • MDL-43089 - The page where you assemble your questions to make a quiz has been completely re-build to make it much easier an more efficient to use. For example you can now drag-and drop questions to re-order them or move them between pages.


  • MDL-37993 - New completion options: Can apply when a passing grade achieved or all attempts are used
  • MDL-47556 - For new installations, the auto-save setting defaults to on. If you are upgrading an existing installation, you may wish to turn this setting on.


  • MDL-38106 - Now includes Introduction like other modules
  • MDL-38560 - Better handling of images in questions


  • MDL-31936 - Workshop submissions and/or assessments can be removed during the course reset


  • Event monitor: can look for patterns of events and send you notifications
  • More detailed logging and events have been added, especially around grades


  • MDL-45893 - New user menu in Clean theme: shows your profile on-screen in the header and allows quick access to personal pages.
  • MDL-47559 - New user menu can be customised by the admin
  • MDL-18014 - The Atto editor can now automatically save drafts of your texts so you don't lose anything if any unexpected disasters occur
  • MDL-45897 - Improved My Home page: better default blocks
  • MDL-45884 - My Courses are collapsed by default
  • MDL-46022 - Possible to create dividers in custom menu


  • MDL-36014 - Teachers are now able to use enrol_cohort without having additional capabilities to view cohorts outside of the course. At the same time managers can define individual cohorts as not visible to prevent using them by teachers in enrolment.
  • MDL-35618 - Teachers can manually enrol all cohort members without having capability to use cohort synchronisation enrolment method
  • MDL-41639 - Cohort that do not yet exist will be created if specified in "Upload users" tool
  • MDL-35468 - Admin or manager can bulk upload cohorts definitions from CSV file
  • MDL-34189 - Admin or system-wide manager can view all cohorts in the system on the same page even if they are defined in different contexts

Other things

  • MDL-16474 - Single-item scales: now you can implement "Like" buttons with no downside!
  • MDL-47197 - Users can add files to their private files area by emailing them as attachments
  • MDL-37812 - Admin can set defaults for user preferences such as Email display, Forum tracking, etc. They are also displayed now in a separate field-set on edit user profile page
  • MDL-44725 - The experimental setting 'Group members only' has been removed, with the group and grouping restrictions in conditional activities now providing this functionality
  • MDL-46481 - New faster backup method that just uses defaults
  • MDL-42071 - Added support for split memcache/memcached stores
  • MDL-46210 - Installed language packs can be updated as a scheduled task
  • MDL-46921 - Sorting by additional name fields
  • MDL-40356 - A new setting 'Alternative full name format' relating to additional name fields
  • MDL-20367 - Decimal numbers may be used to define boundaries for grade letters
  • MDL-43472 - It is possible for manager to move courses on the Search courses result screen
  • MDL-40351 - Course categories can be displayed for courses on My home page
  • MDL-46450 - Activity names in the availability description now have links
  • MDL-45991 - Ability to ignore users that are already in groups when auto-creating groups
  • MDL-46524 - Auto-create groups from existing group or grouping membership
  • MDL-42609 - Added button to quickly add a course in course management interface
  • MDL-45985 - New CLI tool to validate database structure admin/cli/check_database_schema.php
  • MDL-32450 - DragMath is no longer distributed in Moodle

Security issues

For Developers

  • MDL-47194 - Inbound email (such as already implemented for forums and files) can now easily be implemented by any plugin
  • MDL-43835 - Unit tests on posgres and mysql use random sequence values
  • MDL-46585 - Strings can now be deprecated to help translators
  • MDL-39840 - Plugins can have their personal environment checks
  • MDL-41663 - Plugins renderers and renderables can be located in namespaces and autoloaded
  • MDL-46207 - Scheduled tasks can control if they should run when plugin is disabled
  • MDL-45513 - Unit tests can be executed against custom cache stores

API changes

  • There are new convenience functions to obtain $cm objects that belong to the cm_info class. get_course_and_cm_from_cmid($cmorid, $modulename) and get_course_and_cm_from_instance($instanceorid, $modulename) will efficiently obtain $course and $cm at the start of a module script in one line. Also, the new function cm_info::create($cm) can be used when you need a cm_info object, but only have a standard database record.
  • Choice event definitions have changed in MDL-3034
  • MDL-47496 - The unused lib/pear/XML/ library was removed.
  • MDL-36014 - Changes to functions retrieving list of available cohorts
  • MDL-28484 - New function is_https() that detects if page is served on https

Upgrade notes for developers

Development numbers

A summary of the developer inclusions in Moodle 2.7