Skip to main content

Release Notes 20-05-2026

Written by Support

20-05-2026 May 2026 - System Release V1

Summary

This system release tightens cross-tenant isolation across the Staff API and Risk Register Custom Fields, replaces the Incidents and Inspections lists with faster server-side pagination, refreshes the Project Document Expiry email template, redesigns the multi-organisation login screen, and ships an extensive set of bug fixes across Forms, Suppliers, Sites, Live Access, Plant, Workers, Online Training, Tax Invoices, and CF Admin.

Authentication

  • Refreshed Organisation Selection Screen - The screen users see when their email is linked to multiple organisations has been redesigned with a clearer two-panel layout, an avatar with auto-generated initials when no photo is set, and a more obvious privacy policy link. Click-to-select behaviour is unchanged. Shipped but not a yet default.

Staff API

  • Stricter Input Validation on Staff Add and Update - The Staff API (POST /api/acu/staff/add and POST /api/acu/staff/{peopleCustom1}) now rejects HTML tags in the first_name, last_name, and job_title fields. Requests that previously succeeded with these values will now return a validation error.

Forms

  • Inline Feedback in Form PDF Exports - Form PDF exports now show reviewer feedback (Action Required, Feedback Only, status, reviewer) directly underneath each question, instead of as a separate appendix table at the end. The AI review panel also displays the agent route as a badge alongside each review rather than in a separate column.

  • Feedback Audit Trail Collapsed by Default - The audit trail on each feedback item is now hidden behind a small "Audit Trail (n)" toggle and collapsed by default, removing visual clutter from the feedback panel. Click the toggle on any item to expand its full history.

  • Hidden-Question Feedback No Longer Blocks Submission - Form submission is no longer blocked by feedback on questions that have become hidden because the user changed an answer that triggered them. Only feedback on currently visible questions counts toward the submission check.

  • Additional Request Email Now Includes All Unresolved Feedback - When a reviewer sends an Additional Request, the email now lists every unresolved feedback item on the form — matching the "Collected Feedback" panel — instead of only the items tied to that specific request.

  • Clearer Guidance When Reviewing a Section - When reviewing a form section, a new information panel explains that you can approve and move on if no further changes are needed, making the next step clearer for reviewers.

  • Contractor Compliance Now Reflects Cancelled, Deleted, and Missing Forms Correctly - Contractor compliance now correctly accounts for cancelled, deleted, on-hold, expired, and missing required forms — and recalculates automatically whenever a form changes state. Contractors who previously appeared compliant despite missing or cancelled required forms will now show their true status.

  • Contractor Name Only Links for Users With Permission - On the Forms list grouped by form type, the contractor name now appears as a clickable link only for staff who actually have permission to view that contractor; everyone else sees the plain name, preventing dead-end clicks.

  • Permit Status Text Now Displays Cleanly - Status messages on form sections no longer show raw " characters in place of quotation marks.

  • Information, Warning, and Critical Panels Work Reliably - Information, Warning, and Critical info panels added in form rich-text fields now stay in place, wrap their content properly, and display with correct spacing and icon alignment.

  • Further Details Field Now Hidden When Not Needed - The "Further Details (eg building or level)" field is no longer shown on forms where the project has no configured locations, so users can't enter information that would otherwise be lost. The field continues to appear and save normally for projects that have locations.

  • Fewer Crashes on Permit Detail Lookups - Looking up permit sections with an invalid or missing permit ID now returns a clean error instead of crashing the request.

Suppliers

  • Accurate Last Login Date for Suppliers - The Last Login date on Supplier Details now updates correctly, sourced from the supplier's primary user account.

  • Correct Uploader Name in Supplier Document History - The Documents History tab on a supplier now shows the uploader from the correct organisation, instead of occasionally displaying a name from a different organisation that also engages the same supplier.

  • Work Order History Pagination Keeps the Panel Open - Paging through a Work Order's history no longer closes the details slide-over panel.

