Hello everyone,
The following versions of Totara Learn have now been released:
- Release 16.2
- Release 15.8
- Release 14.13
- Release 13.21
- Release 12.44
- Release 11.53
- Release 10.56
- Release 9.63
- Release 2.9.63
- Release 2.7.68
- Release 2.6.85
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:
- Michael Geering at Kineo UK - TL-34297
- Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Riana Rossouw
Release 16.2 (28th June 2022):
Important:
TL-33943 Fixed the "no indirect reports" rule
Previously, the "no indirect reports" rule for dynamic audiences was incorrect -
it targeted those users that had no immediate reports. When combined with a
direct report of at least 1 rule, it resulted in an empty audience.
This patch corrects the indirect report rule. However, it also means membership
in existing audiences that make use of this rule could unexpectedly change,
affecting course/program/certification enrolments or perform activity
participants for example.
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
Performance improvements:
TL-33272 Improved how regrading of courses is handled
When a course has more than 100 enrolments or 100 grade items, any regrading
necessary (such as adding a new activity or changing grade settings) will be
done on the next cron run rather than blocking page load. When this happens, a
message is displayed to the user to let them know that grades are being
recalculated.
For smaller courses, the re-grade is done in real time.
This is a follow up to an earlier patch (TL-31570) which introduced background
regrading, but only when adding a new activity.
TL-33363 Deleting an enrolment instance has been shifted to a background task
Previously when deleting an enrolment instance from a course, users would be
unenrolled immediately and then the instance would be deleted. If the number of
enrolled users was large, the page may take a long time to respond.
With this patch, the deletion is shifted into a background task run on the next
cron run.
TL-34382 Improved performance for the user search when selecting performance activity participants
TL-34400 Fixed GraphQL performance regression from latest graphql-php library update
The latest version of the webonyx/graphql-php library added schema validation
that is unnecessarily repeated for each call by default. This patch switches the
unnecessary validation off, improving performance of all GraphQL operations.
Improvements:
TL-29549 Added displaying manual rating comments in the competency activity log
Comments that were added when manually rating a user's competency will now be
displayed in the user's activity log of that competency.
TL-32119 Added the missing event trigger for suspended users
TL-33052 Added a seminar 'Attendance status' report builder column and filter
TL-33491 Started recording any changed HR Import settings within the config log database table
TL-33986 Added an asterisk to required fields in installation/upgrade
TL-34228 Removed the separation of evidence shown in Record of Learning and the Evidence bank
There is no longer any separation of evidence items based on the type of the
evidence item. The same evidence type can now be used when uploading evidence
from csv files or when adding evidence items in the Evidence bank and all items
can now be shown in both the Record of Learning and Evidence bank reports.
By default the Record of Learning report will be filtered to only show evidence
that was uploaded (i.e. their source is 'Completion history import'). Similarly
the Evidence bank reports will by default be filtered to only show evidence
items that were 'Manually created'. As this is a normal report filter, users can
change / clear the filter to show both uploaded and/or manually created items in
any one of these reports
TL-34647 Improved warnings around making changes to facetoface_displaysessiontimezones
Bug fixes:
TL-28799 Updated Weka to include a 'fake' cursor when between blocks
This is to provide consistency between the block nodes and regular text editing
in Weka.
TL-32891 Allowed report builder toolbar searches to be saved with no standard filters present
Previously, the 'Save this search' button only appeared in the standard filter
area, meaning that at least one standard filter needed to be enabled in order to
save a search.
The save button is now displayed in the toolbar area when there are no standard
filters enabled for a report.
TL-33429 Fixed featured links tile visibility settings when cloning a dashboard
Prior to this patch, when cloning a dashboard, featured links blocks lost any
additional visibility restrictions which had been added to a tile. This means
that if a tile had been limited to a specific audience on the original
dashboard, the tile on the cloned dashboard would be visible to everybody.
With this fix, the audience visibility rules for the clone are now consistent
with the original dashboard.
TL-34129 Restored evidence imported before migration to their previously used types
The original migration of imported evidence items resulted in them belonging to
a single 'Legacy course/certification completion import' system type with the
original type name stored as a custom field value.
Previously migrated imported evidence is now restored to belong to their
original evidence type.
First time migration will automatically link imported evidence to the correct
type.
TL-34144 Fixed Room Name (linked to room details page) column in Seminar reports
The link did not include information about the session, so when it was followed
the Custom virtual room link did not display correctly. This has been fixed.
TL-34167 Fixed Organisation Framework filters using MySQL reserved word
TL-34235 Set course enrolment date when user is enrolled through Programs or Learning plans
TL-34241 Fixed the validation of multiple expired Firebase Cloud Messaging tokens while sending a push notification
When attempting to push notifications to a mobile device, all the mobile devices
associated with the recipient are fetched and looped through. Previously if one
of the FCM tokens for a device was not valid, it would be invalidated and the
loop would be broken, leading to other devices potentially not receiving that
notification. Now the token is marked as invalid and the loop continues so that
all devices with a valid FCM token will receive the push notification.
TL-34244 Fixed videoJS controls in RTL languages
Fixed videoJS controls in RTL languages so that the play scroller now moves in
the expected direction.
TL-34248 Fixed double quote character encoding for Program name report builder column when exporting the data into Excel
TL-34297 Ensured report builder report created event is triggered when creating from template
TL-34298 Fixed perform activity static content editing error
Previously, when a static element was added as a sub element for a linked review
question, there would be an error when you tried to edit after first creating
it.
This patch fixes the error.
TL-34321 Fixed the context of audience role assignments when the audience is moved
Previously if a category level audience had roles assigned, and was moved to a
different category, existing role assignments stayed in the original category
context. Now the roles will update to the new category context when the audience
is moved.
TL-34329 Fixed the position due date link when using the legacy program assignment interface
TL-34354 Included deletion icals in notifications when seminar sessions are cancelled
TL-34364 Trigger on-event certification window open notifications at the correct time
Previously, on-event window open notifications were being triggered when a
recertification window opened, rather than when the window was supposed to open.
This led to unexpected behaviour when the opening of a recertification window
was delayed due to the user being unassigned or suspended. Also, the
notification was not sent if the certification window was open, which meant that
the notification would never be sent if it was scheduled to be sent after the
window open date. The expected behaviour is to always send the notification at a
date relative to the window open date, regardless of certification status. Note
that if a user is unassigned or suspended at the time this notification is due
to be sent, then the notification will not be sent retroactively.
TL-34403 Prevented the import of evidence for the deleted users
Prior to this patch, evidence could be uploaded for deleted users when the
legacy delete option "Keep username, email and ID number (legacy)" is used. This
is no longer allowed.
TL-34415 Fixed activity complete notifications created in activity context not being sent
Activity completion notifications created in an ascendant context of an
activity, such as the course or system context, were being successfully sent.
With this fix, activity completion notifications created in the context of a
specific activity will now also be sent.
TL-34536 Fixed wrong capability checked for course and activity notification management
Notification administrators need the 'moodle/course:managecoursenotifications'
capability to manage course and activity notifications. Previously, the link to
manage notifications was mistakenly only shown to users who had the
'moodle/course:update' capability, but the management page would be empty if
they didn't also have the correct capability.
TL-34541 Fixed manager's link to program in notifications
TL-34552 Disable caching in reports that do visibility checks
Report sources that have been identified as doing visibility checks have been
updated to remove the option to be cached. Cached data based on those reports
sources will be removed upon upgrade.
Any custom report sources which use the post_config_visibility_where function in
their post_config should also be updated to prevent caching.
TL-34564 Ensured links on user profile display with correct formatting
TL-34704 Fixed incorrect language string key for an unavailable course in the mobile app
Technical changes:
TL-32931 Updated behat to support PHP 8.0
TL-33278 Avoid using required column to allow visibility checks in report builder
Previously, in order to perform visibility checks in reports, we obtained the
data needed by defining required columns which were columns that, although not
visible, were present in the report. However it was noted they were interfering
with aggregation, giving unexpected results.
Now, "required joins" have been added in order to perform this task. The
information to do the visibility check is still present, but should not
interfere with aggregation.
All applicable report sources have been updated to use the new
define_requiredjoins function.
Please note that custom report sources that use the old way of requiring columns
shouldn't be affected by this change, but we recommend that they are updated to
use define_requiredjoins to get the correct result when using aggregation.
Tui front end framework:
TL-26667 An error is now thrown for invalid Tui CSS imports, eliminating the confusing in-browser error messages
TL-34385 Updated the computeError method in FormField.vue to only return the error as a string to prevent an "Invalid Prop" Vue warning.
TL-34481 Fixed keyboard accessibility of the Dropdown vue component
Library updates:
TL-34352 Upgraded Video.js to 7.18.1
Please check any plugins you have installed or written on older versions of the
video.js plugin
Contributions:
* Michael Geering at Kineo UK - TL-34297
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 15.8 (28th June 2022):
Important:
TL-33943 Fixed the "no indirect reports" rule
Previously, the "no indirect reports" rule for dynamic audiences was incorrect -
it targeted those users that had no immediate reports. When combined with a
direct report of at least 1 rule, it resulted in an empty audience.
This patch corrects the indirect report rule. However, it also means membership
in existing audiences that make use of this rule could unexpectedly change,
affecting course/program/certification enrolments or perform activity
participants for example.
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
Performance improvements:
TL-33272 Improved how regrading of courses is handled
When a course has more than 100 enrolments or 100 grade items, any regrading
necessary (such as adding a new activity or changing grade settings) will be
done on the next cron run rather than blocking page load. When this happens, a
message is displayed to the user to let them know that grades are being
recalculated.
For smaller courses, the re-grade is done in real time.
This is a follow up to an earlier patch (TL-31570) which introduced background
regrading, but only when adding a new activity.
TL-33363 Deleting an enrolment instance has been shifted to a background task
Previously when deleting an enrolment instance from a course, users would be
unenrolled immediately and then the instance would be deleted. If the number of
enrolled users was large, the page may take a long time to respond.
With this patch, the deletion is shifted into a background task run on the next
cron run.
TL-34382 Improved performance for the user search when selecting performance activity participants
Improvements:
TL-29549 Added displaying manual rating comments in the competency activity log
Comments that were added when manually rating a user's competency will now be
displayed in the user's activity log of that competency.
TL-33491 Started recording any changed HR Import settings within the config log database table
TL-33873 Page style improvements made on the 'your workspaces' page
Made several minor cosmetic improvements to the 'your workspaces' page such as
white spacing and content alignment
TL-34228 Removed the separation of evidence shown in Record of Learning and the Evidence bank
There is no longer any separation of evidence items based on the type of the
evidence item. The same evidence type can now be used when uploading evidence
from csv files or when adding evidence items in the Evidence bank and all items
can now be shown in both the Record of Learning and Evidence bank reports.
By default the Record of Learning report will be filtered to only show evidence
that was uploaded (i.e. their source is 'Completion history import'). Similarly
the Evidence bank reports will by default be filtered to only show evidence
items that were 'Manually created'. As this is a normal report filter, users can
change / clear the filter to show both uploaded and/or manually created items in
any one of these reports
TL-34647 Improved warnings around making changes to facetoface_displaysessiontimezones
Bug fixes:
TL-28799 Updated Weka to include a 'fake' cursor when between blocks
This is to provide consistency between the block nodes and regular text editing
in Weka.
TL-32891 Allowed report builder toolbar searches to be saved with no standard filters present
Previously, the 'Save this search' button only appeared in the standard filter
area, meaning that at least one standard filter needed to be enabled in order to
save a search.
The save button is now displayed in the toolbar area when there are no standard
filters enabled for a report.
TL-33429 Fixed featured links tile visibility settings when cloning a dashboard
Prior to this patch, when cloning a dashboard, featured links blocks lost any
additional visibility restrictions which had been added to a tile. This means
that if a tile had been limited to a specific audience on the original
dashboard, the tile on the cloned dashboard would be visible to everybody.
With this fix, the audience visibility rules for the clone are now consistent
with the original dashboard.
TL-34129 Restored evidence imported before migration to their previously used types
The original migration of imported evidence items resulted in them belonging to
a single 'Legacy course/certification completion import' system type with the
original type name stored as a custom field value.
Previously migrated imported evidence is now restored to belong to their
original evidence type.
First time migration will automatically link imported evidence to the correct
type.
TL-34144 Fixed Room Name (linked to room details page) column in Seminar reports
The link did not include information about the session, so when it was followed
the Custom virtual room link did not display correctly. This has been fixed.
TL-34167 Fixed Organisation Framework filters using MySQL reserved word
TL-34235 Set course enrolment date when user is enrolled through Programs or Learning plans
TL-34241 Fixed the validation of multiple expired Firebase Cloud Messaging tokens while sending a push notification
When attempting to push notifications to a mobile device, all the mobile devices
associated with the recipient are fetched and looped through. Previously if one
of the FCM tokens for a device was not valid, it would be invalidated and the
loop would be broken, leading to other devices potentially not receiving that
notification. Now the token is marked as invalid and the loop continues so that
all devices with a valid FCM token will receive the push notification.
TL-34244 Fixed videoJS controls in RTL languages
Fixed videoJS controls in RTL languages so that the play scroller now moves in
the expected direction.
TL-34248 Fixed double quote character encoding for Program name report builder column when exporting the data into Excel
TL-34297 Ensured report builder report created event is triggered when creating from template
TL-34298 Fixed perform activity static content editing error
Previously, when a static element was added as a sub element for a linked review
question, there would be an error when you tried to edit after first creating
it.
This patch fixes the error.
TL-34321 Fixed the context of audience role assignments when the audience is moved
Previously if a category level audience had roles assigned, and was moved to a
different category, existing role assignments stayed in the original category
context. Now the roles will update to the new category context when the audience
is moved.
TL-34329 Fixed the position due date link when using the legacy program assignment interface
TL-34364 Trigger on-event certification window open notifications at the correct time
Previously, on-event window open notifications were being triggered when a
recertification window opened, rather than when the window was supposed to open.
This led to unexpected behaviour when the opening of a recertification window
was delayed due to the user being unassigned or suspended. Also, the
notification was not sent if the certification window was open, which meant that
the notification would never be sent if it was scheduled to be sent after the
window open date. The expected behaviour is to always send the notification at a
date relative to the window open date, regardless of certification status. Note
that if a user is unassigned or suspended at the time this notification is due
to be sent, then the notification will not be sent retroactively.
TL-34403 Prevented the import of evidence for the deleted users
Prior to this patch, evidence could be uploaded for deleted users when the
legacy delete option "Keep username, email and ID number (legacy)" is used. This
is no longer allowed.
TL-34541 Fixed manager's link to program in notifications
TL-34552 Disable caching in reports that do visibility checks
Report sources that have been identified as doing visibility checks have been
updated to remove the option to be cached. Cached data based on those reports
sources will be removed upon upgrade.
Any custom report sources which use the post_config_visibility_where function in
their post_config should also be updated to prevent caching.
TL-34564 Ensured links on user profile display with correct formatting
TL-34704 Fixed incorrect language string key for an unavailable course in the mobile app
Technical changes:
TL-32931 Updated behat to support PHP 8.0
TL-33278 Avoid using required column to allow visibility checks in report builder
Previously, in order to perform visibility checks in reports, we obtained the
data needed by defining required columns which were columns that, although not
visible, were present in the report. However it was noted they were interfering
with aggregation, giving unexpected results.
Now, "required joins" have been added in order to perform this task. The
information to do the visibility check is still present, but should not
interfere with aggregation.
All applicable report sources have been updated to use the new
define_requiredjoins function.
Please note that custom report sources that use the old way of requiring columns
shouldn't be affected by this change, but we recommend that they are updated to
use define_requiredjoins to get the correct result when using aggregation.
Tui front end framework:
TL-26667 An error is now thrown for invalid Tui CSS imports, eliminating the confusing in-browser error messages
TL-34385 Updated the computeError method in FormField.vue to only return the error as a string to prevent an "Invalid Prop" Vue warning.
TL-34481 Fixed keyboard accessibility of the Dropdown vue component
Library updates:
TL-34352 Upgraded Video.js to 7.18.1
Please check any plugins you have installed or written on older versions of the
video.js plugin
Contributions:
* Michael Geering at Kineo UK - TL-34297
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 14.13 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
Performance improvements:
TL-33272 Improved how regrading of courses is handled
When a course has more than 100 enrolments or 100 grade items, any regrading
necessary (such as adding a new activity or changing grade settings) will be
done on the next cron run rather than blocking page load. When this happens, a
message is displayed to the user to let them know that grades are being
recalculated.
For smaller courses, the re-grade is done in real time.
This is a follow up to an earlier patch (TL-31570) which introduced background
regrading, but only when adding a new activity.
TL-33363 Deleting an enrolment instance has been shifted to a background task
Previously when deleting an enrolment instance from a course, users would be
unenrolled immediately and then the instance would be deleted. If the number of
enrolled users was large, the page may take a long time to respond.
With this patch, the deletion is shifted into a background task run on the next
cron run.
TL-34382 Improved performance for the user search when selecting performance activity participants
Improvements:
TL-29549 Added displaying manual rating comments in the competency activity log
Comments that were added when manually rating a user's competency will now be
displayed in the user's activity log of that competency.
TL-33491 Started recording any changed HR Import settings within the config log database table
TL-34228 Removed the separation of evidence shown in Record of Learning and the Evidence bank
There is no longer any separation of evidence items based on the type of the
evidence item. The same evidence type can now be used when uploading evidence
from csv files or when adding evidence items in the Evidence bank and all items
can now be shown in both the Record of Learning and Evidence bank reports.
By default the Record of Learning report will be filtered to only show evidence
that was uploaded (i.e. their source is 'Completion history import'). Similarly
the Evidence bank reports will by default be filtered to only show evidence
items that were 'Manually created'. As this is a normal report filter, users can
change / clear the filter to show both uploaded and/or manually created items in
any one of these reports
TL-34647 Improved warnings around making changes to facetoface_displaysessiontimezones
Bug fixes:
TL-28799 Updated Weka to include a 'fake' cursor when between blocks
This is to provide consistency between the block nodes and regular text editing
in Weka.
TL-32891 Allowed report builder toolbar searches to be saved with no standard filters present
Previously, the 'Save this search' button only appeared in the standard filter
area, meaning that at least one standard filter needed to be enabled in order to
save a search.
The save button is now displayed in the toolbar area when there are no standard
filters enabled for a report.
TL-33429 Fixed featured links tile visibility settings when cloning a dashboard
Prior to this patch, when cloning a dashboard, featured links blocks lost any
additional visibility restrictions which had been added to a tile. This means
that if a tile had been limited to a specific audience on the original
dashboard, the tile on the cloned dashboard would be visible to everybody.
With this fix, the audience visibility rules for the clone are now consistent
with the original dashboard.
TL-34129 Restored evidence imported before migration to their previously used types
The original migration of imported evidence items resulted in them belonging to
a single 'Legacy course/certification completion import' system type with the
original type name stored as a custom field value.
Previously migrated imported evidence is now restored to belong to their
original evidence type.
First time migration will automatically link imported evidence to the correct
type.
TL-34144 Fixed Room Name (linked to room details page) column in Seminar reports
The link did not include information about the session, so when it was followed
the Custom virtual room link did not display correctly. This has been fixed.
TL-34167 Fixed Organisation Framework filters using MySQL reserved word
TL-34235 Set course enrolment date when user is enrolled through Programs or Learning plans
TL-34241 Fixed the validation of multiple expired Firebase Cloud Messaging tokens while sending a push notification
When attempting to push notifications to a mobile device, all the mobile devices
associated with the recipient are fetched and looped through. Previously if one
of the FCM tokens for a device was not valid, it would be invalidated and the
loop would be broken, leading to other devices potentially not receiving that
notification. Now the token is marked as invalid and the loop continues so that
all devices with a valid FCM token will receive the push notification.
TL-34244 Fixed videoJS controls in RTL languages
Fixed videoJS controls in RTL languages so that the play scroller now moves in
the expected direction.
TL-34248 Fixed double quote character encoding for Program name report builder column when exporting the data into Excel
TL-34297 Ensured report builder report created event is triggered when creating from template
TL-34298 Fixed perform activity static content editing error
Previously, when a static element was added as a sub element for a linked review
question, there would be an error when you tried to edit after first creating
it.
This patch fixes the error.
TL-34321 Fixed the context of audience role assignments when the audience is moved
Previously if a category level audience had roles assigned, and was moved to a
different category, existing role assignments stayed in the original category
context. Now the roles will update to the new category context when the audience
is moved.
TL-34329 Fixed the position due date link when using the legacy program assignment interface
TL-34364 Trigger on-event certification window open notifications at the correct time
Previously, on-event window open notifications were being triggered when a
recertification window opened, rather than when the window was supposed to open.
This led to unexpected behaviour when the opening of a recertification window
was delayed due to the user being unassigned or suspended. Also, the
notification was not sent if the certification window was open, which meant that
the notification would never be sent if it was scheduled to be sent after the
window open date. The expected behaviour is to always send the notification at a
date relative to the window open date, regardless of certification status. Note
that if a user is unassigned or suspended at the time this notification is due
to be sent, then the notification will not be sent retroactively.
TL-34403 Prevented the import of evidence for the deleted users
Prior to this patch, evidence could be uploaded for deleted users when the
legacy delete option "Keep username, email and ID number (legacy)" is used. This
is no longer allowed.
TL-34541 Fixed manager's link to program in notifications
TL-34552 Disable caching in reports that do visibility checks
Report sources that have been identified as doing visibility checks have been
updated to remove the option to be cached. Cached data based on those reports
sources will be removed upon upgrade.
Any custom report sources which use the post_config_visibility_where function in
their post_config should also be updated to prevent caching.
TL-34564 Ensured links on user profile display with correct formatting
TL-34704 Fixed incorrect language string key for an unavailable course in the mobile app
Technical changes:
TL-33278 Avoid using required column to allow visibility checks in report builder
Previously, in order to perform visibility checks in reports, we obtained the
data needed by defining required columns which were columns that, although not
visible, were present in the report. However it was noted they were interfering
with aggregation, giving unexpected results.
Now, "required joins" have been added in order to perform this task. The
information to do the visibility check is still present, but should not
interfere with aggregation.
All applicable report sources have been updated to use the new
define_requiredjoins function.
Please note that custom report sources that use the old way of requiring columns
shouldn't be affected by this change, but we recommend that they are updated to
use define_requiredjoins to get the correct result when using aggregation.
Tui front end framework:
TL-26667 An error is now thrown for invalid Tui CSS imports, eliminating the confusing in-browser error messages
TL-34385 Updated the computeError method in FormField.vue to only return the error as a string to prevent an "Invalid Prop" Vue warning.
TL-34481 Fixed keyboard accessibility of the Dropdown vue component
Library updates:
TL-34352 Upgraded Video.js to 7.18.1
Please check any plugins you have installed or written on older versions of the
video.js plugin
Contributions:
* Michael Geering at Kineo UK - TL-34297
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 13.21 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
Performance improvements:
TL-33272 Improved how regrading of courses is handled
When a course has more than 100 enrolments or 100 grade items, any regrading
necessary (such as adding a new activity or changing grade settings) will be
done on the next cron run rather than blocking page load. When this happens, a
message is displayed to the user to let them know that grades are being
recalculated.
For smaller courses, the re-grade is done in real time.
This is a follow up to an earlier patch (TL-31570) which introduced background
regrading, but only when adding a new activity.
TL-33363 Deleting an enrolment instance has been shifted to a background task
Previously when deleting an enrolment instance from a course, users would be
unenrolled immediately and then the instance would be deleted. If the number of
enrolled users was large, the page may take a long time to respond.
With this patch, the deletion is shifted into a background task run on the next
cron run.
TL-34382 Improved performance for the user search when selecting performance activity participants
Improvements:
TL-29549 Added displaying manual rating comments in the competency activity log
Comments that were added when manually rating a user's competency will now be
displayed in the user's activity log of that competency.
TL-33491 Started recording any changed HR Import settings within the config log database table
TL-34228 Removed the separation of evidence shown in Record of Learning and the Evidence bank
There is no longer any separation of evidence items based on the type of the
evidence item. The same evidence type can now be used when uploading evidence
from csv files or when adding evidence items in the Evidence bank and all items
can now be shown in both the Record of Learning and Evidence bank reports.
By default the Record of Learning report will be filtered to only show evidence
that was uploaded (i.e. their source is 'Completion history import'). Similarly
the Evidence bank reports will by default be filtered to only show evidence
items that were 'Manually created'. As this is a normal report filter, users can
change / clear the filter to show both uploaded and/or manually created items in
any one of these reports
Bug fixes:
TL-32891 Allowed report builder toolbar searches to be saved with no standard filters present
Previously, the 'Save this search' button only appeared in the standard filter
area, meaning that at least one standard filter needed to be enabled in order to
save a search.
The save button is now displayed in the toolbar area when there are no standard
filters enabled for a report.
TL-34144 Fixed Room Name (linked to room details page) column in Seminar reports
The link did not include information about the session, so when it was followed
the Custom virtual room link did not display correctly. This has been fixed.
TL-34167 Fixed Organisation Framework filters using MySQL reserved word
TL-34241 Fixed the validation of multiple expired Firebase Cloud Messaging tokens while sending a push notification
When attempting to push notifications to a mobile device, all the mobile devices
associated with the recipient are fetched and looped through. Previously if one
of the FCM tokens for a device was not valid, it would be invalidated and the
loop would be broken, leading to other devices potentially not receiving that
notification. Now the token is marked as invalid and the loop continues so that
all devices with a valid FCM token will receive the push notification.
TL-34244 Fixed videoJS controls in RTL languages
Fixed videoJS controls in RTL languages so that the play scroller now moves in
the expected direction.
TL-34297 Ensured report builder report created event is triggered when creating from template
TL-34321 Fixed the context of audience role assignments when the audience is moved
Previously if a category level audience had roles assigned, and was moved to a
different category, existing role assignments stayed in the original category
context. Now the roles will update to the new category context when the audience
is moved.
TL-34342 Fixed custom seminar notifications not being sent.
TL-34394 Fixed hero image for resources not being displayed for YouTube short-links
TL-34403 Prevented the import of evidence for the deleted users
Prior to this patch, evidence could be uploaded for deleted users when the
legacy delete option "Keep username, email and ID number (legacy)" is used. This
is no longer allowed.
TL-34541 Fixed manager's link to program in notifications
TL-34552 Disable caching in reports that do visibility checks
Report sources that have been identified as doing visibility checks have been
updated to remove the option to be cached. Cached data based on those reports
sources will be removed upon upgrade.
Any custom report sources which use the post_config_visibility_where function in
their post_config should also be updated to prevent caching.
TL-34564 Ensured links on user profile display with correct formatting
TL-34704 Fixed incorrect language string key for an unavailable course in the mobile app
Technical changes:
TL-33278 Avoid using required column to allow visibility checks in report builder
Previously, in order to perform visibility checks in reports, we obtained the
data needed by defining required columns which were columns that, although not
visible, were present in the report. However it was noted they were interfering
with aggregation, giving unexpected results.
Now, "required joins" have been added in order to perform this task. The
information to do the visibility check is still present, but should not
interfere with aggregation.
All applicable report sources have been updated to use the new
define_requiredjoins function.
Please note that custom report sources that use the old way of requiring columns
shouldn't be affected by this change, but we recommend that they are updated to
use define_requiredjoins to get the correct result when using aggregation.
Tui front end framework:
TL-26667 An error is now thrown for invalid Tui CSS imports, eliminating the confusing in-browser error messages
TL-34385 Updated the computeError method in FormField.vue to only return the error as a string to prevent an "Invalid Prop" Vue warning.
TL-34481 Fixed keyboard accessibility of the Dropdown vue component
Contributions:
* Michael Geering at Kineo UK - TL-34297
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 12.44 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
TL-34742 Fixed XSS vulnerability on userpix index page (CVE-2019-3810)
It was possible for users to exploit an XSS vulnerability on the
userpix/index.php page. Note that Totara versions 13 and up were not vulnerable.
Performance improvements:
TL-33272 Improved how regrading of courses is handled
When a course has more than 100 enrolments or 100 grade items, any regrading
necessary (such as adding a new activity or changing grade settings) will be
done on the next cron run rather than blocking page load. When this happens, a
message is displayed to the user to let them know that grades are being
recalculated.
For smaller courses, the re-grade is done in real time.
This is a follow up to an earlier patch (TL-31570) which introduced background
regrading, but only when adding a new activity.
Bug fixes:
TL-34541 Fixed manager's link to program in notifications
Contributions:
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 11.53 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
TL-34742 Fixed XSS vulnerability on userpix index page (CVE-2019-3810)
It was possible for users to exploit an XSS vulnerability on the
userpix/index.php page. Note that Totara versions 13 and up were not vulnerable.
Bug fixes:
TL-34541 Fixed manager's link to program in notifications
Contributions:
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 10.56 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
TL-34742 Fixed XSS vulnerability on userpix index page (CVE-2019-3810)
It was possible for users to exploit an XSS vulnerability on the
userpix/index.php page. Note that Totara versions 13 and up were not vulnerable.
Contributions:
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 9.63 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
TL-34742 Fixed XSS vulnerability on userpix index page (CVE-2019-3810)
It was possible for users to exploit an XSS vulnerability on the
userpix/index.php page. Note that Totara versions 13 and up were not vulnerable.
Contributions:
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 2.9.63 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
TL-34742 Fixed XSS vulnerability on userpix index page (CVE-2019-3810)
It was possible for users to exploit an XSS vulnerability on the
userpix/index.php page. Note that Totara versions 13 and up were not vulnerable.
Contributions:
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 2.7.68 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
TL-34742 Fixed XSS vulnerability on userpix index page (CVE-2019-3810)
It was possible for users to exploit an XSS vulnerability on the
userpix/index.php page. Note that Totara versions 13 and up were not vulnerable.
Contributions:
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
Release 2.6.85 (28th June 2022):
Security issues:
TL-34739 Fixed remote code execution vulnerability in the 'Annotate PDF' assignment feedback plugin
A learner exploiting this vulnerability could upload a carefully-crafted file as
an assignment submission and run arbitrary shell commands on the server.
This only affects Totara instances with 'Annotate PDF' selected as the
assignment feedback plugin in system settings and ghostscript < 9.50 installed
on the server.
TL-34742 Fixed XSS vulnerability on userpix index page (CVE-2019-3810)
It was possible for users to exploit an XSS vulnerability on the
userpix/index.php page. Note that Totara versions 13 and up were not vulnerable.
Contributions:
* Reported by Nick Wojciechowski, CyberCX Fix and fix contributed by Alex Morris (Catalyst) - TL-34739
