Skip to main content

Version 9.1.203 (19 January 2026)

System Access

Update email confirmation logic for user import and update to allow a user without an email to login (#142626)

Problem

  • A user without an email address cannot log in because the email has not been confirmed. 

 

Solution

  • In ImportUsersCommandHandler, email is now considered confirmed if the user has no email address. In UpdateUserCommandHandler, email is always marked as confirmed. These changes ensure consistent handling of email confirmation status during user import and update operations.

 


Imports

Change Import Modal to only fetch import status and available imports when opened (#138821)

Problem

  • Currently, on every page, navigation checks are done on the import status being retrieved 

 

Solution

  • Change to only load the import status when being opened 

 


Job Management

Resolved positions not loading the correct filter type (#140550)

Problem

  • When job profiles are loaded, icons indicate the count of vacant, filled and inactive positions, but once clicked, it results in all positions

 

Solution

  • Implement new development to list positions based on the filter type

 

Resolved sanitise text on reporting line (#142578)

Problem

  • The title of the span is being set and used from JavaScript to set the modal title. When the title of the modal is set, it gets set with the encoding values when HTML is rendered

 

Solution

  • Add a change to set the modal title as raw text to not be encoded

 


Report Builder

Resolved data source width expand and console error on invalid ajax json (#140432 & #141369)

Problem

  • On Firefox, the expand click event did not trigger from SVG find, script issue on Firefox that does not allow inline events CSP* Console errors being logged when JSON is passed, which is HTML for partial views 

 

Solution

  • Add a change to rather just check for class collapse, move the event handler to the JavaScript file. Add a change on ajax.ts to handle JSON to not parse, should it be HTML and rather warn than error

 

Resolve issue where race condition on Ruleset creation prevents initial user from materialising on ReportBuilder (#140410)

Problem

  • When a new ruleset is created, the ruleset creation is requested on each service sequentially. However, the user is copied to the new ruleset as soon as the ruleset is created, and then the SingleUser event is emitted, which informs all other services to materialise the user. This creates a race condition where the SingleUser create event reaches ReportBuilder before the ruleset creation has happened, and because of the foreign key relation between the materialised user and materialised ruleset table on RB, the user creation fails, and the first ruleset user is never created. 

 

Solution

  • Added additional functionality on the RulesetCreation on ReportBuilder, after the ruleset has been materialised, to check if there exist materialised users and then fetch all current users for the ruleset from Account Service and materialise them immediately

 


Performance Management

Reload page when user contract is deleted (#142780)

Problem

  • Page reloads only if an additional contract is deleted

 

Solution

  • Add a change to reload the page after the primary contract deletion

 

Resolve issue where bulk actions are not displaying all users (#142546)

Problem

  • On bulk actions, the list of people displayed on the select list does not include all the available users, because only the first 20 users are filtered out when fetching details from JobProfiler, and then those with contracts or for the review year setup aren't all returned. 

 

Solution

  • Change functionality to the first page for users from performance management, then after selecting job details. Fixed the load more / load all functionality

 

Add loading indicator when creating contract (#142777)

Problem

  • When creating a contract for a review setup, no loading indicator 

 

Solution

  • Add loading indicator

 

Resolve order of review setup names (#141701)

Problem

The order causes the numeric values to be incorrectly ordered, for example, Setup 1, Setup 10, Setup 2 

 

Solution

Add change to the comparison to take numbers into consideration

 


Identity

Enhance MFA process with option to remember (#134730)

Solution

  • Add change and enhancement to the MFA process. Add input to allow ruleset to change the number of hours to remember MFA, should they wish

 


People Management

Optimise user org path queries and improve appointment selection when calculating people group users (#142962 & #142233)

Problem

  • A user with an active and future-dated appointment has an incorrect future status in the calculated people group, and the user is excluded from the TA where it is used.

 

Solution

  • Refactored user org path queries to use temp tables and bulk copy for efficiency, and improved appointment selection logic to better prioritise current appointments. Updated related PeopleGroups queries and gRPC service to handle distinct user IDs and avoid unnecessary queries. 

 

Fix uploading profile image, causing user banner to be removed (#142688)

Problem

  • Uploading a profile image causes the user's banner to be removed.

 

Solution

  • Use the existing profile image if one is provided.

 

Fix banner not updated if you upload a new one (#142688)

Problem

  • If you open the modal to change a person's banner and/or profile image and then upload a new banner image, that banner image will not be set as the new banner image for the person. The first time you select it, nothing will happen, but if you select it a second time, the banner is updated.

 

Solution

  • Return uploaded banner image details and set them so that they can be used when the image is saved.

 

Remove functionality to copy profile image and avatar for transferring the user to the ruleset (#142521)

Problem

  • Profile image and avatar should not be copied to the new user with transferring the user to a new ruleset 

 

Solution

  • Remove functionality to copy profile image and avatar for transferring the user to the ruleset

 

Resolve search and collapse problem on Orgnode tree on transfer person to ruleset modal, and prevent transfer of user with same ID number in destination ruleset (#142696 & #142694)

Problem

When searching for organisations, the treeview populates duplicates. Able to transfer a person with Idnumber that already exists on the destination ruleset 

 

Solution

Resolve the search and collapse problem on the Orgnode tree on transferring a person to the ruleset modal. Prevent transfer of the user with the same ID number in the destination ruleset

 


Notifications

Cannot send a list of CC or BCC recipients via the external email API (#142336)

Problem

  • When more than one CC or BCC email address has been configured on V8, V9 do not send any emails

 

Solution

  • Correct the concatenation of the list of emails to allow the SMTP service to process them

 


Data Warehouse

Implemented Performance Improvements within PerformanceManagement_ETL.dtsx (#140865)

Problem

  • Performance Improvements are required within the SSIS Package PerformanceManagement_ETL.dtsx due to the growth of system data and the DWH Package 

 

Solution

  • Removed the DELETE and Truncate Steps and replaced them with Update and Inserts for the below Data Sources: pdmContracts, pdmContractSurveys, pdmContractPeriods, pdmContractPeriodActionPlans, pdmContractPeriodSectionItems, pdmReviewYears, pdmContractPeriodEvaluations, pdmReviewYearPeopleGroupsSetup, pdmContractPeriodSectionItemModerations 
  • Adjusted steps for Custom fields calculations/insert for pdmContracts and pdmContractPeriods to only do this for active Contracts/ContractPeriods

 

Added new Join between jpAppointments and jpJobProfiles (#142103)

Problem

  • Join are required between jpAppointments and jpJobProfiles

 

Solution

  • Added Join between Appointments and JobProfiles for Report Builder

 

Implemented Performance Improvements within LearningManagementReport_ETL.dtsx (#140865)

Problem

  • Performance Improvements are required within the SSIS Package LearningManagementReport_ETL due to the growth of system data and the DWH Package 

 

Solution

  • Removed the DELETE and Truncate Steps and replaced them with Update and Inserts for the below Data Sources: - lmAttendances - lmReportCards