Skip to main content

Version 9.1.269 (9 November 2026)

Data Warehouse

Updated step for jpHRProcesses to include all approved-level user details (#157424)

Problem

  • In cases where PeopleGroup approved a level for HRProcesses, the user details were not captured within the DWH

 

Solution

  • Updated the jpHRProcesses step to include user details for all levels when approved


Created new datasource accUserPermits (#157453)

Problem

  • New datasource UserPermits needs to be added to the DWH

 

Solution

  • Created new datasource UserPermits


Updated jpUserPermissions to include all records (#157353)

Problem

  • Not all the jpUserPermissions records are available within the DWH due to only fetching data for the current year

 

Solution

  • Reworked the insert staging step to include all the records

 


Imports

Allow PaySpace connectors to import terminated users (#157040)

Problem

  • The PaySpace import skips employees who were terminated before they were ever imported, so they never show as terminated in Signify.

 

Solution

  • Add an "Import Terminated Users" option to PaySpace payroll connectors that brings in these employees as well. 55 minutes ago


Implement robust bulk population when retrieving existing job profiles based on externalid, job code and title (#156374)

Problem

  • When passing parameters by position, each parameter can only be referenced once in Dapper within ListJobProfilesByIdentifiersQuery

 

Solution

  • Refactor the ListJobProfilesByIdentifiersQueryHandler to improve how job profile identifiers are loaded into the database for querying. The main change is replacing the previous string concatenation approach with a more robust and efficient use of a DataTable and SqlBulkCopy, which should improve performance and security when handling large batches of identifiers.



Notifications

Add generic wrapper to email setup (#156113)

Problem

  • Request to have the ability to add a generic style/background to all emails that get sent out.

 

Solution

  • Added a "wrapper" input to the email setup, when provided wraps the entire email body in this markup before sending out. Added validations to ensure that the required constant is provided when specifying wrapper.



Performance Management

Resolved Action Plan integration event not triggering (#157414)

Problem

  • Integration consumer event was not defined; it was never executed to send a request to create PDP within V8

 

Solution

  • Added missing definition and consumer to trigger



Report Builder

Adding failed status to DWH Refresh (#156396)

Problem

  • When a DWH refresh job fails, it is still displayed as **Completed**, which does not accurately reflect the job's status.

 

Solution

  • Added job status to ensure failed refresh jobs are displayed with the correct status.



Ruleset Management

Move saving to main save button and add immediate icon/sprite preview (#157422)

Problem

  • When an icon/sprite is uploaded, the preview only saves after the bot changes have been saved,

 

Solution

  • Immediately show the preview. Also removed the "Save Bot Appearance" button and handle saving of bot changes with the rest of the page saving mechanism.



System Access

Prevent Redis subscription delays from blocking authentication (#157410)

Problem

  • The Redis logout-notification listener subscribed synchronously in its constructor. When Redis was slow or the subscription stalled, authentication requests queued behind the shared service's construction lock. Local fault testing also exposed subscription timeouts, cancelled tasks and raw connection errors that could escape the background service and stop WebMVC.

 

Solution

  • Start the subscription asynchronously in a hosted background service so requests can resolve the service without waiting for Redis.
  • Log subscription failures through `ISignifyLogger` and retry after five seconds. Remove the previous handler before retrying to avoid duplicate notifications.
  • Only report the subscription as available after it succeeds. Ignore a late completion if the connection failed or shutdown started while subscribing.
  • Mark the listener unavailable and abort tracked SignalR connections when its subscription connection fails. Await subscription cleanup during shutdown and log cleanup failures.