Version 9.1.107 (9 February 2026)
Report Builder
Added extra case "Choose a specific date" within the where clause for filters and resolved conversion error (#143579)
Problem
- The current reports failed due to a conversion error with recently added extra date cases within the where clause for filters
- An extra case for Choose a specific date is required
Solution
- Updated script C_00011_99999_ReportBuilder_CreateSQLStatement.sql by adding an extra case "Choose a specific date" within the where clause for filters, and resolved conversion error
Added extra cases within the where clause for filters (#142011 & #143230)
Problem
- The ReportBuilder gave an error due to string fields being used for date filters, and double quotations are inserted for date fields
Solution
- Added specific cases within the where clause for filters to ensure dates are being inserted correctly when using operators
Identity and Authorisation
Resolved font size on terms of use URL (#143651)
Problem
- Terms of use URL font size is the same as other a tags
Solution
- Decrease the font size
Add starting password for a user after appointment (#139782)
Problem
- When a new user is imported or appointed, they do not have a default password to start with
Solution
- Implemented a new change to set a default password on product Setup. When new users are created within Identity, they will use the default password. On first sign-in, a new expired result will be returned
- Resolved file import not setting default password
People Management
Implemented loading indicator on tab switch (#143524)
Problem
Solution
- Implemented a change to show a loading indicator
Ruleset Management
Resolved system access settings being thrown as an error (#143637)
Problem
- Cache implementation on ruleset system access settings, but once a save is initiated on the page, it triggers a clear to identity. If you stay on the page and save again, there is no item in identity, so it can not remove anything, which causes the 2nd save to show it failed to save
Solution
- Add a check to first confirm that there is an item before validating the TryRemove, else default to true for removed
Resolved domains saving as HTML (#143569)
Problem
- New section to enter allowed domains for a ruleset, but when saved, it saves through the mceEditor as HTML
Solution
- Added a change to set to plaintext before form submit to get plain text
[Integrations] Improve validations on the Integrations page (#143200)
Problem
- It is unclear what validation fails between the content server and sanitisation on the integration tab
Solution
- Split the content server setup and the general
- Ensure that the sanitaztion fatally falls rather save that fail
- Add the org path to the sanitised URLs
Media compression process - V9 (#140478)
Problem
- Currently, media is uploaded in its original size to the system without being compressed or optimised
Solution
- Implement a background service that cycles through media uploaded to the system and:
- Compress uploaded media
- Remove original large media
- Keep track of what was compressed to compress it once
Event Scheduling
Fix spelling error and icon on calendarview which does not load properly (#143375 & #143488)
Issue 1
Problem
- Spelling error on pop-up modal
Solution
- Fix the spelling error
Issue 2
Problem
- An incorrect icon is being displayed on the Calendar View
Solution
- Import Syncfusion icons on the index.scss file for event scheduling
System Access
Resolved Account Swagger API (#10645)
Problem
- Duplicate test rate limit endpoints configured
Solution
- Removed duplicate
Shared grpc proto files (#143197)
Problem
- When updating proto files, the same proto file needs to be copied to multiple services, which wastes unnecessary time for developers to copy and maintain these files. Also, there is a high possibility of conflict during merges.
Solution
- Refactor GRPC Proto to one shared file
Imports
Add missing manager to the user import API to correct the mapping when importing custom fields (#135967)
Problem
- Userimport API mapping is incorrect when customfields are imported
Solution
- Added LeaveManagerAlternateApproverUsername and SecondaryJobRequisitionApproverUsername to the mapping in ImportManagementServiceV1 to support additional approver information.
Content Management
Restore the missing availability check on content management (#143582)
Problem
- The content management service availability check is missing, preventing the upload and download of PM documents
Solution
- Restore Content Management service availability check
Learning Management
Fix Subject Copy functionality (#143406)
Problems
- When a user copies and then saves a subject twice, a validation error occurs because the subject details are not being saved correctly during the copy process.
- The "Copy and Save" function does not accurately save the subject details.
- The "Copy" feature allows users to save a Class/Group that has already been used.
- Saving a copy of a page more than once creates duplicates instead of saving the newly copied subject.
Solutions
- Update the backend scripts to handle the copy page differently.
Don't include any URLs on absent notification templates (#143521)
Problem
- When an image has been added to the absent notification template, the editor automatically changes the reference to relative URLs.
- When the actual email is then sent out, the image path cannot be located, and the broken image link icon is displayed.
Solution
- Ensure that the editor does not replace any URLS and maintains the full paths provided.
Performance Management
Resolved styling on nav section item (#143453)
Problem
- When minimising the window text gets wrapped inside a container that has a fixed size and margin, also adding unneeded space
Solution
- Implemented a change so that the height gets adjusted to the content of the element, with padding around
Communications Portal
Large volumes on chat (#136516)
Problem
- When creating a new group chat or opening a group chat, all users of the people group linked to the chat group are loaded to the screen, causing the screen to break.
- When sending a chat message on a group, the chatreadlog is populated for each user in the chat group for every message, causing the table to grow exponentially
Solution
- Change the code to not load all users to the partial when the chat is a group type.
- When sending a message, send it from the communication portal via SignalR after the message has been saved
- Change the chat readlog to only store one record per user
- Split the message id column into a LastReadMessageId and a LatestMessageId
- The LastReadMessageId is used to indicate the blue ticks for the user, and the LatestMessageId to indicate if the user does have message that has not yet been read.
[Coms Portal] Keep section open while deleting chats (#143516)
Problem
- When deleting a chat group, the component is reloaded,
Solution
- Do not reload the component, but just remove the row from the grid.