Changelog

Follow all system updates and improvements

Showing 50 of 5000
July 2026

Rate and Add-on Type Sync

Rate and Add-on Type Sync — The amenity setup now automatically follows the current customer type list for rates and add-ons, so new customer types appear without manual form updates.

Events and announcements joins the Academy

???? Events and announcements joins the Academy — A new tile covers the property noticeboard end to end: setting up the categories, writing a notice with its audience and its publication window, moving it through the three approval stages, collecting attendance confirmations for an event, and understanding exactly why an approved notice can still be invisible to everybody. It is candid about the things that surprise people — approving a notice does not publish it, an expired noticeboard looks exactly like a working one and nothing anywhere warns you, moving a cancelled event into a category called Cancelled changes nothing at all, the resident-type dropdown on the form has no effect whatsoever, and the permission that clears a notice for publication is also the only way to see who is coming.

Service requests joins the Academy

???? Service requests joins the Academy — A new tile covers the jobs residents ask for by name: building the service catalogue, taking a request at the desk or receiving one from the app, approving it with the money decision that comes with it, and handing it over to the complaints desk as a ticket when real work is needed. Much of the tile is spent on the ways this feature deliberately differs from amenity booking, because those are the rules that catch people who learned one of them first — a waiting request does not hold a time slot here, nothing is ever final so a mistaken refusal can be undone, a single permission covers every status change rather than one for each, and there is no option to accept a request automatically. It also flags the one screen that exists but is not on the menu.

Complaints and concerns joins the Academy

???? Complaints and concerns joins the Academy — A new tile covers the whole complaints desk: how a complaint is logged with its full location and equipment detail, how the list is worked using the aging and service-level columns, how to reply, assign, merge duplicates and finish a complaint, and how the resident rates the service afterwards. It is candid about the parts that surprise people — the service-level clock starts when the complaint is logged rather than when somebody picks it up, complaints with no service level never count towards the pass rate at all, replying does not make the complaint yours, residents cannot reopen their own, and nothing anywhere escalates a complaint that has run late. It also explains the one permission mistake that quietly grants somebody the whole property. Because the same screen appears under two menu names, the tile is shown in both places with a note explaining they are one and the same.

Amenity booking joins the Academy

???? Amenity booking joins the Academy — A new tile covers the whole of amenity booking, from setting up the categories residents browse and building a bookable place field by field, through taking bookings at the desk and in the resident app, to approving them with the right money decision and moderating the feedback afterwards. It teaches the four moves a booking can make — and which single one of them can never be undone — the sixteen separate permissions that decide who may do what, every setting together with the value it starts out with, and the honest list of what happens overnight versus what nobody is ever reminded about. Because the same feature appears under two menu names, the tile is shown in both places with a note explaining they are one and the same.

Estimated End of Life and warranty end

???? Estimated End of Life and warranty end — When an asset has a purchase date and life span in years, Estimated End of Life is calculated even if the model has no EOL months set. Changing purchase date, life span, or warranty months on create/edit updates the estimated end-of-life and end-of-warranty dates right away.

Task list column order stays in sync

???? Task list column order stays in sync — Choosing which columns to show and dragging them into order now keeps the table matching the column picker, including after the list refreshes and when newer columns were added later.

Expired Permits count corrected

???? Expired Permits count corrected — The Regulatory Compliance widget's "Expired Permits" number now counts documents that are both marked Expired and past their expiry date. Previously it counted past-date documents that were not marked Expired, so renewed or archived permits could appear as expired.

Expired lists corrected everywhere

???? Expired lists corrected everywhere — A document now counts as Expired only when it is both marked Expired and past its expiry date. Previously the Expired report listed every past-date document (including closed and archived ones), the dashboard's Expired number used a different count, and the report's download used a third — so the numbers never matched. The dashboard scorecard, the Expired report on screen and its download, and the Documents list Expired filter now all show the same documents.

Role permissions display and access after the reorganization

