Version 9.1.255 (28 September 2026)
Performance Management
Added bustable methods to queryable cache attributes (#155589, #155592)
Problem
- Missing bustable methods; cached values were being returned
Solution
- Added bustable methods to clear cached values
Implement event publish after loading the bulk action (#155511)
Problem
- When loading a bulk action, the action is never processed.
Solution
- This change makes a small but important update to the bulk action event-handling process.
- After adding and saving the integration event, it now ensures that all pending events are published through the event bus.
Added Kpi Name to evaluations (#155219)
Problem
- KPI name was not being rendered on the frontend, as well as a request to change the translation and remove the default KPI translation above each rating scale
Solution
- Added kpi name rendering, changed the translation and removed the removal of kpi translation
Fix review document handler logger dependencies (#155503)
Problem
- Opening Portfolio of Evidence files from KPA or KPI rows returns "Invalid identifiers" because the review-file handler cannot resolve its logger dependency.
Solution
- Use the registered generic logger in the affected review-file handlers and add dependency-injection coverage for all review-file query handlers.
Truncate Check-Ins label with tooltip when translation is long (#155250)
Problem
- On the performance dashboards, the "Check-Ins" label (on the check-ins dial, the check-ins count badge, and the "Check-Ins & Ratings" accordion header) was previously changed to wrap onto multiple lines when the translation is long.
- Wrapping looked untidy inside the small circular dials and badges.
Solution
- Instead of wrapping, the label is now shortened with an ellipsis (…) when it does not fit, and hovering it shows the full text in a tooltip. Short labels look exactly as before.
Lock KPIs and add functionality to rate KPIs as an Admin (#153180)
New functionality:
A new Performance Management permission is available
Rate KPIs
When creating a template, the following options are available
Lock editing for person
Lock editing for manager
Lock rating for person
Lock rating for manager
For an admin with the permission, allow the option to be selected under the module-specific functions menu
A new page is available where a KPI can be selected and rated
Performance Management Feedback Report (#150927)
New functionality
Add a column to the Score Label Mapping to add text for achieving higher performance
Add a toggle to enable the Feedback Report
Show the report for the end-user
People Management
Allow documents to be previewed and updated (#152813)
New functionality
- Allow editing of uploaded documents
- Allow previewing of documents without having to download them
- Documents can be previewed
- It converts the document to PDF and then uses the normal PDF viewer to preview it (same one used on auto doc)
- Document types which can be previewed: Word, Excel, PDF, text files, and standard images
Change Merge and Delete permission translations to title case (#155330)
Problem
Some People management role permissions not in title case
Solution
Change Merge and Delete permission translations to title case.
User Activity Tracker (#152090)
New functionality
This includes activity on V8 pages and V9 pages.
The HR automation pages in the Blazor project is not yet tracked.
In order to make this more useful and assist with testing I have added a user activity under audit information of the user.
Only the latest 200 activity records will be returned on the page.
These are the business rules of the tracker
• It only starts tracking after the user stays on the page for 5 seconds (startDelay).
• Once started, it sends:
• start once,
• heartbeat every 5 minutes by default,
• end when tracking stops.
• It tracks inactivity and will suspend after 20 minutes of no interaction.
• If user activity returns after inactivity suspension, it resumes with the same sessionId and sends a new start.
• It does not end just because the tab becomes hidden:
• on hidden: sends one heartbeat (prefers beacon), stops interval heartbeat;
• on visible: sends heartbeat and restarts heartbeat interval.
• It ends permanently on page lifecycle exits (pagehide, beforeunload) and avoids duplicate permanent end events.
• It listens to activity events: mousemove, mousedown, keydown, click, touchstart, and scroll.
• heartbeat and end payloads are minimal (session + last seen + timestamp); start includes page/user context.
• Requests go to /App/ActivityTracker endpoints by default (StartTracker, Heartbeat, EndTracker), with base URL auto-derived if needed.
• For reliability, it prefers navigator.sendBeacon for exit/background sends, else falls back to fetch with keepalive: true.
• It includes anti-forgery token (__RequestVerificationToken) if present, both in header and payload.
• Tracking errors are swallowed so user experience is not interrupted.
Add Person Profile Image Setting (#153139)
New functionality
Enable or disable the ability for users to upload a profile picture, so that my company can prevent users from displaying a profile image if required
Configure permission settings for updating profile pictures, so that I can decide whether employees or only administrators are allowed to change profile pictures
System Access
Correct external menu routing for additional services general and deep link types (#155499)
Problem
General external pages return an error
Deep link external pages do not correctly authenticate
Solution
It also broadens ruleset menu previews to include all external menu items, not only those missing an external code.
Ruleset Management
Resolve "Default Text" snack when toggling screen capture tool (#155038)
Problem
"Default Text" snack when toggling screen capture tool
Solution
Resolve "Default Text" snack when toggling screen capture tool. response` is the raw JSON body from the server ({ Message, RedirectUrl? }),not a plain string. When a RedirectUrl is present the global ajax handler reloads the page and shows the message afterwards. Passing the object straight to snack() would render the snackbar library's "Default Text" placeholder.
Data Warehouse
Implemented performance improvements within PeopleManagement_ETL (#155300)
Problem
Performance improvements needs to be implemented for PeopleManagement_ETL
Solution
Added hashrows for accUsers to improve performance
Removed Source step for Steps to improve performance/memory usage
Report Builder
Make the download of report in report builder fire and forget, resolve problem with first load that does not download (#146300)
Problem
Large down can take a few minutes locking the system. Download fails with first page load.
Solution
Make the download of report in report builder fire and forget, resolve problem with first load that does not download
Integrations: Bulk Additional Service Imports: DWH (#140632)
New functionality
A new section under Integrations is available
Data Warehouse refresh
All the sources are available
Replace jQuery contextMenu with custom context menu (#152615)
Problem
With the upgrade of jQuery to v4.0.0 a bunch of previously deprecated $.api functions have been removed Eg. $.isFunction & $.isArray
Some plugins still make use of these and are now outdated, one of them jquery-contextMenu does not have an updated version and is not compatible with jQuery 4
Solution
Replace the contextMenu functionality on ReportBuilder with a custom context menu (Bootstrap Dropdown / Alternative?)
Imports
Add company pay frequency master data (#154755)
New functionality
A new field is added to People Management and the PaySpace push
Strengthen permission checks on Identity user creation (#152824)
Problem
Change was made to remove Auth role as there is a new people group role to appoint new people
Solution
Added new policy to validate and ensure the current user can create a new identity user
152969
System Access tab - Password and Confirm Password slider
Both Always Required and Visible to be ON or OFF together (when one is On, so is the other and the same when Off)
Password field to removed from Registration field
Email should be triggered and the request should show on Registrations | Awaiting Approval
User who is approver needs the role/permissions to do so