Totara 2.2.38, 2.4.31, 2.5.28, 2.6.21 and 2.7.4 are all security releases because they include security fixes. We strongly recommend upgrading to these versions. These versions also contain various bug fixes and improvements.
Hugh Davenport at Catalyst NZ, Pavel Tsakalidis at Kineo UK, Rickard Skiold at xtractor, Russell England at Vision NV, and Tom Black at Kineo UK all have contributions in these releases - further details in the changelogs:
Release 2.7.4 (23rd June 2015):
==================================================
Security issues:
TL-6566 Improved XSS prevention checks when serving untrusted files in IE
TL-6576 Ensured Audience description is sanitised before display
Thanks to Hugh Davenport at Catalyst NZ for reporting and providing a fix
for this issue.
TL-6613 Improved validation of local URLs
TL-6614 Added a warning when a site is not using HTTPS and secure cookies.
TL-6617 Added username enumeration warnings to the Security Overview report if self-registration is active or protectusernames is disabled.
Improvements:
TL-5130 Added suspended user rule to dynamic Audiences
It is now possible to include or exclude users from a dynamic audience
based on whether or not they are suspended
TL-6133 Improved performance of the main menu resulting in fewer database queries and file includes on each page view
TL-6255 Added setting to allow users with inactive enrolments to be shown on course completion reports
Normally the course completion and activity completion reports within a
course do not show completion information for learners who do not have
existing active enrolments, but who may have completed activities in the
past when enrolled. Disabling this option on both reports will display all
completion data in these reports including for those learners with
suspended, expired or removed enrolments.
TL-6303 Improved PDF export of Appraisals when question content results in a page break.
TL-6329 Added "Use fixed expiry date" recertification option in Certifications
This adds a third option for how the expiry dates on certifications are
calculated. Details are provided in the help popups in the 'Certification'
tab when editing a certification. This patch also slightly changes the
behaviour of 'Use certification expiry date' - if a user's assignment (on
the 'Assignments' tab) has a completion due date then this date will be
used to calculate the expiry date the first time that the user certifies,
rather than just using the date that the user completed the certification.
The certification import tool has also been updated to support these
changes.
TL-6358 Added config option to control the display of Hierarchy framework, type and item shortcodes
Previously whether Hierarchy shortcodes were displayed was defined in code.
This patch adds a new config setting under Advanced Features. If you had
previously made a customisation to the code (by setting constant
HIERARCHY_DISPLAY_SHORTNAMES in totara/hierarchy/lib.php to true) to enable
the display of Hierarchy shortcodes, you will need to re-enable the display
of shortcodes using the new configuation setting.
TL-6452 Improved the performance of the course completion scheduled task
TL-6523 Allowed users to navigate away from long-running report exports in Reportbuilder
Attempting to export a large report and then navigate away to any other
page while the export was still processing would result in an error: "Timed
out while waiting for session lock. Wait for your current requests to
finish and try again later." and then the system could then become unusable
for that user. Now the user can navigate away from the export safely (which
would cancel the export), or continue navigating the site in a different
browser window/tab (while waiting for the export window to complete).
TL-6544 Changed certification Status strings in certification reports to better reflect the actual statuses
"Assigned" was changed to "Not certified"
"Completed" was changed to "Certified"
"Expired" and "In progress" were unchanged.
TL-6558 Improved scalability of query in course completion
This was causing a database error on some platforms due to an oversized IN
query with large data sets.
TL-6582 Fixed inconsistencies in site manager appearance-related capabilities
Previously the appearance related permission for a site manager was not
consistent comparing a new install and a permission reset. The
totara/core:appearance capabilty is now consistently used across all roles.
TL-6604 Improved appearance of Learning Plans tables on the My Learning pages for RTL languages
TL-6626 Added new capability controls for access to activity modules plugin settings
TL-6639 Updated the default content options for the My Team report to include temporary assignments
This change will only affect future installs and My Team reports that are
reset to default settings, to apply this change manually you can edit the
My Team report and on the content tab tick the "Records for user's
temporary reports" option.
TL-6650 Changed program user assignments to defer large changes to happen on the next cron run
Previously, when saving changes to user assignments in a Program or
Certification, the new users were assigned when the save button was
clicked. This was causing pages to time out when assigning large audiences.
Now, the contents of the assignment tab are saved immediately but the users
are not assigned to the program until the next cron run occurs. On-screen
notifications have been added to indicate if pending assignments are
waiting for a cron run.
TL-6735 Added logging whenever activity completion is unlocked
TL-6756 Improved information provided by webservices logging
Bug fixes:
TL-5978 Fixed inconsistent access control checks for Learning Plans
The behaviour has now been standardised throughout the code. Granting the
totara/plan:manageanyplan capability allows users to create and edit plans for any user.
Granting totara/plan:accessplan allows users to see and modify their own plans,
and allows staff managers to create and edit the plans of their staff.
TL-6222 Fixed courses incorrectly being visible in the Courses section of the Navigation block when using audience-based visibility
TL-6263 Fixed reaggregation of course completion
Course completion records would never be reaggregated on the cron run, if
the "Completion begins on enrolment" course setting was turned off when
course completion criteria were unlocked.
TL-6319 Fixed rules for dynamic Audiences based on a text input user profile/custom field being empty
TL-6360 Fixed setting of cancellation custom field value when calling facetoface_user_cancel_submission.
TL-6372 Fixed course deletion so that deleting a course now removes that course from Programs and Certifications
Previously if a course was deleted and it was part of a program or
certification, then some actions e.g. setting up recertification would
cause an error on cron run. This patch ensures that no new orphaned
references will be created and also fixes any that currently exist.
TL-6374 Fixed Reportbuilder 'last/next X days' date filters
The 'Is between today and X days before/after today' filters were
internally using a specific date rather than a relative number, resulting
in saved searches not working as intended. This filter will now always be
relative to the date on which it is used. Existing saved searches have been
converted, but it is possible that some may be incorrect (although all were
wrong without this patch). We advise that users check that saved searches
which contain date filters have the intended values.
Note that any users that are logged in and using these filters during the
upgrade progress may need to log out and back in to see the correct values.
TL-6403 Fixed error message when displaying categories that contain only hidden courses
TL-6419 Removed Temporary manager expiry date from Learner's position page when no temporary manager is assigned
TL-6438 Fixed parameter validation when using the create/update courses web services
TL-6440 Fixed create/edit capability permissions for Programs and Certifications
TL-6466 Fixed dynamic Audience rules based off date/time custom fields
If the date/time custom field was set to a date after 2038 the rule
comparison broke, we switched the cast2int function to use bigint so the
comparison can take place.
TL-6473 Fixed display of Reportbuilder report graph block for reports where a default sort column is specified
TL-6508 Fixed unenrolled courses showing in My Current Courses home page block
TL-6515 Fixed scheduling of HR Import, Reportbuilder export and Reportbuilder caching.
HR Import scheduling is now using the system timezone. Scheduled reports
are now using timezone of the user that created them.
TL-6516 Fixed resetting of Certification message logs when the recertification window opens
When the window opens it tried to delete message logs for the users manager
as well as the user even though the manager records were never created.
TL-6521 Fixed dynamic Audience date-based rules for first and last login dates
TL-6539 Fixed Program due messages being sent to users who have current exceptions
TL-6559 Fixed the Evidence report source showing records for deleted users
TL-6560 Totara Messaging now consistently uses the support user email as the from address when no from user is provided
When sending a message, we now use the support_user email if no user is
specified. Send functions will also now support NOREPLY_USER.
TL-6561 Added additional validation when trying to activate Appraisals containing aggregation questions
Stops activation of appraisals containing aggregation questions with no
selected aggregations
TL-6562 Fixed Facetoface session custom fields showing PHP Notice and Warning errors when creating a new session
TL-6579 Fixed ability to add aggregate rating questions to Appraisals when using a non-English language pack
TL-6581 Improved handling of and recovery from missing Certification completion records
Due to various causes such as page timeouts, it is possible that some
certification completion records are not being created. This patch ensures
that the records are created when users access their certifications. A
check has been added to the certification cron task which will find any
users who are missing these records and will create them.
TL-6587 Fixed HR Import log message if a user cannot be deleted
TL-6589 Removed invalid CSS declaration
There was an @charset declaration in a certifications CSS stylesheet that
would cause invalid CSS when theme designer mode is turned off. This has
been removed.
TL-6591 Removed unused CSS declarations
There were some unused Mozzilla Firefox CSS declarations that were causing
issues with custom CSS in Custom Totara Responsive
TL-6592 Fixed the display of the completion status for deleted users in Record of Learning reports
TL-6596 Fixed the unassigning of Audience members from system roles when an Audience is deleted
TL-6597 Fixed blank rows appearing in the sorting default column on Reportbuilder columns tab
TL-6598 Fixed Facetoface fullname column always showing 'reserved' in reports
TL-6600 Fixed error when trying to create a user profile custom field after using the browser back button
TL-6606 Fixed sending of course Reminder messages
When a feedback activity is added to a course, invitation and reminder
messages would sometimes not be sent, depending on the "Personal messages
between users" message output config settings. These reminder messages have
now been converted to standard Totara Alerts.
TL-6608 Fixed order of icons for RTL languages in the Tasks block
TL-6619 Fixed the error message when trying to delete an unknown post in the Forum
TL-6628 Fixed error when trying to close an active Appraisal with no assigned users
TL-6631 Fixed the line wrapping and display of preformatted text in Labels
TL-6635 Fixed the formatting of exported columns in the Record of Learning: Certifications report
Removes the "overdue" and "X days remaining" warnings displayed on the
window opens and expiration date columns for exports of reports based off
the Record of Learning: Certifications source.
TL-6647 Fixed the selection of stages to print when printing Appraisals
TL-6652 Fixed the display of the 'roles that can view' column on the edit Appraisal page
TL-6661 Fixed alphabetic ordering of user list when using 'Allocate spaces for team' page in a Facetoface session, when manager reservations are enabled
TL-6680 Improved display when adding a random quiz question to a quiz when using RTL languages
TL-6681 Fixed behaviour of Feedback activity forms when form_change_checker is disabled
The form change checker detects if any form elements on the page have been
changed since last load. If the form change checker is disabled some of the
Feedback activity forms were generating errors.
TL-6694 Prevented incorrect room booking conflicts from being shown when creating a Facetoface session
TL-6697 Fixed Facetoface custom rooms on session duplication
If you duplicated a Facetoface session with a custom room, the room was not
duplicated leaving you with 2 sessions using the same custom room. If you
then removed the custom room from one session it was deleted, breaking the
other session.
TL-6705 Fixed incorrect risk flag on Plan Evidence capability
totara/plan:editownsiteevidence capability was incorrectly marked as a
dataloss risk, which made the Security Overview report say the
Authenticated User role was incorrectly defined
TL-6711 Fixed display of course default section title when using multilang filter on a course using the Demo course format
TL-6720 Fixed role-based visibility access checks on the frontpage
TL-6744 Fixed error message when adding linked courses to Learning Plan competencies or objectives
Contributions:
* Hugh Davenport at Catalyst NZ - TL-6576
* Pavel Tsakalidis at Kineo UK - TL-6452
* Rickard Skiold at xtractor - TL-6560
* Russell England at Vision NV - TL-6360
* Tom Black at Kineo UK - TL-6516
Release 2.6.21 (23rd June 2015):
==================================================
Security issues:
TL-6566 Improved XSS prevention checks when serving untrusted files in IE
TL-6576 Ensured Audience description is sanitised before display
Thanks to Hugh Davenport at Catalyst NZ for reporting and providing a fix
for this issue.
TL-6613 Improved validation of local URLs
Improvements:
TL-5130 Added suspended user rule to dynamic Audiences
It is now possible to include or exclude users from a dynamic audience
based on whether or not they are suspended
TL-6303 Improved PDF export of Appraisals when question content results in a page break.
TL-6358 Added config option to control the display of Hierarchy framework, type and item shortcodes
Previously whether Hierarchy shortcodes were displayed was defined in code.
This patch adds a new config setting under Advanced Features. If you had
previously made a customisation to the code (by setting constant
HIERARCHY_DISPLAY_SHORTNAMES in totara/hierarchy/lib.php to true) to enable
the display of Hierarchy shortcodes, you will need to re-enable the display
of shortcodes using the new configuation setting.
TL-6523 Allowed users to navigate away from long-running report exports in Reportbuilder
Attempting to export a large report and then navigate away to any other
page while the export was still processing would result in an error: "Timed
out while waiting for session lock. Wait for your current requests to
finish and try again later." and then the system could then become unusable
for that user. Now the user can navigate away from the export safely (which
would cancel the export), or continue navigating the site in a different
browser window/tab (while waiting for the export window to complete).
TL-6544 Changed certification Status strings in certification reports to better reflect the actual statuses
"Assigned" was changed to "Not certified"
"Completed" was changed to "Certified"
"Expired" and "In progress" were unchanged.
TL-6558 Improved scalability of query in course completion
This was causing a database error on some platforms due to an oversized IN
query with large data sets.
TL-6604 Improved appearance of Learning Plans tables on the My Learning pages for RTL languages
TL-6650 Changed program user assignments to defer large changes to happen on the next cron run
Previously, when saving changes to user assignments in a Program or
Certification, the new users were assigned when the save button was
clicked. This was causing pages to time out when assigning large audiences.
Now, the contents of the assignment tab are saved immediately but the users
are not assigned to the program until the next cron run occurs. On-screen
notifications have been added to indicate if pending assignments are
waiting for a cron run.
TL-6735 Added logging whenever activity completion is unlocked
Bug fixes:
TL-5978 Fixed inconsistent access control checks for Learning Plans
The behaviour has now been standardised throughout the code. Granting the
totara/plan:manageanyplan capability allows users to create and edit plans for any user.
Granting totara/plan:accessplan allows users to see and modify their own plans,
and allows staff managers to create and edit the plans of their staff.
TL-6222 Fixed courses incorrectly being visible in the Courses section of the Navigation block when using audience-based visibility
TL-6263 Fixed reaggregation of course completion
Course completion records would never be reaggregated on the cron run, if
the "Completion begins on enrolment" course setting was turned off when
course completion criteria were unlocked.
TL-6319 Fixed rules for dynamic Audiences based on a text input user profile/custom field being empty
TL-6372 Fixed course deletion so that deleting a course now removes that course from Programs and Certifications
Previously if a course was deleted and it was part of a program or
certification, then some actions e.g. setting up recertification would
cause an error on cron run. This patch ensures that no new orphaned
references will be created and also fixes any that currently exist.
TL-6374 Fixed Reportbuilder 'last/next X days' date filters
The 'Is between today and X days before/after today' filters were
internally using a specific date rather than a relative number, resulting
in saved searches not working as intended. This filter will now always be
relative to the date on which it is used. Existing saved searches have been
converted, but it is possible that some may be incorrect (although all were
wrong without this patch). We advise that users check that saved searches
which contain date filters have the intended values.
Note that any users that are logged in and using these filters during the
upgrade progress may need to log out and back in to see the correct values.
TL-6419 Removed Temporary manager expiry date from Learner's position page when no temporary manager is assigned
TL-6440 Fixed create/edit capability permissions for Programs and Certifications
TL-6466 Fixed dynamic Audience rules based off date/time custom fields
If the date/time custom field was set to a date after 2038 the rule
comparison broke, we switched the cast2int function to use bigint so the
comparison can take place.
TL-6516 Fixed resetting of Certification message logs when the recertification window opens
When the window opens it tried to delete message logs for the users manager
as well as the user even though the manager records were never created.
TL-6539 Fixed Program due messages being sent to users who have current exceptions
TL-6540 Fixed shortname type for Face-to-face custom fields
If there is a problem saving your Face-to-face session with Custom session
field, please update Custom session field shortname and then update
Face-to-face session.
TL-6559 Fixed the Evidence report source showing records for deleted users
TL-6560 Totara Messaging now consistently uses the support user email as the from address when no from user is provided
When sending a message, we now use the support_user email if no user is
specified. Send functions will also now support NOREPLY_USER.
TL-6581 Improved handling of and recovery from missing Certification completion records
Due to various causes such as page timeouts, it is possible that some
certification completion records are not being created. This patch ensures
that the records are created when users access their certifications. A
check has been added to the certification cron task which will find any
users who are missing these records and will create them.
TL-6587 Fixed Totara Sync log message if a user cannot be deleted
TL-6596 Fixed the unassigning of Audience members from system roles when an Audience is deleted
TL-6598 Fixed Facetoface fullname column always showing 'reserved' in reports
TL-6606 Fixed sending of course Reminder messages
When a feedback activity is added to a course, invitation and reminder
messages would sometimes not be sent, depending on the "Personal messages
between users" message output config settings. These reminder messages have
now been converted to standard Totara Alerts.
TL-6608 Fixed order of icons for RTL languages in the Tasks block
TL-6631 Fixed the line wrapping and display of preformatted text in Labels
TL-6633 Fixed sharing of config and dbmeta caches by version
Configuring the config or database meta information caches to be shared by
version could lead to a notice and caches being over-shared regardless of
version.
This fix ensure that the version is properly loaded in early initialisation
situations when sharing has been configured to include version for these
two sites.
TL-6635 Fixed the formatting of exported columns in the Record of Learning: Certifications report
Removes the "overdue" and "X days remaining" warnings displayed on the
window opens and expiration date columns for exports of reports based off
the Record of Learning: Certifications source.
TL-6661 Fixed alphabetic ordering of user list when using 'Allocate spaces for team' page in a Facetoface session, when manager reservations are enabled
TL-6663 Fixed enforcement of required custom profile fields when self-registration is enabled and the registering user is currently logged-in as a guest
TL-6680 Improved display when adding a random quiz question to a quiz when using RTL languages
TL-6697 Fixed Facetoface custom rooms on session duplication
If you duplicated a Facetoface session with a custom room, the room was not
duplicated leaving you with 2 sessions using the same custom room. If you
then removed the custom room from one session it was deleted, breaking the
other session.
TL-6744 Fixed error message when adding linked courses to Learning Plan competencies or objectives
Contributions:
* Hugh Davenport at Catalyst NZ - TL-6576
* Rickard Skiold at xtractor - TL-6560
* Tom Black at Kineo UK - TL-6516
Release 2.5.28 (23rd June 2015):
==================================================
Security issues:
TL-6566 Improved XSS prevention checks when serving untrusted files in IE
TL-6576 Ensured Audience description is sanitised before display
Thanks to Hugh Davenport at Catalyst NZ for reporting and providing a fix
for this issue.
TL-6613 Improved validation of local URLs
Improvements:
TL-6358 Added config option to control the display of Hierarchy framework, type and item shortcodes
Previously whether Hierarchy shortcodes were displayed was defined in code.
This patch adds a new config setting under Advanced Features. If you had
previously made a customisation to the code (by setting constant
HIERARCHY_DISPLAY_SHORTNAMES in totara/hierarchy/lib.php to true) to enable
the display of Hierarchy shortcodes, you will need to re-enable the display
of shortcodes using the new configuation setting.
TL-6544 Changed certification Status strings in certification reports to better reflect the actual statuses
"Assigned" was changed to "Not certified"
"Completed" was changed to "Certified"
"Expired" and "In progress" were unchanged.
TL-6558 Improved scalability of query in course completion
This was causing a database error on some platforms due to an oversized IN
query with large data sets.
TL-6650 Changed program user assignments to defer large changes to happen on the next cron run
Previously, when saving changes to user assignments in a Program or
Certification, the new users were assigned when the save button was
clicked. This was causing pages to time out when assigning large audiences.
Now, the contents of the assignment tab are saved immediately but the users
are not assigned to the program until the next cron run occurs. On-screen
notifications have been added to indicate if pending assignments are
waiting for a cron run.
TL-6664 Improved the performance of Reportbuilder management pages
TL-6735 Added logging whenever activity completion is unlocked
Bug fixes:
TL-5978 Fixed inconsistent access control checks for Learning Plans
The behaviour has now been standardised throughout the code. Granting the
totara/plan:manageanyplan capability allows users to create and edit plans for any user.
Granting totara/plan:accessplan allows users to see and modify their own plans,
and allows staff managers to create and edit the plans of their staff.
TL-6222 Fixed courses incorrectly being visible in the Courses section of the Navigation block when using audience-based visibility
TL-6263 Fixed reaggregation of course completion
Course completion records would never be reaggregated on the cron run, if
the "Completion begins on enrolment" course setting was turned off when
course completion criteria were unlocked.
TL-6319 Fixed rules for dynamic Audiences based on a text input user profile/custom field being empty
TL-6374 Fixed Reportbuilder 'last/next X days' date filters
The 'Is between today and X days before/after today' filters were
internally using a specific date rather than a relative number, resulting
in saved searches not working as intended. This filter will now always be
relative to the date on which it is used. Existing saved searches have been
converted, but it is possible that some may be incorrect (although all were
wrong without this patch). We advise that users check that saved searches
which contain date filters have the intended values.
Note that any users that are logged in and using these filters during the
upgrade progress may need to log out and back in to see the correct values.
TL-6440 Fixed create/edit capability permissions for Programs and Certifications
TL-6516 Fixed resetting of Certification message logs when the recertification window opens
When the window opens it tried to delete message logs for the users manager
as well as the user even though the manager records were never created.
TL-6539 Fixed Program due messages being sent to users who have current exceptions
TL-6581 Improved handling of and recovery from missing Certification completion records
Due to various causes such as page timeouts, it is possible that some
certification completion records are not being created. This patch ensures
that the records are created when users access their certifications. A
check has been added to the certification cron task which will find any
users who are missing these records and will create them.
TL-6633 Fixed sharing of config and dbmeta caches by version
Configuring the config or database meta information caches to be shared by
version could lead to a notice and caches being over-shared regardless of
version.
This fix ensure that the version is properly loaded in early initialisation
situations when sharing has been configured to include version for these
two sites.
TL-6663 Fixed enforcement of required custom profile fields when self-registration is enabled and the registering user is currently logged-in as a guest
TL-6680 Improved display when adding a random quiz question to a quiz when using RTL languages
TL-6744 Fixed error message when adding linked courses to Learning Plan competencies or objectives
Contributions:
* Hugh Davenport at Catalyst NZ - TL-6576
* Tom Black at Kineo UK - TL-6516
Release 2.4.31 (23rd June 2015):
==================================================
Security issues:
TL-6566 Improved XSS prevention checks when serving untrusted files in IE
TL-6576 Ensured Audience description is sanitised before display
Thanks to Hugh Davenport at Catalyst NZ for reporting and providing a fix
for this issue.
TL-6613 Improved validation of local URLs
Improvements:
TL-6558 Improved scalability of query in course completion
This was causing a database error on some platforms due to an oversized IN
query with large data sets.
Bug fixes:
TL-6680 Improved display when adding a random quiz question to a quiz when using RTL languages
Contributions:
* Hugh Davenport at Catalyst NZ - TL-6576
Release 2.2.38 (23rd June 2015):
==================================================
Security issues:
TL-6566 Improved XSS prevention checks when serving untrusted files in IE
TL-6576 Ensured Audience description is sanitised before display
Thanks to Hugh Davenport at Catalyst NZ for reporting and providing a fix
for this issue.
TL-6613 Improved validation of local URLs
Contributions:
* Hugh Davenport at Catalyst NZ - TL-6576
