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 The footer buttons under more options have styling problems when the more options are shown.   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