Version 9.1.234 (15 June 2026) People Management Fixing 0px width on modal data table (#150848) Problem Table headings are rendered in a 0px-wide div. This causes them to become unreadable.    Solution Recalculate the data table width after loading data to prevent this issue from occurring.   Updating NoticePeriod type to decimal (#148364) Problem The Notice Period field does not allow decimal values to be saved. Users should be able to enter values such as 0.5 for two weeks and 0.25 for one week.   Solution Updated the NoticePeriod data type from integer to decimal and configured the frontend number input to support decimal step values.   Add materialise interaction for new user created (#150725) Problem When a new user registers or is created, they are not added to the all people group   Solution Call the materialisation service for the new user to be added to all people   Replacing position filter with job title filter on advanced search (#149108) Problem Request to update the position filter to a job search filter.    Solution Updating the advanced search multi-select to have job titles and not positions. Updating search functions and queries to also filter on job title instead of position.   Communication Portal Fixing incorrect join (#150862) Problem Query joins the user table with HrProcessRequestApprovalFiles table, userid = username    Solution Fix the join so that it is done on username to username   Learning Management Auto-save only V8-imported marks (#150858) Problem When a teacher opens the marksheet, the system automatically imports any new scores that came across from V8 and saves them. Today, auto-save also re-saves every other mark on the sheet, even marks that didn't change. The business rule for this feature is "only auto-save the marks received from learner records" - everything else on the sheet should be left alone until a person clicks Save.    Solution The auto-save now sends only the marks that V8 actually imported, and only for the students those marks belong to. Marks that already existed in V9 are left untouched.   Performance Management Ensure Activities, Measures, Ratings subsections are hidden on ratings modal when empty (#150987) Problem When a KPI has no activities, measures or ratings, the subheaders for the items still display.   Solution Ensure that when either has no data, the header is not shown    Data Warehouse Added custom step to remove certain Performance Management DWH data (#149539) Problem Certain V9 Performance Management data needs to be removed from the DWH   Solution Added a custom step to remove certain Performance Management DWH data   System Access Improve the auth sign-out when accessing the system with a support URL or when the refresh token expires, and the user is not allowed to continue (#139977) Problem Reusing the support URL does not sign the user session out, but just continues on the previous session. Using the support login Microsoft Auth sometimes redirects the user to signify login rather than authenticating on Microsoft. When the refresh token expires, the user is not properly signed out, and the session persists indefinitely When the user is signed out, the SignalR hub generates a lot of errors due to the session not existing, and the user ID claim could not be determined.   Solution SupportLogin fix form submission so the clicked provider button is preserved — track submitter, use form.requestSubmit when available, and add hidden-input fallback; also, minor JS variable cleanup.  AuthorizationController centralise sign-out logic into SignOutExpiredSessionAsync (sign out SignInManager, OpenIddict scheme and delete Identity.AuthenticationProvider cookie) and replace direct HttpContext.SignOutAsync calls when handling expired/missing sessions.  AppController Set the impersonation cookie explicitly to "True" and perform an OpenID Connect sign-out with a redirect back to Home instead of a simple HttpContext.SignOutAsync.  Ensure that when a support URL is used, the user starts with a clean session.  UserNotificationHub guard group add/remove calls with an authenticated check to avoid operating for unauthenticated users.  Misc remove unused System.Globalization usings and reorders/adjusts using directives in affected Identity pages.   Content Management Fix: Image Compression does not work as an API (#140481) Problem Image compression does not work for API requests, and the client gets unauthorised even though the API request was sent with a bearer token with the correct header.   Solution Modify the authorisation on the endpoint to accept "Bearer" as well as "Cookies", as there is a frontend page which uses this controller action   Ruleset Management Resolve issue where deleted People Groups are still considered part of Menu Item Target Audience (#150039) Problem When a People Group is linked to a menu item and that People Group is then deleted, the menu item shows no linked TA, but the menu is not displayed for any users.   Solution Excluded deleted People Groups when retrieving menu item-linked target audience People Groups.