Version 9.1.192 (3 November 2025)
Dashboards
Main Dashboard: Disabled Widgets not Available to Enable (#138926)
Problem
- The widgets which were set to inactive do not show up on the manage widgets page. This makes it impossible for managers to activate a widget again.
Solution
- Passed null for the active property to ensure all widgets show; this allows admin users to toggle inactive widgets back to active. Please Note: - This logic does not affect the main dashboard frontend; only active widgets are displayed there.
[Main Dashboard][Custom Dashboard]: When 1 button is specified the system does not span the full width (#138308)
Problem
Solution
Job Management
An error occured during an import (#137904)
Problem
- On some cases, data received from Sage has empty appointment data in which the code logic handles this as a new appointment. To do this, it terminates the previous position
Solution
- Implement a pre-import step to try and update the user appointment details from an active appointment
Exports
[Imports][Admin User][Export Errors] When error log is exported, wrong file is downloaded (#137754)
Issue 1:
Problem
Solution
- Implement a fix to correct the href
Issue 2:
Problem
- Development that was implemented to automatically download once an export has been made was only implemented on imports, as well as the query that always only took the last export file, regardless of selection
Solution
- Extend SignalR to include a new message with an action URL that will be called upon receipt.
[Exports] Import error and Validation reports generated twice (#138132)
Problem
- An event handler is attached to the document button click event, but not detached first, which causes multiple triggers
Solution
- Remove the event handler before adding a new one
Data Warehouse
Create raw data data source for logins (#138394)
Issue 1:
Problem
- Fields ReasonForCalibration and 360EvaluationScore are required within DWH
Solution
- Added field ReasonForCalibration within pdmContracts, pdmContractPeriods and pdmContractSurveys
- Added field 360EvaluationScore within pdmContractSurveys
- Added field OverallFinalRatingScore within pdmContracts
Issue 2:
Problem
- Some fields are not required within accUserLogins, as it only needs to return the raw data
Solution
- Removed unnecessary fields from accUserLogins that are not raw data related
Report Builder: Join the People and Learning Management Datasources (#138311)
Problem
- New DataSourceJoins are required between People - and Learning Management
Solution
- Added new DataSourceJoins between People - and Learning Management
Training Matrix - Refresh (#138477)
Problem
- All the data within the lmEmployeeTrainingRequirementsMatrix would be truncated due to the Date Filter that was added within the Insert Query Step
Solution
- Adjusted Delete to only delete records within the lmEmployeeTrainingRequirementsMatrix if it exists within the Staging table
New Scorecard Status Report | Unapproved Score (#138289)
Problem
- The field FinalScoreBeforeApproval returned the results without taking PerformanceMaxRating into consideration
Solution
- Adjusted field FinalScoreBeforeApproval to include PerformanceMaxRating
Performance Management
[PM] [Review Setup] [Templates] Unable to import templates when VB and LB sections are enabled (#137921)
Problem
- With the new sections being able to be imported for templates, when a client has a different translation for that section name, it throws an exception as the backend could not map get the correct enum value as it was not parsed in the validation checks
Solution
- Add a change to map back from the translation to the correct enum section to be handled and updated correctly in the backend
User get logged out (#138398)
Problem
- The system’s lock and idle warning logic caused repeated warning modals and incorrect lock behaviour. Clicking “Continue” did not properly refresh the lock, and navigating into or away from a resource could leave it incorrectly locked or unlocked. These issues were caused by mixing lock acquisition, idle checks, and timers, leading to stale state being used and cleanup logic interfering with new sessions.
Solution
- Separate the idle warning logic from lock acquisition so the warning only appears when the lock is truly near expiry, and ensure clicking “Continue” refreshes the lock without resetting it. Unlock the resource on navigation or unmount only if the lock is actively held and not already being released, preventing conflicts with new sessions. Maintain a single source of truth for the lock state so timers always operate on up-to-date information. This ensures predictable locking, proper idle warnings, and safe unlocking when leaving a resource.
[PM] [Review Setup] Sanitise Name and Description text fields (#137277)
Problem
- Input text is not sanitised when adding special characters, and the encoding is displayed
Solution
- Make use of the newly implemented control
[PM] [Dashboard] Mapping descriptions shown for all periods if only one has been enabled (#137916)
Problem
- When a mapping item has been configured for only a certain period, when there is none for another period, it shows no rating, as a check is done if there are only mappings and not mapping specific to that contract period
Solution
- Add a change to the method to determine the mapping to extend and return if there was a mapping identified
[PM] [Agreement] [Action Plans] Action Plan items from deleted contracts displayed when you copy from a previous year (#138337)
Problem
- Action plan items of deleted contracts get retrieved to be listed for copy selection
Solution
- Add a check to the query to exclude deleted contracts
[PM] [Agreement] [Action plan] Cannot tag an Action plan item in a message to the person (#138144)
Problem
- When clicking the tag message for the communication chat, the action plan item is not being displayed
Solution
- Correct the value being retrieved and sent through
[PM] [Review Setup] [Templates] Unable to import templates when VB and LB sections are enabled (#137921)
Problem
- New validation was implemented to allow key components and stretch targets, and validation was done for valid sections, but preview sections were not included hence why it threw the error
Solution
- Add section names for validation check
Year dropdown is not populated on the moderation screen (#138651)
Problem
- The retrieval of active review years for Moderation takes too long
Solution
- Add missing filters for PM Materialised People Group users
Imports
Missing Employee and Leave Approval Issue (#138345)
Problem
- Payspace pull fails when users without reporting lines exist for the users with the same username being pulled from Payspace
Solution
- Updated manager data selection logic to safely handle null ReportingLines and ManagerUsername values, ensuring exported manager lists are never null and usernames default to empty strings if missing.
Change V9 PM 360 Evaluation Scores Import To Use Alternate Calculation (#138498)
Problem
- The scores shown on PM for value surveys that were imported from Employee Evaluations differ to the scores when viewed on the 360 Manager / Employee Reports. This is because 2 separate calculations are done, which return two different answers.
Solution
- Change the 360 Survey scores SP to do the same calculation as is done on the 360 Manager / Employee Report
HR Processes
[HR Process][End User][Search] Unable to search for multi-word phrase (#137367)
Problem
- When searching multiple words a space is inserted in which when sent through the query is not encoded which throws the words after the space away
Solution
- Encode the search term before sending through
Ruleset Management
Help File Migration (#134427)
Problem
- Migrate large user guides from production to be deployed to all clients.
Solution
- Introduces a PowerShell script for exporting user guide upsert statements and adds a new Entity Framework migration for seeding user guide data in the Account service. These changes support improved management and deployment of user guide content.