Hello everyone,
The following versions of Totara have now been released:
- TXP Release 14.2
- TXP Release 13.10
- Learn Release 12.33
- Learn Release 11.42
- Learn Release 10.46
- LMS Release 9.55
These versions do contain security fixes, and for this reason we strongly recommend upgrade.
Each release also includes bug fixes and improvements.
A big thanks to the following people for their contributions to this release:
- John Phoon - Kineo Pacific - TL-31414
Kind regardsRiana Rossouw
Release 14.2 (29th July 2021):
Important: TL-31725 Added capabilities to roles based on the staff manager archetype As part of the multitenancy solution introduced In Totara 13.0 we've made changes to the staff manager role adding missing capabilities. These capabilities are automatically given during upgrade to Totara 13.0. This may have GDPR, or other privacy-related implications for the site. After upgrading to Totara 13 or higher it makes sense to review your roles and permissions and potentially your site policies to ensure they align with your current system behaviour. What are these changes -------------------------- During upgrade the following capabilities are automatically set to "Allowed" for Staff Managers and any other custom role based on the staffmanager archetype. * moodle/user:viewalldetails * moodle/user:viewhiddendetails * moodle/site:viewfullnames * moodle/site:viewuseridentity What this means in practice ----------------------------- This means that users with the staff manager role (typically users with direct reports assigned) will be able to see additional information about the users in the context this role is applied (typically their direct reports). This information might include * email (regardless of email visibility set by the user) * username * full name Why these changes were made -------------------------------- These changes were made to ensure consistent visibility of user information as part of the multitenancy implementation. What should I do about it -------------------------- When upgrading Totara to version 13 or later, we recommend you to do a review of your roles and permissions, especially the ones related to the capabilities listed above. Also, consider updating the site policies to ensure they align with the system behaviour to avoid any potential GDPR breach. Security issues: TL-31439 Fixed XSS vulnerability in program notification full name link placeholder Performance improvements: TL-30652 Improved the performance of course completion aggregations for the completion_regular_task On large sites, especially those containing courses with multiple activities, enrolling large numbers of users to these courses can result in the catch-all task 'core\task\completion_regular_task' taking a very long time to complete. The purpose of this task is to ensure that all completion information for all users enrolled in courses is correct and up to date. When users are enrolled in bulk, or changes are made to courses with a large number of enrolled users, the task may need to check and process thousands of completion records. To improve performance and ensure that the task completes in a reasonable time, this patch not only streamlines the underlying check and processing steps, but also introduces the processing of completion records in batches. Only a single batch of completion records that needs to be re-checked and re-aggregated is processed in a single cron run. The following batch will be processed during the next cron run, etc. The patch also includes more detailed information on progress. TL-31156 Improved performance of displaying seminars with many events Prior to this patch, the performance of the page showing all upcoming and past events for one seminar did not scale well with increasing number of events when the enrolment plugin 'Seminar direct enrolment' was activated. With this patch the performance of this page is significantly improved. TL-31210 Improved performance of the \totara_program\task\recurrence_history_task scheduled task Improvements: TL-30285 Allow the uploading of custom evidence data while uploading course or certification completion records It is now possible to include custom field data when importing course and certification completion evidence records. The format for specifying custom field data is similar to what was used in earlier versions of Totara. The only difference being that fields available for import are no longer the same for all evidence types; these are now determined by the fields defined for the evidence type selected when starting the upload process. Only evidence types marked as 'Available for completion import' can be used during the import process. TL-30730 Added a user-defined report feature setting for refinement of the Learn Professional flavour A switch was added to the 'Shared services settings' section in the feature configuration that allows turning off the ability to create reports. By default this will always be switched on, except for installations of the Learn Professional flavour where it is forced to be off. To access this feature, the site flavour must be upgraded from Learn Professional to a Learn Flavour. TL-30732 Added a completion import feature setting for refinement of the Learn Professional flavour A switch was added to the 'Learn settings' section in the feature configuration that allows completion import to be turned on or off. By default this will always be on except for installations of the Learn Professional flavour where it is forced to be off. To access this feature the site flavour must be upgraded from Learn Professional to a Learn Flavour. TL-30896 Disabled organisation hierarchies in Learn Professional flavour A switch was added to the 'Shared services settings' section in the feature configuration that allows turning off the access to organisation hierarchies. By default this will always be switched on except for installations of the Learn Professional flavour where it is forced to be off. To access this feature, the site flavour must be upgraded from Learn Professional to a Learn Flavour. TL-31057 Updated Microsoft Teams settings to support Totara's Microsoft Teams gateway Added a new 'hidden' setting option - $CFG->msteams_gateway_url - that can be used to define the Microsoft Teams gateway to be used. Once configured, the gateway setting will be available. TL-31276 Updated URL to Product documentation and improved wording of Help tab in the Microsoft Teams application TL-31356 Added function to let notification resolvers know notifications have been sent Notifiable event resolvers are now able to implement a function 'notification_sent' which will be called when a notification based on the resolver is sent. The resolver can then execute arbitrary code, such as recording the information in a custom log table. TL-31368 Added a script to bulk set the 'Assignment creation availability' of competencies Before Totara 13, users were assigned to competencies through learning plans. Totara 13 introduced competency assignment without the need to create learning plans. To make this even more configurable, administrators can now indicate which competencies are assignable and who can assign users to them. This is done through the 'Assignment creation availability' attribute of a competency. It can be set to allow users to assign themselves, assign other users, both or none. Without this script the only way to change the 'Assignment creation availability' of multiple competencies is to open each competency and manually change the attribute as needed. The provided script, located in dev/perform/set_competency_assign_availability, allows administrators to perform bulk updates of the 'Assignment creation availability' of multiple competencies. Help on how to run this script can be obtained by calling it with '--help'. TL-31378 Added ability to use data series configuration on report builder graphs This allows more advanced configuration of data series within a graph, for example, fill under lines in line graphs, line styles or colours of data sets. TL-31379 Hid collapsible components when there is only one notification resolver When there is only one item to show/hide, the collapsible component does not increase the quality of the user's experience. The show/hide elements of the UI are now hidden in these cases. TL-31402 Increased the maximum length of course category names to 1333 characters TL-31506 Added goal review type to the linked review question element We have implemented a new type to review "Personal goals" and "Company goals" within the new linked review question (originally introduced in 14.0). Admins can now set up a performance activity to include reviewing goals as part of the activity. They can configure who (which participant relationship) can select the goals for the individual activity instance. They can also enable changing the status of the goal directly from within the activity and who (which participant relationship) can change the status. It is possible to add sub questions to the goals review question. Users who select the goal have to have the appropriate capabilities to view the goals of the subject user otherwise the list of goals will be empty. Related capabilities are: * totara/hierarchy:viewallgoals, * totara/hierarchy:viewownpersonalgoal, * totara/hierarchy:viewstaffpersonalgoal, * totara/hierarchy:viewowncompanygoal, * totara/hierarchy:viewstaffcompanygoal TL-31713 Updated the welcome message that is sent when adding the Totara app to Microsoft Teams for the first time Bug fixes: TL-30068 Fixed popover being cut off from its nearest container's boundaries The display of popovers has, in some situations, been delegated to the root DOM node to facilitate reliable z-index display, which was suffering from stacking context conflicts. There are now two modes; 'contained' which respects a parent container, and 'uncontained' which respects the root DOM node. TL-30258 Virtual scroll can now load more on page load Previously the virtual scroll would only load more results after a user had scrolled. This could lead to a situation where no additional results were loaded after page load when the screen was sufficiently tall enough. TL-30290 Changed visibility checks for competencies linked courses within a plan Now the visibility checks for competencies linked courses are being made based on the person who linked the competency to the plan instead of the plan's owner. This way we have a consistent behaviour when adding courses to a user's learning plan. TL-30394 Fixed auto-subscribe behaviour for forums that are added to the front page There was an issue where the forum 'Auto subscribe' option would not work correctly for forums added to the site front page. All newly created users are now automatically subscribed to front page forums (if the forum setting is enabled). TL-30413 Tui Grid component now handles zero unit GridItems correctly Before this change, GridItems with zero units risked still having gutters and affecting overall Grid size. Originally we thought zero units shouldn't be supported, but we've found a couple of use cases now, and so this is now correctly supported - no console errors are generated by Vue prop validation failure. TL-30421 Role descriptions are now consistently formatted across the site TL-30662 Fixed incorrect site policy check in notifications and messages popover TL-30734 Fixed JSON validation for json editor throwing unnecessary debugging message TL-30908 Fixed an error message appearing when a user accessed a non-joined workspace with a tour enabled TL-31098 Fixed managers being able to do administrative approval in seminars Fixed bug where managers could solely approve seminar signups that required administrative approval by approving the request twice (for example, first time via seminar approval form and second time via accepting the task in a task block). TL-31106 Fixed Evidence columns being shown in Learning Plans when Evidence is disabled The learning plan reports no longer include an evidence column by default if evidence has been disabled for the site. TL-31138 Fixed issue where attempting to close a dropdown in weka, closes the containing modal Closing a dropdown in the Weka editor using the "Esc" key no longer closes the modal it is contained in. TL-31208 Fixed course search functionality to be tenant aware TL-31239 Audio controls are now shown on links to external audio files TL-31241 Fixed reporting of Throwable errors in scheduled tasks TL-31280 Fixed loading of workspace discussions, ensuring third and following pages are able to be reached TL-31281 Ensured all custom fields are visible in the custom settings of the user profile block Prior to this, if a custom field was empty, it would not be displayed in the custom settings for the block. This prevented administrators from including or excluding the field for display. TL-31311 Fixed 'Assign competencies' button in competency profile to display only when the user has the necessary capability TL-31312 Fixed hidden categories visible in grid catalogue filter TL-31325 Fixed the rendering of the course self enrolment form when an associated audience is deleted Prior to this fix, an error would occur when an administrator attempts to view a course's self enrolment configuration form, when the dropdown setting "Only audience members" had been set to an audience that had been deleted. With this fix, an administrator can now view the course's self enrolment configuration form, despite the setting "Only audience members" still using the deleted audience. TL-31351 Reverted Javascript Promise polyfill for IE11 due to a bug in core-js latest polyfill We have reverted the newer core-js Promise polyfill for IE11 due to a bug that was quite hard to investigate, and would likely also create other related issues. Given that IE11 is not being updated, we will leave the older Promise polyfill in place for now. A new file has been created to isolate this polyfill, and the file is added to the IE11 polyfill bundle during its build process. The polyfill build process itself has also been updated to introduce a new package.json specifically for these polyfills, which we do not want to keep in lockstep with latest dependency releases without close inspection, and should build with a locked version set. TL-31364 Fixed some instances of profile cards not showing the link to the profile for users with the capability TL-31365 Fixed bug causing unsharing a resource from a workspace to fail TL-31399 Improved reliability of SCORM packages saving progress with large amounts of data TL-31414 Ensured only tenant users are displayed in user select search TL-31426 Fixed issue with sending scheduled reports if dataroot folder is a symlink If the dataroot folder specified in the config.php is a symlink to another folder located elsewhere the attachment path wouldn't be resolved correctly. TL-31429 Fixed error when connecting Microsoft account to Microsoft Teams virtual meetings plugin when using nginx TL-31431 Switched the incorrect display of the 'locked' and 'unlocked' icons when protecting a block TL-31433 Changed the json_editor audio node to allow an empty transcript attribute TL-31462 Fixed Weka editor converting external link to internal one when displayed as a card TL-31473 Patched YUI3.17.2 to prevent IE11 JS error in un-polyfilled iframe context A previous patch introduced an ES6 feature which would normally be available for IE11, however the YUI3 library dynamically creates an iframe to facilitate file uploading (within Repositories for example) and that iframe never receives polyfill dependencies. This fix uses the iframe's parent scope which does have polyfill dependencies. TL-31550 Reduced the length of table prefix used in MySQL/MariaDB testing to avoid hitting table name limits TL-31561 Fixed temporary managers not being unassigned when a job assignment is deleted if a manager is also assigned TL-31565 Allowed the paging component current page to be updated by parent component Currently the input box for page number doesn't update to reflect any changes to the current page from the parent component. TL-31624 The course administration dock has been hidden when viewing a course in Microsoft Teams API changes: TL-28526 Added GraphQL mutations to mark courses, programs, certifications as viewed TL-31207 The report link on Totara comments can now be hidden by the component which displays them We have improved the 'Report' link in Totara comments by making it customisable per comment component. Individual components can now describe specific rules on when it shows the Report link for comments and replies. TL-31244 Allow notification resolvers to specify additional criteria The notification API has been extended to allow individual notification resolvers to specify additional criteria which must be met before a notification will be sent. See notification technical documentation for details. TL-31635 Use ORM builder in totara_userdata component Added 2 new functions * totara_userdata/userdata/item::get_activities_context_builder_join() same as totara_userdata/userdata/item::get_activities_context_join() but using ORM framework * totara_userdata/userdata/item::get_activities_builder_join() same as totara_userdata/userdata/item::get_activities_join() but using ORM framework As Totara introduced the ORM framework, we are converting SQL queries from DML to ORM. Please refer to the full documentation available here: https://help.totaralearning.com/x/TKbgB TL-31645 Added behat steps to check toolbar options in Weka Editor TL-31661 \page_requirements_manager::js_call_amd() can now be called without specifying the 'function' parameter Tui front end framework: TL-31581 Uniform propagates the 'validation-changed' event The 'validation-changed' event fires on change events in Uniform controlled forms and is now exposed at Uniform component level. The event supplies a `validationResults` object with validation details for each input field that has been touched. Contributions: * John Phoon - Kineo Pacific - TL-31414
Release 13.10 (29th July 2021):
Important: TL-31725 Added capabilities to roles based on the staff manager archetype As part of the multitenancy solution introduced In Totara 13.0 we've made changes to the staff manager role adding missing capabilities. These capabilities are automatically given during upgrade to Totara 13.0. This may have GDPR, or other privacy-related implications for the site. After upgrading to Totara 13 or higher it makes sense to review your roles and permissions and potentially your site policies to ensure they align with your current system behaviour. What are these changes -------------------------- During upgrade the following capabilities are automatically set to "Allowed" for Staff Managers and any other custom role based on the staffmanager archetype. * moodle/user:viewalldetails * moodle/user:viewhiddendetails * moodle/site:viewfullnames * moodle/site:viewuseridentity What this means in practice ----------------------------- This means that users with the staff manager role (typically users with direct reports assigned) will be able to see additional information about the users in the context this role is applied (typically their direct reports). This information might include * email (regardless of email visibility set by the user) * username * full name Why these changes were made -------------------------------- These changes were made to ensure consistent visibility of user information as part of the multitenancy implementation. What should I do about it -------------------------- When upgrading Totara to version 13 or later, we recommend you to do a review of your roles and permissions, especially the ones related to the capabilities listed above. Also, consider updating the site policies to ensure they align with the system behaviour to avoid any potential GDPR breach. Performance improvements: TL-30652 Improved the performance of course completion aggregations for the completion_regular_task On large sites, especially those containing courses with multiple activities, enrolling large numbers of users to these courses can result in the catch-all task 'core\task\completion_regular_task' taking a very long time to complete. The purpose of this task is to ensure that all completion information for all users enrolled in courses is correct and up to date. When users are enrolled in bulk, or changes are made to courses with a large number of enrolled users, the task may need to check and process thousands of completion records. To improve performance and ensure that the task completes in a reasonable time, this patch not only streamlines the underlying check and processing steps, but also introduces the processing of completion records in batches. Only a single batch of completion records that needs to be re-checked and re-aggregated is processed in a single cron run. The following batch will be processed during the next cron run, etc. The patch also includes more detailed information on progress. TL-31156 Improved performance of displaying seminars with many events Prior to this patch, the performance of the page showing all upcoming and past events for one seminar did not scale well with increasing number of events when the enrolment plugin 'Seminar direct enrolment' was activated. With this patch the performance of this page is significantly improved. TL-31210 Improved performance of the \totara_program\task\recurrence_history_task scheduled task Improvements: TL-30285 Allow the uploading of custom evidence data while uploading course or certification completion records It is now possible to include custom field data when importing course and certification completion evidence records. The format for specifying custom field data is similar to what was used in earlier versions of Totara. The only difference being that fields available for import are no longer the same for all evidence types; these are now determined by the fields defined for the evidence type selected when starting the upload process. Only evidence types marked as 'Available for completion import' can be used during the import process. TL-31276 Updated URL to Product documentation and improved wording of Help tab in the Microsoft Teams application TL-31368 Added a script to bulk set the 'Assignment creation availability' of competencies Before Totara 13, users were assigned to competencies through learning plans. Totara 13 introduced competency assignment without the need to create learning plans. To make this even more configurable, administrators can now indicate which competencies are assignable and who can assign users to them. This is done through the 'Assignment creation availability' attribute of a competency. It can be set to allow users to assign themselves, assign other users, both or none. Without this script the only way to change the 'Assignment creation availability' of multiple competencies is to open each competency and manually change the attribute as needed. The provided script, located in dev/perform/set_competency_assign_availability, allows administrators to perform bulk updates of the 'Assignment creation availability' of multiple competencies. Help on how to run this script can be obtained by calling it with '--help'. TL-31402 Increased the maximum length of course category names to 1333 characters TL-31713 Updated the welcome message that is sent when adding the Totara app to Microsoft Teams for the first time Bug fixes: TL-30068 Fixed popover being cut off from its nearest container's boundaries The display of popovers has, in some situations, been delegated to the root DOM node to facilitate reliable z-index display, which was suffering from stacking context conflicts. There are now two modes; 'contained' which respects a parent container, and 'uncontained' which respects the root DOM node. TL-30290 Changed visibility checks for competencies linked courses within a plan Now the visibility checks for competencies linked courses are being made based on the person who linked the competency to the plan instead of the plan's owner. This way we have a consistent behaviour when adding courses to a user's learning plan. TL-30394 Fixed auto-subscribe behaviour for forums that are added to the front page There was an issue where the forum 'Auto subscribe' option would not work correctly for forums added to the site front page. All newly created users are now automatically subscribed to front page forums (if the forum setting is enabled). TL-30413 Tui Grid component now handles zero unit GridItems correctly Before this change, GridItems with zero units risked still having gutters and affecting overall Grid size. Originally we thought zero units shouldn't be supported, but we've found a couple of use cases now, and so this is now correctly supported - no console errors are generated by Vue prop validation failure. TL-30421 Role descriptions are now consistently formatted across the site TL-30662 Fixed incorrect site policy check in notifications and messages popover TL-30734 Fixed JSON validation for json editor throwing unnecessary debugging message TL-30908 Fixed an error message appearing when a user accessed a non-joined workspace with a tour enabled TL-31098 Fixed managers being able to do administrative approval in seminars Fixed bug where managers could solely approve seminar signups that required administrative approval by approving the request twice (for example, first time via seminar approval form and second time via accepting the task in a task block). TL-31106 Fixed Evidence columns being shown in Learning Plans when Evidence is disabled The learning plan reports no longer include an evidence column by default if evidence has been disabled for the site. TL-31208 Fixed course search functionality to be tenant aware TL-31239 Audio controls are now shown on links to external audio files TL-31241 Fixed reporting of Throwable errors in scheduled tasks TL-31281 Ensured all custom fields are visible in the custom settings of the user profile block Prior to this, if a custom field was empty, it would not be displayed in the custom settings for the block. This prevented administrators from including or excluding the field for display. TL-31311 Fixed 'Assign competencies' button in competency profile to display only when the user has the necessary capability TL-31312 Fixed hidden categories visible in grid catalogue filter TL-31325 Fixed the rendering of the course self enrolment form when an associated audience is deleted Prior to this fix, an error would occur when an administrator attempts to view a course's self enrolment configuration form, when the dropdown setting "Only audience members" had been set to an audience that had been deleted. With this fix, an administrator can now view the course's self enrolment configuration form, despite the setting "Only audience members" still using the deleted audience. TL-31365 Fixed bug causing unsharing a resource from a workspace to fail TL-31399 Improved reliability of SCORM packages saving progress with large amounts of data TL-31414 Ensured only tenant users are displayed in user select search TL-31426 Fixed issue with sending scheduled reports if dataroot folder is a symlink If the dataroot folder specified in the config.php is a symlink to another folder located elsewhere the attachment path wouldn't be resolved correctly. TL-31429 Fixed error when connecting Microsoft account to Microsoft Teams virtual meetings plugin when using nginx TL-31431 Switched the incorrect display of the 'locked' and 'unlocked' icons when protecting a block TL-31433 Changed the json_editor audio node to allow an empty transcript attribute TL-31462 Fixed Weka editor converting external link to internal one when displayed as a card TL-31473 Patched YUI3.17.2 to prevent IE11 JS error in un-polyfilled iframe context A previous patch introduced an ES6 feature which would normally be available for IE11, however the YUI3 library dynamically creates an iframe to facilitate file uploading (within Repositories for example) and that iframe never receives polyfill dependencies. This fix uses the iframe's parent scope which does have polyfill dependencies. TL-31550 Reduced the length of table prefix used in MySQL/MariaDB testing to avoid hitting table name limits TL-31561 Fixed temporary managers not being unassigned when a job assignment is deleted if a manager is also assigned TL-31624 The course administration dock has been hidden when viewing a course in Microsoft Teams API changes: TL-28526 Added GraphQL mutations to mark courses, programs, certifications as viewed TL-31645 Added behat steps to check toolbar options in Weka Editor TL-31661 \page_requirements_manager::js_call_amd() can now be called without specifying the 'function' parameter Contributions: * John Phoon - Kineo Pacific - TL-31414
Release 12.33 (29th July 2021):
Performance improvements: TL-31210 Improved performance of the \totara_program\task\recurrence_history_task scheduled task Bug fixes: TL-30290 Changed visibility checks for competencies linked courses within a plan Now the visibility checks for competencies linked courses are being made based on the person who linked the competency to the plan instead of the plan's owner. This way we have a consistent behaviour when adding courses to a user's learning plan. TL-30394 Fixed auto-subscribe behaviour for forums that are added to the front page There was an issue where the forum 'Auto subscribe' option would not work correctly for forums added to the site front page. All newly created users are now automatically subscribed to front page forums (if the forum setting is enabled). TL-30421 Role descriptions are now consistently formatted across the site TL-31399 Improved reliability of SCORM packages saving progress with large amounts of data TL-31431 Switched the incorrect display of the 'locked' and 'unlocked' icons when protecting a block TL-31550 Reduced the length of table prefix used in MySQL/MariaDB testing to avoid hitting table name limits TL-31561 Fixed temporary managers not being unassigned when a job assignment is deleted if a manager is also assigned API changes: TL-31661 \page_requirements_manager::js_call_amd() can now be called without specifying the 'function' parameter
Release 11.42 (29th July 2021):
Bug fixes: TL-30972 Improved the JavaScript validation for required user profile checkbox fields Prior to this patch, a single checkbox user profile custom field that was made required could result in a 'Required field' message being displayed erroneously when checked by the user. This patch fixes the bug. TL-31431 Switched the incorrect display of the 'locked' and 'unlocked' icons when protecting a block TL-31468 Fixed favicon display when custom icon is uploaded to the theme TL-31550 Reduced the length of table prefix used in MySQL/MariaDB testing to avoid hitting table name limits TL-31561 Fixed temporary managers not being unassigned when a job assignment is deleted if a manager is also assigned
Release 10.46 (29th July 2021):
Bug fixes: TL-31550 Reduced the length of table prefix used in MySQL/MariaDB testing to avoid hitting table name limits TL-31561 Fixed temporary managers not being unassigned when a job assignment is deleted if a manager is also assigned
Release 9.55 (29th July 2021):
Bug fixes: TL-31561 Fixed temporary managers not being unassigned when a job assignment is deleted if a manager is also assigned