← 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

— continued

Production Plan • bulk edits accept a typed supplier or label, and Type joins the toolbar

Selecting rows and applying a supplier that is not in your register used to fail with Could not save, although the same picker on a single row has accepted typed names for months. The bulk Supplier and Label pickers now take a typed name, and bulk Replace and Clear on suppliers remove the typed names as well as the registered ones, so a row no longer keeps showing a supplier you just replaced. A typed label is created only when you are adding it, never when removing. Task type can now be changed in bulk too; shift rows are skipped and reported, as they are for locations. The same toolbar on the Deliveries list gets the same free entry.

Suppliers • duplicates are flagged in the review queue before they become duplicate suppliers

A public intake submission whose organisation number already belongs to a live supplier is no longer turned into a second supplier. The submission is accepted and the review queue names the supplier it matched, with a link, so a new person from an existing company can be dealt with rather than refused. The public page only tells the visitor that the organisation is already registered; it never says which supplier or who the contact is. Separately, two pending submissions naming the same organisation number now show a possible-duplicate badge in the list and a note on each submission, so you learn about the pair before applying the first one. Both are advisory: nothing is blocked and nothing is applied automatically.

Me • managers and admins get the self-service navigation too

A manager or admin who opened their own Me page had no links to My shifts, My profile, My competence or My groups, because the self-service block lives in the sidebar that backend users deliberately do not get. On a Me page a backend user now sees the same five entries as a row of pills at the top: My hours, My shifts, My profile, My competence and My groups. An admin who is the linked contact for a group now also reaches My groups, an access they held but could not open. The two English labels that were capitalised differently from their neighbours now match.

Me • your shifts and your group's shifts open where the shifts are

Crew whose event was a few weeks out opened My shifts and saw an empty board. My shifts now defaults to a week rather than three days, and when the default window is empty it moves to the first day that has something for you, saying so above the board. Upcoming shifts on the Me page lists your next ten shifts without a two-week cutoff. The Shifts tab on a group, both in the workspace and on a group contact's own portal, opens on the nearest month that has shifts and says when it has done so. A date or month you choose yourself is always honoured, so paging into a quiet week stays where you put it.

Suppliers • one supplier per organisation number

A live supplier's organisation number is now unique within your workspace, and spelling differences no longer hide a duplicate: spaces, dots, hyphens and a leading NO are folded before comparing, so 912 345 678 and NO912345678 are the same organisation (a foreign prefix such as SE is not folded). Saving a supplier or applying a submission that would create a second live record for the same number is refused with a warning, and what you typed is kept so you can correct the number rather than retype the form. The Apply anyway option that used to create the duplicate is gone. Archived suppliers do not count, so archiving and re-creating a supplier still works; restoring an archived supplier into a live collision is refused instead of silently allowed.

Statistics • one coverage figure for one period

Schedule ➜ Statistics could show two different coverage totals for the same range: the Schedule execution card included the last day of the period while Stats per location did not, whenever the range was entered as plain dates rather than picked with times. A date-only end now means the whole of that day on every card, so the numbers agree. Ranges picked with a time of day are unchanged.

Public pages • no dangling bullet at the end of a wrapped footer line

When the footer under a public page wrapped onto a second line, a separator bullet could be left hanging at the end of the first line. The pass that hides stranded separators used to ship with the main application script, which only 3 of the 14 public form pages loaded. It now ships with the footer itself, so every public page, the registration forms, the clock-in terminal and the workspace all behave the same way. This closes the separator note left open in the 8 September footer entry.

Deliveries • replies to a delivery proposal email reach the Ops mailbox

The two emails sent when a supplier proposes a delivery change or a new delivery carried the Workforce reply-to address, so a supplier answering a delivery question landed in the crew inbox. Both emails are now sent as Ops mail and reply to the Ops address configured under Settings ➜ Email delivery, the same place that setting already listed them.

Contracts • the signed date on an uploaded contract is your own day

The Upload signed contract form prefilled Signed date from the server clock, which runs in UTC, so between midnight and your timezone's offset it offered yesterday, and a contract accepted with the prefill was recorded as signed a day before it was. The field now opens on your account's own date. This is the same correction published for Schedule ➜ Lists and for the Locations crew-list email earlier this week, applied to the last surface that still did it.

Public pages • the footer under a registration form now matches the legal pages

