Version 9.1.216 (23 March 2026) Performance Management Remove required asterisk from review survey import options on review year setup configuration (#144151) Problem Value survey import options are shown as required when configuring review year setup period options.    Solution Remove the required attribute from dropdowns.    Further styling adjustment for create contract modal (#145634) Problem Create performance agreement modal options that have additional padding at the bottom of each option. Found that the default 'option' class has recently gotten a specific height set (potentially due to package upgrades).   Solution Enforce a max-height on the options section of the create performance agreement modal.   Resolved Subordinate count (#145732) Problem Subordinate counts are done, but only a join from contracts is done, which causes users without a contract not to display the subordinate button if there are any    Solution Adjusted query logic to have a table with users and subordinate count    Fixed updating of check-in comments for admins (#145530) Problem The updating of check-in comments for admins was not working.   Solution Fixed the update functionality. The serverUrl did not match the controller method; an additional parameter was needed.   Resolved Subordinates not being shown and user agreements when impersonating a subordinate (#145732) Problem When a user does not have a contract yet, no calculation can be done to see if the user has any subordinates. When impersonating a subordinate to see their subordinates, you can access their incorrect agreement   Solution Correct the SQL query to join from users to ensure the count is done on users identified. Parse the param and handle the first selection when impersonating a subordinate   Resolve styling issue on performance agreement create modal (#145634) Problem Create performance agreement modal options that have additional padding at the bottom of each option.    Solution Enforce the correct height for options on the create performance agreement modal. Consolidated styling   Resolve styling issue on performance agreement create modal (#145628) Problem Icons on the dashboard timeline are misaligned and no longer display center of the timeline bar.    Solution Fix the alignment of icons on the timeline phase bars   People Management When the user does not have a name, surname or profile image, use the first three digits of the username for the avatar (#145610) Problem When the name, surname, initials and known as are not supplied and the user does not have a profile picture, the avatar displays empty or with a question mark.   Solution Use the first three digits of the username on the avatar.    Resolved text being displayed on tab open (#145614) Problem Change made to show text when the menu tab opens, but it shows immediately before the tab starts to open    Solution Add a delay to start showing text when the tab opens   Organisational Structure Resolved org structure not expanding on roles (#145942) Problem Missing logic on the tree view and node expanding within the people group modal    Solution Added implementation and missing events and structure to match that of the org structure, to allow expanding events and data to be loaded   Job Management Duplicate Appointments returning with API endpoint (#145514) Problem Duplicate Appointments are returning for the ListManagerSubordinates endpoint.   Solution Modified the Endpoint to only return active appointments.   Master Data Resolved DateTime Format issues on Master Data (#145790) Problem When using a datetime, it gets converted to a string, referencing a value as "2026-01-01T00:00", when the SQL is built up this is an invalid parameter and throws converstion errors   Solution Add a change to check for the type when it is of type string and DateTime, or DateTimeOffset, try to parse this value to then insert from a valid DateTime value   Event Scheduling Fix event name size on calendar view (#145626) Problem Seems that the default height of events on the Syncfusion calendar view has decreased, which results in the event name not properly fitting inside the event.    Solution Decrease the line height and make the font a little bit smaller    Fix Learning Management Empty who can book a large dataset (#145146) Problem If a user has no subordinates, but tries to book an event for others, the system attempts to return all users in a ruleset, causing the system to hang   Solution Return no results if there are no subordinates to book for    Learning Management Resolve issue where snack message is not displayed when saving attendance (#145804) Problem The snack message to indicate that the attendance save was successful or failed is never displayed, leading to confusion on the user side as there is no indication that anything happened.  Also, the reload fails because the snack is not being displayed/errored.  Appears that the global snack function is not getting injected into the spa-minimal page when the page is called directly; other global references like axios work fine.    Solution Added a safe handler to check if the global snack function exists and use it; if not then it falls back to the SnackBar, which is injected on the minimal layout and is available to use.   Imports Correct username changes based on id numbers. Correct the creation of new country master data (#145663) Problem The usernames are not updated from idnumbers and new users are created. New country and province master data fails to create    Solution Correct the logic to query the users with matching id numbers for updates. Correct the contructor creating new master data for province and country.   Data Warehouse Added PAYU Tables (#144877) Problem Tables accPAYUSummary and accPAYUDetail are required within the V9 DWH   Solution Added tables accPAYUSummary and accPAYUDetail   Resolved errors for ContentManagement_ETL (#143697) Problem SQL Errors occurred for cmFileTypeContents due to not referencing the staging table correctly The IF check for creating tables for cmFileTypeContents also generated SQL Errors   Solution Resolved the errors for cmFileTypeContents within ContentManagement_ETL.dtsx and CreateTables.dtsx   Dashboards Replace Highcharts with chart.js in V8 (#143430) Problem Highcharts is outdated, and the renewal is too high   Solution Chart.js is already used in V8; replace Highcharts with Chart.js First, determine the impact and provide a more accurate effort before continuing with changes   New Functionality Requisitions via the ChatBot (#135118) New People Admin Permission, Request Requisitions/Replacements Added a new permission for the additional section of People Management, and displayed this new permission in the frontend   As a People Admin/Manager, I want to initiate new requisitions from the People Management module Add new logic to determine if the logged-in user has the Request Requisitions permission. If they do, then the corresponding button with the redirect (User Story 4) will appear in the People Management module Next to the + Person Button   As a People Admin/Manager, I want to initiate a replacement from the People Management module Added additional functionality to determine if the logged-in user has the Request Requisitions permission and then display the button, which will redirect the user to the Chatbot   As a System Owner, I want a New API End-Point: List of Users in Specified Org Units Add a new API endpoint which returns a list of users in a specific org unit and only returns the requested columns   As a System Owner, I want a New API End-Point: People Reporting to Add a new Endpoint which uses managerUsername to get the ID of the manager in the system, then gets a list of subordinates of that manager   As a System Owner, I want a New API End-Point: Users with Specified Jobs Add a new API endpoint which returns user information based on multiple search criteria.   Job Management: Re-activate positions marked as Inactive (#139481) As a People Management Administrator, I want to be able to re-activate a previously marked inactive position so that I can re-use it for future appointments. As a People Management Administrator, I want to be able to set the status of each position (e.g., Planned, Budgeted, Unapproved, Approved), so that I can generate categorized reports for better workforce planning. As a People Management Administrator, I want to be able to define the validity period of each position (e.g., Valid From and Valid To), so that I can track position timelines. Helper text must show that it is for future use as well.  As a People Management Administrator, I want to be able to specify the Minimum and Maximum Budget for each position, so that I can analyze and report on budget allocations across positions. As a People Management Administrator, I want to see the newly entered data on the Job Management page where all the positions are summarized.