???? Role permissions display and access after the reorganization — Fixed an issue where permissions already granted to a role did not appear selected under the new Regulatory Compliance section of the role details, and staff in those roles could temporarily lose their Regulatory Compliance access. All existing grants now carry over and display correctly.

All Regulatory Compliance permissions in one place

???? All Regulatory Compliance permissions in one place — Every Regulatory Compliance permission now lives in a single dedicated "Regulatory Compliance" section on the role configuration page, instead of being mixed into the general Building Management list. Existing role grants carry over automatically.

Document Type now shows the type; Permit Name carries the link

???? Document Type now shows the type; Permit Name carries the link — Following the Document Types reference table, the Document Type column shows the type itself (Certificate, Forms, Report...), the Permit Name column shows the permit and is now the clickable link that opens the document. The Document Status column moved to sit beside the Deviation column.

Workflow Status "Approved" renamed to "Valid"

???? Workflow Status "Approved" renamed to "Valid" — The outcome value shown for a fully validated document now reads Valid, per the updated naming.

Filters aligned with what you see

Filters aligned with what you see — "Filter By Status" became Filter By Workflow Status with the same values the column shows (including the pending approval stages, resolved from the request or deviation actually in flight); the compliance filter uses the exact colour names (and gains White — Newly Uploaded); the category filter offers the real category values.

Fully Validated, Closed and Expired documents are locked

???? Fully Validated, Closed and Expired documents are locked — Documents in those statuses can no longer be edited by the Property Manager. A new permission, Edit Locked Documents (Valid / Closed / Expired), controls who may still edit them; the permissions scoped to an active deviation or change request keep working while that process is under way.

Deactivating a permit deactivates its Document Type

???? Deactivating a permit deactivates its Document Type — When a document is set Inactive, its entry in Document Types is automatically deactivated as well (when several documents share a type, the automatic closure of an older version only deactivates the type if no other open document still uses it).

Dashboard rebuilt around the Compliance Statuses

Dashboard rebuilt around the Compliance Statuses — New scorecards (Total, Compliant, Awaiting Actual Documents, 3rd Party Control, Pending Review, Expired, Compliance Rate, Expiring in 30 Days — including approved extension dates), a compliance-colour breakdown chart, Valid-documents charts by category and department, a 10-row Recent Activity list and an Expiring Soon list based on the effective expiry date.

Kanban aligned with the Compliance Statuses

???? Kanban aligned with the Compliance Statuses — The board's columns are now the six compliance colours. Dragging a card changes its Compliance Status under the same rules as the Documents list, including the confirmation when tagging a document Compliant would close an older document with the same name.

Reports scorecards by Compliance Status

Reports scorecards by Compliance Status — The quick report tiles now cover Compliant, Awaiting Actual Documents, 3rd Party Control, Pending Review, Expired, Expiring in 30 Days and Closed documents, each generating its filtered report, with counts that always match the dashboard.

Amenity booking emails updated

???? Amenity booking emails updated — Updated the resident acknowledgement and rejection emails so the transaction number appears after the charge breakdown, and rejected bookings are described as declined, with the rejection reason included.

Material management joins the Academy — the difference between saving a document and spending stock

???? Material management joins the Academy — the difference between saving a document and spending stock — A new tile covers the property stores end to end across all eleven of their screens: the catalogue of materials, the stores themselves, and the six kinds of document that bring stock in, send it out, move it between stores, correct it and return it. The rule everything else depends on is that a quantity changes when a document is approved and never merely because somebody typed it — and the tile is direct about the part that is easy to miss underneath. When no review route has been set up for a kind of document, that document is approved the instant it is saved and the stock moves there and then, with no reviewer and no queue. On this property no route has been set up for any of the six, so saving is spending, and everybody involved believes the review step is there. Four more rules routinely catch people out. A store can be switched out of sight while still holding stock, which leaves real quantities counted in the valuation and impossible to issue, and two of the stores here that read like the real ones are switched off exactly that way. Approving is not a permission anybody can be granted — an approver has to be named on the document — so a document left without a request can never be approved by anyone at any level, and there is one such transfer sitting on this property today, described as completed, whose stock never moved and now cannot. The low-stock warning only looks at items that already hold stock, so the item that has run out completely is the one item it can never warn about, and the daily check here is switched off with nobody nominated to receive it. And a correction can only adjust a count that already exists — stock never recorded has to be received, not adjusted into being. The tile closes with an honest read of the stores as they stand: a carefully built catalogue of 136 materials with considered reorder levels, one recorded delivery in, not one recorded delivery out, and therefore no repair cost anywhere on the property that includes the parts it consumed.

