Skip to main content

Version 9.1.256 (28 September 2026)

Dashboards Onboarding

Adding info icon on Onboarding dashboard widget (#155249)

Problem

  • The **Info** icon was missing for people who do not have a linked journey.

Solution

  • Added an **Info** icon with a tooltip to any card where no journey is present.




Data Warehouse

Implemented performance improvements within TenantManagement_ETL (#155300)

Problem

  • Performance improvements needs to be implemented for TenantManagement_ETL

Solution

  • Removed Source step for Steps to improve performance/memory usage


Implemented performance improvements within JobProfiler_ETL (#155300)

Problem

  • Performance improvements needs to be implemented for JobProfiler_ETL

Solution

  • Added hashrows for jpAppointments to improve performance
  • Removed Source step for Steps to improve performance/memory usage


Updated DataDictionary to exclude TenantID (#155482)

Problem

  • The reports within report builder did not return correctly when join occurs between users and reportinglines

Solution

  • Updated DataDictionary to exclude TenantID between users and reportinglines


Implemented performance improvements within LearningManagement_ETL (#155300)

Problem

  • Performance improvements needs to be implemented for LearningManagement_ETL

Solution

  • Removed Source step for Steps to improve performance/memory usage


Implemented performance improvements within PerformanceManagement_ETL (#155300)

Problem

  • Performance improvements needs to be implemented for PerformanceManagement_ETL

Solution

  • Removed Source step for Steps to improve performance/memory usage


Added latest V9 DWH Package Backup to repo (#143176)

New Functionality

  • Added latest V9 DWH Package Backup to repo




General

Support Deployment of Release branch (#154731)

Solution

  • Support Deployment of Release branch


Allow termination reason to be optional when terminating a user's active appointment (#155351)

Problem

  • Terminating a user's active appointment always required a termination reason ID. When terminating by username with a termination reason name that didn't match exactly one active reason for the ruleset, the API rejected the request outright instead of allowing the termination to proceed without a reason.

Solution

  • `TerminateUserActiveAppointmentCommand.TerminateReasonId` is now nullable, matching the already-nullable-ready domain layer (`IUserDomainService.TerminateAppointmentAsync` / `TerminateActiveSecondaryAppointmentAsync`).
  • The gRPC `TerminateUserActiveAppointment` handler now treats `reason_for_termination_id == 0` (the proto3 default) as "no reason" and passes `null` through, since real termination reason IDs are DB-generated and start at 1.
  • `TerminateUserActiveAppointmentByUsername` no longer throws when the termination reason name doesn't match exactly one active reason — it now falls back to no reason and proceeds with the termination.


Restart Identity cert consumers and log updated certs (#0)

Problem

  • Updating the Identity certs only restarts identity, so webmvc and the APIs that mount `encryption-certificate` keep the old keys in memory until they happen to restart. The job log also only prints the certs from before the update, so a successful run looks like nothing changed.

Solution

  • After updating the secrets, the script restarts identity first and then every other deployment in the namespace that references either cert secret (dry-run lists them). It then prints the cert summary again under "Certificates after update".


Schedule Legate identity cert updates (#0)

Problem

  • Update Identity Certs only runs when someone dispatches it by hand, and each run targets every namespace that has Identity certs.

Solution

  • The new Identity Certs Scheduler queues a Legate `Update` every `IDENTITY_CERTS_SCHEDULE_MINUTES` minutes for `IDENTITY_CERTS_SCHEDULE_NAMESPACE`, which defaults to `victrix` and accepts `all` for the whole cluster. Update Identity Certs gets `namespace` and `notify_success` inputs, and the scheduler turns `notify_success` off so it doesn't email and post to Teams every run.


Scan release images for vulnerabilities (#151872)

Problem

  • Vulnerable packages are able to be deployed in some cases

Solution

  • Scan release images for vulnerabilities before releases




HR Processes

Expired landbot access token can be used when user session is still active (#154635)

Problem

  • The access token which is passed to landbot (so that it can make authenticated requests), are set initially when the page opens. If the user stays on the page for extended periods, the token can expire, meaning subsequent landbot requests to our authenticated API's will fail with a 401 (Unauthorized) due to the expired token that is still erroneously used.

Solution

  • Access Token along with the landbot key is used to determine whether the user still has an active session. If the user does then the expired access token can be used to authenticate for that user's landbot session.




Imports

Resolve emails being sent out after User import of existing users (#154003)

Problem

  • During user import, existing users are rebuilt as new DomainUser objects inside UpdateExistingUsers. The lookup model used for existing users did not include WelcomeNotificationSentDate, so the rebuilt object always had that property as null. That null value then flowed through the import response/update path, making it look like the user had never received the welcome notification and allowing the value to be reset or rematerialised incorrectly.

Solution

  • The existing user lookup now reads WelcomeNotificationSentDate from [Account].[Users] and stores it on BasicUserPreviewPayrollModel. When UpdateExistingUsers reconstructs the existing DomainUser, it copies the saved welcome notification date back onto the object. The bulk update config also excludes WelcomeNotificationSentDate from updates, giving a second layer of protection so imports update user details without clearing the welcome notification history.


Corrected property to be excluded that is a normal column and not ValueObject (#154003)

Problem

  • Excluded properties is mapped within the sql insert update call, but for sent welcome notification it is identified as if it was nested within another object

Solution

  • Added fix to remove one part




Job Profiler

Excluded people are not removed from query included conditions (#155746)

Problem

  • When a people group used an included custom SQL query to select users, a user manually added under the excluded people section could still appear in the final materialised people group. The full materialisation flow was not always adding manually excluded people into the exclusion set before calculating the final result, so the included query result could win.

Solution

  • Update the full materialisation query to explicitly load excluded PeopleGroupUserItems into #CalculatedUsers with Excluded = 1 before building #Result. The existing final calculation already removes any included user that has a matching excluded row, so this keeps the current design intact while ensuring manual exclusions override custom SQL includes.


Resolved caching values (#155748, #155882)

Problem

  • When actions occur the previous cache is not being busted

Solution

  • Added more bustable methods to attributes




Master Data Performance Management Ruleset Management

Added more bustable methods to cache queries (#155862)

Problem

  • More queries not being busted on certain methods Master data cache queries conflicting with redis cache no need to add these as cacheable queries

Solution

  • Add more bustable methods and remove cache query attribute from master data calls




Notifications

Added manual test flag to send emails when not active (#155529)

Problem

  • When setting the Email setup email notificaitons off, and then proceeding to do a test email the email will fail as email notifications is set to inactive,

Solution

  • Add new flag check to be mapped and pulled to still be able to trigger an email when email notifications is off as it is test email


Multiple files being downloaded when clicking export (#155528)

Problem

  • Multiple files are downloaded when multiple tabs are open as signalR sends a request to download file once it is done processing, development was added to only limit to a tabId generated but was not added here

Solution

  • Added tabId to limit download to tab which requested it




Onboarding

Resolved cache methods and user exclusion (#155244)

Problem

  • Cache methods was not busting correctly, user exclusion not removed once a journey is created

Solution

  • Added cache methods to bust. Add new command to remove user exclusion if exists


Updating Onboarding Dashboard Widgets Translations (#155505)

Problem

  • There are no translation entries for the following Dashboard Widgets: * **Onboarding Employee** * **Onboarding My Activities** * **Onboarding Manager**

Solution

  • Moved the translation strings to the correct file and updated the widget types to use the new translation keys.


Removing Banner activity from dashboard widget (#155525)

Problem

  • For the HR Process Automation Journey Widget, **Banner** activities are being counted as **In Progress Activities**, which can be confusing. Banner activities should not be included in activity counts.

Solution

  • Removed Banner activities from the dashboard widget data so they are no longer included in activity counts.




Performance Management

Resolved save add new, allows to reselect a library item (#155890)

Problem

  • When selecting a library item within the contract, saved, and thereafter it can not be reselected, but when you do save add new the library item selection list does not update and keep behaviour causing it to be reselected

Solution

  • Added fix to restrict it and update the list


Add change to only show update section when there is a record for that type (#155821)

Problem

  • When clicking update all modal both sections show for interpolation and rating scales

Solution

  • Add check to only show the update section when there is of that type record


Added bust methods for list review year setups (#155589)

Problem

  • When linking/unlinking a review setup the list does not bust cache

Solution

  • Add methods to bust the list cache data


Resolved translation, and some missing case checks (#153180)

Problem

  • 155610
  • Imports does not have the validation check as the UI when editing is disabled ratings can not be enabled 155617
  • Incorrect naming 155619
  • Interpolation check was not included in group by 155635
  • Save add new does not recall the sync checks to the rules of editing and rating

Solution

  • 155610
  • implemented validation to accommodate these checks and throw error 155617
  • corrected naming translation 155619
  • added check to group by 155635
  • added correction to recall sync check


Resolved comment not being able to update if ratings are locked (#155523)

Solution

  • Business rule logic required if the ratings is locked, allow the ratings modal to open and still save comments without ratings




Report Builder

Adding Status enum and job requested date alternative (#155032)

Problem

  • The DWH modal was being refreshed before the SQL Agent job had started, resulting in an incorrect or outdated status being displayed.

Solution

  • Updated the status check to use the job's requested date when the start date is not yet available. The modal now displays a broader job status instead of waiting for the job to start, allowing it to refresh immediately while still disabling the REQUEST button and displaying the appropriate status.




System Access

Improve the performance of the logout process (#155329)

Problem

  • The V8 logout excessively delays user logout, causing the user to wait on a blank page very long

Solution

  • Reworked account logout to call the legacy external logout endpoint from HomeController using IHttpClientFactory instead of rendering an iframe bridge page. The action now validates the generated URL, posts externalBaseUrl in a background task, logs failures/invalid configuration, and then proceeds directly to CompleteLogout. The obsolete ExternalLogoutBridge view and external-logout-bridge.js script were removed.




System Help

Fix help content showing the wrong language or hide other sections when falling back to English. (#152901)

Problem

  • Help content could show the wrong language or hide other sections when falling back to English.

Solution

  • Each section now checks the current ruleset and language first, then follows the English and RS1 fallback order independently.