# 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.

---