Version 9.1.252 (7 September 2026) AutoDoc Ensure the admin only receives emails for active employees (#154866) Problem Admin received a reminder for an outstanding document for a terminated employee   Solution Ensure the user and the admin are both active    Performance Management Added recompile to PM query (#155012) Problem SQL Server was reusing a cached execution plan that was poor for some parameter values, causing parameter sniffing performance issues.   Solution Added OPTION (RECOMPILE) to the main query so SQL Server builds an execution plan per execution using the current parameters.   Resolved spyscroll on Contract with Nav and content sections (#154486) Problem The ScrollSpy used a fixed 310 px offset, causing navigation items near the middle of the content pane to be highlighted instead of the section displayed at the top.   Solution Changed ScrollSpy to track sections at the top of the pane using a 100 px tolerance. When the pane reaches the bottom, it switches to a bottom fallback so the final section can still be highlighted. Also added a new utility class to keep contained and split for easy debugging and reference   Changed historical graph year order and fixed the graph when 100% rating (#154846) Problem Historical Score Graph with full rating hides score at the top   Solution Ensure rating is not hidden when rating is 100%  Change the Order of Historical Score Graphs    Additional fixes in calendar TypeScript to address the month selector not working. Ensure previous calendar functionality still functions (#154485) Problem Previous fixes to calendar controls worked, but caused incorrect behaviour on the month picker, and focus was diverted when clicking on the year picker.    Solution Reworked the calendar input to ensure that all calendar controls function (paging arrow, month dropdown, year scroller, date selection). Ensured that the calendar displays docked to the relevant input.   Fixed inconsistent date formatting on review year setup phase dates (#154466) Problem When editing performance year period phase dates, depending on user culture, the formatting can be inconsistent between right after change and on load / reload.   Solution Ensure that the date inputs are correctly formatted to ISO for save operations and to user culture for display purposes.   Resolved issue where paging to next date on calendar input caused other calendar inputs to focus (#154485) Problem When more than 1 calendar input exists on a modal, paging to the next month causes other input to be focused and its calendar to be opened. MDB focus trap moves focus to the first input and opens that picker.    Solution Added a guard to prevent focus transfer and ensure that the calendar stays docked to the correct input.   Communication Portal Resolved styling on portal header (#155024) Problem Left-aligned the unread message count label and the “MARK ALL AS READ” button   Solution Added a change to styling to align context flex start   Removed border radius from button (#154525) Problem When the form is being synced to save on the client, it accesses the control .data(), now this only accesses those values it was rendered with or created, but if a value is updated on an existing item within the other file, it sets the .dataset.{} value, which is not read   Solution Added change to access .dataset properties And corrected and ensured that the same variables are used for btn-primary and btn-secondary   Added backdrop shadows for comms portal and system message (#154521) Problem When opening the Communication Portal modal, the background behind the modal is not greyed out. When opening a System Message on the Communication Portal, the Communication Portal modal is also not greyed out.   Solution Added a backdrop to the comms portal  Added backdrop to System message modal centered and changed the z-index of the different backdrops   Resolved DateTime differences (#154595) Problem When the banner dates are saved, they where configure on the client timezone and saved accordingly, but all other calculations are assumed that it saved in UTC   Solution Added a fix to convert back to UTC when saving and, when showing, convert again from UTC   Set default width starting point of banners (#154511) Problem Gantt chart overlaps with the banner list   Solution Added a change to increase the default width   Added client-side validation for system alert dates (#154902) Problem A recent change was added where validation within the controller restricted certain values and threw a snack error message, but a suggestion was requested to add client-side validation to display a span text   Solution Add jQuery client-side validation that matches to show the span error message   Added change to active search users (#134821) Problem Terminated users could be searched   Solution Added a change to the Users view to only return active appointment users   Implemented suggestion to move carousel buttons (#153514) Problem Carousel prev and next got lost within the banners; moved them to the bottom right   Solution Added CSS to move the prev and next of the carousel to the bottom right   Resolved Load more on recipients (#153972) Problem Load more does not work correctly as the start increases, but in the query it does a skip of start * size. Requested to add a navigate back before search    Solution Resolved the load more to not try to append load with previous results - just load the next page size so only increase number Added navigation back   Resolved Audience being created without dates (#153519) Problem Could save an alert without a valid start and end date selected   Solution Added a check within the controller to ensure values are selected   Implement standalone Communication portal page for the mobile app (#154022) Problem The communication portal is a modal and thus cannot be opened in a webview on the mobile app.   Solution Open the communication portal in a standalone page that the mobile app can open   Data Warehouse Resolved errors where the records were not inserted in the correct order for jpHRProcessRequestData and jpHRProcessRequestPivotData (#154850) Problem The records were not inserted in the correct order for jpHRProcessRequestData and jpHRProcessRequestPivotData   Solution Resolved errors where the records were not inserted in the correct order for jpHRProcessRequestData and jpHRProcessRequestPivotData within the Insert Staging Steps   Resolved an issue with jpReportingLines where the latest records were not refreshed (#154796) Problem The latest jpReportingLines did not refresh within the DWH   Solution Resolved an error within the insert step for jpReportingLines to ensure that the latest records are inserted   Added field PersonInPosition within jpJobPositions (#153622) Problem Field PersonInPosition needs to be added within jpJobPositions   Solution Added field PersonInPosition within jpJobPositions   Imports Import Sage profile images (#148015) New functionality: This change adds a PowerShell process that imports employee profile photos from Sage into Signify. It can run automatically every day through Windows Task Scheduler. Developers can also run it manually to preview which employees and photos will be processed before starting an import. How it works Retrieves employee photos from Sage. Filters the results by the configured company and company rule. Selects the latest photo for each employee. Safely ignores identical duplicate Sage records. Stops when duplicate records contain conflicting photos. Uploads photos to Signify in small batches. Records successes and failures in timestamped log files. Returns a failure exit code when a scheduled import does not complete successfully   Correction to import of custom fields (#154641) Problem Import fails when new users and existing users are imported that have custom fields   Solution This change makes improvements to the `ImportUsersCommandHandler` in the Account service, focusing on better error reporting and ensuring proper entity detachment during user import operations.   People Management Fixing tables not loading after using the breadcrumb back button (#153690) Problem After using the Back button, the relevant tab is displayed, but its data is not refreshed or displayed.   Solution Updated the page onload event to make the correct data call and update the correct table. Additionally, updated the URL when switching tabs so that a page reload uses the current tab instead of the previously selected tab.   Correct schema selection for table relationships, only show recycle bin when user has delete profile permission, prevent deletion of useractions (#151416) Problem Recycle bin shown when user does not have delete profile permission; UserAction table records also deleted for user.    Solution Correct schema selection for table relationships, only show recycle bin when user has delete profile permission, prevent deletion of useractions   Make Delete and Merge Profile permissions disabled by default (#151415) Problem Merge and Delete module permissions should be disabled by default   Solution Add migration to make Delete and Merge Profile permissions disabled by default   Report Builder Add a " No results found" message on data source field search (#154857) Problem On Report Builder data sources, when no results are returned for the field name search, all sources are shown with no indication as to why   Solution Added small span text to indicate no results were found   Notifications Fallback to from email of default ruleset when current ruleset's user own smtp setting is off (#154837) Problem From email of the current ruleset is displayed even though the user's own SMTP setting is off.    Solution Fallback to the From email of the default ruleset when the current ruleset user's own SMTP setting is off. This brings it in line with the email template page default From email that is displayed.   API Add endpoint to terminate user (#153656) Problem There is no endpoint to terminate a user.   Solution Add an endpoint and function that takes Username, terminationDate(in format yyyy-MM-dd) and terminationReason(takes a string and matches it with the termination reasons for that ruleset in JobProfiler.TerminationReasons) and terminates the user.   Organisational Structure Resolved delete tooltip not showing (#153241) Problem The delete icon was missing the class in which it was identified to register the tooltip   Solution Added the missing class   Master Data Resolved Single Global Admin can not access master data (#153620) Problem When a single admin is given, a user can not see the master data   Solution Added a check to ensure that if the user has the single role admin and the manage master data permission, they can see all   Job Profiler Fix ListUserJobProfileInherentRequirements EvidenceQuery alias (#154786) Problem The SQL selects from an alias that was not set   Solution Ensure the alias is correct