Version 9.1.218 (23 March 2026) Report Builder Resolved SubReport can not be exported (#146574) Problem Missing NPM package. Incorrect logic for building the pivot report details, no header values, and incorrect counts starting On the building of the subreport dropdown buttons, not being initialised after being dynamically built  Solution Added npm package Corrected logic for rebuilding the output to the Excel file export Initialised the MDB dropdowns after being built Implemented Excel Type replace for Pivot Table reports (#141028) Problem When adding multiple columns to pivot on, the back-end runs into a SQL limitation of the length of column name of 128 characters Solution When generating the script to execute and formulate columns to pivot, create a new mapping table to reference each column name to an Excel-type column 'A, B .. AA, AB' to allow several columns, and before returning, remap to keep the code and logic as needed. Avoid intermittent Export Errors (#146243) Problem Intermittent errors happen because we don't wait for the file to be exported Solution Wait for the file to be exported, and don't go out of scope Identity Ensure v8 fallback is only used when v9 password is not set (#146607) Problem Users are still able to authenticate using the v8 password after the v9 password was set.  Solution Ensure v8 fallback is only used when v9 password is not set  V8 password fallback on login (#146398) Problem When migrating to V10, a user needs to reset their password to log in and cannot continue using their V8 password until the V9 expiry is reached. Solution Introduce support for validating legacy ("v8") password hashes as a fallback authentication mechanism in the identity service. The changes span the application, database schema, and data access layers to enable seamless login for users with older password hashes. The most important changes are grouped below. These changes ensure backward compatibility for users with older password hashes while maintaining the integrity of the authentication process. Added UI validation check on confirm password and space for recaptcha (#146286) Problem Submission can be done, which then results in an error from the backend that the password and the confirmation password do not match  Solution Add a UI check to restrict and show a validation error message from the frontend side Event Scheduler Added event name and ref nr on the confirmation modal (#146253) Problem After booking yourself onto an event, the booking confirmation pop-up does not show the event reference number. Solution Updated the booking confirmation pop-up to show the event name and its reference number. Changing button font colour (#146255) Problem The system displays the Booking confirmation modal with the "Modify Booking" button not being easily readable due to the Font Color. Solution Update font colour to white to make the "Modify Booking" button easily readable. Added logic to save when whoCanBook is changed with a confirmation Modal (#145624) Problem When you change Who Can Book from Everyone to one of the other options, you can’t add people groups until you save first. Solution Switching between Who Can Book options now saves automatically. A confirmation pop-up appears when switching to Everyone to prevent accidental changes. This helps avoid losing any people groups that were already added. When marking attendance, and there is only one session, default the drop-down to that session (#146256) Problem The default does not show the session if there are no multiples Solution When marking attendance, and there is only one session, default the drop-down to that session No master data for Motivation for booking default values (#146251) Problem No master data for Motivation for booking default values. Solution Ensure master data for learning management is copied over. Event Scheduling: Selecting an event/day on the calendar view opens a modal instead of the side view (#145136) Problem Selecting an event/day on the calendar view opens a modal instead of the side view   Solution When clicking on an event on the calendar, do not open a modal; open the side menu. People Management Updated styling on the data tables (#146324) Problem Paging controls are displayed even when there are not enough items to require paging. They should only appear when the number of items exceeds the paging limit. The delete icon is also not aligned correctly It should appear against the right edge of the table, but there is currently extra spacing. Solution Updated the layout and styling so that paging controls only appear when needed. Adjusted the spacing to correctly align the delete icon with the right edge of the table. Performance Management Changed DateTime Picker to Date picker (#146543) Problem The new date picker that has been added to the due date field when adding action plans now has a button to select the time as well. Solution Removed the time picker. Updating Score Label Mapping cards to white background (#146352) Problem On the Score Label Mapping page (under Performance Years → Review Setups), the mapping header and options are not displayed within the card with the scoring criteria, making the section harder to read. Solution Updated the styling so that the mapping header and options are displayed within the card, improving clarity and layout. No date picker on Action plans (#146349) Problem Date time picker not rendering on action plans when using dayjs Solution Changed to make use of Syncfusion's picker Add change to calculate running score when copying manager score to final rating score (#146110) Problem Solution Added a new change to calculate the running score when copying the manager rating to the final rating Master Data Fix ListMasterData filter by properly parsing values (#146258) Problem Filtering for ListMasterData in JobProfiler/ExportDataService did not work due to the value being improperly parsed as a string. Solution Handle different GRPC value types to properly convert the value to the primitive type before calling.ToString()  General Replace broken popover component with new custom SyncFusion Popover component (#144966) Problem Popover on React pages is misaligned and does not behave correctly anymore due to the recent package upgrades. Previous attempts to fix it were unsuccessful, so we decided to replace it with a new popover component.  Solution Replaced usages of Popover with the new SyncFusionPopover component, a custom component built on the SyncFusion library that works correctly and provides more options for interactability. Data Warehouse Adjusted StudentSubjects to include records with ModeratedMark (#144417) Problem The DWH currently removes the subjects if all the marks are -1, regardless of whether it has a moderated mark within StudentSubjects Solution Added step within StudentSubjects to keep records for scenarios where either all the marks are -1 or where all the marks are -1, but it also has a Moderated Mark Updated Delete steps for LearningManagement_ETL SSIS Package (#142737) Problem The package can fail if LearningManagement is set to false within PackageSettings, which is caused by the delete step for each Data Source within LearningManagement_ETL SSIS Package Solution Added IF EXISTS check to prevent deletes when LearningManagement is set to false in PackageSettings for SSIS Package LearningManagement_ETL Added updates for Data Dictionary (#146242) Problem By default, the People Data Source is named as Users - ID Number, which is set by default not to be selectable  Solution Added Step to rename Data Source Users to People - Added Step to set field ID Number as selectable and searchable Corrected step for cmFileTypeContents (#143697) Problem The package failed on step "Delete cmFileTypeContents" due to an incorrect field name.  Solution Updated script to use the correct date name field within step "Delete cmFileTypeContents" Created new Folders for DWH Code Review Process (#145986) Problem It is currently difficult to review the DWH scripts due to how SSIS packages work Solution Created folders and aligned the container steps that will assist in making code reviews easier using GitHub Adjusted step within pdmContracts for OverallFinalScore calculations (#146110) Problem Currently, the OverallFinalScore are not being updated correctly due to the reference data that is being used  Solution Updated step by removing @ReferenceDate and added a check if Script is being executed between 12 and 2 am within IF EXISTS to ensure that the OverallFinalScore are being updated correctly within pdmContracts Tenant Management Resolve select2 positioning issue (#146533) Problem The search box was working, but was not rendering relative to its position after scrolling. Solution Ensure the search box appears relative to the clicked spot after scrolling, and clear out any previously opened search boxes Imports Add JobProfiler pre-import procedure to remove overlapping appointments (#144266) Problem When importing data, all overlapping appointments that may cause a rejection should be removed to prevent rejection.  Solution Add a custom pre-import script to remove overlapping breaking positions for the user and position. Learning Management Resolve the success message not showing on the marksheet and allow the moderated mark to be removed (#146077) Problem Success snackbar not showing when saving, also not able to remove the moderated mark. Solution Resolve the success message not showing on the marksheet and allow the moderated mark to be removed. Snackbar is not properly loaded in the SPA minimal page. Created a helper snack to re-use in spa-mimimal pages.