Operational and technical updates to the HR Cluster platform.
Types of changes
AddedNew functionality or modules.
UpdatedImprovements or changes to existing functionality.
CoreMajor architectural, platform-wide, or operational changes.
DeprecatedFeatures scheduled for removal.
RemovedFeatures or functionality removed.
FixedBug fixes and issue resolution.
SecuritySecurity improvements or vulnerability fixes.
2026
Updated
Reactivating a removed user preserves their worker type
When you re-add a user who had previously been removed, their prior worker type is restored automatically instead of defaulting back to Time only. Employees come back as employees, invoice workers come back as invoice workers.
Updated
CSV user import supports worker types
The user import CSV now accepts an optional worker_type column. Values: employee, invoice_worker, time_only. Common aliases are normalised — invoice / invoiced / contractor map to invoice_worker; sessions_only / volunteer / unpaid map to time_only. Blank values preserve the existing worker type on update, so bulk re-imports never downgrade users who were already categorised.
Updated
Missing-info card prompts for invoice details
When an invoice worker is missing their company name, org/VAT number, or invoice reference, the Missing profile information card on the user page now flags those fields alongside the usual contact/address/ICE items. The worker-facing request email uses the same secure link as before — no login required to fill in what's missing.
Added
Invoice workers • supplier details on the user profile
Invoice workers now have a dedicated Invoice details section on the user profile: company name, org/VAT number, and invoice reference. These fields only appear for invoice workers — payroll employees keep their Payment details card, and time-only users see neither. Switching a worker from one type to another no longer wipes the previous type's data; bank account stays for employees, invoice details stay for invoice workers, in case you switch back.
Added
Worker types • Employee, Invoice worker, Time only
Users can now be categorised as one of three worker types instead of the old Employee yes/no. Employees are payroll staff (rate + bank account apply). Invoice workers are paid by invoice (rate optional, no bank account collected). Time only covers volunteers and attendance-only crew. The existing Employee flag is kept in sync automatically, so existing reports and filters continue to work. Registration forms can also create users as any of the three types.
Updated
Missing-info dashboard flags workers without payment details
Employees without a payment_account are now surfaced on the missing-info view so they can be chased before payroll export. A one-off backfill ran to catch existing gaps.
Updated
Projects • session filter covers all days and all months
The sessions-per-project view now defaults to all days rather than just today, and adds an "All months" option so a project's full history is one click away. Also fixed a filter binding bug that could error on month selection.
Updated
Forms • default project, auto-group, ICE contact relation, approval fix
Registration forms can carry a default project onto new users. New signups are auto-added to the form's linked group. The in-case-of-emergency section has a relation field. Fixed the approval dropdown and payment write path.
Approval confirmation emails now send after the admin approves a signup. The approve flow runs in its own transaction so a flaky email cannot leave the registration half-saved. Copy tightened, and the logged-in assign handler now respects the form's require-approval setting.
Updated
Schedule overview • inline assign picker
The assign action on the schedule overview now opens an inline picker directly, rather than a button that opens a picker. Quick-assign rows also align with the assignees indent for a cleaner layout.
Updated
Managers can now approve sessions
Session approval — previously admin-only — is now available to managers by default.
Security
Tighter access control for Contracts and Incidents
Access to the Contracts and Incidents modules now requires an explicit permission. Admins — or managers who already hold the module access themselves — can grant it to other managers from the user detail page. Nav links, dashboard cards, user-detail tabs, and attachment downloads for these modules are hidden and blocked for users without access.
FixedClockwork
Approvals list • mobile checkbox layout
Checkboxes no longer overlap names on the Approvals list on small screens, and the first column's padding now matches the rest of the workspace card-table system.
UpdatedSchedulingWorkforce
Schedule • managers can intentionally overbook
Managers can now manually assign workers to a shift that's already at capacity, with a soft warning and an overcap badge on the shift. Useful when you want a backup or a swap without splitting the shift.
FixedSchedulingWorkforce
Public shift signup • race condition resolved
Two workers grabbing the last seat at the same instant could both succeed, putting the shift over capacity. The signup flow now uses a transactional lock, with regression harnesses to keep it that way. Past shifts no longer appear in the signup picker.
Updated
Privacy, terms, and cookie policy refresh
Our legal pages have been updated with clearer transparency for B2B customers: named primary hosting (Hetzner, Helsinki, Finland), a named subprocessor list (including our email and analytics providers), honest international transfer wording with Standard Contractual Clauses where applicable, GDPR legal basis per processing purpose, a stronger security section, and a concrete table of the cookies we actually set. Available in English, Norwegian, Swedish, and Danish.
Updated
HR Cluster AS organisation number on all legal pages
The HR Cluster AS Norwegian org. number (937 565 690) is now printed on the Terms, Privacy, and Cookies pages in every supported language, replacing the earlier placeholder.
Core
Safer migration tooling for admins
The migration runner is now CLI-only — no one can trigger a schema change by hitting a URL. Platform admins get a read-only schema status view under Admin → System, plus a pending-migration banner so deploys never miss a step.
Updated
Clockwork QR codes reuse a live token per shift
The QR page now returns the existing valid token for a given account, user, and shift instead of minting a new one on every page load. Scanning an older printout keeps working until the token actually expires or is revoked.
Expanded shift rows and the assigned-users card on the shift detail page now share one grid pattern: name anchored left, time and group aligned consistently, and actions grouped on the right. Mobile layouts stack cleanly without horizontal scroll.
Updated
Schedule assign modal • tighter layout and small bug fix
The assignee row in the shift schedule is a little denser on wide screens, and a stray undefined-variable warning that could appear in the assign modal during approvals has been cleaned up.
Fixed
Group shift CSV/PDF export 500 error
Exporting group shifts to CSV or PDF no longer errors out. The group-scoping query was missing a join that the export paths needed.
Updated
Norwegian: Sessions section renamed to Økter
The Sessions section in the Norwegian UI is now labelled Økter, matching how users actually refer to it in the field.
Updated
Duration labels translated into all supported languages
Hour and minute abbreviations in shift and session durations now localise: t and min for Norwegian and Danish, h and min for Swedish, matching the UI language instead of forcing English h/m.
Updated
Unified email template for crewlist and group-shift exports
Crewlist and group-shift emails now flow through the same layout as the rest of the transactional email system, and the Norwegian locale is respected so recipient-language delivery works end to end.