Version 9.1.228 (25 May 2026)
Data Warehouse
Updated SSIS Packages to align with new Materialised changes (#142737)
Problem
- The package fails currently due to new Materialised changes
Solution
- Updated packages JobProfiler, PerformanceManagement and LearningManagement to align with the new Materialised changes
Resolved Insert Step for jpEmploymentHistories (#142737)
Problem
- The insert step for jpEmploymentHistories did not work as expected due to swapped alias names
Solution
- Resolved issue where no new entries were added for EmploymentHistories due to incorrect alias names with the DWH Insert step for jpEmploymentHistories
Added new user within DWH Email Scripts (#142737)
Problem
- A New Signify user needs to be added to the DWH Email Scripts for monitoring purposes
Solution
- Added a new user within DWH Email Scripts
Added new field Comment within pdmContractSurveys (#148377)
Problem
- New field Comment needs to be added within the datasource ContractSurveys
Solution
- Added a new field Comment within the datasource ContractSurveys
Updated Insert scripts for accUserLoginStats (#142732)
Problem
- The #UserLoginDays step for accUserLoginStats needs to be moved for backlog calculation purposes
Solution
- Updated Insert scripts for accUserLoginStats by moving the #UserLoginDays step
Added the latest DWH Package to the DWH Package Backup folder (#143176)
Problem
- The latest DWH Package backup needs to be added to the repo
Solution
- Added the latest DWH Package to the DWH Package Backup folder
HR Processes
When retrieving an active appointment on request submission, only check dates and not the termination reason (#148724)
Problem
- An error is displayed when a previously terminated employee is reinstated and set as an approver again
Solution
- When retrieving an active appointment on request submission, only check dates and not the termination reason
Performance Management
Retrieve position titles from id's on the Review Period on the Recalculate screen (#148520)
Problem
- Error when selecting Review Period on the Recalculate screen
Solution
- This happened because the position title was not part of the read-only appointments table. Query now returns position id's, which are used to retrieve titles from webmvc
Fix contract footer buttons styling (#148065)
Problem
Solution
- Adjust the styling to ensure the button text always stays centred and the buttons don't misalign
Add Mandatory Survey Comments and Setting (#148262)
- US1: New setting added to specify whether Review Survey (review item) requires mandatory comment
- US2: When capturing/editing Review Survey, check if setting enabled and set require comment functionality.
- US3: On contract print view added survey comment.
- US4: Survey comment should show as a tooltip. Added an icon below the gauge since it cannot handle multiple tooltips over the same element
Ruleset Management
Added Passport to the user replication table (#148726)
Solution
- Added passport to replication and updated queries
Job Management
Subordinates being returned for inactive reporting lines (#146928)
Problem
- `ListManagerSubordinatesSimplified` returns subordinates for inactive reporting line types instead of rejecting the request.
Solution
- Fetch active reporting line types for the current ruleset via `ListReportingLineSetupAsync` and filter the requested `managertypes` against them.
- Throw `StatusCode.InvalidArgument` (not `NotFound`) when all requested types are inactive, with a message that names the offending types: ``` The requested reporting line type(s) [1, 2] are not active for this ruleset ```
API
Exposed v9 function to v8 and added functionality to use clientId to get rulesetId (#148366)
Problem
- The integration api does not have access to whether the mobile app is enabled for the ruleset.
Solution
- Expose the function that fetches the mobile app setting to the integration api.
- Also added functionality to use the clientId to get the rulesetId since the integration api does not have access to the rulesetId.
Notifications
Implement quartz schedules for notification schedules (#147877)
Problem
Solution
Adding a clear button toggle after search term restore (#148307)
Problem
- After searching for an email/SMS template and opening it, returning to the list (via Back or Cancel) restores the search term, but the Clear search icon is not displayed.
Solution
- Updated the search control to correctly toggle the Clear search icon when restoring a search term, ensuring it is visible if a search term is present.
Migrate V8 SMS sending to V9 (#135406)
Problem
- When sending SMS in v8, using V10 requires additional zoom setup and credits. The SMSs sent for V10 are not consolidated on V9's statistics, making it difficult to see an overview and manage from a single platform
Solution
- In V8, when an SMS message is sent to Zoom Connect, rather send it to the new V9 API endpoint as with the V9 email endpoint, so that the actual sending is handled by V9.
- The SMS schedules and templates remain on V8; only the actual sending should be moved to V9
Master Data
Include Identity API in GetMasterDataClientWithoutInterceptor (#148163)
Problem
- The system infinitely loads the Data within the Section "Master Data" on Translations
Solution
- Include the Identity API in GetMasterDataClientWithoutInterceptor, so that the calls do not fail
SSO
Use a consistent username for URL and Security Key (#148159)
Problem
- The username used in the URL, and the one used when generating a Security Key were different, which caused issues when usernames changed, and the cache was busted
Solution
- Use the same new username for both the URL and the Security Key generation
People Management
Moving profile picture upload functionality to the save button (#148106)
Problem
- When uploading a new profile image and clicking Save, the image is not saved. The image is only saved if a compression option is selected.
Solution
- Updated the save process so that the profile image is uploaded and saved when clicking Save. Selecting a compression option now only updates the preview and determines which version of the image will be saved.
Removing tab reset when changing from card to grid view (#147905)
Problem
- When switching to Grid View while on the Terminated tab, the page switches back to the Active tab. The selected tab should remain unchanged and continue displaying terminated employees.
Solution
- Updated the view change logic to preserve the selected tab when switching views.
Updating the input for image upload to look the same as document upload (#148107)
Problem
- Uploading a profile picture in People Management uses a standard file input, which is not consistent with other file upload components in the system.
Solution
- Updated the profile picture upload to match the look and feel of the document upload components in People Management, ensuring a consistent user experience
Default 'Keep Position Active' to true (#148226)
Problem
- Keep Position Active defaults to false when terminating employees
Solution
- Default 'Keep Position Active' to true
ListManager Subordinates returns future-dated employees (#146082)
Problem
- The list manager subordinates endpoint returns future employees.
Solution
- Add the missing check to ensure the Start date is before the day the API was called.
People Groups - 2. Immediate Materialisation of users after affecting action (#145471)
Problem
- When information is changed that affects the people in the people group, the specific people are not added or removed from the people group without recalculating the whole people groups
- Areas that trigger this action
- Appointing a new person
- Transferring a person to a new position
- Terminating a person
- Moving an org node to another node
- Changing the job grade on a job profile
- Changing the manager of a person
Solution
- Immediate Materialisation:
- The changes to linked conditions to people groups will do an initial calculation to determine the people groups affected
- The conditions to evaluate are Org, JobProfile, JobGrade, People, Custom Conditions
- Add a new command in job profiler-MaterialisePeopleGroupUsers- Consider splitting this into separate commands per type of immediate materialisation.
As an End-user and Administrator, I only want my Known As Name displayed (Should I have a Known as name) so that my preferred name is visible and used throughout the People Management module. (#142749)
Problem
- As an End-user and Administrator, I only want my Known As Name displayed (Should I have a Known as name) so that my preferred name is visible and used throughout the People Management module.
Solution
- Adding a helper that generates names and extended tooltip names based on given rules.
- Using the helper on people management to get proper names and tooltips in the view models.
- Adding newly generated name and new tooltip to the following locations:
- Landing Page -> My Profile
- People Management -> My Team
- People Management -> My Department
- People Management -> My Company
- People Management -> View / Edit People -> Card View
- People Management -> View / Edit People -> Grid View
Identity and Authorisation
Fixing lockout modal not opening issue (#148363)
Problem
- When a Tenant reaches or passes its close date and is configured to lock, users are correctly prevented from logging in to the ruleset. However, no message is displayed to inform the user that access has been locked.
Solution
- Updated the modal trigger logic to align with the MDB modal implementation, ensuring the lock message is displayed when login is blocked. Users are now shown an appropriate message explaining that the system has been locked.
Imports
Updated Event Scheduling import templates to contain "Rules" sheet (#148487)
Problem
- The old templates did not have the "Rules" sheet.
Solution
- Added the templates with the "Rules" sheets