17-07-2026 July 2026 System Release V1
Summary
This system release delivers a major upgrade to Site Documents — upload-time category creation, a new "Code" field, archived-site and label filters, a Reports overview and status filter, and a rebuilt contractor browse-and-download experience — alongside improvements across Forms, Suppliers, Staff, Inspections, Live Access, Plant, AI Tools, Online Training and Dashboards. It also adds new and corrected document-expiry email recipients, automatic reactivation of compliance-held forms, and a range of crash and reliability fixes.
Authentication
Failed logins for unknown emails now recorded - Login History now captures failed login attempts even when the entered email does not match any account, so all failed attempts are visible.
Clearer login-code rate-limit message - If you request a login code too many times in a short period, the login page now shows a clear message telling you to wait and try again, instead of appearing to send a code that never arrives.
Clearer warning when registering with an already-used email - If you register as a worker with an email that already belongs to another account, the confirmation screen now clearly explains that continuing joins both companies under one login (keeping the existing account's name and details) and advises using a different email if the account isn't yours.
Sites
Sites list on mobile - Fixed the Sites list on phones and narrow screens when Display Projects is turned on: parent sites no longer show an empty band, the site name is now tappable, and each project clearly shows its parent site as "Parent site › Project".
Site Documents
Create categories while uploading - When uploading site documents you can now type and add a new category right in the upload screen instead of being limited to the existing list. Staff who can edit sites get the add option; view-only users continue to pick from existing categories.
New "Code" field - You can now record an optional Code against each site document — capture it when uploading, view or edit it later, and search or filter your site documents by it.
Edit documents before uploading a file - You can now use Manage > View / Edit on a site document that is still awaiting upload to set the owner, version, expiry date and description, or remove it, before the file is added. Pending documents with a future expiry date no longer show incorrectly as expiring or expired.
Show archived sites - The Site Documents list now has a "Show Archived Sites" toggle. Documents from archived sites stay hidden by default; switch the toggle on to view them (marked "Inactive"). Your choice is remembered for the session.
Filter by Site Label - You can now filter the Site Documents list by site labels (such as precinct, region, or portfolio groupings), the same way you can on the Sites list.
Reports overview and status filter - The Site Document Reports page now opens with an at-a-glance Portfolio Overview (a pie chart and status tiles across your whole portfolio), and you can filter the reports chart by document status with the new Status pills.
Upload with "View Sites" permission - Staff with "View Sites" permission can now upload, replace, edit and delete Site Documents without needing "Edit/Update Sites" access. Creating or editing Sites and managing categories still require the higher permission.
Owner and uploader lists no longer cut off - When changing a site document's owner or uploader, you can now see the full list of matching people instead of only the first couple of results.
Category order fixed on upload matching - When matching uploaded site documents to a category, the dropdown now lists options in the correct order (with the currently assigned category grouped at the top) instead of a jumbled alphabetical list.
Clearer messages - Fixed a spelling mistake in the permission tooltips across Site Documents and Risk Register screens, and added a clearer message on archived sites explaining that document uploads are turned off.
Deleted document owner no longer breaks viewing - Fixed an error that stopped a site document from opening or downloading (and crashed the mobile sign-in flow) when the document's owner had been removed; these documents now open normally.
Clearer handling of unavailable files - When a site document's file can no longer be found, Preview and Download are now disabled with a clear "this file is not available" message instead of showing a broken image or a button that does nothing.
Site Contacts notified about expiry - Email reminders for expiring and expired site documents are now sent to the Site Contact as well as the Document Owner. When one person holds both roles they receive a single combined email.
Browse and download site documents (contractors) - When viewing a client, contractors now get a refreshed Sites & Documentation experience: expand any site to browse its documents in a searchable, sortable list, download or preview individual files (each showing size, uploader, date and expiry), see "new since last visit" flags, and export the list as CSV. The download-all-as-ZIP option is still available.
Documents
Approving global staff documents - The person set as the approver on a staff document category can now approve that category's global staff documents directly, and they appear in their dashboard "pending review" list, without needing a separate global-document-approver role.
Suppliers
Filter suppliers by expired documents - You can now filter the supplier list by a new "Document Expired" account status. The "Active" filter now shows only truly active suppliers.
Remove invited suppliers - You can now remove invited suppliers from your supplier list to keep it tidy; removed suppliers no longer appear, and they can still register later using your invitation or registration link.
Open forms from a supplier profile - Form names in a supplier's forms list are now clickable links that open the form in a new tab (shown as a link only when you have permission to view that form).
Completed prequal forms now appear on the compliance tab - Fixed an issue where a supplier could show an old "Cancelled" form on their compliance tab even when they had a completed, approved form of the same type; the completed form and its correct status now appear.
Supplier category audit trail - Assigning or removing a supplier's contractor category is now recorded in the User Actions log, including automatic default-category assignments.
Contractor Company
Contractor-restricted company documents no longer show as outstanding - Fixed an issue where company document categories restricted from contractors still appeared as required in the Contractor App Company Documents tab even after the document was uploaded and approved.
Company document expiry alerts go to the right admins - Expiry and reminder emails for company documents shared across multiple clients are now sent to every active admin of each client that still requires the document, and are no longer sent to admins of clients they are not assigned to.
Workers
Cleaner worker site list - In the contractor worker staging area, the "Sites Worker Attends" column now shows the first site and an "X others" summary; hover or tap it to see every site the worker attends.
Clearer document download names - Site documents downloaded from a worker's Sites tab now use their real, readable file names instead of encrypted or garbled names.
Primary admin compliance status corrected - Fixed an issue where a contractor's primary administrator could incorrectly appear as inactive with an expired-licence status on the client compliance settings page. Owner accounts now correctly show as compliant.
Staff
Send Invite for site-scoped administrators - Fixed an error where administrators limited to their assigned sites could not use "Send Invite to Me" or "Send Invitation" from the Staff area; these now work for site-scoped administrators.
Staff list checkbox no longer blocked by avatars - Fixed an issue where a person's avatar could overlap the row selection checkbox when scrolling the Staff list sideways.
Clearer permission-scope wording - When you invite or edit a staff member, the message explaining whether their permissions apply to the whole organisation or only to their assigned sites is now clearer.
Forms
Auto-reactivate compliance-held forms and permits - When a form or permit is placed On Hold automatically because a contractor became non-compliant, it now returns to Active on its own once the missing requirement is re-uploaded and approved. Holds set manually by a user are never affected, an On Hold badge shows when a hold is compliance-related, and the people involved are emailed when a form goes on hold and when it comes back off hold.
Edit forms and change the Permit Applicant without full admin rights - Staff with "Create, View & Edit Forms" permission can now open a form's Actions menu, edit a form and update the Permit Applicant, instead of needing the higher "Configure Forms" admin permission. Deleting a form still requires admin rights.
Set forms On Hold without clearing feedback - You can now put a form On Hold even when it still has open "Action Required" feedback, so escalated forms keep their feedback history. Approving a form still requires that feedback to be resolved.
Resolve feedback from the forms list - Contractors can now resolve a client's feedback on a form straight from the Actions menu in the forms list.
Form review feedback fixed - Fixed an error that stopped feedback from saving when reviewing a form, and replaced the unreadable error notice with a clear message.
Dashboard
Filter the dashboard by site - You can now filter your dashboard alerts by one or more sites on both the Client App and Contractor App dashboards.
Stale document alerts cleared - Fixed an issue where document approval alerts kept appearing on the Dashboard and the Global Documents Dashboard after the document was no longer required.
Tidier list search box - Fixed a small cosmetic glitch where the list search box's right-hand corners were squared off; they now match the left.
Incident
Deleted submitters still shown - Incidents submitted by a staff member or worker who was later deleted now still show that person's name under "Submitted By" (greyed out and not clickable), instead of the name disappearing or the link leading to an error page.
Question deletion cleans up fully - When you delete a question from an incident form's configuration, its answer options and related settings are now removed with it, instead of leaving behind leftover data.
Inspections
Corrective actions from inactive sites now show on your dashboard - Outstanding inspection corrective actions belonging to finished or inactive sites now appear in your dashboard's assigned corrective actions and are marked "Inactive"; previously they were hidden.
Faster Inspection Actions filtering - When you pick several options in a multi-select filter on the Inspection Actions list, the list now updates once after you close the dropdown instead of reloading on every tick.
Add-attendee error fixed - Fixed an error when adding an external attendee to an inspection without completing the Name, Position or Company fields; a clear validation message is now shown instead of an error page.
Tidier "export limit" message - The pop-up shown when a CSV download has too many rows now matches the standard app styling, with clearer text and a proper close button.
Live Access
Bulk sign-out error fixed - Fixed an error that could appear when signing multiple people out at once from Manage Others in the mobile app; sign-outs now complete without the error message.
No-expiry site inductions - Fixed an error that caused visitor and worker sign-in to fail when they completed a site induction set to never expire.
Map and activity for restricted admins - Fixed an error in the Contractor App Live Access view where admins with restricted visibility saw the map view, worker focus and Recent Activity panel fail to load.
AI Tools
Retired AI agents cleaned up automatically - AI agents that have been retired no longer appear when choosing an agent for form questions, and any prompt still linked to a retired agent shows an "Archived — remap recommended" indicator.
"Build Your Own" agent creation fixed - Fixed an error that stopped you from creating a custom AI agent; agent names are now validated as you type so you get a clear message instead of a failure at the end.
Online Training
Spot non-compliant training at a glance - The online training report now has an "Action Required" filter, colour-coded status badges showing how overdue expired training is, and clickable summary count cards to instantly filter workers who need to retake or complete training.
Publishing courses with long names - Fixed an error that stopped you publishing an online training course when its name was long; publishing now works and, if it does fail, the message tells you the real reason.
Report filter date badge stays visible - Fixed an issue where the date-range filter tag on report and list pages could disappear after you changed just one of the two date fields.
Offline Training (Beta)
Session API lookups fixed - Fixed an error that caused training-session API requests (list sessions, view a session, view attendees) to fail; they now return data correctly.
Plant
Faster Plant item pages - Plant item detail pages now load each tab's data only when you open that tab, so pages open faster and no longer time out when several plant items are open at once.
System Emails
Refreshed people document expiry email - The email that warns you when a person's documents are about to expire now uses the modern ComplyFlow design, shows your organisation's logo and support contact, and includes buttons that take you straight to the relevant person's record.
Changes to Be Aware Of
The following changes may affect how some features work. Please review these if they apply to your organisation.
Contractor workers no longer see staff-restricted site documents - On the refreshed contractor Site Documents view, documents restricted to a staff category are no longer shown to contractor workers (they were previously shown in error). A worker may notice such a document is no longer visible — this is expected.
The supplier "Active" filter no longer includes expired-document suppliers - Suppliers whose documents have expired now appear under a new "Document Expired" filter instead of within "Active". If you relied on seeing them in the default view, select the new filter.
Compliance-held forms and permits reactivate automatically - Forms and permits placed On Hold automatically because a contractor lost compliance now return to Active on their own once the contractor is compliant again. Holds you set manually are unaffected, and Area Supervisors now also receive the reactivation email.
Retired AI agents become unavailable - When an AI agent is retired it can no longer be selected for form questions, and any prompt still linked to it must be pointed at a current agent (look for the "Archived — remap recommended" indicator).
Changed and new document-expiry email recipients - Site Contacts now also receive expiring/expired site-document reminders, and company-document expiry reminders now go to every active admin of each client that still requires the document (and stop going to admins of clients they are not assigned to). Some people will start receiving these emails for the first time.
17-07-2026 Offline Training V2 Release
Summary
This release is a major upgrade to the Offline Training module: a refreshed public session and check-in experience, clearer registration and confirmation flows, corrections to session scheduling and list display, tighter alignment of what each user can see to their access, and a range of reliability and data-accuracy fixes.
Offline Training — Sessions & Scheduling
Past dates and times blocked when scheduling - When creating or editing a training session, the calendar and start-time picker now prevent picking a date or start time in the past, so an invalid time can no longer be saved. Completed sessions can still record past dates for historical records.
Sessions list always loads - Fixed an issue where the sessions list could appear empty if a session included a day with an end time set earlier than its start time. The list now displays correctly regardless of the time order.
Attendee names now show - Worker attendee names now display correctly when viewing an offline training session's details, including both manually added and self-registered workers.
Special characters saved correctly - The characters &, < and > typed into a session's Name, Description, Venue or Comment fields are now stored and displayed exactly as entered, instead of being altered or removed on save.
Training Labels save special characters - Ampersands and angle brackets typed into a Training Label's name or description are now stored and shown exactly as entered, instead of appearing as codes.
Cleaner empty dropdowns - When creating a session, multi-select fields such as Labels no longer show a "Select All" option when there are no options to choose from; they now show a clear "No options available" message.
Clearer handling of full sessions - When a session is already at capacity, the option to add another attendee is now hidden and a clear "session is full" message is shown, replacing a confusing generic error.
Clearer "Full" label at check-in - When a session is exactly at capacity, the seats indicator on the check-in screen now reads "Full" instead of "Over-allocated". "Over-allocated" appears only when attendees actually exceed capacity.
Offline Training — Registration & Check-in
Refreshed public session page - The public session page now has a cleaner, on-brand experience: registered attendees get a clear confirmation with add-to-calendar options (Google, Outlook, .ics) and check-in guidance, and a reminder banner appears on the day of the session.
Clear login path on invitation pages - When someone opens an invitation link without being signed in, the registration page now shows a clear "Log in to register" button and step-by-step guidance so they can sign in and complete their registration.
Clearer registration confirmations - Confirming or cancelling your registration for a session now shows a styled in-app confirmation dialog instead of a plain browser pop-up.
QR check-in hint shows at the right time - The note explaining that QR code check-in becomes available once a session is confirmed now appears only on sessions still awaiting confirmation, and no longer shows on completed or cancelled sessions. The note was also restyled for a consistent look.
Invitation link shows only when relevant - The share/invitation link on a session now only appears when the session can actually be registered for. It no longer shows on past or completed sessions, or when self-registration is turned off.
Confirmation email button - The button in the registration confirmation email now reads "View Offline Sessions" and takes staff straight to the offline sessions list (with their newly registered session opened) instead of the dashboard.
Accurate remaining seats in emails - When someone registers for a session, the notification email now shows the correct number of remaining seats, instead of one too many.
Offline Training — Access & Permissions
Session list respects your access - The sessions list now shows only the sessions you are permitted to view, and opening a session you cannot access shows a clear message instead of a blank panel.
Training menu matches your access - Offline and Online Training menu options now appear only when you have permission to use them, so you no longer see items that sent you to an error or back to the dashboard.
Add Attendee picker shows only eligible people - When adding attendees to a session, the picker now lists only active, fully-registered staff who can access that session's registration. Deactivated people, people who haven't finished registering, and staff without access to the session's site are no longer listed or selectable.
Offline Training — Data & Exports
Session labels in the Attendees CSV export - The Attendees CSV download now includes a Labels column showing each session's labels (comma-separated, blank when none).
Offline Session ID shows digits only - The "S" prefix has been removed from the Offline Session ID, so it now displays as plain digits — matching how IDs appear elsewhere in the app, including on-screen lists, emails, CSV exports, and the training API.
Changes to Be Aware Of
The following changes may affect how some features work. Please review these if they apply to your organisation.
Offline Session ID no longer has the "S" prefix - The offline session ID now shows as plain digits (e.g. 123) instead of "S123", everywhere it appears including CSV exports and the training API response. If you have saved references, spreadsheets, or integrations that expect the "S" prefix, be aware it is gone.
Offline Training now respects your access - Users with project-limited or permission-limited access will now see fewer sessions in the list, fewer training menu items, and fewer people when adding attendees — matching what they were already allowed to open and enrol. Nothing anyone could legitimately use has been removed.
Past-dated sessions can no longer be saved on edit - A session whose date or time has already passed can no longer be saved when edited, unless its status is set to Completed. Overdue sessions should be marked Completed to remain editable.