← HR Cluster

Changelog

Operational and technical updates to the HR Cluster platform.

Types of changes
Added New functionality or modules.
Updated Improvements or changes to existing functionality.
Core Major architectural, platform-wide, or operational changes.
Deprecated Features scheduled for removal.
Removed Features or functionality removed.
Fixed Bug fixes and issue resolution.
Security Security improvements or vulnerability fixes.

2026

8 changes · 3 added · 2 updated · 3 fixed

Scheduling 3 · Locations 2 · UI 2 · Production Plan 1 · Users 1 · Localization 1

Locations • sending a crew list to everyone survives an interrupted request

Sending a crew list to every location in a subtree did all of its work while you waited, which on a large structure could run for minutes. If that was interrupted, nothing recorded how far it had got, and the only way forward was to send again and mail everyone who had already received it. Each location is now handled as its own queued piece of work, so an interruption resumes where it stopped rather than starting over, a location that fails is retried on its own without disturbing the ones that succeeded, and nobody is mailed the same list twice. Sending to a single location is unchanged and still happens immediately.

Norwegian • one consistent word for locations across the product

The Norwegian interface used two different words for a location depending on where you were, and mixed them within single screens. Around seventy phrases across vehicles, accreditation, risk assessments, the schedule, incidents, imports, exports and outgoing email now use one term, with the related compound words and the module name itself brought into line. Ordinary Norwegian expressions that merely contain the older word in an unrelated sense, and postal address fields, are untouched. Nothing changes in the other languages.

Signup links • a day collapses to the shift you picked

On a public shift list, choosing a shift now folds that day down to just your choice, so a long list stays readable as you work through it. A control on the day lets you open it back up to see the alternatives, and it appears only on a day that has both a pick and something left to hide. Unpicking a shift reopens the day. Shifts you cannot take are treated exactly as before, so this changes only how much is drawn, never what you are able to select.

Production Plan • checklists print as working sheets, not as reports

The checklist documents now begin on the first page instead of opening with a cover, so a printed sheet starts with the work. Each row leads with what the task is, with the time and any other detail on a second line beneath it, which reads faster when scanning a page in the field. Days are banded throughout, including on a single-day sheet, so it is always clear which day a block of work belongs to, and each sheet carries one generation timestamp in its header. Reports keep their covers: this applies to the checklist family only, and the same layout is used whether the sheet is exported by hand or arrives in a morning briefing.

Switching between workspaces works from the sidebar

People who belong to more than one workspace had no way to move between them without signing out and back in. The switch link in the sidebar was shown to nobody at all, because of a mismatch in how roles were counted, and even when reached it led straight back to the workspace already open. The link now appears for anyone with a second workspace available, and behaves according to how many there are: with one other workspace it switches directly to it, and with several it opens the picker. The sidebar and the sign-in picker now agree on which workspaces you can open, so the list can no longer offer a workspace that then refuses to open.

Schedule • decide per shift who may sign up for it

A shift now carries its own answer to who may claim it, chosen when you create or edit it. All groups leaves it open to anyone who would otherwise see it. Selected groups restricts it to the groups you tick, where choosing a parent group includes everyone beneath it. Not available for signup means nobody can claim it and a manager assigns it in the usual way. That last option is what was missing: a management slot, a security position, specialist crew or a named assignment can now be an ordinary shift everywhere it should appear, on the schedule, in Clockwork, on crew lists, in exports and in reports, while simply not being claimable. It is not hidden, and it is not cancelled. Existing shifts are unchanged: anything that already restricted signup keeps exactly the audience it had, and everything else stays open as before.

Help pages inside the workspace, for every documented module

Modules now carry a Help link in their own navigation, opening documentation written for that module without leaving the workspace or searching a separate site. Eleven areas are covered: schedule, roles, signup links, groups, locations, departments, projects, forms, competence, suppliers and the production plan. Each page explains what the feature is, when to use it, how it works and how it relates to the other modules, with worked examples, a contents list for moving between sections, and links across to the pages a topic depends on. All of it is available in English, Norwegian, Swedish and Danish.

Schedule • shifts can now be placed on any location, including parent locations

A location that contains sublocations can now carry shifts of its own — a duty manager for the whole venue no longer needs an artificial sublocation to hang their shift on. A shift belongs to exactly the location it names: placing one on a parent never spreads it to the sublocations, and viewing or filtering by the parent shows its own shifts together with everything below it, each counted once. Location names across the schedule, crew lists, exports and statistics now show the full path (for example Site • Arena • Main Bar), so two areas with the same name under different parents can always be told apart — this also corrects the schedule filter, which previously missed shifts on third-level locations when filtering by a top-level one. Spreadsheet imports accept parent locations and the full path form; existing spreadsheets using the old two-part names keep working, and rows whose location, project or group could not be matched are now clearly flagged in the import preview instead of importing silently without them.

