← 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

25 changes · 7 added · 5 updated · 10 fixed · 3 security

Contracts 6 · Clothing & sizes 6 · Workforce 4 · Groups 3 · Infrastructure 2 · Scheduling 2 · +7 more

Clothing & sizes • The Not needed option shows its checkbox again

On the sizes link sent by email, the Not needed option under each item drew as a thin line instead of a checkbox. It still worked when clicked, and any answer given that way was stored correctly, but it did not read as something you could choose. It shows the same box as everywhere else again, and fills in when selected.

Clothing & sizes • Every item you collect is asked for again

Some accounts had items that were set up on the Clothing & sizes settings page but appeared nowhere else: the sizes link sent to crew asked for only some of them, Me ➜ My sizes offered only those, and the counters, the summary and both exports counted only those. Every item you have set up is asked for again. If an item had been missing, the answers people had already given for it were never lost and are shown as before.

Workforce overviews • Ticking a group ticks its subgroups

In the group and department filters on the Clothing & sizes, Food & allergies and Competence pages, ticking a top-level group now ticks its subgroups, and unticking it unticks them. Ticking a subgroup on its own shows the parent half-selected, so it is visible at a glance that only part of the group is included. The parent is never ticked for you: a top-level group can have members of its own, so selecting every subgroup is not the same as selecting the group.

Competence • The same people filters and a summary per competence type

The Competence page selects people with the same group, department and project filters as the other Workforce overviews, beside the existing type and status filters. A new summary card shows, for every competence type, how many people are verified, expiring soon, expired, pending review, rejected or missing proof, and how many have no record at all, computed over the people you selected. The search box narrows the visible rows only and the heading says Showing N of M. The Help page explains the selection and the summary.

Food & allergies • The same people filters, a summary and a Help page

The Food & allergies page now selects people the way the Clothing & sizes page does: pick groups, departments and projects in the filter bar (several picks in one list mean either, picks in different lists mean both; a top-level group includes its subgroups and a project means its crew), and the counters, the new summary card and the person list all follow the selection. The summary card counts how many people have each allergy and each dietary need, lists the free-text entries, and says how many confirmed none and how many have not answered yet. The search box narrows the visible rows only, and the list heading says Showing N of M so a searched list is never mistaken for the whole selection. Request update from the selection emails everyone in the current selection; the summary and detailed PDFs follow it too. The page has a Help pill and its own Help page in English, Norwegian, Swedish and Danish. Links saved with the old group filter still open the right people.

Scheduling • Renaming a role updates the shifts that use it

Renaming a shift role now changes what its shifts are called, everywhere you read them. Before this the role was renamed on its own and the shifts kept the old name, so the schedule board, the Lists tab and the exports went on showing what the role used to be called while the shift editor showed the new one. The same shift looked like two different things depending on where you opened it, and nothing on either screen said why. One consequence was that a single role could appear twice in the Lists tab, once under each name. Shifts that were still carrying an outdated role name have been corrected, so a role that was renamed at some point in the past now reads the same on every one of its shifts.

Scheduling • A shift reads "Role (Role label)" everywhere

The role label on a shift is now shown the same way wherever you meet that shift, as Stab (Rigg). Two places were losing information. A person's Shifts tab showed only the role, so a month of shifts that differed only by their label all looked alike, and the upcoming-shifts export for that person showed only the label and dropped the role. Two more places showed the same pair in a different shape: a group's Shifts tab and the Task column on the Sessions tabs used a middle dot instead of brackets, so the same shift looked like two different kinds of thing depending on which tab you opened. All of these now match the schedule board, including the CSV and PDF exports and the group shift list emailed to a group contact. A label that simply repeats the role is still shown once rather than twice, and that comparison now also handles Norwegian letters, so Servitorbar against SERVITORBAR collapses as it always should have.

Contracts • Help page for the Contracts module

The Contracts list and the Templates page now carry a Help pill like every other documented module. The page explains templates and versions and why a published version cannot be edited, how a contract is created, sent, reminded and voided, what the person sees on the signing page and where they find the signed document, every status in the list, who counts as missing a contract, and the access scope that decides whose contracts a manager's permissions reach. Available in English, Norwegian, Swedish and Danish.