Database Mgt joins the Academy — and the switch that actually publishes

???? Database Mgt joins the Academy — and the switch that actually publishes — A new tile covers the property help library, which the menu calls Database Mgt and everything else calls the Knowledge Base. It teaches writing an article, organising the categories, the review workflow and what residents see. Most of it is devoted to one distinction that causes nearly every problem on the feature: the approval status and the switch that makes an article visible are two separate things, and it is the switch that publishes. So an article marked as approved can be invisible to everybody, and an article that never went through review at all can be live — which is the case on this property right now, where a password-reset article with no review status is readable by anybody, without even signing in, because guest access is switched on. The tile gives the four independent gates that decide whether a reader ever sees an article and the order to check them in, warns that switching a category off hides every article inside it at once, and explains that the helpfulness score is limited by network connection rather than by reader, so everybody sharing a building connection gets one vote between them. It also notes what the library currently looks like to a resident opening it: nine categories, three of them empty and two sharing the same name.

Asset management joins the Academy — sixteen screens and forty-five rules

???? Asset management joins the Academy — sixteen screens and forty-five rules — A new tile covers the asset register end to end: how equipment is classified and tagged, where it lives, what condition it is in, the five other kinds of inventory that sit alongside it, and everything the register is supposed to feed. Several of its rules are routinely misread and the tile is direct about them. There are two entirely separate status questions, not one — whether equipment may leave the store, and whether it is any good — so "how many assets are broken" is answered by a column most people never look at. There are likewise two separate ways of recording where something is, and choosing an owner silently switches between them. Only equipment marked as deployable can be handed out, which is the one refusal that stops a broken machine reaching somebody. A component is fitted into an asset while accessories, consumables and kits are lent to people, and that single distinction is what makes six similar-sounding screens make sense. The tile is also candid about the state of the register here, because it changes which screens can answer a question: two hundred and fifty-eight assets are flagged as needing routine servicing, not one maintenance record has ever been created, no audit has ever been run, no valuation has ever been calculated, nothing is currently requestable, and eleven of the sixteen screens are empty. Read alongside the work-order tile, where the schedules meant to produce that servicing have generated nothing, it gives anybody joining the property an honest picture on day one instead of month three.

Work order management joins the Academy — the biggest rule book in the product

???? Work order management joins the Academy — the biggest rule book in the product — A new tile covers work orders end to end, with seventy-two business rules across twenty-six lessons, because almost none of them is guessable and each one refuses an action, locks a record or hides something. The four that cost real money get the most room. Only somebody assigned to a work order may run its timer, which is the commonest reason a technician standing in front of the equipment cannot log the hour they are about to work. Once a work order has been billed it locks permanently and corrections have to move to the invoice — and nobody on this property has met that yet, because two hundred and thirty-four work orders are marked chargeable and not one has ever been charged. Deleting a recurring work order deletes every occurrence it ever produced, so "delete this one job" can quietly mean deleting thirty. And a schedule existing is not evidence that it is producing anything: sixteen preventive schedules are set up here and there is not a single occurrence anybody can work. The tile is also candid that the status list has an eighth entry nobody documents — an Invalid state that is read-only, uncountable and cannot be deleted by anybody at all — that the status numbers are not in the order they are displayed, that a photograph cannot be posted without a comment, and that a work order not attached to a project can never be shown to a customer however its visibility switch is set.