The footer on the public registration and vehicle request pages now uses the same slightly larger type as the footer on Terms, Privacy and the other reading pages, so the two look like one product rather than two. This completes the change published earlier on 8 September, which brought that footer into the same column width as the page above it. Nothing moves on the workspace, the admin pages, the sign-in page, the clock-in terminal or this changelog: those keep the smaller footer that suits application screens.

Locations • emailing a crew list no longer offers yesterday's date

The Send crew list dialog prefilled its date from the server clock, which runs in UTC, rather than from your account's own timezone. Between midnight and your offset from UTC it therefore offered the previous day, and unless somebody noticed the field and changed it, the crew were emailed the wrong day's roster. The dialog now opens on your account's own date. The preview count beside the button reads the same day, so the two can no longer describe different dates, and sending itself was never affected: a malformed date has always been refused rather than quietly replaced with one. This is the same correction published for Schedule ➜ Lists on 8 September, applied to the surface that sends the list rather than the one that shows it.

Suppliers • Add vehicle works again on the delivery form

On the supplier deliveries form, Add vehicle did nothing when it was clicked, so a supplier could describe only one vehicle on a delivery. That is the whole point of the form, since one vehicle becomes one delivery. The lower half of the page was misplaced with it: the dangerous goods section, the supplier's own contact details, the approval notice and the send button were all drawn inside the vehicle list rather than below it. Both are fixed. Adding a vehicle now appends a numbered card with its own load, driver and arrival time, and the sections beneath the list sit where they belong.

Layout • wide lists scroll instead of being cut off, and the footer on public forms lines up with the page

Two places where something was drawn outside the box that owns it. On Schedule ➜ Lists the crew list and the shift overview are wider than their card on a small phone, and the card simply cut them off: there was no scrollbar and no way to reach the right-hand edge of the Name column, which on a crew list is the point of the page. Both now scroll sideways inside their card, the way wide tables already do elsewhere. Separately, on the public registration and vehicle request pages the footer ran the full width of the window beneath a much narrower card; it now keeps to the same column as the page above it. Wider screens and every other surface are unchanged.

Schedule • the crew list opens on your own date, not the server's

On Schedule ➜ Lists the date the page opened on was read from the server clock, which runs in UTC, instead of from your account's own timezone. Between midnight and your offset from UTC it therefore opened the previous day's roster: about two hours every night for an account in Norway in summer, longer further east, and exactly the hours a night crew reads a roster off the page. Both date fields now start on your account's own date. Choosing a date by hand always worked and is unchanged, and nothing about the lists themselves is different.

Deliveries • a delivery is one vehicle's movement, and the driver belongs to the vehicle

A delivery used to hold several vehicles and a single driver, which cannot describe anything real: one person drives one vehicle, and if the second truck is delayed the first should not look delayed with it. A delivery is now one vehicle's movement. It still carries as many plan items as it needs, so one truck bringing several things is unchanged. The driver now sits on the vehicle rather than on the delivery, and a vehicle with no driver of its own still shows the delivery's. A supplier may still propose several vehicles as one shipment: approving it results in one delivery per vehicle. The first stays on the original delivery, keeping its reference, its plan row and its history, and every further vehicle gets its own delivery and its own plan row, each named from what that vehicle is carrying and each tracked separately. Those rows inherit the original's department, responsible and location, so they reach the same people under the same filters, and every row says which shipment it came from. Existing deliveries are unchanged and need no action.

Suppliers • a supplier can update and announce their own deliveries

The supplier action link now carries a Deliveries page. A supplier opens it and sees the deliveries your Production Plan associates with them, and for each one can add the driver, the vehicles with their registration numbers and details, what each vehicle is carrying, a dangerous goods declaration, and a different arrival time from the one you planned. They can also announce a delivery that is not on the plan yet. Nothing they send changes anything on its own: every submission is a proposal that waits for approval, and the page says so wherever that could be misread. You decide on Vehicles ➜ Deliveries, where a Supplier proposals section lists what is waiting. The review dialog shows what was proposed and what approving will do before you press anything, and if somebody in your workspace changed a value after the supplier looked, it shows the value when they submitted, the value now and the value they propose, and will not approve until you have confirmed each one. Approving writes the delivery and moves the linked plan rows; rejecting changes nothing and emails the person who sent it. Deciding proposals needs permission to manage vehicles and to edit the Production Plan. The page is enabled per supplier, with its own project, on that supplier's Deliveries tab.