Contracts • The email delivery log follows contracts access

Settings > Email delivery lists every email the workspace has sent, and a contract email's subject names the agreement and the person. Until now anyone with settings access could read those rows and open their delivery details, whatever their contracts access. A message linked to a contract is now listed, filtered and opened only when the viewer holds contracts access and the contract's person is inside their contracts access scope, the same rule as the contract itself. Delivery problems are unaffected: a bounce still appears in Open issues for the settings admin to act on, only its contract reference is withheld. Every other email in the log is unchanged.

Contracts • Granting contracts access now needs settings access

Until now, anyone who could view contracts could also give another member access to view and manage them. That meant a manager whose contracts access scope had been narrowed to some groups could hand a colleague management of every contract. Granting and revoking contracts access, on the Contracts module settings page and on a member's Access tab, now needs settings access, the same authority the access scope already required. Who holds contracts access today is unchanged.

Clothing & sizes • Ask crew for their sizes by email

Request update on a row emails that person a link where they fill in their sizes without signing in. Request from everyone missing sends the same email to everyone in the current selection who has not answered every item, after a confirmation that names how many people that is. People without an email address, or who have turned off email, are skipped and counted in the message you get back. A link is valid for seven days, and sending a new one replaces the old.

Clothing & sizes • Export the list and the summary

The Clothing & sizes page exports the people list and the size summary as CSV and PDF. Every file covers exactly the people the page shows under the filters you have set and states that scope in its header. A search narrows the exported people list the way it narrows the page, and never the summary.

Clothing & sizes • Collect crew sizes in one place

A new Workforce module for the sizes you order for your crew. Switch it on under Settings, Modules, and the account gets five items to start with: T-shirt, trousers, shoes, jacket and hoodie. Each item is a row in a list, and Edit opens the item in a dialog where you set the label, the size format and system, a size guide, and the sizes offered per fit, one per line in the order you want them shown. Whether a registration form asks for sizes is a setting on that form. A size belongs to the person, not to a project: crew answer once under My sizes on their own page, a manager can answer for them from the user card, and Not needed is an answer too. The Clothing & sizes page lists everyone with what is still missing, filters by group, department, project and status, shows a summary per item and size, and has a Help topic.

Contracts • New template keeps your choices when a save is refused

New template now opens in a dialog on the templates list instead of its own page. When a save was refused because the name was empty, the page reloaded and everything came back empty, including the starting template you had searched for and picked. The dialog now stays open with the name, the contract type and the chosen starting point intact, and shows the reason beside the buttons. Choosing a starting point still takes you straight into the editor for the first draft, and an old link to the add page lands on the list with the dialog open.

Contracts • Contract status on a group page now needs contracts access

A group page's Contract coverage card, which names the members missing a contract or waiting to sign, and its Send contract reminders bulk action were shown to anyone who could open the group, and the Missing contracts tab on the users list to anyone who could open that list. All three now require contracts access, as the rest of the Contracts module already did, and sending reminders requires the right to manage contracts.

Contracts • Access scope decides whose contracts a member may work with

Every member with contracts access now has an access scope beside their permissions: All groups, Selected groups only, or All groups except selected. The permissions still decide what the person may do; the scope decides whose contracts they may do it on, by each person's current group. Choosing a group includes its subgroups. People who are in no group are inside every scope except Selected groups only, and moving a person to another group moves their contracts with them at once. The scope applies everywhere contracts are reached: the contracts list and its search, each contract page, sending, voiding and resending, downloads of the signed PDF and its attachments, the Contracts tab on a user page, the Missing contracts figure on the dashboard and on the users list, the contract coverage on a group page and the coverage column on a project. Set it under Settings, Modules, Contracts, or on the person's Access tab; both show the same value and changing it needs settings access. Everyone starts on All groups, so nothing changes until you choose. One thing to know: archiving a group detaches its members, so a scope that excluded that group no longer keeps them out.

