← 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

Vehicles • Vehicles and Accreditation get their own Help pages

The Help link in a module's own navigation now works in Vehicles and Accreditation, the two largest areas that were still without it. There are four pages. Vehicles covers the vehicle record, how a request becomes an approved vehicle, and how the gate desk and the scanner are used on the day. Vehicle types covers the type catalogue behind it, where the access, control and parking defaults for a category are set. Accreditation covers records, intake, review and the desk, including what applies when someone holds more than one type, which is the ordinary case rather than the exception. Accreditation types covers that catalogue and the access handling choice, which decides whether the desk applies to a type at all. Each page has a contents list, worked examples and links across to the modules a topic depends on, and the Suppliers and Vehicles pages now link across to Accreditation instead of only mentioning it. All four pages are available in English, Norwegian, Swedish and Danish.

Comms • select rows to move or delete contacts and channels in bulk

Contacts and radio channels can now be worked on as a group. Both tables have a checkbox on every row and a select-all in the header, and as soon as anything is selected a bar appears with two actions: move the selected rows to another list or plan, and delete them. Each asks you to confirm and tells you how many rows it is about to change. Moving contacts into a list that already holds one of them keeps the single copy and reports how many were skipped for that reason, so a move never leaves duplicates behind. The move action appears only when there is somewhere else to move to. The same selection works on the card layout you get on a phone.

Production Plan • the Tools tab opens as a short list instead of four open forms

The Tools tab used to open with all four maintenance tools expanded side by side, so every pick list, note and confirm button was on screen at once for a job that uses one of them. The tools are now grouped into two sections, Suppliers and Labels, and each tool is a single row carrying its name and a line saying what it does. Click a row to open that tool underneath at the full width of the page, which gives the two-column pick lists more than twice the room they had. One tool is open at a time within a section, and the two sections are independent of each other. A tool with nothing to act on says so on its row rather than opening onto an empty panel. The tools themselves are unchanged: the same controls, the same counts and checks before you confirm, the same scope, and renaming a label still limited to the people who manage types and labels.

Vehicles • vehicles are marked as Access or Delivery

A vehicle record now carries a category: Access or Delivery. Access is the default and is what every vehicle you already have has been set to, so nothing changes until you say otherwise. Delivery marks a vehicle that is coming to drop something off rather than to be on site for the day, and it is called out where that matters: the records list has a category filter and a Delivery chip, the vehicle form has the field, and at the gate the desk, the scan card and the decision dialog all identify a Delivery vehicle and word the verdict for it. What the gate decides is unchanged. A Delivery vehicle is admitted only through access windows you have actually granted it, and parking is not requested for it by default.

Vehicles • gate controls can be combined, and No control is a choice of its own

A vehicle's gate control used to be a single pick: check the driver, or check the cargo, or an escort, or a permit. A gate often needs more than one of those, so the control is now a set you tick, in any combination of Check driver, Check cargo, Escort required and Check permit, and every place that shows a control shows the full set. Where a control can be inherited there are now three choices instead of two. Use default controls follows the level above and names what that currently works out to, so you can see what you are inheriting before you leave it alone. No control says this category or this vehicle needs no gate control at all, and stops inheriting. Override controls lets you tick your own set. No control was previously reachable only by overriding and then ticking nothing, which on screen looked the same as an unfinished edit. Defaults still flow from the operational category shared across accounts, to your account's version of that category, to the individual vehicle, with the more specific level winning. Vehicles and categories keep exactly the controls they had.

Forms • an empty warning bar no longer appears when reviewing a submission

Opening a form submission for review could show an empty yellow warning bar above the details, with nothing written in it. The bar belongs to a notice that only applies when the person who submitted the form already has an account, and it was meant to stay out of the way on every other submission. There was nothing wrong with the submissions it appeared on and nothing was missing from them. The bar now appears only when it has something to say.

Production Plan • the Receiving row type is now called Delivery

The built-in row type that was called Receiving is now Delivery, renamed in every supported language. It is the same type under a new name rather than a new type, so every row already classified with it follows automatically: nothing to move, nothing to re-tag, and the plan, the filters, the exports, the PDFs and the checklists all show the new name straight away. Types you have created yourself are untouched. One thing to watch if you import: a spreadsheet that still carries the old name in its type column will report that type as unmatched in the import result rather than resolving it silently, so update the column before importing an older file.

Core • the service status page is linked from every page

