Version 9.1.215 (4 March 2026) Performance Management Resolved PM contract not being shown (#145475) Problem SQL query column name is incorrect, not being able to map, and also a wrong check for having any mappings    Solution Corrected column name, and corrected logic check   Resolved check-ins dial active on Dashboard within PM Widget (#145475) Problem Check-In Dial is being displayed on the dashboard widget even if the phase is set as inactive   Solution Adjusted the query to include the check and updated the dashboard to parse the value   People Management Corrected function call on row to replace placeholders for document preview (#145642) Problem Cannot continue to preview the template document. Cannot continue when creating a document for a user Cannot continue after signing a document    Solution This pull request includes several updates focused on improving user interface accessibility, permission handling, and code modernisation for modal dialogues and table iteration in the People Management and Document Creation modules   Fixed KnownAs and Name displaying for LineManagers/Primary and Secondary Guardians (#145448) Problem The Name and KnownAs is displayed for the LineManager's (OR Guardian's) name on a person's profile.   Solution Changed the logic so it displays the Known As if it is populated, else the Name, also removes surname if surname is already added to KnownAs field (some clients have it set up like that)...   Ruleset Management Resolve issue where tenant details do not list ruleset details (#145689) Problem When creating a new tenant/ruleset, the default theme is copied from the source ruleset and is linked to the source theme's tenant ID.    Solution When a ruleset is created, and a new tenant ID is provided, ensure that the ID is used, not the source ruleset's tenant ID.   Resolved text only visible after menu fully expanded (#145614) Problem The span text within the side menu is only shown after the side menu is fully expanded   Solution Added a change to set the opacity of the span once it starts to expand, as well as no transition, so that the text is visible immediately   Resolved Page Help not being able to create new page files (#145680) Problem When creating a brand new user guide on a page that has no guide, a case can exist where only section 1 is filled in and not all the other sections. With the logic check, this then fails    Solution The additional empty string check is not needed as the new id is already null, so need to create a new guide   Event Scheduler Handle null LocationInOrg in OrganisationalUnit field (#145023) Problem Request fails if the OrganisationalUnit is null in the query    Solution Ensure OrganisationalUnit is never null by using the null-coalescing operator to default to an empty string when x.LocationInOrg is null.  This prevents potential null reference issues.   Resolved Learner records not being created (#145571) Problem When learner records need to be created, no endpoint is hit   Solution Corrected the URL build to include the slash, as the base URL is without the forward   Resolved case where attendees could not be removed (#145593) Problem There is a min and max number of attendees that can be set. This validation is used for adding and removing users, but when you want to only remove a user this still gets validated    Solution Add a validation check to ensure the rule is only applied if the number of attendees to add is not 0   Resolved delete modal being able to delete with no reason filled in (#145594) Problem When deleting a group on Who Can Book, you can interact with the delete even if there is no reason filled in    Solution Corrected the logic to pass the value check if there is a reason filled in   Job Management Resolved Org Unit people group role additions/removes (#145664) Problem When removing an org unit people group role, it works as expected. If we want to re-add a role to an org people group, this people group already exists, which throws the method and can not proceed to then create the link   Solution Adjusted/corrected logic to only create the people group if it does not exist, else proceed to create the link with the people group identified   Resolved Appointment history active position not on top (#145442) Problem Default data-sort properties are overriding the code filter to show the correct display order   Solution Remove the data-sort properties, as that is user interaction afterwards    Learning Management Removed height that causes large cards (#145714) Problem Style added of h-100, which causes the card to grow to a certain height.   Solution Removed h-100 so that the card can grow as the content expands, and not force the height   Resolve height issue on Syncfusion grid toolbox control (#145434) Problem The training matrix grid controls' toolbox height is too big.   Solution Resolve height issue on the Syncfusion grid toolbox control by adjusting height styling for the toolbox   Fixed Attendance History duplication (#145571) Problem Duplicated records on attendance history   Solution Resolved the issue by paging by user instead of attendance records   Imports Reverted one endpoint for Last Sync (#145052) Problem Development was done for the last sync changes. V8 development is still within Victrix, on V9, this causes the import of the one does fail   Solution Added an additional endpoint to allow for backwards compatibility   Identity and Authorisation Resolved autocomplete input fields labels overlap text (#145431) Problem When the form is auto-complete, the textbox label is still overlapping the input text; only after focusing on the textbox does it trigger the label to move   Solution Added event after dom content loaded to load and apply the needed styling on the element to move the label, should there be content   Content Management Handle 404 on upload by creating missing folders (#145218) Problem Users were experiencing issues uploading files to NextCloud, receiving a 404 error. This indicated that the system could not find the necessary folder to complete the upload   Solution Implemented a new catch that will automatically create any missing folders when a 404 error occurs.