Version 9.1.209 (9 February 2026)
Performance Management
Resolved not being able to search for users on bulk actions (#143971)
Problem
- When a user is searched, a check is done to try and parse to an int for userIds. This then causes users with usernames with a valid type Number to be converted and not be able to return correct data, as the username is converted to type id, but not the user's id
Solution
- Change the code to make it of type string and search only on usernames
Corrected help file pageType (#144267)
Problem
- When retrieving a value, it selects the first one it matches, meaning it could be a shorter/earlier key; in this case, for this page type, it is true.
Solution
- Change check to decrease the length and the match
Implemented missing page routes and types for the Help Files (#144192)
Problem
- Missing page routes, so no page help file could be created and defaulted to the dashboard
Solution
- Added missing page help files
Resolved Job Grade Filter (#143971)
Problem
- Job Grade filter types are displayed instead of scales, as well as joining to the wrong data type for values
Solution
- Correct the dropdown to grading scales, as well as the query
Add calculated kpi weighted average field when exporting contract from printview (#142544)
Problem
- Request to add the KPI calculated weighted average to the export of the contract.
Solution
- Calculate the KPI weighted average when weighted over KPA during print preview of the contract. When weighted over setting, then the calculated kpi weight is the actual kpi weight.
Resolved data type on pre-recalculate score (#143988)
Problem
- Incorrect data type for decimal, so contracts with larger max ratings can not recalculate
Solution
- Corrected data type
Resolve issue where viewing documents on the KPA / Perspective level only showed the first KPI documents (#138511)
Problem
- When clicking on the view documents on the KPA or Perspective level, it only shows documents loaded on the 1st KPI.
Solution
- Corrected the reference filter to correctly check against which level to display documents
Data Warehouse
Created new DataSource cmFileTypeContents (#143697)
Problem
- A new datasource is required to store the different file type information
Solution
- Created new DataSource cmFileTypeContents
Created new table jpPeopleGroupRoles (#143862)
Problem
- The required permission data are required within the DWH
Solution
- Created a new table jpPeopleGroupRoles, within the DWH
Created new DataSource cmScormUploadFolders (#143697)
Problem
- A new datasource is required to store SCORM file details that are being uploaded
Solution
- Created new DataSource cmScormUploadFolders
Organisational Structure
Improvements to make org structure relationships more robust and prevent recursive operations (#144044)
Problem
- When a node references itself as a parent or a parent node references one of the children, then the entire system no longer loads.
Solution
- Updating recursive CTEs to build and check path information, adding new migration logic for path calculation, and enhancing data integrity by preventing circular references in both SQL and domain logic.
- These changes collectively improve the reliability and correctness of organisational hierarchy operations, ensuring accurate path calculations and preventing infinite loops or data corruption due to cycles.
Tenant Management
Resolve issue where a tenant having a subscription expiry date in the last month of the max date can no longer be edited (#144048)
Problem
Solution
- Modified the calculation to check that if at all within the last month, then take as the exact max value, else add the default extension periods.
Resolve issue where a tenant having a max subscription expiry date can no longer be edited (#144048)
Problem
- When the tenant subscription expiry date is the max date (9999-12-31), it can not be edited since the calculation adds 1 month to the expiry date in certain scenarios which causes date arithmetic overflows.
Solution
- Correct check that when the expiry date is equal to the max date, then don't add additional months/days.
Report Builder
Handle datetime2 in filters and remove quotes (#144059)
Problem
- When the date is selected, the built query breaks and returns no results.
Solution
- Updates the SQL functions and procedures in the ReportBuilder service to improve support for the datetime2 data type, ensuring that filters and operators handle it correctly and consistently.
- The main changes involve adding explicit handling for datetime2 fields and removing unnecessary quotes from filter values for this type.
People Management
Implemented new validation type for User Front-end registration (#143993)
Problem
- When new users are created, Id number validation is required as well as a duplication check.
Solution
- A recent development has added registration-specific validation, extended the functionality to the Product Setup for People Management (Self-Service) add dropdown where validation type can also be selected. Add a check to validate the user Id number if the validation type is set
Resolved appointment and line manager not being displayed on the modal from the dashboard (#143995)
Problem
- The appointment start date is never used for the appointment, neither being captured to set on the modal within react side.
Solution
- Implemented a change to select the end date and use the same logic as people management to set the displayed text for the appointment, as well as just capture needed fields in React to be set
Master Data
Reset input fields for Master Data (#143898)
Problem
- The "active" property is not passed to the controller when the save add new button is pressed.
Solution
- This is due to the active property not being reset; the value is only assigned when the user interacts with this button
Notifications
Resolved Import Error Event not propagating (#144022)
Problem
- Import Error Event Code set to not propagate, which is needed on other rulesets
Solution
- Corrected seed data and migration
Dashboards
Limit dashboard reportees to 500 and update UI (#139661)
Problem
- Team insight does not load when the manager has an excessive number of subordinates
Solution
- When a manager has more than 500 subordinates, limit the team insights to 500. Add tooltips to indicate the subordinate count and that some users do not display
People Groups
Fix incorrect table variable reference and possible undefined temp table reference (#136729)
Problem
- People group users were not correctly updating after doing a hard refresh. This happened because at the start of the query, the materialised people group users are put into a temp table. The actual DB table is then updated from the newest calculations (which is correct). At the end, before returning the result, it selects again from the temp table, which does not include the updates, resulting in the incorrect users being returned.
Solution
- Clear and repopulate the temp table after the db table is refreshed, ensuring it uses the original list of people group IDs it received originally and not the list of people group IDs that needed to be refreshed, which can differ from the list of people group IDs for which we need to return users