Every page now carries a Status link in its footer, going to the service status page where current availability and any open or recent incidents are published. It sits with the existing links on the workspace, the sign-in page, the clock in/out terminal, the public pages, the legal documents and this changelog, so the status page is reachable from wherever you happen to be when you want it. The footer itself is now the same centred layout everywhere; the legal documents and the changelog used to lay theirs out differently. The link for subscribing to status updates has moved off the footer and onto the status page itself, at the top beside the heading, which is where you would look for it and easier to spot than as the last item in a row of links.

Contracts • contract PDFs are now properly typeset for A4

Generated contract PDFs, both drafts and signed copies, are now typeset like the on-screen contract preview: the same heading hierarchy, the same paragraph rhythm and text sized for an A4 page rather than a web page printed to paper. Agreements read the same but take noticeably fewer pages, and section headings no longer end up stranded at the bottom of a page. The electronic signature certificate at the end keeps every audit detail, including each signer's method, timestamp and device, in a more compact layout that stays on one page for typical agreements. Everything recorded about a signature is unchanged, and contracts that were already signed keep their original PDF; the new layout applies to contracts generated from now on.

Forms • reviewing a signup with shift picks settles everything in one decision

A registration from a public signup link that requires review appears in two places: the Forms review queue and the Schedule Approvals page. Deciding it from Schedule Approvals always handled everything, but deciding it from the Forms review dialog only handled the person. Approving there created the member and left their chosen shifts waiting for a second approval, and rejecting there quietly kept holding the seats the registration had asked for, so those places stayed blocked on the shifts. A decision now means the same thing on both pages: approving creates the member and turns the held seats into shift assignments, and rejecting frees the seats for someone else. The review dialog also lists the shifts a registration is asking for, so you can see what your decision covers before you make it.

Core • signing in no longer greets you with "your session expired"

After being signed out for inactivity and signing back in, you could land in your workspace with a message saying your session had expired and you needed to sign in again. The sign-in had worked and you were signed in; only the message was in the wrong place. It was most likely to appear with more than one tab open. Because it looked like the sign-in had failed, the natural response was to sign in a second time. These messages explain why you were asked to sign in, so they now appear only on the sign-in page itself, and never on a page you reach after signing in.

Production Plan • rename a label

A label with a typo or an outdated name could only be archived and replaced, which left every row that already used it carrying the old name. Tools now has a card that renames a label in place. It is the same label afterwards, so every row keeps it and every project, export and report shows the new name straight away, with nothing to move and nothing to retag. Renaming a label to a name another label already uses is refused rather than quietly merging the two, and the card points you at the one beside it if moving the rows across is what you actually want. Renaming is available to the same people who manage types and labels under Variables, because it changes the name everywhere in the workspace rather than in one plan.

Production Plan • move every row from one label to another

Labels drift as a plan grows: the same work gets tagged two ways, a label turns out to be too broad, or two labels end up meaning the same thing. Tools now has a card that moves every row carrying one label onto another in a single action. Pick the label to replace, then pick the label to use instead or type a new one, and the card tells you how many rows it will move before you confirm. Only the plan you are working in changes: rows in other projects keep the label they have, and the card says how many those are so you know what you are leaving behind. A row that already carries the label you are moving to keeps it once, and any other labels on a row are left alone. The label you moved away from stays in your list, ready to use again or to archive under Variables when you are finished with it.

Signup • your language choice follows you through the whole registration

Choosing a language on a public signup page only lasted for the page you were on. The next step - or a message pointing out a problem with your shift selection - switched back to the account's default language, typically halfway through registering. The choice now follows the whole flow: picking shifts, any messages about the selection, the registration form, and the confirmation page all stay in the language you chose, including when you arrive through a registration form that continues on to shift selection.

Forms • submitting a registration twice no longer voids the first one

Registering through a public form or signup link and then submitting again within a few minutes - a double click, the back button, or checking whether it went through - reuses the same registration record on purpose, so the repeat does not create a duplicate. But the repeat attempt then marked that very record as "Voided - already registered", even when the first submission had already been approved, and mailed the person a notice that somebody had tried to register with their email address. A registration that has been decided - approved automatically, approved by a reviewer, or rejected - is now final: a repeat submission still gets the ordinary confirmation page, but the record keeps its outcome and no notice goes out. A genuinely new attempt to register with an existing member's email address is still set aside as before, and the member is still notified.

Schedule • approving a new registrant from the Approvals page works again