Transaction summary joins the Academy — and PMP is complete

???? Transaction summary joins the Academy — and PMP is complete — A new tile covers the one report that counts the whole property on a single page: eight grids of type against status, from complaints and bookings to visitors, parcels, work orders and compliance documents. It teaches how to read a grid without getting the axes the wrong way round, why a total that looks high is usually correct (it counts demand, including the cancelled ones, and the status columns are the breakdown), why one column in some sections is deliberately left out of the totals, and that every cell can be clicked to reach the real records behind it. Two warnings carry most of the weight. Leaving the dates empty does not mean this month — it means everything ever recorded, and an all-time total looks exactly like a monthly one, which is the easiest mistake on the screen. And the history this report depends on only exists if snapshots are being captured: they cannot be created after the fact, so a month nobody captured is gone for comparison purposes. On this property a daily schedule has read "enabled" since February and has produced one snapshot in its life, with nothing anywhere to say so — which is why the tile ends on a five-second monthly check of the newest snapshot date. With this tile the whole Property Management Portal menu is now covered.

Ticket reports joins the Academy

???? Ticket reports joins the Academy — A new tile covers the complaints reporting screens: the live dashboard and its headline figures, the focused status view, the report generator with its eight ready-made templates and saved presets, scheduled delivery, and the full timeline on any single ticket. Four of its lessons exist because this feature quietly decides what you are looking at before you read it. On this property the dashboard opens filtered to two statuses, so the forty-seven complaints being worked on right now are missing from the landing view — and since this screen also replaces the platform home page, that is the first thing everybody sees each morning with nothing to say anything is hidden. Its figures are remembered for an hour, so closing tickets and refreshing changes nothing, and staff have been redoing work they had already done. The filters you set follow you between visits, so a Friday filter still narrows Monday. And two colleagues can read the same report and get different totals, because one may only be permitted to see their own tickets. The tile finishes with the three habits that defeat all of it in about fifteen seconds, and is honest that two of the feature's five screens are missing from the menu entirely, that reporting on work is switched off here, and that average resolution time counts nights and weekends — so it must never be quoted as working hours.

Permits, work permits and the duplicate Clients tile

Permits, work permits and the duplicate Clients tile — Three corrections after a menu-by-menu check. The permits tile gained a lesson for My Permits, the requestor's own screen, which had only been mentioned in passing — and it carries an uncomfortable finding: nothing anywhere chases a permit left as a draft. No reminder, no expiry, no queue, no dashboard count. On this property forty-four of the seventy-nine requests are exactly that, more than half, and the only screen that can find them is the one that had no lesson. The reporting lesson now spells out the consequence: between them the dashboard, the ageing report and your signing history describe only requests that were actually submitted, which is twenty of seventy-nine, so anybody answering "how is the permit process going?" from that dashboard is describing a quarter of it. Separately, the menu item called Work Permit Mgt opens the resident forms screen rather than the staff work-permit product, so that tile now appears under both names instead of leaving learners hunting. And two tiles were both called Clients: the one covering the onboarding journey has been renamed to say so, with cross-links in both directions, so each screen now has exactly one home.

Reports Studio joins the Academy

???? Reports Studio joins the Academy — A new tile covers the self-serve reporting tool end to end: the three choices that build a report, the filter you cannot download without, previewing, the three formats and when to use each, the archive of everything you have ever produced, and the saved reports that can run on a timer. Most of the tile is devoted to the three things that quietly reshape a report and never say so. A date range longer than the allowed span is not refused — the end date is moved back and the file comes out looking perfectly normal, so a request for three years returns one. An export bigger than the allowed size is not refused either; it simply stops at the ceiling, and nothing on the file or in the archive marks it, so a file that opens cleanly can be missing records with no way to tell afterwards. And because a report only ever shows the properties somebody is allowed to see, two colleagues can run the identical report and get different files, both correct. The tile also explains the one habit that catches all three before they cost anybody anything, why archived files disappear after a year without warning, and why a saved report will never fire until an administrator switches scheduling on — which on this property has not happened.

