# Version 9.1.181 (1 September 2025)

#### **Imports**

##### Errors (#136080)

**Problem**

- The user import cannot transfer people due to the error Global appointment error, Failed to process transfers, details: Cannot insert duplicate key row in object 'JobProfiler.Appointments' with unique index 'IX\_Appointments\_UserId\_RulesetId\_EndDate'. The duplicate key value is (831760, 168, 2026-03-31 00:00:00.0000000). The statement has been terminated.

**Solution**

- Change the order of the bulk insert in the appointment command to first update existing records and then add new records to avoid this conflict on the end date.

##### Missing Employee (#135967)

**Problem**

- Import fails to stage more than 2100 users

**Solution**

- Implement batching for Dapper queries when removing duplicate users for the staging queue.

---

#### **Audit**

##### Development Environment and Infrastructure for 2025 (#125158)

**Problem**

- Sign-in history on the people profile did not receive the correct user ID, and the query which retrieved the history had a bug where it returned history for ALL users instead of filtering on the user it received.

**Solution**

- Ensure that the correct user ID is retrieved and fix the query to always filter on the user ID.

---

#### **Data Warehouse**

##### Send job completion mail (#135969)

**Problem**

- The package email step does not email all the execution results

**Solution**

- Adjusted the script and added a step that will be used to retrieve the latest SQL Job results for the ExecuteSequence SSIS package

##### Daily Server Monitoring Checks 2025 (#125159)

**Problem**

- The lmEmployeeTrainingRequirementsMatrix is executing very long due to the current script logic, and it refreshes all the data every day

**Solution**

- Added a date filter to only refresh recent data and implemented a performance improvement within the SQL Script

---

#### **Performance Management**

##### \[Copy from Previous\] Search filters not reset, but results are (#133833)

**Problem**

- When a user opens a modal to create a contract from another person, searches, then proceeds to cancel and reopens the modal, the results are reset, but not the search text.

**Solution**

- Implement a change to reset the search text as soon as the results are reset and populated when the modal opens

---