Skip to main content

Version 9.1.237 (15 June 2026)

Job Management

Request a job structure import on the creation of a new job profile or position. Standardise the Save of profile and position. Return job profiles without positions when syncing job structure to V8 (#151154)

Problem

Problem

On creation of a new job profile or position a job structure import to V8 is not run. On saving the position of the profile, the behaviour is not the same. 

 Solution

Solution

Request job structure import on creation of a new job profile or position. Return all job profiles, even if they already have a position linked to them or not. Change Save behaviour to be the same for a job profile and position (save, redirect and display created successfully)

 

Force refresh after copying a job position (#151286)

Problem

Problem

The Job Profile's page requires a refresh to show the newly added position

 Solution

Solution

Use a table reload to ensure it shows.

 

Resolved error where the user was not able to add an org if the org code was deleted previously (#151120)

Problem

Problem

When a user imports or adds an org on the front end that has the same code as an org that was previously deleted, the org does not get created.

 Solution

Solution

Updated the index on the table to exclude deleted orgs. Updated the queries to exclude deleted orgs.

 


Report Builder

Fix sub report not returning data (#151337)

Problem

Problem

The count shows a load indicator, but no raw data pops up. This happened due to the report filter criteria being built incorrectly, which resulted in an empty result set. 

 Solution

Solution

Ensure the filter criteria are generated correctly. 

 

Ensure report view table data is left-aligned (#151519)

Problem

Problem

Column contents centre or right aligned

 Solution

Solution

Ensure the report view table data is left-aligned 

 

Ensure only active sub reports are included when exporting (#151465)

Problem

Problem

When exporting a report, it also includes deleted sub-reports 

 Solution

Solution

Ensure only active sub-reports are included when exporting a report 

 


Performance Management

Updating displayed error message (#151340)

Problem

Problem

When adding a document link, users only receive a generic "Invalid document link" message.

This does not clearly indicate whether the URL format is invalid or whether the domain is not included in the approved whitelist. 

 Solution

Solution

Added client-side URL format validation to verify that the entered value is a valid URL before submission.

Invalid URL formats will continue to display the "Invalid document link" message.

If the URL format is valid but the domain is not whitelisted, the system will now display the more specific validation message returned by the server, providing clearer feedback to the user.

 

Exclude inactive Master Data items from new contract creation (#147678)

Problem

Problem

When section items are made inactive onin Master Data, they still display asappear linked to review setups,setups. and whenWhen creating contracts from this setup (or copied from a template, or previous), the inactive items are created on the new contract, causing errors during creation since the inactive Master Data cannot be retrieved.

 Solution

Solution

Ensure that inactive items are excluded when viewing the Review Setup and when copying/creating a contract.

 

Resolve bug where Check Ins comment label overlaps typed comment (#151030)

Problem

Problem

When typing a comment into the Check Ins modal, after the text area loses focus, the label overlaps the typed text 

 Solution

Solution

Replace the default HTML textarea with MDBTextArea, which handles the floating label state automatically.

 

Resolve the issue where a user without a performance manager cannot create a contract (#151445)

Problem

Problem

User's that do not have a Performance Manager cannot access PM to create their contracts. They should be able to create the contract, but not be able to submit objectives.

 Solution

Solution

Corrected the issue on the query returning user available review year setups, which was excluding users who do not have performance managers.

 

Prevent duplicate section links when copying (#151533)

Problem

Problem

When VB and LB are active, but no items are linked to the review setup, both the previous contract items and all the library items are copied to the new contract in case of multiple periods, causing the creation to fail

 Solution

Solution

Add checks to avoid re-linking ValuesAndBehaviours and LeadershipBehaviours items when copying a contract period if those sections already exist on the target contract period.

The conditions now verify contractPeriod.ContractPeriodSections doesn't already contain the section before falling back to link master-data items (LeadershipBehaviours still respects allowLeadershipBehaviours).

This prevents creating duplicate section entries during the copy operation.

 

Enforce culture-insensitive transfer of decimal data when saving performance data (#147853)

Problem

Problem

When performance management decimal data, such as weights, is saved, the current server culture sometimes causes the values to be received as 0, causing validation to fail

 Solution

Solution

Add the FlexibleDecimal attribute to allow replacing culture-specific decimal characters like commas with periods during model binding 

 

Ensure Activities, Measures, Ratings subsections are hidden on check-ins modal when empty (#150987)

Problem

Problem

When a KPI has no activities, measures or ratings, the subheaders for the items still display on the Check-Ins modal

 Solution

Solution

Ensure that when either has no data, the header is not shown on the Check-Ins modal 


Imports

Keep the latest termination date if no current or future appointments are found (#151609)

Problem

    When using the pre-import script, it filters out terminated employees when there are no current or future appointments for that user.

     

    Solution

      Keep the latest terminated record IF there were no Current or Future Appointments

       

      GRPC Unauthenticated Error (#151197)

      Problem

        The import service gives an unauthenticated error during the user import.

         

        Solution

          Add an Allow Anonymous to the newly added method.

           

          Add pre-import step for User Imports (#149150)

          Problem

            There should be an option to have custom user import steps prior to the staging happening in the Account Database.

             

            Solution

              Add functionality for custom import steps on the Import Service, before staging the data in the Account database. Added a custom import script


              Exports

              Fix PaySpace organisation and position create/update (#150845)

              Problem

                PaySpace pushes were failing for several setup-dependent cases in the payroll integration. Root organisations could be sent with an invalid parent, employee custom fields could be overwritten or omitted during updates, and position updates could fail when PaySpace required grades or when an existing position row belonged to a closed payroll run. Newly created organisation units were not added back into the in-memory PaySpace organisation list for the current run, and the closed-run position fallback depended on a generic exception message instead of the PaySpace API response details.

                 

                Solution

                  The push now uses PaySpace upload codes as the stable organisation match, preserves existing employee custom fields when updating employees, sends grade values when pushing positions, and avoids reusing old position effective dates when a position change needs to be sent. Newly created organisation units are available for the rest of the same push run, and preserve structured PaySpace API response details when position updates fail, so the closed-run retry is based on the API response body instead of a rethrown generic message. 

                   


                  Notifications

                  Extensive Unit Tests for NotificationServiceLevel on Account service (#150982)

                  Problem

                    Some services have many event codes and recipients which trigger emails. Each event/recipient triggers an email with different data and for different people During development, when these queries are altered for specific cases or a new event/recipient, developers might not test other emails which also reuse that query, nor do testers know whether a query has been reused and adjusted to accommodate the new case.

                     

                    Solution

                      Add new Unit Tests for Account Service for each 'switch' case with the correct business rules to ensure that, should a request be given to test that query, it will produce the same results as expected using IMock and MockData for repositories

                       


                      People Management

                      Fix Manage Own Data permission not working (#151271)

                      Problem

                        Manage Own Data permission not working

                         

                        Solution

                          Fixed the permission checks so users can only edit their own personal details when ManageOwnData is enabled.

                           

                          When the ID number is changed on the person summary page, also update the identity ID number for 2FA (#151170)

                          Problem

                          When updating the ID number on the people summary page, the ID number in Identity is not updated.

                           

                          Solution

                            Add vm.Biographical has changed to the condition that triggers UpdateIdentityUserAsync, so Identity is updated when biographical fields change. Also, reformat the if condition across multiple lines for readability.

                             

                            Remove the user login history tab from my preferences (#151293)

                            Problem

                              The My-Signins page has been moved to the audit section on the user profile and enhanced. The Signins on my preference is deprecated and no longer accurately shows a user's sign-ins

                               

                              Solution

                                Remove the Login History UI from the account user view. This deletes the _LoginHistory.cshtml partial and removes the corresponding nav-link and tab-pane rendering from Index.cshtml (including the LoginHistoryViewModel creation/render call). Cleans up the user account page by removing the sign-in history feature and its markup.

                                 

                                Add confirmation modal for job positions (#151300)

                                Problem

                                  Job positions should have a confirmation modal similar to Job Profiles when copying

                                   

                                  Solution

                                    Added a new modal and the same copying functionality to Job Positions

                                     

                                    Resolve issue where active positions linked to inactive profiles could not be found on the org after being linked (#151113)

                                    Problem

                                      Position does not show after being added to the org node 

                                       

                                      Solution

                                        The check about active positions was extended to check for active job profiles also. The same was done for the inactive check

                                         


                                        Translations

                                        Resolved translations (#151488)

                                        Problem

                                          Incorrect translation used When submitting from Ajax through a handler, the basePage Model of translation T() has no translations anymore due to the page dropping the list reference and needs to be refreshed from cache 

                                           

                                          Solution

                                            Added a correction to the translation to be retrieved from cache on ajaxHandlers called

                                             


                                            Data Warehouse

                                            Updated C_03549_99999_monGenerateDWHDataIntegrityReport to align with Materialsed changes (#151372)

                                            Problem

                                              The script is failing due to materialised changes 

                                               

                                              Solution

                                                Updated C_03549_99999_monGenerateDWHDataIntegrityReport to align with Materialised changes