When a public signup link requires registrations to be reviewed, approving someone who was not already a member failed from the Schedule Approvals page with "No matching user found. Create the user first, then approve" - even though creating the member is exactly what the approval is for. Reviewing the same registration from the signup link's own page worked, which is why the problem could hide. One approval now does everything it should from either page: it creates the member from their registration, turns the seats held for them into shift assignments, and sends their welcome email. Nothing was lost while this was broken: the registrations stayed pending and the seats they held stayed held.

Production Plan • suppliers move into the description in the printed plan

The plan and supplier report PDFs no longer carry a supplier column of their own. A row's suppliers are printed as the last line of its description instead, labelled and reading as a sentence, and a row without a supplier prints no such line. The width this frees goes to the description, which is the column that most often ran short. This is a change to the printed documents only: the plan table on screen, the sheet, the supplier tab, bulk editing, the import preview and the spreadsheet export all keep their supplier column, and are meant to.

Schedule • importing people to shifts respects the shift conflict rules

Assigning people to shifts from a spreadsheet was the one remaining way into the schedule that did not check whether the person could actually hold the shift, so an import could put somebody on two shifts running at the same time and nothing said so. Every row is now checked against the same two rules that apply everywhere else. A row that would leave a person holding overlapping shifts fails, and the message says why, while the rest of the file imports as normal. A row that leaves less than the account's minimum rest between two shifts still imports, and is recorded as a deliberately accepted short rest, exactly as it is when a manager assigns somebody directly.

Schedule • roles are listed in alphabetical order

Shift roles were listed in the order they happened to be created, which on an account with many roles meant reading the whole list to find one. They are now sorted by name everywhere they appear: the Roles page, the role picker on the shift form, the dashboard staffing picker, a signup link's role list, and both the shift export and the column mapping on import. Letters outside the English alphabet sort at the end, as they do in Norwegian and Danish. Signup links still show the roles that are in use first.

Schedule • a shift role can carry a default department

Where the Departments module is in use, each shift role on the Roles page can now name a department. Production Plan rows that mirror a shift take their department from that shift's role, so work arriving from the schedule is already classified instead of being filed by hand a row at a time, and this covers every way a shift can be created. Changing a role's department updates the rows still following it. A department set on a plan row itself always wins from that point on, including one deliberately cleared, so a row somebody has classified is never rewritten by a later change to the role. Rows that apply to every department stay that way, and rows classified before this existed keep exactly what they carry.

Layout • a tighter footer on phones, and a stray icon on Add date

When the footer's links wrap onto several lines on a phone, the lines used to stand far apart, taking three times the height the text needed. They now sit close together while every link stays comfortably tappable, and the small dot between two links is hidden whenever a line break would leave it hanging at the edge of a line. On the Add shift form, a calendar icon was drawn on top of the + Add date button; it no longer is.

Signing in works on the first attempt, however long the page sat open

A sign-in page that had been open for a long time could reject the first attempt and ask for the password a second time, and the pages most likely to be affected were exactly the ones left open after being signed out for inactivity. Signing in now works on the first attempt regardless of how long the page has been open.

Production Plan • full location names, and a single Time column in the PDFs

A location is now named by its full chain, from the site down, everywhere the plan names one: on screen, in the PDFs and on the PDF cover's scope line. Previously only the nearest parent was shown, so two places with the same name under different areas could not be told apart. In the plan and supplier PDFs, start and end now share a single Time column, set as one range with the duration beneath it, exactly as the on-screen table reads; the width freed goes to the description column, and an overnight row's next-day marker moves to the duration line. The plan PDF no longer prints a Prepared for line; that line belongs to the supplier report, which keeps it.

Production Plan • the sheet takes Need, several labels at once, and names in any language

Additions to the sheet view. The Need column joins the grid, next to Comment, so that field no longer requires opening the row; the spreadsheet import and export already carried it. A labels cell accepts several labels separated by commas, creating the ones that do not exist yet, matching what the importer does. Types, priorities and statuses are recognised in any of the product's languages: a value typed or pasted in a different language than the sheet is shown in resolves to the right one and is rewritten in the sheet's own language. And double-clicking the fill handle fills a value down the column through the rows that already have content, stopping at the first empty row, as spreadsheets do.

Production Plan • filters offer only what is actually in the plan

Every attribute filter on the plan, the checklist and the supplier list now offers only the values present in the rows the other active filters leave in play, so combining filters can no longer lead to a choice that produces an empty list. A selection that falls out of play is dropped rather than silently kept, and a PDF's filter line names only what the exported sheet actually contains. A Clear filters button appears on all three views whenever a filter is active; it returns the view to its default state while keeping the period being looked at.