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
— continued
UpdatedProduction Plan
Production plan • Hide completed is remembered
The Hide completed switch in the plan's Status filter now stays as you left it. Untick it and finished rows keep showing the next time you open the plan without asking for anything in particular: a click on Production plan in the menu, a link from the dashboard, a bookmark, or a fresh login the following morning. Tick it again and that is remembered in exactly the same way, so neither choice becomes permanent. The setting is yours alone and belongs to this workspace: two people looking at the same plan can hold different answers, and if you work in several workspaces each one keeps its own. A link that names the setting still wins, so a URL somebody shares with you opens the way they meant it to whatever you chose last, and nothing changes while you move around the plan. The supplier list follows the same choice, since it carries the same switch. The checklist is unchanged and still hides finished work: it has no switch of its own, and it should not start showing rows you cannot turn off there.
FixedProduction Plan
Production Plan • a row can name several suppliers you have no record for
A plan row can now hold several free text supplier names alongside any registered suppliers, and each one is its own entry. Typing a second name into the supplier picker adds it instead of replacing the first, and the Sheet accepts several unrecognised names in a supplier cell. Each name is shown separately on the row: click one to link it to a registered supplier or to correct its spelling, and only that name changes while the others stay as they are. Printed plans, supplier reports and shared plan links list the names individually and label them correctly when there is more than one. Rows imported from a spreadsheet already held several names in one supplier column and are unchanged; they can now be edited on screen as well.
AddedProduction Plan
Production Plan • delivery details now appear on the printed and exported plan
A delivery row in the plan PDF now carries its delivery reference, and states in words when several rows arrive on the same delivery, so a sheet read at the gate shows that two returns share a truck. Beneath it the sheet prints the delivery description, the vehicles with their registration numbers and any gate control that differs from the delivery's own, the gate control the delivery states, and the dangerous goods class. The screen already showed all of this; only the printed and exported plan was missing it. Supplier names stay on the last line of the What column, and the checklist sheets are unchanged.
FixedProduction PlanProjects
Production Plan • plan rows follow their project's phases when those phases change
Adding a phase to a project, moving a phase checkpoint or deleting a phase now re-files the plan rows affected by it. Until this fix a row kept the phase it was given when it was created, so a printed plan could group rows under a heading that no longer matched their dates, and rows whose phase had been deleted collected in a No phase section at the end of the document. The plan's own phase filter reads the same value and was affected the same way. Rows repair themselves the next time the plan is opened, so an existing project needs no action, and saving a project's phases now repairs that project immediately. A row imported with an explicit phase column keeps it: the spreadsheet value is treated as a deliberate choice and is never overwritten, only filled in when it is missing.
UpdatedScheduling
Signup • signup links are created, viewed and edited in a dialog
Signup links no longer take you to separate pages. On Schedule ➜ Signup links, New signup link opens the form in a dialog, View on a row opens that link's details, share URLs and registrations in the same dialog, and Edit inside it swaps to the edit form, so you never leave the list. The registrations listed there keep the same Review and Reject buttons as before and open the same review dialog Schedule ➜ Requests uses. Activate and Deactivate sit in the dialog's footer. The old page addresses still work: a bookmark, the link name in the Requests inbox and the Review now button in the reviewer email all open the list with that link's dialog already open. Help updated in all four languages.
FixedScheduling
Signup • the email telling you a registration is waiting opens the Requests inbox
The email a reviewer gets when somebody registers through a public signup link carries a Review now button, and it opened the signup link's own page. That page is where a link is configured, and it happens to list that link's registrations, so a reviewer running several links had to work out which link a person had come through before they could act on them. The button now opens Schedule ➜ Requests, the single inbox for every waiting decision, scrolled to that registration's row; once the registration has been decided it simply opens the inbox. This finishes the change announced on 6 September, when Approvals was merged into Requests: the inbox became the one place to clear a decision, and this was the last thing still pointing elsewhere. Nothing else about the email has changed, and the link's own page still lists its registrations exactly as before.
UpdatedScheduling
Schedule • the schedule reopens in the layout you last chose
The Calendar and List toggle in the Schedule toolbar is remembered again. Switch to the list and the schedule opens as a list next time you arrive without asking for a particular layout: a click on Schedule in the menu, a link from the Dashboard, a bookmark. Switching back to the calendar is remembered in exactly the same way, so neither choice becomes permanent. A link that names a layout still wins, which means a copied or bookmarked URL opens the layout it names whatever you chose last, and nothing changes while you are moving around the schedule: the arrows, the presets and the filters have always carried your layout with them. This reverses what was published here on 6 September, where the calendar opened on every fresh visit and a switch to the list lasted only as long as you kept navigating with it. Nothing else about the toggle has changed. It still lays out the same shifts under the same filters for the same period, and it stays hidden below tablet width, where the schedule is already a list. Help updated in all four languages.
Scheduling 16 · Vehicles 6 · Production Plan 6 · Forms 4 · Mobile 3 · Incidents 2 · +8 more
FixedScheduling
Schedule • Add shift and Edit shift briefly failed to open on 6 September
For about twenty minutes on the evening of Sunday 6 September, between 19:06 and 19:23 Central European Summer Time, the Add shift and Edit shift dialogs on the Schedule did not open and reported that the shift form could not be loaded. The cause was a change that had just been deployed; it was reported to us from live use and corrected by a further deployment within the same twenty minutes. Only those two dialogs were affected. The schedule itself, clocking in and out, signup links, and every other part of the product ran normally throughout. No data was affected: the failure happened while the form was being drawn, before anything could be submitted, so no shift was created, changed or lost, and any shift you were part-way through adding simply needed opening again.
UpdatedProduction Plan
Plan Live • the live plan reads on a phone
A Plan Live link opened on a phone showed the plan as a wide table that had to be dragged sideways. Below tablet width each row is now a card with its fields labelled, empty fields left out, the time as the first line and the day as a heading above the group, and the controls along the top wrap into rows so the range and text-size choices no longer lose their last option off the edge. It reads without sideways scrolling down to the narrowest phone we support. A phase with no start checkpoint also showed a bare dash where a date should have been, and now reads, for example, Rig, until 8 Oct 2026.
FixedLocalizationScheduling
Schedule • crew list and confirmation headings are translated
Eleven labels on the crew list were left in English whatever language you were reading: the six column headings, time, duration, role, location, name and phone, and the five summary labels on the shift overview beneath it. The four headings on the summary table shown right after creating shifts, and the heading counting the shifts created, were the same. A Norwegian, Swedish or Danish operator saw an otherwise translated page with English headings in the middle of it. All of them are now translated. Nothing changes for an operator reading in English.
UpdatedUI
Layout • one icon set, one selection checkbox, one action row on public forms
Every arrow used as a control in the product, to expand a row, collapse a day, move to the previous or next period, open a picker or switch account, was drawn as a typographic character, and the mixture rendered at different weights and sizes depending on the device and the font available. They are now one drawn icon at one weight everywhere, including the expand arrows on the Statistics drill-downs. Selection checkboxes, on the production plan, in Comms channels and contacts, on the payroll scope picker, in Clockwork and on deliveries, were rendering in the browser's default blue at the browser's default size and now share one branded checkbox at a consistent size. The supplier intake form, the supplier confirmation link and the risk-assessment sign-off link put their submit button in a full-width bar; all three now use the same action row as the public signup and registration forms, so the main action sits in the same place wherever you meet one of these pages.
FixedSchedulingMobile
Schedule • shift cards, day headers and the week calendar
On a phone, shift cards had lost their status badge and their staffing count: a worker's own card showed no Confirmed, Requested or Available badge, and a manager's board showed neither Published nor how many of the required people were assigned, leaving the colour of the edge stripe as the only clue. Both are back, on one line, for example 3/4 and Confirmed. A day header wrapped its date over three lines beside the day's summary; the date now stays on one line with the summary beneath it. Collapsing a past day did nothing at all, on both the board and a worker's own Shifts page, and now collapses it. The Calendar and List toggle was supposed to be hidden on phones and was being drawn anyway, which squeezed the 1 Day, 3 Days and Week buttons until one of them broke over two lines; it is now genuinely hidden there and the three fit on one line. On desktop, a layout fault that was splitting each day's shifts into a second column beside their own header in the week calendar is fixed.
FixedSchedulingMobile
Schedule • reviewing crew and setting up roles now works on a phone
Four schedule pages could not be used on a phone at all. On Approvals a reviewer saw only the name and email and had to drag the table roughly six hundred pixels sideways to reach any decision button. On Requests, Reject was clipped mid-word and both buttons sat half off the screen. On Signup links, the status, Copy link and every review button on a link's registrations were off the screen entirely. On Roles the name box shrank to about two characters and Delete could not be reached at all. All four now lay each row out as a card with the actions full width and on screen, down to the narrowest phone we support. The share-URL row on a signup link also keeps Copy link and the open button on one line instead of wrapping.
FixedUIMobile
Layout • lists no longer cut off on phones and tablets
More than twenty lists across the workspace sat in panels that cut off at the panel edge with no way to scroll, so on a phone the Actions column, and on some pages the status too, was simply unreachable. Contracts, Forms, Groups, Incidents, Items and its history and categories, the messaging log and rosters, Power public links, logging and sources, the production plan import, Projects, Risk assessments, supplier vehicle requests and the contracts tab on a person's page now lay each row out as a readable card on a phone; created shifts, email delivery settings, the vehicle registry comparison and the item reports scroll sideways instead. The same lists were still being cut off between phone and desktop widths, on tablets and small laptops, and now scroll properly in that band too. Two faults the sweep exposed are fixed with it: a name in a stacked row with no visible action button was laid out at zero width and broke a hyphenated name at every hyphen, and the production plan's tables overhung their panel by a little over twenty pixels on each side, so the last stretch of the sideways scroll could not be reached and the empty-state text started outside its box.
UpdatedDashboardScheduling
Dashboard • waiting shift requests are visible, and no-shows are counted once
Shift requests from logged-in workers had no signal on the dashboard at all: you had to open Schedule ➜ Requests to discover that five were waiting. The count is now shown there. Where the summary row has space it takes a card of its own, Shift requests, amber above zero and linking straight to the inbox; where the row is full it is named in the Pending signups hint instead, for example Awaiting review, 5 shift requests. The Pending signups headline still counts registrations only, since a person awaiting review and a shift awaiting a decision are different things, and a count of zero is never printed. The No-shows summary tile has been removed. Nothing was lost: the No-shows section further down the same page still lists every late worker with their shift, time and minutes late, and carries the count on its own heading, so the figure is no longer printed twice on one screen.
AddedScheduling
Schedule • act on many shifts at once, and tell the crew when a shift is cancelled
Tick shifts on the schedule list, or a day header to take the whole day, and a toolbar offers six operations across the selection: signup eligibility, role, minimum age, publish, unpublish and cancel. Each one is applied shift by shift and reported shift by shift: ten draft shifts of which three have no role publishes seven and names the three it skipped, with the reason, rather than refusing the lot and leaving you to find them by trial and error. The message is a warning rather than a success whenever anything was skipped. Setting the role in bulk is in the toolbar for that reason, since it turns a dead end into a second click. Cancelling now emails the people assigned, which nothing did before: a checkbox, ticked by default, sends each of them one email per shift of theirs that is cancelled, in their own language, with an optional reason you can type in the dialog. The toolbar is available in the list layout at any width, and on the calendar on phones and tablets where the calendar is already a list. Help updated in all four languages.
UpdatedScheduling
Schedule • Requests is the one inbox, and Approvals has moved into it
Approvals and Requests were two tabs asking for the same thing, an explicit decision, and you had to learn which queue held which kind before you could clear either. Requests is now the single Schedule inbox, in two sections that keep their own shapes: Pending signups, the registrations from public links, and Shift requests, from workers who asked for a shift from their own Shifts page. The tab badge is the sum of both, and it is now correct on every Schedule page; before, some sub-pages showed no badge at all. Two things moved off the page because they are not decisions to make. Understaffed shifts are now reached through the schedule board's Understaffed staffing filter, which is where the Dashboard's Open positions tile already points and which shows every affected shift rather than the first fifty. Recent signups moved to the bottom of Schedule ➜ Signup links, under the links table, where each row names the link that produced it. Old bookmarks to the Approvals page still work, and a decision submitted from a page left open before the change is still carried out. Help updated in all four languages.
FixedForms
Forms • a scheduling clash is flagged on the pending review row
Forms ➜ Pending review shows one summary row per registration, and it flagged picks that were under a shift's minimum age but said nothing about picks that clash with a shift the person already holds. A registration with a clash looked exactly like a clean one, and you only found out from the message after approving. The row now carries a count of clashing picks beside the age count, and the pick itself and its reason are still in the review dialog. Hovering the badge explains that the shift clashes with one the person already has and will not be assigned on approval. Approval itself always judged each shift correctly, so no assignment was ever affected.
AddedSchedulingForms
Signup • approve somebody who already works for you without overwriting their details
When a registration matches an existing member, the review dialog lists what approval would change on their record. That list now carries a checkbox, ticked by default, to update the member with the submitted details. Until now approving always wrote the submitted values over the person's record, so there was no way to accept the shifts from a re-registration while keeping the details you already hold. Unticked, the person is still activated and their shifts are still handled exactly as the button you press says, but nothing in the list is written: their stored details, access, worker type, title, default project, group and rate stay as they are. It has no effect for somebody new, and it starts ticked each time you open a registration.
UpdatedSchedulingForms
Signup • one Review dialog behind every signup decision
A pending signup on Schedule ➜ Requests, and on a signup link's registration list, used to offer four buttons in the row itself, so the decision was made without ever seeing who the person was. Each row is now two buttons, Review and Reject, and Review opens the same dialog Forms ➜ Pending review already had: the details the person submitted, their attachments, the shifts they picked with their age and scheduling-conflict badges, and, when their email matches somebody who already works for you, an existing-member notice listing what approval would change. The three ways to approve are chosen inside the dialog, and the two that are only about shifts are hidden when the registration picked none, so you never see three buttons with one outcome. The button is called Review on all three queues, because clicking it decides nothing. The internal reviewer note, which is visible to managers only and never shown to the person, is now offered wherever the decision is made: the same registration settled from Schedule ➜ Requests used to record no note at all, so the audit trail depended on which queue you happened to open. Help updated in all four languages.
FixedScheduling
My shifts • the reason you cannot take a shift is readable, and no longer shown in green
On a worker's own Shifts page, a shift they cannot take carries a short reason such as Overlaps your shift or Too little rest. In the shift dialog that reason was shown in the same green used to confirm a shift, so a refusal was coloured like a confirmation on the screen where a worker decides what to sign up for; it now takes its colour from the same place as the identical text in the row above it, and a genuinely confirmed shift is still green. In the week view the reason was cut off mid-word, so at a common laptop width the whole explanation of why there is no Sign up button read as Overlaps your shif with nothing to hover. The reason now takes a line of its own on those rows. Confirmed and Requested badges are unchanged.
FixedScheduling
Signup • a shift that cannot be claimed now says why
When taking a shift through a public signup link failed, the page always said somebody had just taken the last spot and invited the visitor to pick another shift. That is only sometimes true: a shift with no role configured, or one that cannot be resolved for any other reason, produced the same message, so the visitor tried again, hit the same wall and had no reason to tell anybody. A genuine lost race still says so. Anything else now says that the shift cannot be booked right now and suggests contacting the organiser if it looks wrong, which is a message an operator can act on.
SecuritySecurityContracts
Improved authorization checks on the contract signing page
Strengthened the checks that decide whether a contract may be signed through a signing link, and the conditions under which the page reports a contract as signed. Nothing changes for anyone signing a contract in the normal way.
FixedFormsSchedulingAccreditationIncidents
Public links • a page with nothing to offer says so, instead of asking for your details
Five public pages could reach a data-collection form when there was nothing behind it to accept the answer. A signup link with no available shifts sent an anonymous visitor straight into the registration form, while the operator opening the same link saw the refusal, so registrations kept arriving for work that was already fully staffed and every one still had to be reviewed by hand. The registration deadline set on a form was enforced on one of its two addresses and not the other, so a closed form went on collecting names, dates of birth, national ID numbers, addresses and next of kin. An accreditation request link whose phases had not been configured yet showed the whole crew form, with names, phone numbers, allergies and dietary requirements, and refused only when it was submitted, spending the visitor's one-time submission in the process. The public incident report form worked on accounts that had never switched the Incidents module on, so a hazard was reported into a module nobody was watching. Each of these now says what is going on and stops: no shifts available yet, this form is closed, nothing to submit through this link right now, or incident reporting is not available with a note to make contact directly. On the shift picker, Continue is also disabled until at least one shift is ticked, rather than letting somebody fill in a long form and be refused at the end. Nothing changes on a link, form or module that is open and configured.
AddedScheduling
Signup links • a link can open one shift that is closed for signup
A shift set to Not available for signup is closed to self-selection, and a manager assigns people to it by hand. You can now deliberately open such a shift through one public signup link, without opening it to everyone. The link has to name the shift: either scope it to Pick specific shifts and tick that shift, or leave it on Published shifts and narrow it to Selected roles, in which case every closed shift in those roles is open to that link. A link left on All roles, or on a broad account or project scope, names nothing and opens nothing that is closed. Both URLs a signup link is shared as now work: a new person registering through the public registration URL, and existing crew signing in on the plain link. Choosing roles rather than specific shifts means a shift created later in one of those roles becomes bookable through the link on its own, which is the point of picking a role. Nothing changes on a worker's own Shifts page, where the shift stays closed to everybody, and the shift keeps its Not available for signup setting. Access ends when the link is disabled or expires; shifts already taken are never given back. The link page's warning about shifts it cannot reach counts an opened shift correctly.