Version 9.1.232.1 (Support Release - 27 May 2026)
Imports
Refine transfer logic and add dedupe unit tests (#149494)
Problem
- When a person is reappointed to a new position after the previous termination, a duplicate new appointment is created.
Solution
- The change excludes the appointment from the transfer process so it can be handled as a new appointment, since the last position is no longer active, and the new position does not overlap with it.
- Improves the robustness and correctness of appointment import logic, with a particular focus on handling duplicate appointments and transfers.
- It also significantly expands unit test coverage for the RemoveDuplicatesForAppointments method, ensuring correct behaviour across a variety of scenarios.
- These changes collectively strengthen the reliability of appointment imports and ensure that duplicate handling and transfer logic are thoroughly validated.
Performance Management
Resolved Bulk delete not returning users (#150666)
Problem
- Known as an alias not set to match the record object class
Solution
- Added alias naming for KnownAs to map back to the record object
Resolved Moderation screen not opening up (#150410)
Problem
- Wrong library and joins used to fetch materialised data
Solution
- Correct the joins to retrieve the correct user information
Report Builder
Clear all ruleset user report permissions when a new report is added to ensure users have the required access when viewing the report (#148874)
Problem
- When a new report is added, users who have access to "All Reports" under that category cannot see the report and are presented with a "permission denied" message.
- This is because of the report permissions being cached when the user logs in / views reports, and the new report not forming part of the permission list.
- User needs to log out and back in again to see the report.
Solution
- When the report is created, ensure that ALL report permissions keys for the current ruleset are set.
- Added new cache handler method to fetch cache key based on pattern for better performance (Redis does the filtering immediately) and prevent the need to scan through the entire keyset
Dashboards
Resolved timeline on dashboard (#149775)
Problem
- Dashboard column name does not match the record object
Solution
- Corrected column name
Ruleset Management
Amend RulesetCode validation to allow 3 or more characters (#149929)
Problem
- Cannot save information on existing rulesets that have a ruleset code that is 3 characters, since the current validation requires at least 4 characters.
Solution
- Amend ruleset code length validation to allow 3-character ruleset codes.