Version 9.1.227 (4 May 2026) People Management Link the Address section to the required field, and implement required address import validation (#148420 & #148425) Problem Address section (not on summary page), not yet linked to required field setup. Also, import validation doesn't fire for missing required address fields   Solution Link the Address section to the required field, and implement required address import validation   Improve people management search functionality and add ID and passport number to Materialised Users (#146799) Problem People management search functionality needs improvements for score-based relevance searching, and to search on ID number and passport number   Solution Add ID and passport number to Job Profiler materialised user to enable searching, and improve all 4 people management SQL queries to include improved score-based searching   Fix Long username overflows to the side on a Person's User Card (#146219) Problem Long username overflows to the side on a Person's User Card   Solution Ensure that long names do not overlap by introducing a popover with ellipses    Fix People linked to a role navigation not working to go back (#147781) Problem People linked to a role navigation not working to go back   Solution Ensure that when clicking the back button from people linked to either product roles or people group that, it navigates you back    Resolve people group panes that do not clear correctly when navigating between them (#147818) Problem When switching between "Included"/"Excluded" and "People"/"Grouped Conditions", the wrong information/tables are displayed    Solution Resolve people group panes that do not clear correctly when navigating between them Added hideChildPanes() to clear all child panes (fixes the original bug — grouped conditions content not clearing). Added $(targetPane).addClass('active show') immediately after to manually re-show the clicked tab's target pane, since MDB's pill listener fires first and we override it. Reused the targetPane variable in the #v-pills-query-conditions check to avoid calling attr('href') twice.   Resolve issue where non-people administrators received errors when updating users to whom they have access via custom people group permissions (#146966) Problem When a user has been given people edit permissions via a custom people group, the editing of the user's details only partially succeeds. The authorisation on Identity is checking whether the acting user has the people management administrator role and is not taking the PG permissions into account.    Solution Added authorisation check on Identity service to perform an auth check that determines whether the user is editing their own profile, whether a people administrator or whether allowed to edit based on supplied permission type. For this also necessary to ensure that the logged-in user's permissions are always set in the cache and not just in the session, when the gRPC context is made to identify the HTTP context's session, which is no longer available to retrieve the permissions from, so it must rely on the cached value.   Resolve duplicate loads of the default child menu when clicking on the parent menu under people management admin (#147833) Problem Long loading times with certain menu items under the people management admin page    Solution Resolve duplicate loads of the default child menu when clicking on the parent menu under the People Management admin   Event Scheduler Fix scroll drag on event list view (#148222) Problem When a user scrolls on the page, the system drags and has a delayed response    Solution Fix the styling on the page so that the elements on the list view page fill it better, so that only the list view scrolls instead of the entire page   Ensure facilitators can view events they are facilitating and also update attendance (#148265) Problem Facilitators could not view events they were facilitating, and as a result, could also not update attendance.   Solution Ensure facilitators can view events they are facilitating and also update attendance    Report Builder Fix drop-down spills over the accordion and activates a scroll bar (#147795) Problem Drop-down spills over the accordion and activates a scroll bar    Solution Ensure the drop-downs do not spill over the accordion    ChatBots Ensure selected person details are available in JS for the bot - specifically for Replacements via bot (#142989) Problem Replacements via the bot do not expose the user selected for replacement    Solution Ensure selected person details are available in JS for the bot - specifically for Replacements via bot    People Groups Resolve issues on org unit and custom people group treeview selections (#148080) Problem Indicators and tooltips on the org structure treeview displaying whether Org PG exists weren't displaying.  Nothing happened when clicking on either of the icons to create the org unit Org unit selection when adding org to Custom PG's Grouped Conditions was not working correctly, due to a functionality collision between the Org Type PG treeview functionality and the Custom PG org grouped condition functionality.   Solution Recent changes to retrieve org nodes per level did not return the required single/multi-node pg classes needed to display colour and tooltips on relevant icons. Added this calculation to the query.  Confirmation modal was missing from the page that requests the user to confirm the creation/linking of a node to PG. Tooltip triggers were not triggering on the icon, so I moved them to the wrapping span of the icon.  Modifications to the JS handlers to correctly send through the Custom PG ID to which org must be linked or create a new ORG PG if applicable, and take no action when already linked/created.  Changes to the Grouped Condition for Org units query to calculate positions depending on whether to include sub-nodes or only have the main node.  Additional correction on query to allow adding org unit again, depending on whether it should include child org nodes, also corrected to display "(Excl. sub org units") on those that do not include sub org nodes.   Fix bug on icon highlight on org unit pg. (#148080) Problem On the previous fix, the org unit PG is reflecting the custom PG node if selected.    Solution Resolve the issue to have the org unit PG only show when the org unit is the actual PG.    Identity and Authorisation Fixed styling of registration page (#147892) Problem There are no margins on the registration page breaks when some elements are not displayed. The width of the main container changes when some fields are not displayed.    Solution Adding margin where needed on the page and ensuring the container does not resize when making changes.   Fixed styling of registration page (#147892) Problem There is no margin between the Job Profile Disclaimer and the Captcha. The 'Location in Organisation' and 'Job Title' fields do not scale with horizontal page size.   Solution Adding margin after the Job Profile Disclaimer field and ensuring the 'Location in Organisation' and 'Job Title' fields scale with horizontal page size.    Job Management Resolve the positions footer that disappears when navigating to other tabs (#147804) Problem The “+ New Position” button at the bottom disappears after navigation, and refreshing the page brings the button back    Solution Resolve the positions footer that disappears when navigating to other tabs   Update recruitment HR process post approval default URL (#147843) Problem The additional service API URL already contains 'api'    Solution Remove 'api' from recruitment relative URL    Fixing date ordering of appointment tables (#147134) Problem When the date format used for the appointment start and end dates in the appointments tables is lexicographically unsortable (dd/mm/yyyy), the appointments are not sorted correctly.   Solution Ensure the date values used to sort the appointment rows are lexicographically sortable (yyyy/mm/dd) even though the culture uses lexicographically unsortable dates (dd/mm/yyyy or yyyy/dd/mm).   Imports Corrected User Import field length validation (#148173) Problem Field length validations on the user import were not correct for all the import fields.    Solution Corrected the length validations.   Ensuring that the link to download the User Validation Report is shown for PowerShell imports as well (#146598) Problem The link to download the User Validation Report is not shown for PowerShell imports.   Solution Adding PowerShell imports to the list of reports that should show the User Validation Report button.   Notifications Skip to-be-sent records when there are no valid recipients (#147877) Ensure that we do not add "empty" to-be-sent records when there are no recipients. This was done for auditing purposes, but it causes a very large growth in the table. Rather, just log it instead.    Tenant Management Adding togglable pagination session store and restore (#142318) Problem On the Tenants page, pagination is not retained after editing a tenant. When returning to the list, all filters and paging are reset.   Solution Added session storage support to the global search control, allowing filters to be preserved where required. This feature can be enabled per data table and is disabled by default. It has been enabled for the Tenants page, ensuring that filters(search terms) are restored when navigating back to the list.   Dashboards Adding refresh on Banner Modal open (#146695) Problem When a user updates selected images and then either saves or cancels, the modal closes as expected. However, when the modal is reopened, the image list is not refreshed. This can result in outdated or incorrect data being displayed, including unsaved changes after cancelling or incorrect image order after saving.    Solution Ensure the image list is refreshed every time the modal is opened, so it always reflects the latest saved state from the database. This prevents stale or incorrect data from being displayed after cancel or save actions.    Replace all TinyMCE implementations with Sync Fusion rich text boxes (#146565) Problem TinyMCE WYSIWIG (rich text boxes) is not free anymore. Replace all components with Sync Fusion WYSIWIG   Solution Create a reusable JavaScript component for Sync Fusion rich text boxes, and replace all existing TinyMCE components on Razor pages, and 1 page on React. Affected pages: Ruleset | Dashboard Widgets | Add custom - 1 component Ruleset | System Access | 3 components (1 is only available on Ruleset 1) Ruleset | Communications | Add template - 2 components Ruleset | Communications | Email Setup - 2 components Job Management | Select Job | Disclaimer - 1 component System help page (V8) | Edit help page information - 1 component System help page (V8) | Edit virtual tours - 1 component Learning Management | Open subject | Class/Group | Attendance Register | Send email notification (Mark as absent) -1 component    Data Warehouse Updated script C_03585_99999_monDatawarehouseJobResultsReport.sql (#142737) Problem The newly added SSIS Packages are not included in the DWH Job Results email    Solution Added the new SSIS Packages within the DWH Job Results email   API Default attendance register to absent (#147668) Problem A request has been submitted that attendance registers be defaulted to absent    Solution Update the SQL script to default to absent   Ensure font configs register at build time (#147982) Problem Docx to PDF conversion still failing when charts and maths equations are in the docx   Solution Ensure font configs register at build time by adding a command to Docker