4 changes · 3 added · 1 fixed

Departments 2 · Production Plan 2 · Infrastructure 1 · Settings 1 · Mobile 1 · UI 1

Production Plan • a morning briefing email for every department member

Everyone who belongs to a department can now receive an automatic email at 06:00 local time with the day ahead. It carries the department's plan for today, today's checklist and tomorrow's plan, plus a personal checklist of the work assigned to that person. Today's checklist opens with whatever is still unresolved from earlier, flagged as overdue and grouped by the day it belongs to, so the sheet answers the question it exists for: what is still outstanding as I start today. Each person receives one email covering every department they belong to, not one per department. A department with nothing relevant to send receives nothing at all, so a quiet day produces no mail rather than an empty one. Briefings are on by default and can be switched off for a single department or for the whole account in the Production Plan settings, and which documents each audience receives is configurable. Each department can also name a head, who receives the department's documents in that role.

Mobile • the small links and consent controls are comfortable to tap

Several small controls on the public pages were difficult to hit accurately on a phone. The legal links in the page footer, the buttons on the cookie banner, the buttons in the cookie preferences dialog, and the individual cookie category switches inside it were all smaller than the minimum a touch screen should offer, so tapping one often meant aiming carefully or missing and hitting its neighbour. Every one of them now offers a full-size touch area, including the category switches, where the whole row responds rather than just the small box at its left edge. Nothing moved and no wording changed, so these controls are where they have always been. Text size is unchanged; only the area that responds to a tap has grown. This applies across every public page that shows the footer or the cookie banner.

Status page • measured uptime, grouped components and automatic incident reporting

The public status page now reports measured availability: uptime and downtime per component, computed from continuous monitoring rather than stated by hand, with any window the measurements do not cover yet marked as such. Components are grouped by what a failure would mean for you, so the page reads as consequences rather than as a list of internals. A detected outage now updates the affected component's status automatically and opens an incident on the page, with a recovery update posted when service returns, so the page reflects a disruption without waiting for a person. The page also offers a feed, so incident updates can be followed in a feed reader.

Production Plan • choose who the responsible picker offers

A new setting on the Production Plan module decides who the plan offers when picking a responsible for a row: everyone in the account, anyone who is a member of a department, or the members of departments and groups you select, where selecting a parent includes everything under it. The selection is kept as departments and groups rather than as a list of names, so someone added to a chosen department tomorrow is offered immediately, with nothing to refresh. The picker for selecting them is searchable and previews how many people the current selection reaches. Rows that already carry a responsible outside the chosen scope keep them.

Production Plan • typed supplier names can be resolved in bulk

A plan imported from a spreadsheet usually names its suppliers as typed text, and until now linking those names to registered suppliers was only possible one row at a time. A new Tools tab does it in bulk: tick the typed names that mean the same company, pick the registered supplier, and confirm. The card counts the names and the plan rows affected live as you tick, so the reach of the action is stated before you commit rather than discovered after. A field naming several companies separated by commas is treated as several names, and resolving one of them leaves the others in place on their rows.

Production Plan • work is listed under the phase its date falls in

An activity's phase membership now follows its date and time, and shifts shown in the plan inherit their phase the same way, so the plan on screen and the exported documents group work under the phase it actually happens in. The one exception is deliberate: rows imported from a sheet that stated an explicit phase keep the phase the sheet gave them. Rows that had been filed under the wrong phase were repaired automatically.

Settings • module access can be granted in levels

The per-user access cards for Production Plan, Forms, Items, Suppliers, Accreditation and Vehicles now grant access at a level rather than as a single yes. For the production plan, for example, one level lets a person work the plan, confirming, starting, completing and reopening rows, while the higher level also lets them add, edit and delete rows. A person's level can be changed in place without revoking and re-granting. Production Plan and Departments access can also be managed from the person's own Access tab, and a grant made on either surface reads back the same on the other.

Production Plan • the plan, the checklist and the supplier list export as PDF

All three views of the production plan now export as a finished PDF document, replacing the print button. Each document opens with a cover page stating what it covers and for whom it was prepared, summary figures, and a proportional timeline of the plan's phases. Work is grouped by phase, and each phase section opens with a readiness verdict, the crew planned for that phase and its activities, so a phase can be judged on its own page. The checklist is laid out as a field document: each row is a compact block rather than a table line, days with exceptions are called out, and the document carries the time it was generated. The supplier version is worded for an external reader, presenting open points rather than internal readiness verdicts, and its filename names the supplier it was prepared for. The supplier list can be narrowed to chosen suppliers before exporting, and the same two-level supplier filter works on screen: one control to scope the list, and a column filter to narrow within it.