Personnel manning joins the Academy

???? Personnel manning joins the Academy — A new tile covers the largest area in the product, all thirteen of its screens: the people on site, the companies that supply them, the shifts they work, the roster that puts them on those shifts, whether they turned up, why they were away, their paperwork and the reports over the top. It is deliberately blunt about four things that quietly cost sites real money. A person whose employment status was never filled in disappears from every roster with no message and nothing that will ever find them — more than a fifth of this property. An absence that was filed but never approved still counts against the person, and two-thirds of the absences here are in exactly that state, waiting for an approval that nothing will ever chase. The screen called Timesheet has nothing to do with site personnel at all — it reports hours that office staff logged against work orders, so no amount of filtering will ever show a contractor on it. And a whole set of working-hours rules sits in the system looking exactly like configuration while being read by nothing, so the only numbers that actually decide anything are the grace window and the shift. Also covers what the time-and-attendance terminals do on a property that has not registered any, why an attendance percentage only describes the people who were rostered, and the honest list of what happens automatically — which is far shorter than most people assume.

Parcel management now warns which reporting screen to trust

Parcel management now warns which reporting screen to trust — The tile gained a lesson for the Parcel Overview, which had only been mentioned in passing, and the single lesson that covered the dashboard and the reports together was split so each gets proper room. The headline is a difference between the two screens that has been quietly costing the mailroom credit for its work: the dashboard counts expired parcels, and the reports screen cannot represent them at all — no counter, no slice on its chart, no option in its filter, and a blank status on the row itself. On a shelf where most parcels end up expiring, that means the reports screen can show a total of seventy-three while its counters account for thirty-two, and staff have been left to wonder which number is wrong. Neither is: the dashboard is the screen to quote. The lesson also warns that an export whose filters match nothing quietly runs again with no filters and hands back every parcel ever recorded, so an empty result produces the biggest file rather than an empty one. The overview lesson explains that its tiles are shown to everybody whether or not they are allowed to use them, so being turned away after clicking one is expected rather than a fault.

Visitors management now teaches its reporting screens properly

Visitors management now teaches its reporting screens properly — The tile gained a lesson for the Visitors Overview, which had only been mentioned in passing, and the single lesson that had been covering the visitor list, the dashboard and the reports together was split so each gets the room it needs. The overview lesson is honest that the screen is a signpost and not a status board — it carries no figures at all — and that the permission behind it is what decides whether the whole visitors menu appears for a colleague. The reporting lesson adds four things staff were getting wrong: the dashboard opens on all-time figures and then quietly drops to the last seven days, so the number you read first is not the number to quote; its pending and approved cards do not describe every visitor, because visits that were completed, denied or checked out have no card at all; a report asking for the first to the thirty-first silently leaves out everybody who came on the thirty-first, so the end date must be set a day later; and the visitor-type card for vehicles is not a count of cars arriving, because a car booked in at the front desk is recorded as an ordinary walk-in. The list lesson now leads with the reason the list looks empty on a Monday — the filters you set on Friday are still applied.

Permits and certificates now teaches which record answers which question

Permits and certificates now teaches which record answers which question — The tile gained a lesson on the two separate histories this feature keeps. One is the timeline on each application, which proves who approved it and when in seconds. The other records the setup work, sits on a screen with no menu entry, and holds three traps worth knowing before anybody relies on it: the entries about "permissions" are really about the form templates rather than the applications, so only the status lines are decisions; changes made inside a form design are not recorded at all, which means nobody can ever say what a certificate used to say — only that its edition number went up; and renaming a form on the list leaves no trace whatsoever. Two corrections were made in the same pass: the menu item called Work Permit Mgt opens this screen and not the staff work-permit product, which is the commonest wrong turn on the whole feature, and a form template cannot be deleted at all — switching it off is not the preferred way to retire one, it is the only way.

Resident accounts joins the Academy

