Version 9.1.239 (6 July 2026) Performance Management Resolve issue where unable to flag comments required on newly added section Rating Scale (#151807) Problem When adding a new rating scale, you cannot flag that rating scale as Comment Required until the page reloads.  Solution Class used to indicate comment required toggle only added from server side; changed JS to add required class to relevant td after new rating scale has been added. New setting to disable Check-Ins per Section (#148983) Problem There is no setting to disable the check-ins for a section   Solution Add a setting per section to disable the check-ins   Add a "Save and Go to Next" Button on the KPI Ratings Screen (#144297) Problem Users are currently required to click on each KPI individually to provide a rating and comments, then click “Save” before moving on to the next KPI. This process must be repeated for each KPI   Solution Introduce a “Save and Go to Next” button, which would automatically save the current KPI rating and open the next one in sequence, aiming to streamline the user experience by reducing the number of clicks required to complete their ratings Add ratings, measures and activities character limit validations (#150981) Problem When trying to import performance management templates, validate the length of the measures and ratings fields If the length exceeds 4000 characters, block the import The front-end currently blocks additional input at 2000 characters; increase the limit to 4000 characters, as we have for activities.   Solution The front end now allows up to 4000 characters for measures and ratings, as we had for activities Validation has been added to flag and block imports where the number of characters for activities, measures and ratings exceeds the 4000-character server limit   Add ratings & measures data mapping to PM contracts and templates (#149078) Problem The measures and rating fields are not available when capturing KPI's and Key Competencies on Master Data   Solution Add the Measures and ratings fields on Master Data when capturing KPI's and Key Competencies   Report Builder Fixed exported Excel files corrupting (#151760) Problem ReportBuilder Excel exports were corrupt when reports had multiple end-user filters or empty ValueStrings. The export path also did not write the visible report filters into the workbook. Solution Changed the anonymous ReportBuilder export to use a schema-preserving DataTable export path, normalised exported ValueStrings, and hardened OpenXML output for empty/columnless result sets. Added support to export user-facing filters to the report Fix sub report not returning data (#151337) Problem When opening raw data from a pivot/sub report cell, the request did not always include the same filter context that was used to build the visible report. This could cause the API to return no rows or the wrong rows. Solution Updated the pivot/sub report raw-data request to send the active report filters along with the cell filter. This keeps the clicked cell data in sync with what is shown in the report table Fix imported sub report not getting the correct pivot rows and columns (#151465) Problem During import, new sub reports did not have real IDs yet, so pivot rows were all added to the first sub report. Solution The import now adds pivot rows directly to the sub report that was just created, instead of using its temporary ID Content Management Ensure no unauthenticated requests to Next Cloud after credentials have been validated (#151765) Problem File upload fails when the max allowed file size is bigger than the MaxSendMessageSize configured for the contentmanagement GRPC client in webmvc   Solution Remove this setting, so that file sizes are only validated against the max file upload size configured on the contentmanagement service   Add max file size setting on ruleset level (#151222) Problem File size needs to be controlled per ruleset on V9   Solution Add a setting on Ruleset management for Max file size It is applicable and should be enforced for any place a file is uploaded in V9 If it is not set on a ruleset, the default application-wide Max file limit should be enforced Communication Portal Resolved Audience link tables (#151527) Problem Does not seem that all people in the system are available for selection under Specific People for Banners and System Messages   Solution All people are available for linking, and all people that have been linked are being displayed under the SPECIFIC PEOPLE target audience tab and under the SUMMARY tab Resolved SMS body given error when not filled in (#151458 & #151457) Problem Dynamic editors are being loaded with required fields, even if the toggle on sms is off; it throws a validation error unless you toggle it on and off   Solution Added a fix only to let JavaScript add the validators based on toggle state   When a system alert has already been saved and the user modifies the System Message, Email, or SMS content, prompt them to resend previously sent messages with the updated changes when saving (#151457) Problem When a user changes something, no request to retrigger that system alert is given   Solution Add a new modal with a check to retrigger a system alert accordingly   Resolved Email attachments not being sent with (#151455) Problem When email attachments are added, they are not sent to the Notification service to be able to send through   Solution Implemented a new addition on external notification to add a JSON object to data to then attach as needed Resolved Deletion on System Alert (#151382) Problem When the archive button is triggered no active styling indication it is because it is a checkbox; no styling   Solution Add toggle state between button classes   Resolved pencil item open (#151427) Problem When a user clicks on the pencil, it needs to open in a new tab and not just trigger navigation   Solution Correction made to navigate to a new tab   Resolved dateTime picker 1st selection issue (#151381) Problem The datetime input had a blur handler for manual typing, so when selecting a dateTime picker on the input, it opens the picker but has focus on the input. When selecting a value, it swaps focus to the picker but does not select a value   Solution Changed the wrapper to suppress that blur-sync while the user is interacting with the flatpickr calendar   Resolved duplicate system messages shown (#151380) Problem When a user has been identified multiple times based on a specific person or People Group item, the query returns the user twice in this case, showing a system message for each indication   Solution Limit the distinct return of system messages   Resolved Active state on Archived button (#151382) Problem When the archive button is triggered no active styling indication it is because it is a checkbox; no styling   Solution Add toggle state between button classes   Resolved System Alert not being able to delete (#151462) Problem When deleting a system alert that has an audience defined or recipients, it fails to delete as that is not pulled with the entity to allow EF tracker to delete   Solution Added a change to include items so that EF Core can cascade the delete API Trigger V8 logout/session expiry on V9 logout (#149425) Problem When a user is working on a V8 page and then logs out on V9 in a V10 system, the session on the V8 side persists This can lead to incorrect data being shown for clients where a device is shared, and a bookmarked deep link is used   Solution Add an endpoint in the V8 account controller, ExternalLogout Clear the V8 session Disconnect the SignalR hub Check other actions in ClearSession.aspx Use the endpoint when User clicks on logout in V9 The session refreshes in /connect/authorize, logout when the session can no longer authenticate. Master Data Implement new Search-as-you-type logic to master data searching (#150446) Problem Exact matches to search criteria are not on top of search results   Solution Add ordering First exact match The starts with Sub ordered by name   People Management Add tooltip for 'None' profile summary option (#151211) Problem No tooltip displayed on hover   Solution Add tooltip for 'None' profile summary option   Implement educational preview and hide cursor when no profile summary selected (#144094) When Standard View is enabled, the View Summary tooltip is there   When None is enabled, no View Summary tooltip is displayed on My Team, My Department, My Company or View/Edit People in People Management, Kudos Page, or when clicking on Colleagues (Team Insights - Span of Control)   When None is enabled, the hand cursor is also disabled, and a normal mouse pointer is shown     When an admin user clicks on Manage on a person’s tile in View/Edit People, the preview summary view modal is not displayed but instead navigates the administrator directly to the person’s profile   When Educational view is enabled, the View Summary tooltip and hand cursor are displayed as well as the Educational Summary for the user's card   Identity and Authorisation Correct redirect URL when incorrect ruleset theme key provided (#149473) Problem When using an incorrect URL, the login page resets to the default theme if the provided theme key cannot be found. When then going to the forgot password / reset password page and trying to reset the password, the theme cookie has the invalid key, and the GetTheme call fails because the theme cannot be found, causing an error page to display.  Solution On the login page, when the default theme is fallen back to, update the return URL to use the default theme key and redirect to that URL to ensure the correct cookies are set. Job Management Request a job structure import on job and position copy (#151154) Problem On copy of job and position, job structure import is not requested Solution Add job structure import on copy of job and position  Implemented temp change to check for duplication during ruleset creation (#150918) Problem During Ruleset creation, multiple integration events are kicked off, creating multiple items/data at the same time. During this, when job porfilers default org nodes and positions get created, likewise with the first system user, there is a default appointment also occuring doing the same checks. When it is being called, it is a race condition which ever saves first, the other fails Solution Added a temp fix to catch a SQL duplication exception and either retry or call the get again to get the data, re-throw after the first retry attempt