16 changes · 2 added · 4 updated · 10 fixed

Scheduling 6 · Production Plan 5 · Workforce 1 · Contracts 1 · Suppliers 1 · Groups 1 · +4 more

Expandable headings show their arrow again, and it sits after the label

The expand arrow disappeared from the dashboard's Understaffed shifts, Coverage and staffing drill headings, leaving a heading that looked ordinary but opened when clicked, and an unexplained indent where the missing arrow still took up its space. The arrow is back, the headings line up with the card titles beside them again, and it now sits after the label rather than before it, which is where every other expandable heading in the product puts it. It points down when the section is closed and up when it is open, on the dashboard, on Schedule statistics and on the Production Plan tools panel alike.

Groups • a group contact can download the member list

A person listed as a group's contact sees that group under Me, with its members, shifts and sessions. The shifts and sessions could be downloaded as CSV or PDF but the member list could not: the buttons existed only in the workspace page header, so a contact could reach that export only by typing the address. All three lists now offer the same two downloads on both surfaces, and the workspace shows them in the same place on every tab. Who may download what is unchanged.

Language • the first page after signing in is in your own language

When your own language preference differed from the workspace default, the first page after signing in could be drawn in the workspace language instead of yours, and repaired itself on the next click. It now uses your language from the first page. Three pages that translate their text were also announcing a fixed language to the browser, which affects screen readers and translation tools; each now declares the language it is actually rendered in.

Me • saving food allergies returns to your profile

The food allergies card sits on your profile page, but saving it sent you to My hours, at an anchor that page does not have. A validation problem was worse: the message was shown on a page holding neither the card nor the form, so you were told something was wrong with no way to see or correct it. Saving now returns to the profile page, beside the card you were editing, exactly as the same card already behaves in the workspace.

Contracts • the signer's email and status stay readable on a phone

On the Signers card of a contract the value column could not wrap, so on a phone the signer's email address, the Signed badge and the timestamp ran past the edge of the card and were cut off with no way to scroll to them. Values now wrap, and on a narrow screen the label sits above the value so it has the full width of the card. Wider screens are unchanged, and the same construction is what the detail dialogs already use.

Production Plan • click a column header to copy a whole column

Getting one column out of a wide table meant dragging across rows and picking the text apart afterwards, or exporting the whole plan. On the Production Plan and the supplier report, click a column header to mark that column, Shift+click a second header to mark everything between the two, then press Ctrl+C or Cmd+C. What lands on the clipboard is tab separated with the column names on the first line, so it pastes into a spreadsheet as columns. Escape, or a click anywhere else, releases the mark. The Sheet has done this since it shipped and only its tooltip said so; its hint line now names the gesture as well.

Me • the shifts page says when you have nothing rostered, not only nothing to sign up for

Your own shifts page lists the shifts you hold and the shifts open for you to sign up for. When the period held neither, it mentioned only the signup half, so a worker with nothing rostered was told nothing about that, and the wording read as a statement about the whole schedule rather than about the period on screen. It now names the period and both halves, in every supported language.

Schedule • an empty board now says which kind of empty it is

A window with nothing in it and a window whose shifts are all filtered out are not the same fact, and both used to read No shifts scheduled, so a status filter could assert that over a window full of published shifts. The board now says No shifts match these filters when a filter is what emptied it, which matters more now that filters are remembered and a plain visit can open on one set weeks ago. Two things about the Clear filters button are fixed with it: it now clears the filters instead of reloading the same empty board, and it appears when the staffing filter alone is what emptied the board, where it used to offer Add shift instead. Clearing keeps you in the layout and period you were already in.

Schedule • the period and the toolbar filters are remembered too

The schedule now reopens the way you left it. The period you chose in the toolbar, 1 Day, 3 Days or Week, and the five toolbar filters, status, staffing, project, location and role, are remembered alongside the Calendar and List layout that was already kept. Arrive without asking for anything in particular, through the menu, a link from the dashboard, a bookmark or a fresh login the next morning, and the board opens on your last choices. Each is yours alone and belongs to this workspace, so two people looking at the same schedule can hold different answers, and if you work in several workspaces each keeps its own. Clearing a filter is remembered exactly like setting one, so Clear filters clears it for next time as well. A link that names a period or a filter still wins, so a URL a colleague shares opens the way they meant it to, and a week link somebody sent you before this change still opens that week. The day the board opens on is deliberately not remembered: the schedule always opens on today.