Hello everyone,
The following versions of Totara Learn have now been released:
These versions do contain security fixes, and for this reason we strongly recommend upgrade.
Each release also includes bug fixes and improvements.
Kind regards,
Release team
Release 15.6 (26th April 2022):
Important:
TL-34110 Fixed the migration of evidence to learning plan relationships when upgrading to TXP
Evidence was redesigned in Totara 13, and an entirely new data structure was
adopted to benefit the evidence feature set. During the upgrade to Totara 13
(that all sites must go through during the upgrade process) Evidence data is
migrated from the pre-13 structure to the new structure.
The migration moves data item per item, sequentially. Due to a bug in the
migration process, links between an evidence item and a user’s learning plan
may be broken, with evidence items being incorrectly related to the incorrect
learning plan. This mis-mapping can cause evidence items belonging to one user
to end up being linked to the learning plan of another user. This affects
historic data only, as all future relations are formed correctly post upgrade.
The migration has now been fixed to ensure the relationship between an evidence
item and a learning plan is correctly maintained.
For sites who have already upgraded the following SQL query can be used to
determine if your site was affected.
If a number greater than 0 is returned then please seek support from us and we
will assist you in confirming the issue, and in supporting you to recover the
lost relationships.
SELECT COUNT(dper.id)
FROM mdl_dp_plan_evidence_relation dper
JOIN mdl_totara_evidence_item tei ON tei.id = dper.evidenceid
JOIN mdl_dp_plan dp ON dp.id = dper.planid
WHERE dp.userid != tei.user_id;
Security issues:
TL-33678 Fixed validation of CSRF token for report exports
TL-33700 Fixed sending of sesskey as part of GET parameters when configuring the catalog
TL-33889 Fixed a capability check for the Upload user tool
A manager without the "moodle/user:delete" capability was able to delete users
by using the upload user tool, this has now been fixed.
Performance improvements:
TL-34017 Searching for a user while sharing a resource now batches keyboard presses
Improvements:
TL-25962 Added the ability to remove a link from Weka while maintaining the link text
TL-32716 Increased the width of the autocomplete dropdown for the evidence type on the evidence creation screen
This allows the full placeholder to be seen when a user is adding an evidence
item to their evidence bank
TL-32999 Improved help text about delete setting in user import when it is set to 'Suspend internal user'
Before, the implications of having the 'Delete' setting set to 'Suspend
internal user' for the user element in HR import were not well explained. Now,
we have provided help text information in the UI about it so it's clear what to
expect.
TL-33566 Added list columns to the My Bookings report
Three new columns have been added to the 'My Bookings' report to display the
facilitators, rooms and assets linked to a specific session as lists instead of
adding duplicate rows for a single session that have multiple facilitators,
rooms or assets.
TL-33679 Changed form action to 'GET' for manage dashboard single button
TL-33970 Added appropriate CSS class to topics format General section when header colour is enabled
TL-33975 Increased the top and bottom margin of the 'Load more' button in the Adder.vue component
TL-34102 The totara_mobile_certification query now returns a 'viewable' flag for all courses in certifications
TL-34114 Updated the OriginalSpaceCard TUI component to focus the action button when closing modals on the "Find workspaces" page
Bug fixes:
TL-31410 Fixed the height of the completion lozenge on the competency details page
TL-32778 Fixed installation alerts missing border colours on IE11
TL-33387 Fixed the re-validation of competency achievement paths for multi-level hierarchies
When child and/or other competency achievement criteria is used in multi-level
competency hierarchies with 3 or more levels, the validity of competency
achievement paths on all levels are now correctly re-evaluated when changes are
made on the lower levels.
TL-33396 Fixed error in catalogue hook watcher when courses are disabled in the catalogue
When courses were disabled in the catalogue content setting and a course was
edited it triggered an error in the hook watcher for the catalogue.
TL-33511 Restored the competency migration task for sites that upgraded through Totara 13 without running it
Previously, if a site got upgraded to Totara 13 and then immediately upgraded
again to a newer version without running cron, the competency migration ad-hoc
task would not be executed as the code was removed in Totara 14. This could lead
to competencies not being fully migrated.
This has been fixed by restoring the necessary code. The cron will now trigger
the migration, even on Totara 14 or above.
TL-33525 Fixed date format for custom fields during user upload
TL-33640 Fixed records not being deleted from totara_contentmarketplace_course_module_source when deleting a course module
A previously missing \core\event\course_module_deleted() event is now being
triggered when deleting course modules during course deletion.
TL-33648 Fixed error when trying to add already assigned courses to learning plan
TL-33659 Fixed multichoice answer text being truncated in analysis view of feedback module
TL-33698 Fixed not being able to create tenant users with duplicate emails if allowed on the site
When creating a new user in a tenant the email validation now respects the
setting 'allowaccountssameemail', which allows user accounts to have duplicate
emails.
TL-33753 Fixed Course completion editor referencing admin user when changes are made using HR import tool
TL-33819 Fixed the flow on effects when a seminar activity name is updated
Updating the name of a seminar activity now also correctly updates the name in
the calendar event, and 'Upcoming events' block
TL-33894 Fixed not being able to delete view-only participants from an activity in the participant management report
TL-33914 Removed option to collapse from top course section
TL-33945 Added a way to reset the course 'General' section heading back to its default state of hidden
TL-33969 Fixed sorting of attendees lists on seminar events
When adding or removing attendees to a seminar event, the lists of current
attendees, potential attendees and removed attendees are now all sorted
alphabetically.
TL-33974 Fixed new playlist not appearing when returning directly to library
TL-33980 Fixed issue with Safari cropping text on Button.vue and ToggleSwitch.vue components
TL-33996 Fixed errors in GraphQL queries when id is 0
Fixed the errors for following mod_perform GraphQL
* manually_delete_subject_instance when subject_instance_id is 0
* manually_delete_participant_instance when participant_instance_id is 0
* manually_change_participant_section when participant_section_id is 0
TL-33998 Added form validation for performance activity repeating settings
Prior to this patch, entering out of range values for repeating trigger offset
and repeating limit resulted in a generic failure message generated by the back
end. This patch adds front end form validation with specific error messages.
TL-34009 Updated section administration in performance activities to not show the "Move element to another section" button if there is no section to move the element to
Also fixed a bug where the current section wasn't being filtered out of the list
of other sections.
TL-34018 Fixed error in get_config GraphQL query when item_type is null
TL-34028 Fixed scrolling to the wrong position when switching views on the competency profile page
TL-34030 Fixed a regression which allowed keyboard navigation to accidentally lose focus from the modal component
TL-34040 Fixed totara_topic_find_topics query called twice
TL-34045 Added a space before date filters in report builder reports
TL-34060 Fixed missing link to user profile on workspace members list
TL-34064 Fixed a text overflow issue in IE11 with workspace names on the find workspaces page
TL-34087 Stopped the "edit link" Weka modal closing via backdrop click
Previously if you clicked anywhere outside the bounds of the edit box while
editing a link in Weka, the pop-up would close and your current changes would be
lost. This behaviour has been changed such that clicking outside the box will
not do anything, and to close the modal you will need to use the "done",
"cancel", or the top-right "X" buttons.
TL-34091 Fixed that creating and immediately deleting a workspace discussion causes cron error message
TL-34108 Fixed the recipient classes for earlier program notifications
In 15.0 program notifications were moved to the modern system using recipient
classes in the totara_program namespace. As we moved more notifications in other
areas it became apparent that 2 program recipients, subject and manager, were
quite generic. As such in 15.3 TL-33094 these recipient classes were moved to
the totara_notification namespace, leaving the old class there to allow for
backwards compatibility. However any custom notifications created between those
versions using the default resolvers would have the incorrect recipient saved in
the database and would not send after upgrading to 15.3 or higher. This patch
adds an upgrade path to fix any of these broken recipient classes.
TL-34111 Fixed certification window open date notification sometimes being sent twice
TL-34132 Fixed unnecessary refetch of container_workspace_search_users query after transfer-of-ownership mutation
Technical changes:
TL-34000 Changed name field format to 'PLAIN' for 'totara_oauth2_client_provider' type
TL-34168 Updated the minimum supported versions for MariaDB and MySQL
The readme has been updated with explicit minimum versions for both MariaDB and
MySQL.
MariaDB we have set the minimum to the first stable release of each line. Alpha
and beta release versions are not supported.
MySQL 8.0.1 is the minimum. MySQL 8.0 does not include the required encoding
Totara needs.
In all cases, we recommend using the latest version in each database release
line.
Tui front end framework:
TL-33687 Changed HTTP method from POST to GET when loading the data for a Totara dialogs
TL-33920 Fixed an issue where importing Vue in ext_ Tui components would end up with a separate copy of Vue instead of referencing the one in the core bundle
TL-33921 Implemented triggering an error to prevent the compilation of large SCSS files containing non-ASCII characters on PHP < 7.4 to hang
Due to PHP bug 72685, versions of PHP before 7.4 cannot efficiently run Unicode
regexes over large strings. We work around this by removing non-ASCII characters
from comments to avoid hitting the Unicode path where possible, and by erroring
instead of hanging on large files in order to communicate the source of the
problem.
This behavior can be disabled through the "Allow unperformant CSS" option in the
Tui frontend framework settings.
Release 14.11 (26th April 2022):
Important:
TL-34110 Fixed the migration of evidence to learning plan relationships when upgrading to TXP
Evidence was redesigned in Totara 13, and an entirely new data structure was
adopted to benefit the evidence feature set. During the upgrade to Totara 13
(that all sites must go through during the upgrade process) Evidence data is
migrated from the pre-13 structure to the new structure.
The migration moves data item per item, sequentially. Due to a bug in the
migration process, links between an evidence item and a user’s learning plan
may be broken, with evidence items being incorrectly related to the incorrect
learning plan. This mis-mapping can cause evidence items belonging to one user
to end up being linked to the learning plan of another user. This affects
historic data only, as all future relations are formed correctly post upgrade.
The migration has now been fixed to ensure the relationship between an evidence
item and a learning plan is correctly maintained.
For sites who have already upgraded the following SQL query can be used to
determine if your site was affected.
If a number greater than 0 is returned then please seek support from us and we
will assist you in confirming the issue, and in supporting you to recover the
lost relationships.
SELECT COUNT(dper.id)
FROM mdl_dp_plan_evidence_relation dper
JOIN mdl_totara_evidence_item tei ON tei.id = dper.evidenceid
JOIN mdl_dp_plan dp ON dp.id = dper.planid
WHERE dp.userid != tei.user_id;
Security issues:
TL-33678 Fixed validation of CSRF token for report exports
TL-33700 Fixed sending of sesskey as part of GET parameters when configuring the catalog
TL-33889 Fixed a capability check for the Upload user tool
A manager without the "moodle/user:delete" capability was able to delete users
by using the upload user tool, this has now been fixed.
Performance improvements:
TL-34017 Searching for a user while sharing a resource now batches keyboard presses
Improvements:
TL-32999 Improved help text about delete setting in user import when it is set to 'Suspend internal user'
Before, the implications of having the 'Delete' setting set to 'Suspend
internal user' for the user element in HR import were not well explained. Now,
we have provided help text information in the UI about it so it's clear what to
expect.
TL-33566 Added list columns to the My Bookings report
Three new columns have been added to the 'My Bookings' report to display the
facilitators, rooms and assets linked to a specific session as lists instead of
adding duplicate rows for a single session that have multiple facilitators,
rooms or assets.
TL-33679 Changed form action to 'GET' for manage dashboard single button
TL-33970 Added appropriate CSS class to topics format General section when header colour is enabled
TL-33975 Increased the top and bottom margin of the 'Load more' button in the Adder.vue component
TL-34114 Updated the OriginalSpaceCard TUI component to focus the action button when closing modals on the "Find workspaces" page
Bug fixes:
TL-33396 Fixed error in catalogue hook watcher when courses are disabled in the catalogue
When courses were disabled in the catalogue content setting and a course was
edited it triggered an error in the hook watcher for the catalogue.
TL-33511 Restored the competency migration task for sites that upgraded through Totara 13 without running it
Previously, if a site got upgraded to Totara 13 and then immediately upgraded
again to a newer version without running cron, the competency migration ad-hoc
task would not be executed as the code was removed in Totara 14. This could lead
to competencies not being fully migrated.
This has been fixed by restoring the necessary code. The cron will now trigger
the migration, even on Totara 14 or above.
TL-33525 Fixed date format for custom fields during user upload
TL-33648 Fixed error when trying to add already assigned courses to learning plan
TL-33894 Fixed not being able to delete view-only participants from an activity in the participant management report
TL-33914 Removed option to collapse from top course section
TL-33945 Added a way to reset the course 'General' section heading back to its default state of hidden
TL-33974 Fixed new playlist not appearing when returning directly to library
TL-33980 Fixed issue with Safari cropping text on Button.vue and ToggleSwitch.vue components
TL-33996 Fixed errors in GraphQL queries when id is 0
Fixed the errors for following mod_perform GraphQL
* manually_delete_subject_instance when subject_instance_id is 0
* manually_delete_participant_instance when participant_instance_id is 0
* manually_change_participant_section when participant_section_id is 0
TL-33998 Added form validation for performance activity repeating settings
Prior to this patch, entering out of range values for repeating trigger offset
and repeating limit resulted in a generic failure message generated by the back
end. This patch adds front end form validation with specific error messages.
TL-34009 Updated section administration in performance activities to not show the "Move element to another section" button if there is no section to move the element to
Also fixed a bug where the current section wasn't being filtered out of the list
of other sections.
TL-34018 Fixed error in get_config GraphQL query when item_type is null
TL-34028 Fixed scrolling to the wrong position when switching views on the competency profile page
TL-34030 Fixed a regression which allowed keyboard navigation to accidentally lose focus from the modal component
TL-34040 Fixed totara_topic_find_topics query called twice
TL-34045 Added a space before date filters in report builder reports
TL-34060 Fixed missing link to user profile on workspace members list
TL-34064 Fixed a text overflow issue in IE11 with workspace names on the find workspaces page
TL-34087 Stopped the "edit link" Weka modal closing via backdrop click
Previously if you clicked anywhere outside the bounds of the edit box while
editing a link in Weka, the pop-up would close and your current changes would be
lost. This behaviour has been changed such that clicking outside the box will
not do anything, and to close the modal you will need to use the "done",
"cancel", or the top-right "X" buttons.
TL-34091 Fixed that creating and immediately deleting a workspace discussion causes cron error message
TL-34111 Fixed certification window open date notification sometimes being sent twice
TL-34132 Fixed unnecessary refetch of container_workspace_search_users query after transfer-of-ownership mutation
Technical changes:
TL-34168 Updated the minimum supported versions for MariaDB and MySQL
The readme has been updated with explicit minimum versions for both MariaDB and
MySQL.
MariaDB we have set the minimum to the first stable release of each line. Alpha
and beta release versions are not supported.
MySQL 8.0.1 is the minimum. MySQL 8.0 does not include the required encoding
Totara needs.
In all cases, we recommend using the latest version in each database release
line.
Tui front end framework:
TL-33687 Changed HTTP method from POST to GET when loading the data for a Totara dialogs
TL-33920 Fixed an issue where importing Vue in ext_ Tui components would end up with a separate copy of Vue instead of referencing the one in the core bundle
TL-33921 Implemented triggering an error to prevent the compilation of large SCSS files containing non-ASCII characters on PHP < 7.4 to hang
Due to PHP bug 72685, versions of PHP before 7.4 cannot efficiently run Unicode
regexes over large strings. We work around this by removing non-ASCII characters
from comments to avoid hitting the Unicode path where possible, and by erroring
instead of hanging on large files in order to communicate the source of the
problem.
This behavior can be disabled through the "Allow unperformant CSS" option in the
Tui frontend framework settings.
Release 13.19 (26th April 2022):
Important:
TL-34110 Fixed the migration of evidence to learning plan relationships when upgrading to TXP
Evidence was redesigned in Totara 13, and an entirely new data structure was
adopted to benefit the evidence feature set. During the upgrade to Totara 13
(that all sites must go through during the upgrade process) Evidence data is
migrated from the pre-13 structure to the new structure.
The migration moves data item per item, sequentially. Due to a bug in the
migration process, links between an evidence item and a user’s learning plan
may be broken, with evidence items being incorrectly related to the incorrect
learning plan. This mis-mapping can cause evidence items belonging to one user
to end up being linked to the learning plan of another user. This affects
historic data only, as all future relations are formed correctly post upgrade.
The migration has now been fixed to ensure the relationship between an evidence
item and a learning plan is correctly maintained.
For sites who have already upgraded the following SQL query can be used to
determine if your site was affected.
If a number greater than 0 is returned then please seek support from us and we
will assist you in confirming the issue, and in supporting you to recover the
lost relationships.
SELECT COUNT(dper.id)
FROM mdl_dp_plan_evidence_relation dper
JOIN mdl_totara_evidence_item tei ON tei.id = dper.evidenceid
JOIN mdl_dp_plan dp ON dp.id = dper.planid
WHERE dp.userid != tei.user_id;
Security issues:
TL-33678 Fixed validation of CSRF token for report exports
TL-33889 Fixed a capability check for the Upload user tool
A manager without the "moodle/user:delete" capability was able to delete users
by using the upload user tool, this has now been fixed.
Performance improvements:
TL-34017 Searching for a user while sharing a resource now batches keyboard presses
Improvements:
TL-32999 Improved help text about delete setting in user import when it is set to 'Suspend internal user'
Before, the implications of having the 'Delete' setting set to 'Suspend
internal user' for the user element in HR import were not well explained. Now,
we have provided help text information in the UI about it so it's clear what to
expect.
TL-33679 Changed form action to 'GET' for manage dashboard single button
TL-33970 Added appropriate CSS class to topics format General section when header colour is enabled
TL-33975 Increased the top and bottom margin of the 'Load more' button in the Adder.vue component
TL-34114 Updated the OriginalSpaceCard TUI component to focus the action button when closing modals on the "Find workspaces" page
Bug fixes:
TL-33525 Fixed date format for custom fields during user upload
TL-33648 Fixed error when trying to add already assigned courses to learning plan
TL-33894 Fixed not being able to delete view-only participants from an activity in the participant management report
TL-33942 Fixed error when showing menu item sortorder event in the logs
TL-33945 Added a way to reset the course 'General' section heading back to its default state of hidden
TL-33974 Fixed new playlist not appearing when returning directly to library
TL-33996 Fixed errors in GraphQL queries when id is 0
Fixed the errors for following mod_perform GraphQL
* manually_delete_subject_instance when subject_instance_id is 0
* manually_delete_participant_instance when participant_instance_id is 0
* manually_change_participant_section when participant_section_id is 0
TL-33998 Added form validation for performance activity repeating settings
Prior to this patch, entering out of range values for repeating trigger offset
and repeating limit resulted in a generic failure message generated by the back
end. This patch adds front end form validation with specific error messages.
TL-34009 Updated section administration in performance activities to not show the "Move element to another section" button if there is no section to move the element to
Also fixed a bug where the current section wasn't being filtered out of the list
of other sections.
TL-34018 Fixed error in get_config GraphQL query when item_type is null
TL-34028 Fixed scrolling to the wrong position when switching views on the competency profile page
TL-34040 Fixed totara_topic_find_topics query called twice
TL-34045 Added a space before date filters in report builder reports
TL-34060 Fixed missing link to user profile on workspace members list
TL-34087 Stopped the "edit link" Weka modal closing via backdrop click
Previously if you clicked anywhere outside the bounds of the edit box while
editing a link in Weka, the pop-up would close and your current changes would be
lost. This behaviour has been changed such that clicking outside the box will
not do anything, and to close the modal you will need to use the "done",
"cancel", or the top-right "X" buttons.
TL-34091 Fixed that creating and immediately deleting a workspace discussion causes cron error message
TL-34132 Fixed unnecessary refetch of container_workspace_search_users query after transfer-of-ownership mutation
Technical changes:
TL-34168 Updated the minimum supported versions for MariaDB and MySQL
The readme has been updated with explicit minimum versions for both MariaDB and
MySQL.
MariaDB we have set the minimum to the first stable release of each line. Alpha
and beta release versions are not supported.
MySQL 8.0.1 is the minimum. MySQL 8.0 does not include the required encoding
Totara needs.
In all cases, we recommend using the latest version in each database release
line.
Tui front end framework:
TL-33687 Changed HTTP method from POST to GET when loading the data for a Totara dialogs
TL-33920 Fixed an issue where importing Vue in ext_ Tui components would end up with a separate copy of Vue instead of referencing the one in the core bundle
TL-33921 Implemented triggering an error to prevent the compilation of large SCSS files containing non-ASCII characters on PHP < 7.4 to hang
Due to PHP bug 72685, versions of PHP before 7.4 cannot efficiently run Unicode
regexes over large strings. We work around this by removing non-ASCII characters
from comments to avoid hitting the Unicode path where possible, and by erroring
instead of hanging on large files in order to communicate the source of the
problem.
This behavior can be disabled through the "Allow unperformant CSS" option in the
Tui frontend framework settings.
Release 12.42 (26th April 2022):
Security issues:
TL-33678 Fixed validation of CSRF token for report exports
TL-33889 Fixed a capability check for the Upload user tool
A manager without the "moodle/user:delete" capability was able to delete users
by using the upload user tool, this has now been fixed.
Improvements:
TL-32999 Improved help text about delete setting in user import when it is set to 'Suspend internal user'
Before, the implications of having the 'Delete' setting set to 'Suspend
internal user' for the user element in HR import were not well explained. Now,
we have provided help text information in the UI about it so it's clear what to
expect.
TL-33679 Changed form action to 'GET' for manage dashboard single button
Bug fixes:
TL-33648 Fixed error when trying to add already assigned courses to learning plan
TL-33942 Fixed error when showing menu item sortorder event in the logs
Tui front end framework:
TL-33687 Changed HTTP method from POST to GET when loading the data for a Totara dialogs
Release 11.51 (26th April 2022):
Improvements:
TL-32999 Improved help text about delete setting in user import when it is set to 'Suspend internal user'
Before, the implications of having the 'Delete' setting set to 'Suspend
internal user' for the user element in HR import were not well explained. Now,
we have provided help text information in the UI about it so it's clear what to
expect.
Release 10.55 (26th April 2022):
Improvements:
TL-32999 Improved help text about delete setting in user import when it is set to 'Suspend internal user'
Before, the implications of having the 'Delete' setting set to 'Suspend
internal user' for the user element in HR import were not well explained. Now,
we have provided help text information in the UI about it so it's clear what to
expect.