???? Resident accounts joins the Academy — A new tile covers the directory where staff answer the question they are asked most: can this resident actually get in? It separates the three things everyone calls "the customer" — the home, the account and the person — and is blunt about the consequences: an account is created with every home but a person never is, so a great many rows show a customer nobody can invite. It teaches the seven status badges and which of them this property has never once reached, then draws the line staff most often cross — one button sends the activation that creates a login, and the button beside it sends a completely different message, will send it to people who have never signed in, and will send it again every time it is pressed. Also covers the name shown in the list and the rule behind it, the switch that withdraws access without losing any history, what the email-delivery column is and is not telling you, bringing hundreds of people in from a spreadsheet and back out again, what a resident can change for themselves, the four separate permissions this one screen needs, and the honest list of what the system does on its own — which is far shorter than most people assume.

Customer unit management now teaches the record of who changed what

Customer unit management now teaches the record of who changed what — The property-structure tile gained a lesson on the change history that sits behind every property, floor, home and house rule. It is honest about the two things that cost staff the most time: not every change keeps the values it had before, so editing a home, deleting a property, saving a tower breakdown or changing a utility provider records who and when but not what it used to say — and the Create/Update/Delete filter cannot find those older entries at all, so a search that comes back empty is not proof that nothing happened. It also explains why records from other parts of the property system appear in the same list, and the ninety-day limit on the date range. Two earlier lessons that promised a before-and-after for every change were corrected to match.

Service requests now teaches its reporting screens too

Service requests now teaches its reporting screens too — The service tile gained lessons for its Dashboard and its audit log, matching the amenity tile. The Dashboard lesson explains why its status cards never add up to the total — three of the six statuses have no counter at all, so a manager asking how much work is in progress or was cancelled has to use the request list instead. The audit log lesson covers the screen that is not on the menu at all: what it records, that it captures the value before and after a change, and why it is currently empty.

Amenity booking now teaches its reporting screens too

Amenity booking now teaches its reporting screens too — The amenity tile gained two lessons for the two screens residents never see: the Dashboard and the Audit Log. The Dashboard lesson is candid that every counter on it is all-time rather than upcoming, so an approved figure includes every booking that already happened and cannot answer "what is coming this weekend". The Audit Log lesson explains what is recorded, that it captures the value before and after a change, and why the screen is currently empty — the recording was added part-way through this year, so the trail starts from then rather than from when the property opened.

Statements and payment joins the Academy

???? Statements and payment joins the Academy — A new tile covers the money side of a resident relationship: the difference between a single charge and a full Statement of Account, how to produce and send a statement for any period, how and when a charge becomes overdue, and what a resident can actually see and do about their own balance. It is deliberately blunt about two things that cost the most when misunderstood — residents cannot pay through the app or the portal on this property, so the front desk needs the right answer ready, and every payment received has to be entered by a person, which means the whole account book is only as accurate as that habit. Also covers where charges come from (including the ones the front desk creates by approving a booking), correcting a charge properly, recurring dues, and the fact that nobody is being chased automatically.

Rate and Add-on Type Sync

Rate and Add-on Type Sync — The amenity setup now automatically follows the current customer type list for rates and add-ons, so new customer types appear without manual form updates.

Events and announcements joins the Academy

???? Events and announcements joins the Academy — A new tile covers the property noticeboard end to end: setting up the categories, writing a notice with its audience and its publication window, moving it through the three approval stages, collecting attendance confirmations for an event, and understanding exactly why an approved notice can still be invisible to everybody. It is candid about the things that surprise people — approving a notice does not publish it, an expired noticeboard looks exactly like a working one and nothing anywhere warns you, moving a cancelled event into a category called Cancelled changes nothing at all, the resident-type dropdown on the form has no effect whatsoever, and the permission that clears a notice for publication is also the only way to see who is coming.

Service requests joins the Academy

