# Version 9.1.189 (13 October 2025)

#### **Tenant Management**

##### Tenant Subscriptions (#137663)

**Problem**

- When the Core package is included in a Pay as you Use subscription (included by default), Standard Reports are excluded on renewal

**Solution**

- Include Standard Reports in the Core subscription of Pay-as-you-Use clients

---

#### **Notifications**

##### Check-In deadline for Final Review (#137902)

**Problem**

- Terminated users are included in the recipient list for PM deadline notifications.

**Solution**

- Exclude users who do not have an active appointment from being included in the results of contracts that are approaching their deadline.

##### Training Intervention import does not show progress on the Imports tab (#134550)

**Problem**

- Integration Imports are not logged on the Notification Imports view: 
    - Cost Descriptions
    - Training Interventions
    - Pathway Groups
    - Training Intervention Costs

**Solution**

- Included a logging mechanism for these imports on the Learning Management Module

##### Ruleset email configuration (#136875)

**Problem**

- Email from address is case sensitive

**Solution**

- A small update was made to the email validation logic in the `EmailSetupViewModel`.
- The regular expression previously used for validating email addresses has been replaced with the built-in `\[EmailAddress\]` attribute, which provides more robust and standardised validation.
- Replaced the custom regular expression for email validation with the `\[EmailAddress\]` attribute on the `FromEmail` property in `EmailSetupViewModel.cs` for improved accuracy and maintainability.

---

#### **Identity and Authorisation**

##### Tenant Creation Stuck (#137965)

**Problem**

- Tenant and Ruleset Creation does not complete and remains stuck on creating administrator users.

**Solution**

- Fix issue with user roles copy breaking due to having no context when calling anonymously during tenant creation

---

#### **Learning Management**

##### Assignment Management: Assessment Score to Pull to Marksheet (#137841)

**Problem**

- When a learner's score on the Marksheet has been captured and overridden, the assignment score is added additionally to the response, resulting in 2 scores being returned.

**Solution**

- Corrected the conditional check determining whether to use the score imported from the assignment or the overridden score.

---

#### **Data Warehouse**

##### Training Matrix - Refresh (#137719)

***Issue 1:***

**Problem**

- Not all the lmEmployeeTrainingRequirementsMatrix are being added due to the date filter within the script

**Solution**

- Adjusted the source script to return all non-deleted Training Requirements Matrix within DataSource EmployeeTrainingRequirementsMatrix

***Issue 2:***

**Problem**

- The source query for EmployeeTrainingRequirementsMatrix will not return all the data due to the Date filter logic

**Solution**

- Adjusted source query for lmEmployeeTrainingRequirementsMatrix to return TrainingRequirementsMatrix data for the current year

##### Request for access rights matrix (#137643)

**Problem**

- New Datasource is required to store UserPermissions data

**Solution**

- Added new Datasource jpUserPermissions

---

#### **People Management**

##### Save button disabled and Show default to be selected on open when ruleset does not have its own Virtual Tour (#137844)

**Problem**

- A check is done, which does not allow the user to save a virtual tour if there are no slides added, which can lead to the user not selecting DO not Show virtual tour and save

**Solution**

- Remove the logic check done for slide count and change the visibility default selection to show default, as this is the default rule.

##### More descriptive error to be shown when saving a Tour without slide details (#137846)

**Problem**

- When adding a new slide with no content and saving, in the backend, this throws an exception as the body HTML is needed, but it is not a descriptive error

**Solution**

- Implement logic check on the controller with the correct text error being returned

##### Tour shows after having set it to not show again (#137801)

**Problem**

- When saving a virtual tour from the culture selection, it takes the user's signed-in locale instead of the selected locale

**Solution**

- Correct the locale that is used to save the virtual tour

##### Add employee address &amp; Work location (#137612)

**Problem**

- The client wants to add the employee's address and physical work location to the placeholders so that it can be used in the auto-docs contract setup.
- Currently, they have to type it in manually for each employee

**Solution**

- Implement additional placeholders relating to user address details

---

#### **Theme Management**

##### Hanging banners not shown correctly (#137802)

**Problem**

- When the primary colour is of a very light hue, the resulting tertiary colour exceeds 100% lightness and gets converted to white (#ffffff).

**Solution**

- Add handling to ensure that the lightness/desaturation never exceeds 100% V9 Portion

---

#### **Performance Management**

##### Text Sanitation Changes '&amp;' to '&amp;' (#132912)

**Problem**

- On the review setup template, the names were still not sanitised

**Solution**

- Add the new tag helper to sanitise text

---

#### **Translations**

##### Language selection duplicated on drop-down (#135774)

**Problem**

- Language options are shown in duplicate on the Login screen.

**Solution**

- Remove duplicate language options from the language list returned from cache

##### Date picker format remains on English (SA) when changing to English (US) (#135930)

**Problem**

- Date formats in localstorage was not updated immediately after changing language and logging in. This happened because a cookie was used to determine whether the date format was changed and if it should be updated in the local storage. But the cookie was set in the app controller, just before the user is authenticated, meaning it could not retrieve the correct language from the user claim (as it does not have access to the claim yet as the user is not authenticated), resulting in the fallback language being used, resulting in the incorrect date formats being calculated.

**Solution**

- Rather set the date format cookie in the home controller (where the user is authenticated) and update the local storage directly from the cookie value (not necessary to retrieve manually anymore) if the cookie values was changed.

---

#### **Auto-Doc**

##### Username not pulling through (#137664)

**Problem**

- Username placeholders in document templates display incorrect date values instead of the actual numeric usernames. This probably affects several places in the codebase because the cause is a commonly used method

**Solution**

- Added a conditional check to respect the `parseOADates` parameter in the `ToSignifyDateTime()` method.

---