Totara 2.2.37, 2.4.30, 2.5.27, 2.6.20 and 2.7.3 are all security releases because they include security fixes. We strongly recommend upgrading to these versions. These versions also contain various bug fixes and improvements.
Russell England, Andrew Hancox at Synergy Leaning, Gavin Nelson at Engage in Learning, Jo Jones at Kineo UK, Ted van den Brink at Brightalley, and Eugene Venter and Francis Devine at Catalyst NZ all have contributions in these releases - further details in the changelogs:
Release 2.7.3 (19th May 2015): ================================================== Security issues: MoodleHQ Security fixes from MoodleHQ http://docs.moodle.org/dev/Moodle_2.7.8_release_notes Improvements: TL-2279 Added new global setting to control user deletion behavior TL-5311 Added Course Completion History report builder source This report source contains all records from both the current course completions table and the course completions history table. TL-6165 Refactored timezone handling functions to improve reliability of all timezone-related functionality TL-6197 Added option to suspend course enrolments when users lose access to a Program Previously, when learners were unassigned from a Program or a Program becomes unavailable, any course enrolments in courses within the program would be removed. This improvement now changes the default behaviour from removing enrolments created by the program enrolment plugin, to suspending enrolments. This also adds a configuration setting in Site Admin -> Plugins -> Enrolments -> Program so you can change the behaviour back to the old "unenrol learners from courses" behaviour if you wish. TL-6271 Improved Accessibility of scheduled reports in Reportbuilder TL-6278 Removed all uses of deprecated function sql_fullname in Facetoface Full name format setting is now used when displaying the User's name TL-6295 Showed expected csv format when importing a "database" course activitiy TL-6304 Changed default request method in dialogs to POST TL-6315 Improved accessibility of admin checkbox lists TL-6327 Added ability to specify database server port for HR Import external database source settings TL-6331 Changed timezone.txt downloads to use Totara servers TL-6334 Renamed Program "start date" to "date assigned" This more accurately reflects the actual information recorded. This patch also recalculates "date assigned" values for certifications where the "start date" was removed (before this patch, "start date" had no meaning for certifications in the recertification phase). TL-6348 Removed unneeded code when viewing a Certifications overdue warning TL-6350 Added a help description to Badge description to explain its plain text nature TL-6359 Improved the performance of Reportbuilder management pages TL-6366 Improved Accessibility of the page title when uninstalling a plugin TL-6367 Added accessible text to the hamburger responsive button TL-6384 Improved Accessibility of filters in Reportbuilder TL-6386 Added hidden label to bulk user actions dropdown TL-6387 Added text to the label for the badge search functionality TL-6389 Added text to hidden label when editing a course topic TL-6391 Improved Accessibility of custom course icons TL-6397 Added text to the page title for the Facetoface interest report for Accessability TL-6398 Added title to browser sessions page TL-6411 Improved display of security information on calendar exports TL-6424 Changed Reportbuilder scheduled task default settings so that scheduled reports are sent when scheduled rather than at most once per day Currently when a new Totara site is installed (or upgrade to 2.7) the default schedule for scheduled reports is once a day. This means that any reports scheduled to be sent more frequently do not get sent. This change means that system will check for pending scheduled reports on every cron run so reports will get sent out on schedule. TL-6434 Improved performance when loading Program message managers TL-6489 Updated the default schedules for Program scheduled tasks This change will update the schedules for all sites currently using the defaults. Site administrators can customise the timing of scheduled tasks on the "Site Admin > server > scheduled tasks" page, any customisations will be unaffected. API changes: TL-6442 Fixed query parameter name conflicts by improving parameter name generation This fix introduced a new method moodle_database::get_unique_param that returns a truly unique param name with very little overhead. The bug fix involves conversion of areas generating their own "unique" param names to this new method. All new code requiring unique generated params should use this method. Bug fixes: TL-5953 Fixed SCORM resizing and title display when using popup "New window" setting TL-5977 Fixed upgrade for Facetoface notifications when upgrading from 2.2 TL-6101 Fixed display of enrolment button for Facetoface session enrolment for users with no manager TL-6143 Fixed password import being ignored when undeleting users in HR Import Previously, when undeleting a user, the user's password would always be reset, regardless of whether or not the password column was enabled and a password was specified. Now, password reset only occurs if there is no password specified in the import file. TL-6180 Fixed capability checks for category Audiences TL-6191 Fixed permissions when adding visible audiences to a program or course Permissions are now being checked on the correct context level so users assigned at the category, program or course contexts with permissions are now able to perform actions. This applies to Audience visibility for courses, programs and certifications and also Audience enrolment for courses. TL-6236 Fixed preservation of formatting in HTML emails sent by Appraisals TL-6259 Fixed completion import records being processed in the wrong date order This caused a problem if there were multiple completion records for one user in one course being uploaded and the date format used did not sort the same chronologically and alphabetically. TL-6279 Removed all uses of deprecated function sql_fullname in Appraisals TL-6284 Removed all uses of deprecated sql_fullname() function in Hierarchies TL-6285 Removed all uses of deprecated sql_fullname() function in Learning Plans TL-6287 Removed all uses of deprecated sql_fullname() function in Reportbuilder TL-6305 Fixed Program/Certification alerts and messages to exclude suspended and deleted users TL-6321 Removed window.status Javascript changes that have been deprecated by modern browsers TL-6322 Fixed unassociated label when viewing role definitions to improve Accessibility TL-6326 Fixed inconsistent behaviour of course visibility icons TL-6345 Fixed setting of a Certification completion status to 'expired' when renewal expires Previously, these certifications were set back to status 'assigned'. This patch makes no change to the behaviour of certifications, it just ensures that the correct data is recorded in the database. TL-6349 Fixed backup and restore of course Audience Visibility settings TL-6351 Fixed display of Graphical Reports Block when the report name contains an ampersand TL-6354 Fixed incorrect inclusion of deleted users when using recurring Programs TL-6361 Fixed immediate synchonrisation of Audience enrolments after modifications in Enrolled learning tab or when editing a course. TL-6365 Fixed page title when editing another users profile to improve Accessibility TL-6373 Fixed Facetoface notification status incorrectly sending manager copy when notification is disabled If a notification is disabled, the manager and third party email addresses will no longer receive the notification, regardless of the "Manager copy" setting. TL-6376 Fixed invalid HTML when viewing a complete Program with an end note TL-6399 Fixed Javascript error when adding and removing attendees from a Facetoface session TL-6400 Fixed editing of Hierarchy items description field TL-6405 Fixed aggregation for Badges issued report source TL-6408 Fixed the "time signed up" column on the Facetoface session attendees tab The time signed up column now shows the latest time signed up instead of the first, so if users cancel and signs up again the column will update. TL-6409 Fixed progress bar for Programs in Record of Learning TL-6418 Fixed deletion of related scheduling and saved search data in Reportbuilder when a report is deleted TL-6425 Fixed scheduled runs of HR Import HR Import was running every cron run, now it is running according to the given schedule. TL-6437 Fixed usage of complex passwords in HR Import TL-6439 Fixed error message when trying to access the course progress page from Record Of Learning after user is unenrolled from course Previously, if a user was unenrolled from a course, the course progress page became inaccessible. Now that unenrolled courses with progress are shown in the Record of Learning, it makes sense to allow users to see what progress they previously made. TL-6445 Fixed changes to Facetoface session attendees after a waitlisted session has started TL-6449 Fixed schema errors on upgrade from Moodle 2.7.7 TL-6450 Fixed export of parameteric reports in Reportbuilder Fixed error that blocked export of reports that require specific parameters to work (like appraisal or audience members). TL-6457 Fixed checkbox selection/deselection when Program exception "Select issue type" is changed TL-6471 Fixed the course enrolment date after unlocking completion criteria TL-6472 Fixed Completion History Import if it is using 'Alternatively upload csv files via a directory' TL-6490 Fixed activity completion when using manual grading on a Facetoface activity TL-6510 Fixed the rule for dynamic Audiences based on a positions multi or menu type custom field values TL-6518 Fixed display of the "Evidence Type" column on the Record of Learning TL-6520 Fixed the context checks for program deletion capabilities Program deletion was only working if you had the capability at a site level, this fixes it for if you have the correct capabilities at category or program level. TL-6543 Fixed query using IN in course completion This was causing a database error due to an oversized query in some databases with large data sets. Contributions: * Andrew Hancox at Synergy - TL-6445 * Eugene Venter at Catalyst - TL-6345, TL-6348 * Gavin Nelson at Engage in Learning - TL-6472 * Jo Jones at Kineo UK - TL-5953, TL-6437 * Russell England - TL-6520 * Ted van den Brink at Brightalley - TL-6376
Release 2.6.20 (19th May 2015): ================================================== Security issues: MoodleHQ Security fixes from MoodleHQ http://docs.moodle.org/dev/Moodle_2.6.11_release_notes Improvements: TL-5311 Added Course Completion History report builder source This report source contains all records from both the current course completions table and the course completions history table. TL-6197 Added option to suspend course enrolments when users lose access to a Program Previously, when learners were unassigned from a Program or a Program becomes unavailable, any course enrolments in courses within the program would be removed. This improvement now changes the default behaviour from removing enrolments created by the program enrolment plugin, to suspending enrolments. This also adds a configuration setting in Site Admin -> Plugins -> Enrolments -> Program so you can change the behaviour back to the old "unenrol learners from courses" behaviour if you wish. TL-6278 Removed all uses of deprecated function sql_fullname in Facetoface Full name format setting is now used when displaying the User's name TL-6295 Showed expected csv format when importing a "database" course activitiy TL-6304 Changed default request method in dialogs to POST TL-6327 Added ability to specify database server port for HR Import external database source settings TL-6331 Changed timezone.txt downloads to use Totara servers TL-6348 Removed unneeded code when viewing a Certifications overdue warning TL-6350 Added a help description to Badge description to explain its plain text nature TL-6359 Improved the performance of Reportbuilder management pages TL-6411 Improved display of security information on calendar exports API changes: TL-6442 Fixed query parameter name conflicts by improving parameter name generation This fix introduced a new method moodle_database::get_unique_param that returns a truly unique param name with very little overhead. The bug fix involves conversion of areas generating their own "unique" param names to this new method. All new code requiring unique generated params should use this method. Bug fixes: TL-5953 Fixed SCORM resizing and title display when using popup "New window" setting TL-5977 Fixed upgrade for Facetoface notifications when upgrading from 2.2 TL-6143 Fixed password import being ignored when undeleting users in HR Import Previously, when undeleting a user, the user's password would always be reset, regardless of whether or not the password column was enabled and a password was specified. Now, password reset only occurs if there is no password specified in the import file. TL-6180 Fixed capability checks for category Audiences TL-6191 Fixed permissions when adding visible audiences to a program or course Permissions are now being checked on the correct context level so users assigned at the category, program or course contexts with permissions are now able to perform actions. This applies to Audience visibility for courses, programs and certifications and also Audience enrolment for courses. TL-6236 Fixed preservation of formatting in HTML emails sent by Appraisals TL-6259 Fixed completion import records being processed in the wrong date order This caused a problem if there were multiple completion records for one user in one course being uploaded and the date format used did not sort the same chronologically and alphabetically. TL-6279 Removed all uses of deprecated function sql_fullname in Appraisals TL-6284 Removed all uses of deprecated sql_fullname() function in Hierarchies TL-6285 Removed all uses of deprecated sql_fullname() function in Learning Plans TL-6287 Removed all uses of deprecated sql_fullname() function in Reportbuilder TL-6305 Fixed Program/Certification alerts and messages to exclude suspended and deleted users TL-6326 Fixed inconsistent behaviour of course visibility icons TL-6345 Fixed setting of a Certification completion status to 'expired' when renewal expires Previously, these certifications were set back to status 'assigned'. This patch makes no change to the behaviour of certifications, it just ensures that the correct data is recorded in the database. TL-6354 Fixed incorrect inclusion of deleted users when using recurring Programs TL-6373 Fixed Facetoface notification status incorrectly sending manager copy when notification is disabled If a notification is disabled, the manager and third party email addresses will no longer receive the notification, regardless of the "Manager copy" setting. TL-6376 Fixed invalid HTML when viewing a complete Program with an end note TL-6379 Fixed saving audience visibility settings when creating courses TL-6408 Fixed the "time signed up" column on the Facetoface session attendees tab The time signed up column now shows the latest time signed up instead of the first, so if users cancel and signs up again the column will update. TL-6409 Fixed progress bar for Programs in Record of Learning TL-6437 Fixed usage of complex passwords in HR Import TL-6439 Fixed error message when trying to access the course progress page from Record Of Learning after user is unenrolled from course Previously, if a user was unenrolled from a course, the course progress page became inaccessible. Now that unenrolled courses with progress are shown in the Record of Learning, it makes sense to allow users to see what progress they previously made. TL-6445 Fixed changes to Facetoface session attendees after a waitlisted session has started TL-6448 Fixed course completion description for Badge criteria TL-6450 Fixed export of parameteric reports in Reportbuilder Fixed error that blocked export of reports that require specific parameters to work (like appraisal or audience members). TL-6457 Fixed checkbox selection/deselection when Program exception "Select issue type" is changed TL-6471 Fixed the course enrolment date after unlocking completion criteria TL-6472 Fixed Completion History Import if it is using 'Alternatively upload csv files via a directory' TL-6490 Fixed activity completion when using manual grading on a Facetoface activity TL-6510 Fixed the rule for dynamic Audiences based on a positions multi or menu type custom field values TL-6511 Fixed unenrolled courses being clickable in My Course Completions home page block Unenrolled courses here will now be unclickable. TL-6520 Fixed the context checks for program deletion capabilities Program deletion was only working if you had the capability at a site level, this fixes it for if you have the correct capabilities at category or program level. TL-6543 Fixed query using IN in course completion This was causing a database error due to an oversized query in some databases with large data sets. Contributions: * Andrew Hancox at Synergy - TL-6445 * Eugene Venter at Catalyst - TL-6345, TL-6348 * Francis Devine at Catalyst NZ - TL-6448 * Gavin Nelson at Engage in Learning - TL-6472 * Jo Jones at Kineo UK - TL-5953, TL-6437 * Russell England - TL-6520 * Ted van den Brink at Brightalley - TL-6376
Release 2.5.27 (19th May 2015): ================================================== Security issues: MDL-50128 mod_data: String needed escaping before being used in regex MDL-49718 externallib: unittest correction MDL-50090 user: suspended user can login upon conrimation MDL-49718 webservices: Fix forced format and force external text cleaning MDL-50099 auth: less verbose account confirmed message MDL-49179 setuplib: print_error() uses local URLs exclusively MDL-49179 weblib: Secure the direct usage of $_SERVER['HTTP_REFERER'] MDL-49179 mod_forum, mod_quiz: Prevent misuse of get_referer() MDL-49941 quiz: mod/quiz:grade should declare RISK_XSS MDL-49401 moodlelib: PARAM_LOCALURL supports loginhttps MDL-49204 core_message: Checking current user MDL-49364 quiz statistics: escape output in the response analysis MDL-49087 mnet: Ensure typeroot is in dirroot MDL-49087 mnet: Use real dataroot instead of user-provided MDL-48691 webservices: Check if the user must be changing password MDL-49084 core_tag: add capability check to flag as inappropriate action MDL-49144 blocks: Sanitise alt and title for block controls MDL-38466 filters: Redos protection and unit tests MDL-38466 filters: ReDoS protection for text to URL conversion. MDL-49167 YUI: Fix for theme/yui_combo.php and $CFG->yuislashargs Improvements: TL-5311 Added Course Completion History report builder source This report source contains all records from both the current course completions table and the course completions history table. TL-6295 Showed expected csv format when importing a "database" course activitiy TL-6304 Changed default request method in dialogs to POST TL-6327 Added ability to specify database server port for HR Import external database source settings TL-6331 Changed timezone.txt downloads to use Totara servers TL-6348 Removed unneeded code when viewing a Certifications overdue warning TL-6350 Added a help description to Badge description to explain its plain text nature TL-6411 Improved display of security information on calendar exports TL-6462 Add 'course update' event trigger to move_courses function API changes: TL-6442 Fixed query parameter name conflicts by improving parameter name generation This fix introduced a new method moodle_database::get_unique_param that returns a truly unique param name with very little overhead. The bug fix involves conversion of areas generating their own "unique" param names to this new method. All new code requiring unique generated params should use this method. Bug fixes: TL-5977 Fixed upgrade for Facetoface notifications when upgrading from 2.2 TL-6180 Fixed capability checks for category Audiences TL-6191 Fixed permissions when adding visible audiences to a program or course Permissions are now being checked on the correct context level so users assigned at the category, program or course contexts with permissions are now able to perform actions. This applies to Audience visibility for courses, programs and certifications and also Audience enrolment for courses. TL-6259 Fixed completion import records being processed in the wrong date order This caused a problem if there were multiple completion records for one user in one course being uploaded and the date format used did not sort the same chronologically and alphabetically. TL-6305 Fixed Program/Certification alerts and messages to exclude suspended and deleted users TL-6345 Fixed setting of a Certification completion status to 'expired' when renewal expires Previously, these certifications were set back to status 'assigned'. This patch makes no change to the behaviour of certifications, it just ensures that the correct data is recorded in the database. TL-6354 Fixed incorrect inclusion of deleted users when using recurring Programs TL-6373 Fixed Facetoface notification status incorrectly sending manager copy when notification is disabled If a notification is disabled, the manager and third party email addresses will no longer receive the notification, regardless of the "Manager copy" setting. TL-6376 Fixed invalid HTML when viewing a complete Program with an end note TL-6437 Fixed usage of complex passwords in HR Import TL-6439 Fixed error message when trying to access the course progress page from Record Of Learning after user is unenrolled from course Previously, if a user was unenrolled from a course, the course progress page became inaccessible. Now that unenrolled courses with progress are shown in the Record of Learning, it makes sense to allow users to see what progress they previously made. TL-6445 Fixed changes to Facetoface session attendees after a waitlisted session has started TL-6450 Fixed export of parameteric reports in Reportbuilder Fixed error that blocked export of reports that require specific parameters to work (like appraisal or audience members). TL-6457 Fixed checkbox selection/deselection when Program exception "Select issue type" is changed TL-6471 Fixed the course enrolment date after unlocking completion criteria TL-6472 Fixed Completion History Import if it is using 'Alternatively upload csv files via a directory' TL-6490 Fixed activity completion when using manual grading on a Facetoface activity TL-6510 Fixed the rule for dynamic Audiences based on a positions multi or menu type custom field values TL-6520 Fixed the context checks for program deletion capabilities Program deletion was only working if you had the capability at a site level, this fixes it for if you have the correct capabilities at category or program level. Contributions: * Andrew Hancox at Synergy - TL-6445 * Eugene Venter at Catalyst - TL-6345, TL-6348 * Gavin Nelson at Engage in Learning - TL-6472 * Jo Jones at Kineo UK - TL-6437 * Russell England - TL-6462, TL-6520 * Ted van den Brink at Brightalley - TL-6376
Release 2.4.30 (19th May 2015): ================================================== Security issues: MDL-50128 mod_data: String needed escaping before being used in regex MDL-49718 externallib: unittest correction MDL-50090 user: suspended user can login upon conrimation MDL-49718 webservices: Fix forced format and force external text cleaning MDL-50099 auth: less verbose account confirmed message MDL-49179 setuplib: print_error() uses local URLs exclusively MDL-49179 weblib: Secure the direct usage of $_SERVER['HTTP_REFERER'] MDL-49179 mod_forum, mod_quiz: Prevent misuse of get_referer() MDL-49941 quiz: mod/quiz:grade should declare RISK_XSS MDL-49401 moodlelib: PARAM_LOCALURL supports loginhttps MDL-49204 core_message: Checking current user MDL-49364 quiz statistics: escape output in the response analysis MDL-48691 webservices: Check if the user must be changing password MDL-49084 core_tag: add capability check to flag as inappropriate action MDL-49144 blocks: Sanitise alt and title for block controls MDL-38466 filters: Redos protection and unit tests MDL-38466 filters: ReDoS protection for text to URL conversion. MDL-49167 YUI: Fix for theme/yui_combo.php and $CFG->yuislashargs Improvements: TL-6331 Changed timezone.txt downloads to use Totara servers Bug fixes: TL-5977 Fixed upgrade for Facetoface notifications when upgrading from 2.2 TL-6305 Fixed Program/Certification alerts and messages to exclude suspended and deleted users TL-6354 Fixed incorrect inclusion of deleted users when using recurring Programs TL-6445 Fixed changes to Facetoface session attendees after a waitlisted session has started Contributions: * Andrew Hancox at Synergy - TL-6445
Release 2.2.37 (19th May 2015): ================================================== Security issues: MDL-50128 mod_data: String needed escaping before being used in regex MDL-50090 user: suspended user can login upon conrimation MDL-50099 auth: less verbose account confirmed message MDL-49179 setuplib: print_error() uses local URLs exclusively MDL-49179 mod_forum, mod_quiz: Prevent misuse of get_referer() MDL-49941 quiz: mod/quiz:grade should declare RISK_XSS MDL-49401 moodlelib: PARAM_LOCALURL supports loginhttps MDL-49364 quiz statistics: escape output in the response analysis MDL-48691 webservices: Check if the user must be changing password MDL-49084 core_tag: add capability check to flag as inappropriate action MDL-49144 blocks: Sanitise alt and title for block controls Improvements: TL-6331 Changed timezone.txt downloads to use Totara servers