???? Service requests joins the Academy — A new tile covers the jobs residents ask for by name: building the service catalogue, taking a request at the desk or receiving one from the app, approving it with the money decision that comes with it, and handing it over to the complaints desk as a ticket when real work is needed. Much of the tile is spent on the ways this feature deliberately differs from amenity booking, because those are the rules that catch people who learned one of them first — a waiting request does not hold a time slot here, nothing is ever final so a mistaken refusal can be undone, a single permission covers every status change rather than one for each, and there is no option to accept a request automatically. It also flags the one screen that exists but is not on the menu.

Complaints and concerns joins the Academy

???? Complaints and concerns joins the Academy — A new tile covers the whole complaints desk: how a complaint is logged with its full location and equipment detail, how the list is worked using the aging and service-level columns, how to reply, assign, merge duplicates and finish a complaint, and how the resident rates the service afterwards. It is candid about the parts that surprise people — the service-level clock starts when the complaint is logged rather than when somebody picks it up, complaints with no service level never count towards the pass rate at all, replying does not make the complaint yours, residents cannot reopen their own, and nothing anywhere escalates a complaint that has run late. It also explains the one permission mistake that quietly grants somebody the whole property. Because the same screen appears under two menu names, the tile is shown in both places with a note explaining they are one and the same.

Amenity booking joins the Academy

???? Amenity booking joins the Academy — A new tile covers the whole of amenity booking, from setting up the categories residents browse and building a bookable place field by field, through taking bookings at the desk and in the resident app, to approving them with the right money decision and moderating the feedback afterwards. It teaches the four moves a booking can make — and which single one of them can never be undone — the sixteen separate permissions that decide who may do what, every setting together with the value it starts out with, and the honest list of what happens overnight versus what nobody is ever reminded about. Because the same feature appears under two menu names, the tile is shown in both places with a note explaining they are one and the same.

Estimated End of Life and warranty end

???? Estimated End of Life and warranty end — When an asset has a purchase date and life span in years, Estimated End of Life is calculated even if the model has no EOL months set. Changing purchase date, life span, or warranty months on create/edit updates the estimated end-of-life and end-of-warranty dates right away.

Task list column order stays in sync

???? Task list column order stays in sync — Choosing which columns to show and dragging them into order now keeps the table matching the column picker, including after the list refreshes and when newer columns were added later.

Expired Permits count corrected

???? Expired Permits count corrected — The Regulatory Compliance widget's "Expired Permits" number now counts documents that are both marked Expired and past their expiry date. Previously it counted past-date documents that were not marked Expired, so renewed or archived permits could appear as expired.

Fixed

???? Fixed — The Visitor Registration list no longer shows the same visitor more than once. A visitor whose access was released or granted again used to appear one extra time for every release, each line showing a different visit date. Each visitor is now listed a single time, showing the most recent visit, and the visitor counters on the overview screen no longer count the same person twice.

Add Asset form location load

???? Add Asset form location load — Opening Assets no longer shows an error when loading rooms/units, and the add-asset form no longer leaves warning noise when creating a new asset.

Activation notifications now reach the right approvers

???? Activation notifications now reach the right approvers — The notification for a request to activate a document was still being sent to the OM/AD, while the Regulatory Compliance Head received nothing. It is now addressed to the holders of the final-validation permission — the Regulatory Compliance Head and Officers — and the OM/AD no longer receives it.

Approved bulk requests now update every document

???? Approved bulk requests now update every document — When a request covering several documents completed its approvals, the documents themselves were not being updated. Every document in an approved bulk deactivation is now set Inactive (and Archived), and a rejected bulk request tags each of its documents Rejected — exactly as single-document requests do.

Expired documents now show Expired in Workflow Status

???? Expired documents now show Expired in Workflow Status — A document past its expiry date could keep showing "Approved" in Workflow Status even though its compliance was already Red (Expired). The daily check now always moves such documents to Expired — except while a deviation is under way, a deactivation request is open, or an approved Extension Date is still holding the document open. Documents already stuck this way are corrected automatically the next time the Documents list is opened.