Sites

  • Cleaner Site Details Page Load - Site Details no longer briefly shows the edit-mode inputs while the page is still loading; only the read-only view appears until you click Edit.

  • Notification Groups Tied Only to Archived Sites Are Now Skipped - When an Incident notification group's rules all reference archived sites, the group is automatically excluded from new incident notifications and from the "Forward Incident" picker, instead of silently sending to nobody.

  • Sites List No Longer Crashes on Document Category Names With Punctuation - The Sites list now correctly handles document categories whose names include commas or colons.

Incidents

  • Faster Incidents List With Server-Side Pagination - The Incidents List now loads incidents one page at a time instead of pulling every record in the organisation. Page loads are significantly faster on organisations with large incident histories, while "Download CSV" still exports all matching rows.

  • Delete an Incident Investigation - Incident admins (and the original creator, if no actions have been added yet) can now delete an investigation from the Incident Details > Investigations list, with a confirmation prompt.

  • Tidier Action Buttons in Incident Investigations - The action dropdowns in Recommendation Actions and Investigation Actions now sit cleanly at all screen sizes.

Live Access

  • Supplier Filter on the Sign-In Book - You can now filter the Live Access Sign-In Book by one or more suppliers, making it faster to find sign-in records for a specific company without exporting to a spreadsheet.

  • Site Induction Column Sorting on the Sign-In Book - The Site Induction name, completed date, and expiry date columns on the Sign-In Book now sort correctly in both directions.

Inspections

  • Inspections List Loads Much Faster on Large Datasets - The Inspections list now uses Previous/Next pagination and skips counting the total dataset, so large organisations see results in seconds. The "Download CSV" button still exports all matching rows.

  • Inspection Date in CSV Export Now Matches the UI - When you export the Inspections list to CSV, the Inspection Date column now uses the platform's standard date format instead of the raw database format.

Mobile Apps

This release ships server-side API improvements that benefit the ComplyFlow mobile apps. No app store update is required — existing app installs on iOS and Android will see the improvements automatically once the server release is live.

  • Faster Live Safety App Start-Up - The Live Safety mobile app now loads outstanding permits, area supervisor information, and distress alerts in a few seconds instead of timing out after up to two minutes. A separate fix also prevents distress alerts from other organisations from being shown to area supervisors.

  • More Reliable Inspection App Staff Lists - Fixed a backend error that could occur when the Inspection mobile app loaded staff records for plant or template inspections (selecting staff by plant, inspection template, plant category, or staff category). Server-side logging for these endpoints has also been improved so any future errors are easier to diagnose.

Plant

  • Plant List Filter Selections Now Persist Between Visits - The Plant List remembers your last filter selections (contractor, plant type, project, status, inspection dates, etc.) when you navigate away and return, matching the behaviour already in the Supplier List.

Workers

  • Worker Wizard Now Correctly Saves Worker Category Changes - The Worker Wizard now pre-fills the worker's existing categories and properly applies your selections, including removing categories you deselect. (Applies to organisations using the Enable Worker Wizard (Sites and Worker Categories) setting.)

  • Stability Fix for the Employee Duplicate Check - Resolved a production error that occurred when the duplicate-employee check was triggered with an invalid or already-removed employee record.

  • Worker Assigned Projects Table Stability - Fixed an intermittent error on the Worker > Assigned Projects sub-table that occasionally produced a generic failure during pagination.

Staff

  • Unassign Button No Longer Shows for Project-Requested Training - On the Staff Details > Online Training tab, the Unassign button is now correctly hidden when a training course was requested by a project (matching the Worker Details view).

Online Training

  • More Helpful Messaging for SCORM Download Issues - Improved the error message shown when a static SCORM download cannot be generated, and added internal diagnostics so failures can be investigated faster.

Tax Invoices & Licences

  • Cleaner and Mobile-Friendly Licence Statement - The Licence Statement table (under Settings > Licence and Tax Invoice Manager) has a more intuitive column order with Contractor next to Type, shorter column headings, and tighter widths so more data fits without horizontal scrolling. All columns and data now also display correctly on phones and small screens.

