Skip to main content

Version 9.1.247 (27 July 2026)

Identity & Authorisation

Error when clicking on the Not yet registered? link (#153319)

Problem

    Error when clicking on the Not yet registered? link 

     

    Solution

      This happened due to a SQL query which was not properly formed, leading to an extra double quote " in the query 

       

      Added functionality for v9 pages to open on the mobile app using a token (#138802)

      Problem

        When a v9 page is opened from within the Mobile Learning App, the user is directed to the login page instead of automatically logging the user in like with v8 pages.

         

        Solution

          Added support for an authorisation header.

           


          Content Management

          Prevent SVG uploads in all image resource areas (#143842)

          Problem

            SVG files could still be selected in some image upload areas after the earlier update, especially when older saved settings were still in use. This left a way to upload a file type that should be blocked for security.

             

            Solution

              SVG has been removed wherever image upload options are available, and uploads are rejected if an SVG is submitted directly. Existing saved settings can no longer make SVG selectable. Image types are also kept consistent for badges, banners, and avatars.

               

              Block SVG uploads for badges, avatars and rich text images (#143842)

              Problem

                Across the product, SVG image files are meant to be disallowed because they can carry hidden active content. However, the image settings for badges, avatars and rich-text-editor images still listed SVG as an accepted file type. This meant SVG files could be uploaded in those areas, leaving a gap that the rest of the system does not have.

                 

                Solution

                  SVG has been removed from the list of accepted file types for badge, avatar and rich-text images. These areas now only accept standard, safe image formats (PNG, JPG/JPEG, GIF, and TIFF for rich text), bringing them in line with the rest of the application and closing the upload gap.

                   


                  Imports

                  Add ID column to notifications import table (#153003)

                  Problem

                    Request to display the Import ID on the imports details screen, making debugging and support easier

                     

                    Solution

                      Add an ID column to the notifications import table

                       

                      Ensure results on ListUserPeopleGroups APIs are not filtered based on empty usernames (#153216)

                      Problem

                        When V8 bulk processing requests all user people groups, it requests the username as an empty string in the array. This then causes the import to not receive any data

                         

                        Solution

                          Add a measure in V9 to remove all empty usernames and return all data when only an empty string is received

                           


                          Ruleset Management

                          Ensure the pill is not fixed to its position to fix overflow issues (#152442)

                          Problem

                            Display issue when on the Integrations tab and the system menu is pinned. The integrations menu (General, Content Server and Payroll) overlaps with the content to the right of it. 

                             

                            Solution

                              Make the pill position absolute and not fixed to fix the overflow issue 

                               

                              Corrected ruleset deletion on master data items (#143128)

                              Problem

                                The generic ruleset delete script was also identifying parent tables without a RulesetId column for deletion. In the MasterData database, this caused shared metadata tables such as [MasterData].[Tables] to be included because ruleset-specific child records reference them by keys like TableId.

                                 

                                Solution

                                  Exclude the MasterData schema from the parent-table delete discovery where the parent table has no RulesetId. Also ensure backups only filter by RulesetId when the target table actually contains that column; otherwise, back up the full table using @RulesetId = 0.

                                   

                                  Extend error logging and add ruleset creation master data for the communication portal (#152171)

                                  Problem

                                    When errors occur during ruleset creation, critical details are not logged for support. Master data is not copied for the communication portal to the new ruleset

                                     

                                    Solution

                                      Introduce integration of the Communication Portal service into the ruleset creation workflow, ensuring that ruleset setup is coordinated across all relevant services. It adds a new gRPC endpoint for anonymous ruleset creation in the Communication Portal, updates the Account API to call this endpoint, and improves error logging throughout the ruleset creation process. Additionally, it includes internal refactoring and new command handlers for copying master data. These changes ensure that the Communication Portal is now a first-class participant in ruleset provisioning and that error information is more complete across the distributed setup process.

                                       


                                      Notifications

                                      Ensure EditedBy reflects logged-in username by passing in session username as parameter (#152025)

                                      Problem

                                        We currently don't store the details of the user that triggered a notification. This is important to know for notifications like the passwords reset and welcome notifications.

                                         

                                        Solution

                                          Ensure EditedBy reflects the logged-in username by passing in the session username as parameter

                                           


                                          Communication Portal

                                          Implemented archiving for elapsed system alerts (#151781)

                                          Problem

                                            When system alerts have elapsed, the recipient alerts must be archived 

                                             

                                            Solution

                                              Add a Quartz job that runs every 1hour that updates all the recipient alerts if the system alert has elapsed

                                               

                                              Implemented persistence state for slitter and returned unread discussions first (#153049, #153091)

                                              153049

                                              Problem

                                                Splitter position is not remembered

                                                 

                                                Solution

                                                  Request to implement a change to remember the position of the splitter as the user drags 

                                                   

                                                  153091

                                                  Problem

                                                    Unread discussions are not brought back first, which means on many discussions if over page size it does only come up when searching for

                                                     

                                                    Solution

                                                      Created a change to return unread discussions first

                                                       

                                                      Resolved New container overlay (#153090)

                                                      Problem

                                                        Difficult to hover on the plus to get access to the new 

                                                         

                                                        Solution

                                                          Change the styling and event listeners to ensure that it is easy to open the overlay and select an item

                                                           


                                                          Data Warehouse

                                                          Added field BookingStatus within lmEventScheduleAttendees (#151434)

                                                          Problem

                                                            Field BookingStatus needs to be added for lmEventScheduleAttendees

                                                             

                                                            Solution

                                                              Added field BookingStatus within lmEventScheduleAttendees

                                                               

                                                              Created cleanup Data Dictionary script (#151627)

                                                              Problem

                                                                Data Dictionary entries need to be deleted that are not linked to Tenant 1

                                                                 

                                                                Solution

                                                                  Created Data Dictionary cleanup script to remove entries that are not linked to Tenant 1

                                                                   

                                                                  Added check for accUserLoginStats within DWHDataIntegrityReport (#142732)

                                                                  Problem

                                                                    accUserLoginStats needs to be added for DWH weekly integrity report check

                                                                     

                                                                    Solution

                                                                      Added a check for accUserLoginStats within monGenerateDWHDataIntegrityReport

                                                                       

                                                                      Problem

                                                                        New field LastRefreshedDate needs to be added - Integrity check needs to be added for accUserLoginStats

                                                                         

                                                                        Solution

                                                                          Added new field LastRefreshedDate - Added Integrity check for accUserLoginStats to ensure the entries are being added as expected for the first of each month - Corrected Live DB Server name for V8 accUserLoginStats calculation

                                                                           

                                                                          Added step for cmScormFolder_Staging to update CompanyCode (#151058)

                                                                          Problem

                                                                            The insert for cmScormFolderUploads did not work as expected due to the join for CompanyCode not matching for cmScormFolder_Staging

                                                                             

                                                                            Solution

                                                                              Added a step for cmScormFolder_Staging to update CompanyCode for the join for cmScormFolderUploads to work as expected

                                                                               

                                                                              Added new SSIS Packages to the monitoring report (#142737)

                                                                              Problem

                                                                                New SSIS Packages need to be added to the DatawarehouseJobResultsReport

                                                                                 

                                                                                Solution

                                                                                  Added new SSIS Packages CommunicationPortal_ETL.dtsx and ContentManagement_ETL.dtsx within DatawarehouseJobResultsReport

                                                                                   

                                                                                  Added step to remove archived entries within lmStudentSubjects (#152973)

                                                                                  Problem

                                                                                    With each DWH run, previous entries for lmStudentSubjects are not removed due to records not having YearID

                                                                                     

                                                                                    Solution

                                                                                      Added step to remove archived entries within lmStudentSubjects

                                                                                       


                                                                                      Job Management

                                                                                      Ensure description displays on modal (#151675)

                                                                                      Problem

                                                                                        Description displays 'true' on modal, instead of the saved description

                                                                                         

                                                                                        Solution

                                                                                          Change JavaScript so the description displays on the modal

                                                                                           

                                                                                          Resolved People Group Role Permission overrides (#152827)

                                                                                          Problem

                                                                                            Editing a user’s existing people-group link to enable permission override created a new custom role link but left the original non-overridden link in place. An earlier attempt to fix this in the API link handler was too broad and caused normal linking of additional roles to be replaced unintentionally.

                                                                                             

                                                                                            Solution

                                                                                              The fix was narrowed to the actual edit flow. Normal LinkUserPeopleGroupRole behaviour remains additive, with only exact duplicate links prevented. When editing an existing user people-group link and switching it to override permissions, the UI now carries the original UserPeopleGroupRoleId; the system creates or updates the custom override role, links it, and then unlinks only that original row. This preserves standard linking behaviour while ensuring an overridden link does not leave the old base link behind.

                                                                                               

                                                                                              Resolved Reporting Lines not pulling through on Edit Appointment (#152476)

                                                                                              Problem

                                                                                                The Editor View is being generated with a Blank Liens ViewModel even if there is data

                                                                                                 

                                                                                                Solution

                                                                                                  Add a check: if there is a userId given, pull the reporting lines to be displayed

                                                                                                   


                                                                                                  People Management

                                                                                                  Resolved: User not being materialised after frontend addition (#152930)

                                                                                                  Problem

                                                                                                    When a user has been added from the frontend, the user is then replicated to the read-only database, but during this, a call has been made to materialise the new user based on appointment. If the user has not replicated yet and materialisation triggers first, no user is materialised to all people 

                                                                                                     

                                                                                                    Solution

                                                                                                      Add a wait operation method to ensure all the requested users are replicated to materialised read-only users before executing the people group materialisation

                                                                                                       


                                                                                                      Learning Management

                                                                                                      Prevent duplicate subject cycles (#152166)

                                                                                                      Problem

                                                                                                        When setting up a subject, the same cycle could be added more than once. This could leave a subject with duplicate terms.

                                                                                                         

                                                                                                        Solution

                                                                                                          The cycle list now excludes cycles already assigned to the subject. Saving also prevents duplicate cycles from being created if an outdated page or another request tries to submit them.

                                                                                                           


                                                                                                          Report Builder

                                                                                                          Corrected default font on report export (#152899)

                                                                                                          Problem

                                                                                                            The default font on report builder export is incorrect.

                                                                                                             

                                                                                                            Solution

                                                                                                              Corrected the default font.

                                                                                                               


                                                                                                              Performance Management

                                                                                                              Reset the modal each time it opens and load KPI pages in a consistent order so “Load More” adds only the next set of items (#152620)

                                                                                                              Problem

                                                                                                                The KPI library “Load More” list reused old modal data and loaded later pages in an order that caused repeated items.

                                                                                                                 

                                                                                                                Solution

                                                                                                                  Reset the modal each time it opens and load KPI pages in a consistent order so “Load More” adds only the next set of items.