Users • Missing information lists the bank account country

On a user profile, the Missing information card counted the bank account country as missing but never listed it, so for a worker whose only gap was that field the card showed a heading and a Send request button over an empty list. The card now lists the country first and then the account number.

Forms • New registration form keeps what you filled in when a save is refused

New registration form now opens in a dialog on the forms list instead of its own page. When a save was refused, because the name was empty or the linked group did not belong to the account, the page reloaded with the message and the long form came back empty, so every field toggle, worker type and rate had to be set again. The dialog now stays open with everything you entered and shows the reason beside the buttons. An old link to the add page lands on the list with the dialog open.

Groups • Add group keeps what you typed when a save is refused

When Add group refused a save, because the name was empty, the chosen contact was not an active member, or the parent was already a subgroup or already had people in it, the page reloaded with the message and the form came back empty. The dialog now stays open with everything you typed, including a manually entered contact, and shows the reason beside the buttons. Add subgroup on a group opens the same dialog with that group already chosen as the parent, and an old link to the add page lands on the list with the dialog open.

Attachments • Attachment links on a risk assessment and in the submission review open the file

The attachment links on a risk assessment's detail page, and the attachments shown in the review dialog for a form submission (Forms, Schedule requests and a signup link's registrations), did not open the file: a click landed on the dashboard instead, with no message. They open the attachment now, the same way attachment links elsewhere in HR Cluster always have.

Departments • New department opens in a dialog on the list

New department no longer takes you to a separate page. It opens as a dialog over the Departments list with the same form as before: name, description, the parent department and the sort order. Cancel and Save sit at the bottom of the dialog, and a refused save keeps what you typed so you can correct it in place, whether the name is missing, the parent is not valid or a department with that name already exists. Saving opens the new department. An old link to the add page lands on the list with the dialog open, and editing an existing department is unchanged.

Locations • New location opens in a dialog on the list

New location no longer takes you to a separate page. It opens as a dialog over the Locations list with the same form as before: the parent, which projects the location is available in, its kind, the vehicle access flag, description, address and the linked users. Cancel and Save sit at the bottom of the dialog, and a refused save keeps what you typed so you can correct it in place, whether the name is missing, the parent is too deep or of the wrong kind, or the project selection does not fit the parent. Saving returns you to the list. Add sub-location on a location still opens the dialog with that location selected as the parent, an old link to the add page lands on the list with the dialog open, and editing an existing location is unchanged.

Status page • A service that keeps failing on and off now shows Degraded performance while it happens

Earlier today the status page started marking a day amber when a service failed some of its checks without ever being down long enough to count as an outage. From now on the live label follows too: while a service is failing on and off, its row on status.hrcluster.app reads Degraded performance, and it returns to Operational by itself once the checks have been clean for an hour. What counts as an outage and how uptime is measured have not changed; this fills the gap between fine and unavailable that used to show as Operational. It applies to every service whose label updates automatically. The two External registries rows are still being observed before their labels are switched to update on their own, so they keep reading Operational for now even when the registry behind them is having a bad evening.

Projects • Add project keeps what you typed when a save is refused

When Add project refused a save, because the name was empty, project dates were switched on without a start or an end, or the end came before the start, the page reloaded with the message and the form came back empty. The dialog now stays open with everything you typed and shows the reason beside the buttons, so you correct it in place and add the project. Cancel and Add project sit at the bottom of the dialog, saving still returns you to the list, and an old link to the add page lands on the list with the dialog open.

Status page • Intermittent failures now show as degraded in the history bar

On status.hrcluster.app a day on which a service failed some checks without ever being down for long enough to count as an outage used to look exactly like a clean day: green, 100% uptime, no downtime. From today such a day is coloured amber (Degraded performance) in the 90-day history bar, so an evening of on-and-off failures is visible as what it was. What counts as an outage has not changed, and neither has the uptime percentage: uptime still measures the time a service was actually unavailable, so a day can read 100.00% uptime and still carry an amber mark. That pairing is intended. Earlier days keep the colour they were recorded with; the new rule applies from now on.