Risk Register

  • Risk Custom Fields Now Available to Risk R/W Staff - Staff with Risk Read/Write permission can now configure Risk Register Custom Fields. Previously only Super Users and organisation Admins could access the page, even though the original feature was intended to be available to any Risk R/W user.

  • Stronger Tenant Isolation on Risk Custom Fields - Closed a tenant-isolation gap on the Risk Register Custom Fields add and edit endpoints. The organisation a custom field belongs to is now always determined from the logged-in user, regardless of what is sent in the request payload.

Email Alerts

  • Refreshed Project Document Expiry Email - Contractors now receive Project Document expiry alerts in the standard ComplyFlow email design — clearer subject line ("Document Expiry Alert — <Document Category>"), client logo and support email, and an "Upload Documents" button that takes the user straight to the right place after login.


20-05-2026 Live Access API for Android 3.5.2 and IOS 2.8.3 release

Summary

This release ships the server-side Live Access API changes that pair with the upcoming Android 3.5.2 and iOS 2.8.3 Live Access mobile app builds.

Highlights: a one-tap bulk sign-out flow for Area Supervisors signing multiple people out across many locations, a signed-in Staff count on the AS site list, a new "Sign-in Blocked" entry in the web Activity Log for non-compliant attempts, corrected Company and Worker status on the Distress Alert screen, ETOS times now honouring the site's timezone, plus a comprehensive set of reliability and observability fixes across the Live Safety API.

Live Access — Area Supervisor Capabilities

  • Faster Bulk Sign-Out for Area Supervisors - Area Supervisors can now sign out multiple people from multiple locations in a single tap, rather than repeating the action for each location. A new API endpoint accepts a batched payload and returns a per-profile success/failure list.

  • Signed-In Staff Count Now Visible to Area Supervisors - Each site card on the Area Supervisor app now shows the number of Staff users currently signed in, alongside the existing worker and visitor counts.

Live Access — Web Dashboard

  • Blocked Sign-Ins Now Appear in the Activity Log - When the system blocks a non-compliant sign-in attempt at a site, a dedicated red "Sign-in Blocked" entry is now written to the dashboard activity log and shown on the Map View, so site supervisors can see at a glance who tried to sign in but was rejected.

Live Access — Distress Alert

  • Distress Alert Now Shows the Correct Compliance Status - The Company Status displayed on the Distress Alert detail screen now reflects the supplier's overall compliance (Compliant, Not Compliant, Pending Review, etc.) rather than the unrelated registration-step status that was being shown. The Worker Status field also populates correctly.

Live Access — Sign-In and Site Picker

  • Cleaner Site Picker on the Live Access App - The site list shown to an Area Supervisor or worker before signing in now hides sites that have no Local Compliance Profile assigned, so users no longer see sites that would have produced a sign-in error.

  • Phone Verification No Longer Errors When Device Token Is Missing - Sign-in on the Live Access mobile app now succeeds when the phone's device token is not yet available, instead of failing with an "Undefined index" popup that blocked the Submit button.

Live Access — ETOS Time Conversion

  • ETOS Times Now Honour the Site's Timezone - The Expected Time of Sign-out (ETOS) feature now correctly converts expected-completion times into each site's own timezone rather than using a hardcoded reference timezone, so sites outside Sydney see accurate local times in reports and on the mobile app.

Live Access — Reliability and Observability

  • Cleaner Recovery From Stale Mobile Sessions - When a Live Safety mobile session points at a profile whose underlying user account has been deleted, the API now returns a clean 401 unauthorised (prompting the app to re-authenticate) instead of crashing with a server error.

  • Live Safety Logs Now Easier to Investigate - Expected user-feedback messages (missing signature, already signed in, etc.) are now logged at warning level rather than triggering error alerts, removing noise from production error monitoring. Validation failures during bulk sign-outs now include the actual field names and error messages in the log lines instead of an empty exception.

  • Permits Endpoint Hardened - The Live Safety root permits endpoint now returns an empty list when the calling profile cannot be resolved, instead of erroring out.

  • Fewer Mystery Errors From Special-Character Data - The platform now repairs corrupt text characters in API responses and DataTables before sending them to the app, eliminating intermittent failures triggered by malformed UTF-8 bytes in source data.

Did this answer your question?