6 changes · 1 updated · 5 fixed

Scheduling 3 · Payroll 2 · Contracts 1 · Groups 1 · Mobile 1

Schedule • the list and week views work on narrow phones

Below roughly 480 pixels the schedule list and the week view now lay each shift out as a card row instead of squeezing the table columns, so times, titles and staffing stay readable on a phone held upright.

Contracts • signing completes exactly once

A double-submitted signature, from a double click, a mobile retry or a network replay, and the case where both parties sign at the same moment, could each run the completion steps twice: duplicate signature records, and two sets of signed copies generated and emailed. Signing, the status change and finalization are now each guaranteed to happen exactly once no matter how requests overlap, so every contract produces one signed document and one set of copies. Contracts already signed are unaffected.

Payroll • a group-filtered export states which hours it left out

A payroll export narrowed to chosen groups follows where each session's work was stamped, so hours can legitimately fall outside the selection: a session recorded with no group at all, or one stamped to a group other than the worker's own. Previously such hours were simply absent from the export and nothing said so. The export preview now carries an advisory count of exactly what the group filter withheld, split between ungrouped sessions and sessions worked for another group, with the hours involved. It is information, not a block: these sessions are legitimate, and generating the export works as before.

Reports • overtime figures agree with payroll on every surface

A worker's month report, their sessions tab, a project's detail view and the project sessions export could each show different overtime for a session than payroll paid for it. Two things diverged: those surfaces attributed a session to the group recorded at clock-in even where the group of the underlying assignment had since changed, and they did not apply a group's own overtime rules where the account had set them. All four now resolve the group exactly as payroll does and apply the same overtime policy. Payroll itself was computing correctly throughout, so nothing paid out changes; the screens and exports around it now agree with it.

Schedule • shift minimum ages are enforced on public signup links and shown wherever shifts appear

A shift's minimum age was enforced when workers picked up shifts from their own portal, but a public signup link offered age-restricted shifts to everyone. Public links now apply the rule, with age measured at the shift's start. Because a visitor on a public link may not have provided a birthdate yet, the requirement is shown as a badge beside the role, and every registration path re-checks once a birthdate exists: a blocked shift is named to the person rather than silently dropped from what they selected. The minimum age is now also visible to operators on the schedule list and the starting-soon view, and to workers on their own shift cards and on the signup page. If you have filled age-restricted shifts through public signup links in the past, those signups are worth reviewing.

Schedule • overnight shifts save correctly and say when they end

Editing a shift that ends after midnight could be refused with an end-before-start error even though the times were right: the form computed the end date one day early for workspaces east of UTC, which in practice meant no change to such a shift's start date, start time or end time could be saved. The date arithmetic is fixed, including across daylight-saving nights and the turn of the year. Separately, the public signup page now marks a shift that ends on the following day, so someone signing up for a night shift can see that it runs into the next morning rather than reading the times as a same-day span.

Signup links • a link can offer specific shift roles

A public signup link that offers published shifts, or the shifts of one project, can now be narrowed to chosen roles, so a link made for one kind of crew offers only that kind of shift. Leaving the choice at all roles behaves exactly as before, and existing links are unchanged. Links that list hand-picked shifts are deliberately left out of this: there you already named exactly which shifts the link offers, and a role filter could only remove shifts you chose on purpose.

Schedule • choose which groups may sign up for each shift

Each shift can now carry its own rule for who may sign up for it. The shift form offers a group tree where you tick the groups whose members the shift should be open to; ticking a parent group includes its subgroups along with the parent's own members. A shift with no selection behaves exactly as before. The rule is enforced wherever self-signup happens: a worker's own shift list offers only the shifts their group makes them eligible for, and a public signup link offers a shift only when the link's audience and the shift's own rule agree. Alongside this, the shift form no longer carries a single group field of its own; which group a piece of work counts against for reporting continues to follow the people assigned to it.

Schedule • publish and unpublish shifts without leaving the board

Publishing or unpublishing a shift from its row menu used to navigate away to the shift's detail page, which cost you your filters, your scroll position and your place in the day you were working through. Both actions now update the row where it stands: the status badge and the row's menu change on the spot, and you stay on the board. If a publish is refused because the shift is not ready to be published, the reason is shown in place and nothing changes.