Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Moodle 2.7 release notes: Difference between revisions

From MoodleDocs
(Clarifying performance statement)
m (Protected "Moodle 2.7 release notes": Developer Docs Migration ([Edit=Allow only administrators] (indefinite)))
 
(89 intermediate revisions by 16 users not shown)
Line 1: Line 1:
{{Template:Migrated|newDocId=/general/releases/2.7}}
[[Releases]] > {{FULLPAGENAME}}
[[Releases]] > {{FULLPAGENAME}}


Release date: Expected in May 2014
Release date: 12th May 2014
 
Here is [https://tracker.moodle.org/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=project+%3D+mdl+AND+resolution+%3D+fixed+AND+fixVersion+in+%28%222.7%22%29+ORDER+BY+priority+DESC&runQuery=true&clear=true the complete list of fixed issues in 2.7]. See [https://docs.moodle.org/27/en/New_features New features] for a user-friendly highlights tour with screenshots.
   
   
==Server requirements==
==Server requirements==


These are just minimums. We recommend keeping all your software updated.  
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)
* Moodle upgrade:  Moodle 2.2 or later (if upgrading from earlier versions, you must upgrade to 2.2.11 as a first step)
* Minimum Database versions:
* PHP version: minimum PHP 5.4.4 (always use latest PHP 5.4.x or 5.5.x on Windows - http://windows.php.net/download/), PHP 7 is NOT supported
** PostgreSQL 9.1
* Ghostscript should be installed for pdf annotation.
** MySQL 5.5.31
 
** MariaDB 5.5.31
=== Database requirements ===
** MSSQL 2008, or
 
** Oracle 10.2
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.
* Minimum PHP version: PHP 5.4.4 (always use latest PHP 5.4.x or 5.5.x on Windows - http://windows.php.net/download/)
 
*Ghostscript should be installed for pdf annotation.
{| class="wikitable"
|-
! Database
! Minimum version
! Recommended
|-
| [http://www.postgresql.org/ PostgreSQL]
| 9.1
| Latest
|-
| [http://www.mysql.com/ MySQL]
| 5.5.31
| Latest
|-
| [https://mariadb.org/ MariaDB]
| 5.5.31
| Latest
|-
| [http://www.microsoft.com/en-us/server-cloud/products/sql-server/ Microsoft SQL Server]
| 2008
| Latest
|-
| [http://www.oracle.com/us/products/database/overview/index.html Oracle Database]
| 10.2
| Latest
|}
 
==Client requirements==
 
=== Browser support ===
{| class="wikitable"
|-
! Browser
! Minimum version
! Recommended version
! Notes
|-
| [https://www.google.com/intl/en_au/chrome/browser/ Google Chrome]
| 30.0
| Latest
|
|-
| [http://www.mozilla.org/en-US/ Mozilla Firefox]
| 25.0
| Latest
|
|-
| [http://www.apple.com/safari/ Apple Safari]
| 6
| Latest
|
|-
| [http://windows.microsoft.com/en-AU/internet-explorer/download-ie Microsoft Internet Explorer]
| 9
| Latest
| Version 10 is required for drag-and-drop upload of content from outside the browser into Moodle
|}


==Browser requirements==
=== Screen reader support ===
We now support and test on two screen reader configurations (MDL-44002).


* Recent Google Chrome, recent Mozilla Firefox, Safari 6 or later, Internet Explorer 9 or later (IE 10 required for drag and drop of files from outside the browser into Moodle)
{| class="wikitable"
|-
! Browser
! Screen reader
! Minimum version
! Recommended version
|-
| [http://windows.microsoft.com/en-AU/internet-explorer/download-ie Microsoft Internet Explorer]
| [http://www.freedomscientific.com/products/fs/jaws-product-page.asp Jaws]
| 15
| Latest
|-
| [http://www.mozilla.org/en-US/ Mozilla Firefox]
| [http://www.nvaccess.org/ NVDA]
| 2014.1
| Latest
|}


==Before you upgrade==
==Before you upgrade==


===Questions===
===Questions engine upgrade===


If
When upgrading to Moodle 2.1 or 2.2 it was possible to [https://docs.moodle.org/21/en/Upgrading_to_Moodle_2.1#Planning_the_question_engine_upgrade delay part of the Question engine upgrade]. You must complete this upgrade before upgrading to Moodle 2.7. You can check if this was completed at the bottom of the [[:en:Environment|Environment page]].
* your site stared off on a version of Moodle 2.0.x or older,
* and, when you upgraded to Moodle 2.1 or 2.2, you made use of the complex facility to delay part of the quetion engine upgrade as explained in [https://docs.moodle.org/21/en/Upgrading_to_Moodle_2.1#Planning_the_question_engine_upgrade the upgrade documentation for that version],
* and, you still have not got around to completing that upgrade,
then you must complete it before upgrading to Moodle 2.7.


As you can tell from that previous paragraph, this almost certainly does not affect you. You can check by looking at the bottom of the the [[:en:Environment]] check page in your site, providing you are running a version later than 2.4.9, 2.5.5 or 2.6.2. If you have a problem, it will tell you there. If there is no mention of questions there, you can forget about this.
For further information, see the upgrading notes to [https://docs.moodle.org/27/en/Upgrading#Questions_engine_upgrade complete the Question engine upgrade before Moodle 2.7].


===Themes===
===Themes===
   
   
Several core themes have been removed from Moodle 2.7 (see MDL-43784).  If you wish to continue using one of these themes then it's best to reinstall it explicitly *BEFORE* running the upgrade.
All standard themes present in earlier versions, except '''Clean''', have been removed from Moodle 2.7.  If you wish to continue using one of these themes then you will need to reinstall it explicitly before running the upgrade.


* <b style="display:inline-block; min-width: 200px;">After burner</b> [https://moodle.org/plugins/view.php?plugin=theme_afterburner plugins db] [https://github.com/moodlehq/moodle-theme_afterburner github]
See the upgrading notes for [https://docs.moodle.org/27/en/Upgrading#Themes theme upgrades in Moodle 2.7] for further information.
* <b style="display:inline-block; min-width: 200px;">Anomaly</b> [https://moodle.org/plugins/view.php?plugin=theme_anomaly plugins db] [https://github.com/moodlehq/moodle-theme_anomaly github]
* <b style="display:inline-block; min-width: 200px;">Arialist</b> [https://moodle.org/plugins/view.php?plugin=theme_arialist plugins db] [https://github.com/moodlehq/moodle-theme_arialist github]
* <b style="display:inline-block; min-width: 200px;">Binarius</b> [https://moodle.org/plugins/view.php?plugin=theme_binarius plugins db] [https://github.com/moodlehq/moodle-theme_binarius github]
* <b style="display:inline-block; min-width: 200px;">Boxxie</b> [https://moodle.org/plugins/view.php?plugin=theme_boxxie plugins db] [https://github.com/moodlehq/moodle-theme_boxxie github]
* <b style="display:inline-block; min-width: 200px;">Brick</b> [https://moodle.org/plugins/view.php?plugin=theme_brick plugins db] [https://github.com/moodlehq/moodle-theme_brick github]
* <b style="display:inline-block; min-width: 200px;">Formal_white</b> [https://moodle.org/plugins/view.php?plugin=theme_formal_white plugins db] [https://github.com/andreabix/moodle-theme_formal_white github]
* <b style="display:inline-block; min-width: 200px;">Form factor</b> [https://moodle.org/plugins/view.php?plugin=theme_formfactor plugins db] [https://github.com/moodlehq/moodle-theme_formfactor github]
* <b style="display:inline-block; min-width: 200px;">Fusion</b> [https://moodle.org/plugins/view.php?plugin=theme_fusion plugins db] [https://github.com/moodlehq/moodle-theme_fusion github]
* <b style="display:inline-block; min-width: 200px;">Leatherbound</b> [https://moodle.org/plugins/view.php?plugin=theme_leatherbound plugins db] [https://github.com/moodlehq/moodle-theme_leatherbound github]
* <b style="display:inline-block; min-width: 200px;">Magazine</b> [https://moodle.org/plugins/view.php?plugin=theme_magazine plugins db] [https://github.com/moodlehq/moodle-theme_magazine github]
* <b style="display:inline-block; min-width: 200px;">Nimble</b> [https://moodle.org/plugins/view.php?plugin=theme_nimble plugins db] [https://github.com/moodlehq/moodle-theme_nimble github]
* <b style="display:inline-block; min-width: 200px;">Nonzero</b> [https://moodle.org/plugins/view.php?plugin=theme_nonzero plugins db] [https://github.com/moodlehq/moodle-theme_nonzero github]
* <b style="display:inline-block; min-width: 200px;">Overlay</b> [https://moodle.org/plugins/view.php?plugin=theme_overlay plugins db] [https://github.com/moodlehq/moodle-theme_overlay github]
* <b style="display:inline-block; min-width: 200px;">Serenity</b> [https://moodle.org/plugins/view.php?plugin=theme_serenity plugins db] [https://github.com/moodlehq/moodle-theme_serenity github]
* <b style="display:inline-block; min-width: 200px;">Sky high</b> [https://moodle.org/plugins/view.php?plugin=theme_sky_high plugins db] [https://github.com/moodlehq/moodle-theme_sky_high github]
* <b style="display:inline-block; min-width: 200px;">Splash</b> [https://moodle.org/plugins/view.php?plugin=theme_splash plugins db] [https://github.com/moodlehq/moodle-theme_splash github]
* <b style="display:inline-block; min-width: 200px;">Standard</b> [https://moodle.org/plugins/view.php?plugin=theme_standard plugins db] [https://github.com/moodlehq/moodle-theme_standard github]
* <b style="display:inline-block; min-width: 200px;">Standard old</b> [https://moodle.org/plugins/view.php?plugin=theme_standardold plugins db] [https://github.com/moodlehq/moodle-theme_standardold github]


==Headline core features==
==Headline features==


===Interface===
===Interface===
* Atto - our new Moodle editor, tightly integrated in Moodle and focussing on usability and accessibility (TinyMCE still available as an option)
* MDL-42964 - [https://docs.moodle.org/27/en/Standard_themes Themes clean-up] - Moodle is focussed on Bootstrap and improved responsive design.  Clean is now the default theme and most other old themes have been removed from core (still available from Plugins directory).  Many small improvements have been made all through the interface.
* Themes clean-up - Moodle is focussed on Bootstrap and improved responsive design.  Clean is now the default theme and most other old themes have been removed from core (still available from Plugins database).  Many small improvements have been made all through the interface.
* MDL-43786 - More theme - A completely new theme called More that provides easy configuration though the UI, while retaining the efficiency of LESS and the responsiveness of Bootstrap.
* More - a completely new theme called More that provides easy configuration though the UI while retaining the power of LESS and Bootstrap.
* MDL-43841 - New [https://docs.moodle.org/27/en/Text_editor text editor], Atto - Tightly integrated in Moodle and focussing on usability and accessibility (TinyMCE still available as an option).
* Improved conditional activities - complex boolean combinations now supported, plus plugin conditions and a better interface. And faster!
* MDL-44070 - Improved [https://docs.moodle.org/27/en/Conditional_activities_settings conditional activities] - Complex boolean combinations are now supported to control when activities are available to students, with a conditions plugin API and a better interface...and it's faster!
* Reports - User interface for loglive and log reports has been improved with more information and filtering support (MDL-43682 and MDL-43681).
* MDL-43855 - New mathematical equation editor for Atto, producing TeX using a GUI without needing Java.  Works everywhere, even tablets and phones.
* MDL-43856 - New [https://docs.moodle.org/27/en/MathJax_filter MathJax filter] for displaying mathematical equations without needing binaries on the server.
* MDL-44637 - New report listing all events possible on a site.


===Platform===
===Platform===
* Logging - a new logging subsystem with plugins allowing Moodle logs to be very detailed and external.  Many new events have been added which developers can take advantage of. MDL-37658  These advancements will support better analytics as well as things like TinCan.
* MDL-37658 - Logging - a new logging subsystem with plugins allowing Moodle logs to be very detailed and external. Log reports have been updated too[https://docs.moodle.org/27/en/Events_list Many new events] have been added which developers can take advantage of. These advancements will support better analytics in future as well as reporting standards like TinCan.
* Tasks - an improved scheduling system (like Unix cron) that allows precise scheduling of tasks even on complex clustered servers.
* MDL-25499 - Scheduled Tasks - an improved [https://docs.moodle.org/27/en/Scheduled_tasks scheduling system] (like Unix cron) that allows precise scheduling of tasks even on complex clustered servers.
* Performance - With improvements to logging and scheduled tasks, as well as many other small improvements, overall performance will be improved, particularly on large sites.
* Performance - With improvements to logging and scheduled tasks, as well as many other small improvements, overall performance will be improved, particularly on large sites.


===Long-term support (LTS) until June 2017===
===Long-term support (LTS) until May 2017===


Most of our releases receive 1 year of backported general bug fixes and 1.5 years of security and dataloss fixes from Moodle HQ.
This release will have an extra-long period of support from Moodle HQ for '''3 years''' (instead of the usual 1.5 years).


Due to popular demand, we are committing to giving Moodle 2.7 extended support for security and dataloss fixes for '''3 years''' (that's an extra 1.5 years support for this version).
If you have been stuck on an old version like Moodle 1.9 then this might be the perfect time to join us in the future!


If you are stuck on an old version then this might be the perfect time to upgrade!
==Much much more==


==Details==
===Administration===
* MDL-26680 - My home [https://docs.moodle.org/27/en/My_home reset to default] button
* MDL-42932 - [https://docs.moodle.org/27/en/Calendar_settings Calendar type choice] at system level
* MDL-43526 - Option to [https://docs.moodle.org/27/en/Course_restore restore a course from the course management pages]
* MDL-43497 - New capability [https://docs.moodle.org/27/en/Capabilities/moodle/site:forcelanguage moodle/site:forcelanguage] to allow the course language to be overridden
* MDL-18633 - New capability [https://docs.moodle.org/27/en/Capabilities/moodle/user:viewlastip moodle/user:viewlastip] for viewing a last IP field on user profile pages
* MDL-36141 - New capability [https://docs.moodle.org/27/en/Capabilities/moodle/course:reviewotherusers moodle/course:reviewotherusers] for restricting access to the other users page
* MDL-44505 - Subject line of [https://docs.moodle.org/27/en/Forum_settings#Changing_the_subject_line_of_forum_notifications forum notifications] is configurable.
* MDL-43682, MDL-43681 Log reports - User interfaces for the [https://docs.moodle.org/27/en/Logs Live logs and Log reports] have been improved, with more information and filtering support.
* MDL-35597 - Plugin types are now ordered in Plugins menu.
* MDL-43117 - A release column has been added to the Plugins Overview page.
* MDL-40939 - Mimetex binary path is configurable.


===Quiz & Question bank===
===Quiz & Question bank===


* Quiz reports improved. MDL-41727
* MDL-41727 - Quiz reports improved.
** Responses from all tries are available for analysis when using or "Adaptive", "Interactive with multiple tries" or similar behaviours.
** Responses from all tries are available for analysis when using or "Adaptive", "Interactive with multiple tries" or similar behaviours.
** Break-down by question variant, for question types like Calculated, STACK and Variable-numeric, which one question can have different random variants.
** Break-down by question variant, for question types like Calculated, STACK and Variable-numeric, which one question can have different random variants.
Line 90: Line 157:
** Much more automated testing of this complex area of code.
** Much more automated testing of this complex area of code.
* Some minor improvements to the usability of the question bank - Some of MDL-40987
* Some minor improvements to the usability of the question bank - Some of MDL-40987
** To duplicate a question, you now start by clicking the x2 icon, like for activities. MDL-33653
** MDL-33653 - To duplicate a question, you now start by clicking the x2 icon, like for activities.
** The various different ways to move questions in the question bank have been rationalised. MDL-33839
** MDL-33839 - The various different ways to move questions in the question bank have been rationalised.  
** There is now a 'Save changes and continue editing' button when editing questions. Useful when you are working on a complex question with the preview open in another window. MDL-33653
** MDL-33653 - There is now a 'Save changes and continue editing' button when editing questions. Useful when you are working on a complex question with the preview open in another window.
* New plugin point, so that plugins can add columns to the question bank, or new search conditions. MDL-40313 & MDL-40457
** MDL-32729 - The interface of the question type selector has been updated
* Essay questions can now require an attachment, with the text optional, rather than the other way around. MDL-39756
* MDL-40313 & MDL-40457 - New plugin point, so that plugins can add columns to the question bank, or new search conditions.
* Random short-answer matching question type brought back from the dead. (This was in stable branches, but worth mentioning again.) MDL-27414
* MDL-39756 - Essay questions can now require an attachment, with the text optional, rather than the other way around.
* MDL-27414 - [https://docs.moodle.org/27/en/Random_Short-Answer_Matching_question_type Random short-answer matching question type] brought back from the dead. (This was in stable branches, but worth mentioning again.)
* MDL-43478 - Option to show all tries in responses report.


===Assignment===
===Assignment===


The old Assignment (2.2) module has been removed from core (MDL-33952). It has been replaced by a stub to support transparently remapping urls and restoring course backups from the old module to the new one.  
* MDL-33952 - The old Assignment (2.2) module has been removed from core. It has been replaced by a stub to support transparently remapping urls and restoring course backups from the old module to the new one. If you are still using the old assignment module - all instances of the old assignment module will be hidden after upgrading to Moodle 2.7. Once the upgrade tool is run on those assignments they will become visible again. It is recommended to upgrade, and then convert any remaining assignments because logic has been added to the assignment upgrade code for Moodle 2.7 to transparently map urls from the old assignment module to the new one. If you really, really need to keep using the old module, you should update the code to Moodle 2.7, and then replace the "mod/assignment" folder with the one from https://github.com/moodlehq/moodle-mod_assignment/releases before completing the upgrade.
 
* MDL-28448 - A new capability [https://docs.moodle.org/27/en/Capabilities/mod/assign:editothersubmission mod/assign:editothersubmission] can be given to teachers to allow them to edit or delete student submissions.
If you are still using the old assignment module - all instances of the old assignment module will be hidden after upgrading to Moodle 2.7. Once the upgrade tool is run on those assignments they will become visible again.  
* MDL-33600 - [https://docs.moodle.org/27/en/Using_Assignment#Controlling_when_to_notify_students_of_graded_work 'Notify students'] is available to control when to send feedback during the grading process.
* MDL-34432 - Teachers can comment directly on students' work on online text assignments
* MDL-42585 - New capability [https://docs.moodle.org/27/en/Capabilities/mod/assign:viewgrades mod/assign:viewgrades] to allow grades to be viewed but not changed
* MDL-44268 - Assignment grading table [https://docs.moodle.org/27/en/Using_Assignment#Filtering_submissions filters]
* MDL-35373 - [https://docs.moodle.org/27/en/Assignment_settings#Online_text Word limit] feature added to online assignments.
* MDL-44629 - Assignment plugins can display an introduction.


It is recommended to upgrade, and then convert any remaining assignments because logic has been added to the assignment upgrade code for Moodle 2.7 to transparently map urls from the old assignment module to the new one.
===Database===
* MDL-42842 - Availability can be set with [https://docs.moodle.org/27/en/Database_activity_settings a time as well as a date.]


If you really, really need to keep using the old module, you should update the code to Moodle 2.7, and then replace the "mod/assignment" folder with the one from the plugins database before completing the upgrade.
===Forum===
 
* MDL-44505 - Subject line of forum notifications can now be configured through language string customisation
A new capability ''mod/assign:editothersubmission'' can be given to teachers to allow them to edit or delete student submissions.
 
A checkbox 'Notify students' is available to control when to send feedback during the grading process.
 
Teachers can comment directly on student's work on online text assignments MDL-34432


===SCORM===
* MDL-43011 - SCORM new window now opens without headers/footers as expected.
===Cron===
===Cron===


Cron has received a major update and now has support for both scheduled and adhoc tasks - MDL-25499.
* MDL-25499 - Cron has received a major update and now has support for both scheduled and adhoc tasks.
The benefits of these changes are:
The benefits of these changes are:
* The schedule for every task can be configured by the admin
* The schedule for every task can be configured by the admin
Line 121: Line 193:
* Cron processes use locking to prevent the same task running at the same time by different processes
* Cron processes use locking to prevent the same task running at the same time by different processes


A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner. Admins can keep cron running at the same schedule as before, but it is strongly recommended that they increase the frequency of running cron to at least once per minute.
A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner. It is now strongly recommended that administrators increase the frequency that cron is run to at least ''once per minute'', however it can be kept at it's previous schedule if desired if you do not wish to benefit from these changes.
 
===Badges===
 
* MDL-40551 - Badges can be [https://docs.moodle.org/27/en/Managing_badges#Deleting_badges deleted]
* MDL-44264 - Badges are displayed on [https://docs.moodle.org/27/en/Badges_settings#Viewing_the_badges_of_other_users course profile] pages
 
===Authentication===
 
* MDL-42816 - [https://docs.moodle.org/27/en/Manual_accounts Manual account authentication] can now have password expiry enabled.
* MDL-41115 - Users can [https://docs.moodle.org/27/en/Managing_authentication log in] with either their username or their email address.
* MDL-33925 - Support for self-signed certificate without SSL in auth IMAP
 
===Gradebook===
 
* MDL-32888 - Gradebook search allows for [https://docs.moodle.org/27/en/Gradebook filtering by student name.]
* MDL-31679 - The top of the grader report now also has a [https://docs.moodle.org/27/en/Gradebook horizontal scrollbar].
* MDL-22999 - [https://docs.moodle.org/27/en/Grade_points Maximum marks] in standard activities can now exceed 100.
 
===Course and pages===
 
* MDL-38923 - Blocks can be docked while using the Clean theme.
* MDL-44269 - Breadcrumbs moved below the logo image in Clean.
 
===Mobile===
 
* MDL-44342 - Airnotifier allows notifications to be sent to MoodleMobile app.
* MDL-30085, MDL-30106 Web services added for grades and forums.
 
==Security issues==
* [https://moodle.org/mod/forum/discuss.php?d=260361 MSA-14-0014] Cross-site request forgery possible in Assignment
* [https://moodle.org/mod/forum/discuss.php?d=260362 MSA-14-0015] Web service token expiry issue for MoodleMobile
* [https://moodle.org/mod/forum/discuss.php?d=260363 MSA-14-0016] Anonymous student identity revealed in Assignment
* [https://moodle.org/mod/forum/discuss.php?d=260364 MSA-14-0017] File access issue in HTML block
* [https://moodle.org/mod/forum/discuss.php?d=260365 MSA-14-0018] Information leak in courses
* [https://moodle.org/mod/forum/discuss.php?d=260366 MSA-14-0019] Reflected XSS in URL downloader repository




== Developer Notes ==
== Developer Notes ==
* Logging and events: All plugins should convert their logging and triggering of events to the new API. See [[Migrating logging calls in plugins]].
* Reports: Reports that use log table should be updated to use the new logging framework. Old reports will continue to work as before as long as legacy logging is enabled in the site. See [[Migrating log access in reports]] for details.
* Developers can now use the [[Lock_API]] to lock critical tasks (even across cluster nodes).
* Plugins can now use the [[Task_API]] to schedule background tasks and developers are encouraged to convert to this API from legacy cron.
* New plugin type for conditional availability. See [[Availability_conditions]].
* New plugin type for Atto editor. See [[Atto]]
* New plugin type for Logging store.


=== API changes ===
=== API changes ===
* Reports: Reports that use log table, should be updated to use the new logging frame work. Old reports will continue to work as before as long as legacy logging is enabled in the site. See [[Migrating log access in reports]] for details.
* MDL-39952 - Core events: All core events have been converted to the new [[Events API]]. The list of all events is available for admin in report "Events list". Writing observers to the new events is easier but old-style observers will continue to work. Moodle plans to add missing validation to core events before release of 2.7.1 (it will not affect plugins unless they directly trigger core events).
* MDL-43040 - Activity modules should use $plugin instead of $module in mod/*/version.php.
* MDL-45250 - add_to_log() has been deprecated and now generates debugging warnings\
* MDL-44510 - PHPUnit 4.x is now supported.
* New API for raising php time limit core_php_time_limit::raise()
* MDL-39337 - New html_writer::image() api
 
=== Upgrade notes for developers ===
 
;Authentication plugins : http://git.moodle.org/gw?p=moodle.git;a=blob;f=auth/upgrade.txt;hb=master
;Badges: http://git.moodle.org/gw?p=moodle.git;a=blob;f=badges/upgrade.txt;hb=master
;Blog: http://git.moodle.org/gw?p=moodle.git;a=blob;f=blog/upgrade.txt;hb=master
;Cache: http://git.moodle.org/gw?p=moodle.git;a=blob;f=cache/upgrade.txt;hb=master
;Core: http://git.moodle.org/gw?p=moodle.git;a=blob;f=lib/upgrade.txt;hb=master
;Filters: http://git.moodle.org/gw?p=moodle.git;a=blob;f=filter/upgrade.txt;hb=master
;Modules: http://git.moodle.org/gw?p=moodle.git;a=blob;f=mod/upgrade.txt;hb=master
;Question system: http://git.moodle.org/gw?p=moodle.git;a=blob;f=question/upgrade.txt;hb=master
;Reports: http://git.moodle.org/gw?p=moodle.git;a=blob;f=report/upgrade.txt;hb=master
;Tags: http://git.moodle.org/gw?p=moodle.git;a=blob;f=tag/upgrade.txt;hb=master
;Themes: http://git.moodle.org/gw?p=moodle.git;a=blob;f=theme/upgrade.txt;hb=master
;Webservices: http://git.moodle.org/gw?p=moodle.git;a=blob;f=webservice/upgrade.txt;hb=master
 
==Development numbers==
 
[[file:27devstats.png|800px]]
 
==See also==
* [https://docs.moodle.org/27/en/Category:New_features User documentation of new features in Moodle 2.7]
* [https://docs.moodle.org/27/en/Upgrading_to_Moodle_2.7 Upgrading to Moodle 2.7] - information for admins who are upgrading from earlier versions


[[Category:Release notes]]
[[Category:Release notes]]

Latest revision as of 09:08, 25 May 2022

Important:

This content of this page has been updated and migrated to the new Moodle Developer Resources. The information contained on the page should no longer be seen up-to-date.

Why not view this page on the new site and help us to migrate more content to the new site!

Releases > Moodle 2.7 release notes

Release date: 12th May 2014

Here is the complete list of fixed issues in 2.7. See New features for a user-friendly highlights tour 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 - http://windows.php.net/download/), 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.

Database Minimum version Recommended
PostgreSQL 9.1 Latest
MySQL 5.5.31 Latest
MariaDB 5.5.31 Latest
Microsoft SQL Server 2008 Latest
Oracle Database 10.2 Latest

Client requirements

Browser support

Browser Minimum version Recommended version Notes
Google Chrome 30.0 Latest
Mozilla Firefox 25.0 Latest
Apple Safari 6 Latest
Microsoft Internet Explorer 9 Latest Version 10 is required for drag-and-drop upload of content from outside the browser into Moodle

Screen reader support

We now support and test on two screen reader configurations (MDL-44002).

Browser Screen reader Minimum version Recommended version
Microsoft Internet Explorer Jaws 15 Latest
Mozilla Firefox NVDA 2014.1 Latest

Before you upgrade

Questions engine upgrade

When upgrading to Moodle 2.1 or 2.2 it was possible to delay part of the Question engine upgrade. You must complete this upgrade before upgrading to Moodle 2.7. You can check if this was completed at the bottom of the Environment page.

For further information, see the upgrading notes to complete the Question engine upgrade before Moodle 2.7.

Themes

All standard themes present in earlier versions, except Clean, have been removed from Moodle 2.7. If you wish to continue using one of these themes then you will need to reinstall it explicitly before running the upgrade.

See the upgrading notes for theme upgrades in Moodle 2.7 for further information.

Headline features

Interface

  • MDL-42964 - Themes clean-up - Moodle is focussed on Bootstrap and improved responsive design. Clean is now the default theme and most other old themes have been removed from core (still available from Plugins directory). Many small improvements have been made all through the interface.
  • MDL-43786 - More theme - A completely new theme called More that provides easy configuration though the UI, while retaining the efficiency of LESS and the responsiveness of Bootstrap.
  • MDL-43841 - New text editor, Atto - Tightly integrated in Moodle and focussing on usability and accessibility (TinyMCE still available as an option).
  • MDL-44070 - Improved conditional activities - Complex boolean combinations are now supported to control when activities are available to students, with a conditions plugin API and a better interface...and it's faster!
  • MDL-43855 - New mathematical equation editor for Atto, producing TeX using a GUI without needing Java. Works everywhere, even tablets and phones.
  • MDL-43856 - New MathJax filter for displaying mathematical equations without needing binaries on the server.
  • MDL-44637 - New report listing all events possible on a site.

Platform

  • MDL-37658 - Logging - a new logging subsystem with plugins allowing Moodle logs to be very detailed and external. Log reports have been updated too. Many new events have been added which developers can take advantage of. These advancements will support better analytics in future as well as reporting standards like TinCan.
  • MDL-25499 - Scheduled Tasks - an improved scheduling system (like Unix cron) that allows precise scheduling of tasks even on complex clustered servers.
  • Performance - With improvements to logging and scheduled tasks, as well as many other small improvements, overall performance will be improved, particularly on large sites.

Long-term support (LTS) until May 2017

This release will have an extra-long period of support from Moodle HQ for 3 years (instead of the usual 1.5 years).

If you have been stuck on an old version like Moodle 1.9 then this might be the perfect time to join us in the future!

Much much more

Administration

Quiz & Question bank

  • MDL-41727 - Quiz reports improved.
    • Responses from all tries are available for analysis when using or "Adaptive", "Interactive with multiple tries" or similar behaviours.
    • Break-down by question variant, for question types like Calculated, STACK and Variable-numeric, which one question can have different random variants.
    • Progress bar during long calculations to prevent time-outs.
    • Low-level calculation code moved into the question component, where it could potentially be reused by other activities.
    • Much more automated testing of this complex area of code.
  • Some minor improvements to the usability of the question bank - Some of MDL-40987
    • MDL-33653 - To duplicate a question, you now start by clicking the x2 icon, like for activities.
    • MDL-33839 - The various different ways to move questions in the question bank have been rationalised.
    • MDL-33653 - There is now a 'Save changes and continue editing' button when editing questions. Useful when you are working on a complex question with the preview open in another window.
    • MDL-32729 - The interface of the question type selector has been updated
  • MDL-40313 & MDL-40457 - New plugin point, so that plugins can add columns to the question bank, or new search conditions.
  • MDL-39756 - Essay questions can now require an attachment, with the text optional, rather than the other way around.
  • MDL-27414 - Random short-answer matching question type brought back from the dead. (This was in stable branches, but worth mentioning again.)
  • MDL-43478 - Option to show all tries in responses report.

Assignment

  • MDL-33952 - The old Assignment (2.2) module has been removed from core. It has been replaced by a stub to support transparently remapping urls and restoring course backups from the old module to the new one. If you are still using the old assignment module - all instances of the old assignment module will be hidden after upgrading to Moodle 2.7. Once the upgrade tool is run on those assignments they will become visible again. It is recommended to upgrade, and then convert any remaining assignments because logic has been added to the assignment upgrade code for Moodle 2.7 to transparently map urls from the old assignment module to the new one. If you really, really need to keep using the old module, you should update the code to Moodle 2.7, and then replace the "mod/assignment" folder with the one from https://github.com/moodlehq/moodle-mod_assignment/releases before completing the upgrade.
  • MDL-28448 - A new capability mod/assign:editothersubmission can be given to teachers to allow them to edit or delete student submissions.
  • MDL-33600 - 'Notify students' is available to control when to send feedback during the grading process.
  • MDL-34432 - Teachers can comment directly on students' work on online text assignments
  • MDL-42585 - New capability mod/assign:viewgrades to allow grades to be viewed but not changed
  • MDL-44268 - Assignment grading table filters
  • MDL-35373 - Word limit feature added to online assignments.
  • MDL-44629 - Assignment plugins can display an introduction.

Database

Forum

  • MDL-44505 - Subject line of forum notifications can now be configured through language string customisation

SCORM

  • MDL-43011 - SCORM new window now opens without headers/footers as expected.

Cron

  • MDL-25499 - Cron has received a major update and now has support for both scheduled and adhoc tasks.

The benefits of these changes are:

  • The schedule for every task can be configured by the admin
  • Tasks can run in parallel
  • Cron processes use locking to prevent the same task running at the same time by different processes

A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner. It is now strongly recommended that administrators increase the frequency that cron is run to at least once per minute, however it can be kept at it's previous schedule if desired if you do not wish to benefit from these changes.

Badges

Authentication

Gradebook

Course and pages

  • MDL-38923 - Blocks can be docked while using the Clean theme.
  • MDL-44269 - Breadcrumbs moved below the logo image in Clean.

Mobile

  • MDL-44342 - Airnotifier allows notifications to be sent to MoodleMobile app.
  • MDL-30085, MDL-30106 Web services added for grades and forums.

Security issues


Developer Notes

  • Logging and events: All plugins should convert their logging and triggering of events to the new API. See Migrating logging calls in plugins.
  • Reports: Reports that use log table should be updated to use the new logging framework. Old reports will continue to work as before as long as legacy logging is enabled in the site. See Migrating log access in reports for details.
  • Developers can now use the Lock_API to lock critical tasks (even across cluster nodes).
  • Plugins can now use the Task_API to schedule background tasks and developers are encouraged to convert to this API from legacy cron.
  • New plugin type for conditional availability. See Availability_conditions.
  • New plugin type for Atto editor. See Atto
  • New plugin type for Logging store.


API changes

  • MDL-39952 - Core events: All core events have been converted to the new Events API. The list of all events is available for admin in report "Events list". Writing observers to the new events is easier but old-style observers will continue to work. Moodle plans to add missing validation to core events before release of 2.7.1 (it will not affect plugins unless they directly trigger core events).
  • MDL-43040 - Activity modules should use $plugin instead of $module in mod/*/version.php.
  • MDL-45250 - add_to_log() has been deprecated and now generates debugging warnings\
  • MDL-44510 - PHPUnit 4.x is now supported.
  • New API for raising php time limit core_php_time_limit::raise()
  • MDL-39337 - New html_writer::image() api

Upgrade notes for developers

Authentication plugins
http://git.moodle.org/gw?p=moodle.git;a=blob;f=auth/upgrade.txt;hb=master
Badges
http://git.moodle.org/gw?p=moodle.git;a=blob;f=badges/upgrade.txt;hb=master
Blog
http://git.moodle.org/gw?p=moodle.git;a=blob;f=blog/upgrade.txt;hb=master
Cache
http://git.moodle.org/gw?p=moodle.git;a=blob;f=cache/upgrade.txt;hb=master
Core
http://git.moodle.org/gw?p=moodle.git;a=blob;f=lib/upgrade.txt;hb=master
Filters
http://git.moodle.org/gw?p=moodle.git;a=blob;f=filter/upgrade.txt;hb=master
Modules
http://git.moodle.org/gw?p=moodle.git;a=blob;f=mod/upgrade.txt;hb=master
Question system
http://git.moodle.org/gw?p=moodle.git;a=blob;f=question/upgrade.txt;hb=master
Reports
http://git.moodle.org/gw?p=moodle.git;a=blob;f=report/upgrade.txt;hb=master
Tags
http://git.moodle.org/gw?p=moodle.git;a=blob;f=tag/upgrade.txt;hb=master
Themes
http://git.moodle.org/gw?p=moodle.git;a=blob;f=theme/upgrade.txt;hb=master
Webservices
http://git.moodle.org/gw?p=moodle.git;a=blob;f=webservice/upgrade.txt;hb=master

Development numbers

27devstats.png

See also