Note:

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

Moodle 3.6 release notes: Difference between revisions

From MoodleDocs
(Added note about PHP 7.3 work in progress)
(Add reference to $CFG->keepmessagingallusersenabled = true;)
(28 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Note|This page will continue to be updated until Moodle 3.6 is released.}}
[[Releases]] > {{FULLPAGENAME}}
[[Releases]] > {{FULLPAGENAME}}
 
 
Release date: Not yet released - scheduled for 03 December 2018
Release date: 3 December 2018


Here is [https://tracker.moodle.org/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=project+%3D+mdl+AND+resolution+%3D+fixed+AND+fixVersion+in+%28%223.6%22%29+ORDER+BY+priority+DESC&runQuery=true&clear=true the full list of fixed issues in 3.6].
Here is [https://tracker.moodle.org/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=project+%3D+mdl+AND+resolution+%3D+fixed+AND+fixVersion+in+%28%223.6%22%29+ORDER+BY+priority+DESC&runQuery=true&clear=true the full list of fixed issues in 3.6].
See our [https://docs.moodle.org/36/en/New_features New features page] in the user documentation for an introduction to Moodle 3.6 with screenshots.


If you are upgrading from a previous version, please see [[:en:Upgrading|Upgrading]] in the user docs. ''In particular, for sites using a custom theme or login form, from 3.6 onwards, the login form must include a new login token field. See [[Login token]] for details.''
If you are upgrading from a previous version, please see [[:en:Upgrading|Upgrading]] in the user docs. ''In particular, for sites using a custom theme or login form, from 3.6 onwards, the login form must include a new login token field. See [[Login token]] for details.''
{{Note|You are recommended to use [[Moodle 3.6.1 release notes|Moodle 3.6.1]], as it includes a messaging regression fix.}}


==Server requirements==
==Server requirements==
Line 13: Line 16:


* Moodle upgrade:  Moodle 3.1 or later
* Moodle upgrade:  Moodle 3.1 or later
* PHP version: minimum PHP 7.0.0 ''Note: minimum PHP version has increased since Moodle 3.3''. PHP 7.1.x and 7.2.x are supported too. [Moodle and PHP7|PHP 7.3.x support] is being implemented (MDL-63420) and not ready for production uses with this release.
* PHP version: minimum PHP 7.0.0 ''Note: minimum PHP version has increased since Moodle 3.3''. PHP 7.1.x and 7.2.x are supported too. [[Moodle and PHP7|PHP 7.3.x support]] is being implemented (@ MDL-63420) and '''not ready for production''' with this release.
* PHP extension '''intl''' is required since Moodle 3.4 (it was recommended in 2.0 onwards)  
* PHP extension '''intl''' is required since Moodle 3.4 (it was recommended in 2.0 onwards)  


Line 65: Line 68:
For the best experience and optimum security, we recommend that you keep your browser up to date. https://whatbrowser.org
For the best experience and optimum security, we recommend that you keep your browser up to date. https://whatbrowser.org


Note: Legacy browsers with known compatibility issues with Moodle 3.5:
Note: Legacy browsers with known compatibility issues with Moodle 3.6:
* Internet Explorer 10 and below
* Internet Explorer 10 and below
* Safari 7 and below
* Safari 7 and below
Line 72: Line 75:
==Major features==
==Major features==


===Dashboard and Course overview===
* MDL-63044 and MDL-63337 - New [https://docs.moodle.org/36/en/Course_overview Course overview] and [https://docs.moodle.org/36/en/Timeline_block Timeline block]
* MDL-63062 - New [https://docs.moodle.org/36/en/Recently_accessed_courses_block Recently accessed courses block]
* MDL-63063 - New [https://docs.moodle.org/36/en/Recently_accessed_items_block Recently accessed items block]
* MDL-63457 - Option to hide courses in the course overview block
* MDL-63058 - Option to star/unstar courses in the course overview block
* MDL-63064 - New [https://docs.moodle.org/36/en/Starred_courses_block Starred courses block]
* MDL-63352 - Dashboard retains user preferences for view options
* MDL-63793 - Course overview block retains user preferences for the number of courses to show
* MDL-61161 - Grace period when displaying "In progress" courses in course overview block
* MDL-63040 - Removal of Dashboard page header
===GDPR and Privacy===
Note that some of these GDPR improvements have also been backported to Moodle 3.5.3,  3.4.6 and 3.3.9.
* MDL-63116 - Data requests bulk actions
* MDL-62309 - Option to make site policies required or optional
* MDL-61652 - Capabilities for controlling who can download SAR data
* MDL-62563 - Data deletion of existing deleted users
* MDL-63897 - Pre-processing stage removed from data requests process
* MDL-62558 - Data retention summary (read-only)
* MDL-63726 - Option to remove the "Data retention summary" link in the footer
* MDL-62491 - HTML data request export format
* MDL-63401 - User expiry improvements
* MDL-63619 - Data purpose and category inheritance improvements
* MDL-62560 - Different data retention strategies for different roles in a purpose
* MDL-62554 - Ability to configure data registry to use module type defaults
* MDL-63009 - Site mentioned in email notifications of data requests
* MDL-6074 - Option to hide your name in the [https://docs.moodle.org/36/en/Online_users_block online users block]
===Messaging===
* '''MDL-57272 and MDL-63280 - Group messaging'''
* MDL-63303 - New messaging UI with [https://docs.moodle.org/36/en/Messaging messaging drawer]
* MDL-63279 - Option to [https://docs.moodle.org/36/en/Messaging_settings disable site-wide messaging]
* MDL-63214 - Privacy setting for restricting who can message you
** The new 'Allow site-wide messaging' setting is disabled by default for new installs but enabled for upgraded sites if ''$CFG->keepmessagingallusersenabled = true;'' is defined in config.php
* MDL-63213 - Option to star messaging conversations
* MDL-63283 - Notifications not sent for group conversations
* MDL-63281 - Group members synchronised with messaging conversations members
===Assignment===
* MDL-27520 - Assignment feedback can include media or other files
===Quiz===
* MDL-62610 - Improved quiz statistics report usability for randomized questions
* MDL-62708 - Option to add ID numbers to questions and question categories
* MDL-63738 - Single questions can be exported from the question bank
===Workshop===
* MDL-60820 - Teachers can specify workshop submission types


==Other Highlights==
===Repositories===
* MDL-58943 - Nextcloud integration, with a [https://docs.moodle.org/36/en/Nextcloud_repository Nextcloud repository] and [https://docs.moodle.org/36/en/OAuth_2_Nextcloud_service OAuth 2 Nextcloud service]


===Open Badges===
* MDL-58454 - Support for Open Badges v2.0


===Performance===
* MDL-54035 - Performance improvements to cache flags
* MDL-47962 - Glossary auto-linking filter performance improvements
===Usability improvements===
* MDL-51177 - atto_htmlplus implemented to improve Atto editor HTML indenting
* MDL-45170 - Copy and paste of images from one WYSIWYG window to another
* MDL-61388 - Forum actions announced by screen reader when completed
* MDL-62899 - Global search displays a relevant icon next to link in results
* MDL-46415 - SVG/high resolution emoticons
* MDL-58000 - Larger badge images are used
===Experimental===
* MDL-53566 - [https://docs.moodle.org/36/en/Context_freezing Context freezing] - setting read-only access for categories, courses, activities and their content
==Other highlights==
===Functional changes===
* MDL-17943 - 'Resend confirmation email' button on login page
* MDL-14274 - IF conditions in grade calculations
* MDL-37624 - Calendar entries location support
* MDL-36754 - Images are displayed in forum notification emails
* MDL-59259 - Course format options may be specified in upload courses CSV file
* MDL-41265 - Page resource option to show/hide "Last modified"
* MDL-61378 - Forum post HTML structure improvements
* MDL-59454 - Option to download the list of course participants
* MDL-60520 - Analytics models can use different machine learning backends
* MDL-61573 - User menu: customusermenuitems map Font Awesome icons for non pix/t folders
* MDL-62320 - JSON added to the default MIME types list
* MDL-63431 - Atto media plugin title global attribute support
* MDL-60435 - Shibboleth authentication identity providers
* MDL-59169 - Grader report saves after edit with multiple tabs
* MDL-62960 - Drag and drop of course events respects the course start date


===Security issues===
===Security issues===
 
* [https://moodle.org/mod/forum/discuss.php?d=378731 MSA-18-0020] Login CSRF vulnerability in login form. Note that this fix has previously been disclosed following the release of Moodle 3.5.3, 3.4.6, 3.3.9 and 3.1.15.
A number of security related issues were resolved. Details of these issues will be released after a period of approximately one week to allow system administrators to safely update to the latest version.
 
===For administrators===
* MDL-62334 - 'Add a new course' link in Site administration
* MDL-63253 - Admin search results provide location of the found matching page
* MDL-63772 - Capability to control use of Atto Record RTC
* MDL-63708 - New blocks supported by the mobile app can be disabled
* MDL-52953 - Legacy log store deprecation
* MDL-59429 - Log changes to site administrators
* MDL-62651 - adhoc task runner
* MDL-62777 - Site upgrades via CLI display new default settings
* MDL-63603 - Indian Rupee added to [https://docs.moodle.org/36/en/PayPal_enrolment PayPal enrolment] currencies
* MDL-60514 - Set Path to PHP CLI in order to display 'Run now' for [https://docs.moodle.org/36/en/Scheduled_tasks Scheduled tasks]
* MDL-61041 - Assignment upgrade helper tool removed from core.


==For developers==
==For developers==
* MDL-55188 - Old Events API final deprecation
* MDL-54741 - Phase 2 of deprecation of functions in lib/deprecatedlib.php
* MDL-51803 - Reusable element for drag and drop sortable table or list
* MDL-63329 - memcache session handler removal
* MDL-63658 - New Favourites subsystem
* MDL-63729 - Badges web services return new fields and data added by the Open Badges v2.0 specification
* MDL-50812 - core_useragent::get_browser_version_classes distinguishes between different browsers


===Privacy API update===
===Privacy API update===


Two new methods need to be implemented in the privacy provider class for plugins that store user data:
In addition to existing requirements, any plugin which implements the plugin provider interface must also implement the <tt>\core_privacy\local\request\core_userlist_provider</tt> interface. Two new methods need to be implemented:


* [[Privacy API#Retrieving_the_users_in_a_context|get_users_in_context()]]
* [[Privacy API#Retrieving_the_users_in_a_context|get_users_in_context()]]
* [[Privacy API#Delete_personal_information_for_several_users_in_a_specific_context|delete_data_for_users()]]
* [[Privacy API#Delete_personal_information_for_several_users_in_a_specific_context|delete_data_for_users()]]
 
 
Note these changes are also required for latest Moodle 3.4.6, 3.5.3 versions.
However, the two above methods are not required for plugins that [[Privacy_API#Plugins_which_do_not_store_personal_data|implement the <tt>null_provider</tt>]] only (i.e. which do not store personal data).
 
Note that these changes are also required for latest Moodle 3.4.6 and 3.5.3 versions.


===Behat scenario files===
===Behat scenario files===


MDL-57281 - The behat step <code>I navigate to "ITEM" node in "MAINNODE > PATH"</code> has been deprecated and throws an exception with details on how to replace it. The recommended replacement steps work in all recent Moodle versions, the updated Behat will pass with Moodle 3.4, too.
* MDL-57281 - The behat step <code>I navigate to "ITEM" node in "MAINNODE > PATH"</code> has been deprecated and throws an exception with details on how to replace it. The recommended replacement steps work in all recent Moodle versions. The updated Behat will pass with Moodle 3.4 too.


===Login token===
===Login token===


If your plugin provides an alternative login form (e.g. it is a theme replacing the default login form template / renderer), the login form must include a new login token field. For details of required changes, see [[Login token]]. Note that this also affects latest stable branches, too.
If your plugin provides an alternative login form (e.g. it is a theme replacing the default login form template / renderer), the login form must include a new login token field. For details of required changes, see [[Login token]]. Note that this also affects latest stable branches too.
 
===New core functions===
 
* <tt>userdate_htmltime()</tt>
 
===New callback hooking points in page layouts===
 
* <tt>standard_after_main_region_html</tt> - A new general purpose callback hooking point in the page layout. Used for example by the new messaging drawer UI.


===Component APIs upgrades===
===Component APIs upgrades===


Please refer to the upgrade.txt files in the relevant component directory for changes in particular Moodle release.
Please refer to the upgrade.txt files in the relevant component directory for changes in this particular Moodle release.


* [https://git.in.moodle.com/moodle/moodle/blob/master/admin/tool/log/upgrade.txt admin/tool/log/upgrade.txt]
* [https://git.in.moodle.com/moodle/moodle/blob/master/admin/tool/log/upgrade.txt admin/tool/log/upgrade.txt]

Revision as of 09:44, 17 December 2018

Releases > Moodle 3.6 release notes

Release date: 3 December 2018

Here is the full list of fixed issues in 3.6.

See our New features page in the user documentation for an introduction to Moodle 3.6 with screenshots.

If you are upgrading from a previous version, please see Upgrading in the user docs. In particular, for sites using a custom theme or login form, from 3.6 onwards, the login form must include a new login token field. See Login token for details.

Note: You are recommended to use Moodle 3.6.1, as it includes a messaging regression fix.


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.1 or later
  • PHP version: minimum PHP 7.0.0 Note: minimum PHP version has increased since Moodle 3.3. PHP 7.1.x and 7.2.x are supported too. PHP 7.3.x support is being implemented (@ MDL-63420) and not ready for production with this release.
  • 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.

Database Minimum version Recommended
PostgreSQL 9.4 Latest
MySQL 5.6 Latest
MariaDB 5.5.31 Latest
Microsoft SQL Server 2008 Latest
Oracle Database 11.2 Latest

Client requirements

Browser support

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

Desktop:

  • Chrome
  • Firefox
  • Safari
  • Edge
  • Internet Explorer

Mobile:

  • MobileSafari
  • Google Chrome

For the best experience and optimum security, we recommend that you keep your browser up to date. https://whatbrowser.org

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

  • Internet Explorer 10 and below
  • Safari 7 and below

 

Major features

Dashboard and Course overview

GDPR and Privacy

Note that some of these GDPR improvements have also been backported to Moodle 3.5.3, 3.4.6 and 3.3.9.

  • MDL-63116 - Data requests bulk actions
  • MDL-62309 - Option to make site policies required or optional
  • MDL-61652 - Capabilities for controlling who can download SAR data
  • MDL-62563 - Data deletion of existing deleted users
  • MDL-63897 - Pre-processing stage removed from data requests process
  • MDL-62558 - Data retention summary (read-only)
  • MDL-63726 - Option to remove the "Data retention summary" link in the footer
  • MDL-62491 - HTML data request export format
  • MDL-63401 - User expiry improvements
  • MDL-63619 - Data purpose and category inheritance improvements
  • MDL-62560 - Different data retention strategies for different roles in a purpose
  • MDL-62554 - Ability to configure data registry to use module type defaults
  • MDL-63009 - Site mentioned in email notifications of data requests
  • MDL-6074 - Option to hide your name in the online users block

Messaging

  • MDL-57272 and MDL-63280 - Group messaging
  • MDL-63303 - New messaging UI with messaging drawer
  • MDL-63279 - Option to disable site-wide messaging
  • MDL-63214 - Privacy setting for restricting who can message you
    • The new 'Allow site-wide messaging' setting is disabled by default for new installs but enabled for upgraded sites if $CFG->keepmessagingallusersenabled = true; is defined in config.php
  • MDL-63213 - Option to star messaging conversations
  • MDL-63283 - Notifications not sent for group conversations
  • MDL-63281 - Group members synchronised with messaging conversations members

Assignment

  • MDL-27520 - Assignment feedback can include media or other files

Quiz

  • MDL-62610 - Improved quiz statistics report usability for randomized questions
  • MDL-62708 - Option to add ID numbers to questions and question categories
  • MDL-63738 - Single questions can be exported from the question bank

Workshop

  • MDL-60820 - Teachers can specify workshop submission types

Repositories

Open Badges

Performance

  • MDL-54035 - Performance improvements to cache flags
  • MDL-47962 - Glossary auto-linking filter performance improvements

Usability improvements

  • MDL-51177 - atto_htmlplus implemented to improve Atto editor HTML indenting
  • MDL-45170 - Copy and paste of images from one WYSIWYG window to another
  • MDL-61388 - Forum actions announced by screen reader when completed
  • MDL-62899 - Global search displays a relevant icon next to link in results
  • MDL-46415 - SVG/high resolution emoticons
  • MDL-58000 - Larger badge images are used

Experimental

Other highlights

Functional changes

  • MDL-17943 - 'Resend confirmation email' button on login page
  • MDL-14274 - IF conditions in grade calculations
  • MDL-37624 - Calendar entries location support
  • MDL-36754 - Images are displayed in forum notification emails
  • MDL-59259 - Course format options may be specified in upload courses CSV file
  • MDL-41265 - Page resource option to show/hide "Last modified"
  • MDL-61378 - Forum post HTML structure improvements
  • MDL-59454 - Option to download the list of course participants
  • MDL-60520 - Analytics models can use different machine learning backends
  • MDL-61573 - User menu: customusermenuitems map Font Awesome icons for non pix/t folders
  • MDL-62320 - JSON added to the default MIME types list
  • MDL-63431 - Atto media plugin title global attribute support
  • MDL-60435 - Shibboleth authentication identity providers
  • MDL-59169 - Grader report saves after edit with multiple tabs
  • MDL-62960 - Drag and drop of course events respects the course start date

Security issues

  • MSA-18-0020 Login CSRF vulnerability in login form. Note that this fix has previously been disclosed following the release of Moodle 3.5.3, 3.4.6, 3.3.9 and 3.1.15.

For administrators

For developers

  • MDL-55188 - Old Events API final deprecation
  • MDL-54741 - Phase 2 of deprecation of functions in lib/deprecatedlib.php
  • MDL-51803 - Reusable element for drag and drop sortable table or list
  • MDL-63329 - memcache session handler removal
  • MDL-63658 - New Favourites subsystem
  • MDL-63729 - Badges web services return new fields and data added by the Open Badges v2.0 specification
  • MDL-50812 - core_useragent::get_browser_version_classes distinguishes between different browsers

Privacy API update

In addition to existing requirements, any plugin which implements the plugin provider interface must also implement the \core_privacy\local\request\core_userlist_provider interface. Two new methods need to be implemented:

However, the two above methods are not required for plugins that implement the null_provider only (i.e. which do not store personal data).

Note that these changes are also required for latest Moodle 3.4.6 and 3.5.3 versions.

Behat scenario files

  • MDL-57281 - The behat step I navigate to "ITEM" node in "MAINNODE > PATH" has been deprecated and throws an exception with details on how to replace it. The recommended replacement steps work in all recent Moodle versions. The updated Behat will pass with Moodle 3.4 too.

Login token

If your plugin provides an alternative login form (e.g. it is a theme replacing the default login form template / renderer), the login form must include a new login token field. For details of required changes, see Login token. Note that this also affects latest stable branches too.

New core functions

  • userdate_htmltime()

New callback hooking points in page layouts

  • standard_after_main_region_html - A new general purpose callback hooking point in the page layout. Used for example by the new messaging drawer UI.

Component APIs upgrades

Please refer to the upgrade.txt files in the relevant component directory for changes in this particular Moodle release.

See also