# What's new

> Recent AssetLab releases - the features that changed what you can do, newest first, each linked to its documentation.

Source: https://app.assetlab.ca/docs/start/whats-new

AssetLab ships continuously. This page is the running record of what changed, newest first, with a link to the documentation for each feature. Platform availability and incidents live on the [status page](https://status.assetlab.ca).

## August 2026

- [!fix] **[The infrastructure Assigned-to filter lists your team](/docs/cmms/work-orders).** The **Assigned to** dropdown in the infrastructure filter panel - on the work order queue, its Map view, and the maintenance schedule - offered nothing but All Users and Unassigned. It listed only members restricted to the infrastructure workspace, and most organizations restrict nobody, so the people actually holding the work orders were the ones missing. It now lists every Administrator, Manager and Staff member except those restricted to facilities.
- [!improvement] **[A work order is planned once, and the assignment follows the stop](/docs/cmms/work-orders-map).** Planning a work order for a day it is not already on now **moves** it instead of adding a second stop: the day it left drops the stop and renumbers, the day strip outlines wherever the work order currently sits, and the button reads **Move here**. The assignment moves with it - adding a stop still assigns the technician, and removing one un-assigns them unless they hold the work order on another day, so handing a job to another technician hands over the assignment too. Saving a plan in edit mode now lists what will move and who will be un-assigned before you commit. Any day plans that had the same work order sitting on two days have been consolidated onto the most recently planned day.
- [!improvement] **[Raise and schedule work orders without leaving the map](/docs/cmms/work-orders-map).** Everything on the work order Map view is now clickable. Click a bare segment or node - not just a work order pin - and its detail panel opens with a **Create Work Order** button, the feature already attached. And a pin's summary panel gained **Add to a day plan**: a strip of the next seven days shows how many stops the technician already carries on each day, a date field reaches further out, and one press appends the work order as that day's next stop (or removes it, if it is already planned), assigning the work order to the technician if they weren't on it yet and moving its start date when planned for a future day. Managers schedule anyone; Staff schedule themselves. Planning a week or a month is now one decision at a time on the map, and the Calendar view shows the result.
- [!improvement] **[Infrastructure filters on the work order queue for everyone](/docs/cmms/work-orders).** The queue's infrastructure filters - network, feature class, feature type, condition band - used to exist only for infrastructure-only team members. Organizations running both facilities and infrastructure now get a **Facilities / Infrastructure** switcher above the filters: Facilities keeps the familiar site / building / location panel, Infrastructure narrows the list to feature-bound work orders and swaps in the infrastructure panel. The choice sticks per device, and it drives the Map view's pins the same way it drives the list.
- [!feature] **[Work orders on the map, and day plans](/docs/cmms/work-orders-map).** The work order queue gained a **Map** view for infrastructure-enabled organizations: every open work order bound to an infrastructure feature is a pin, colored by status with a red ring when overdue, and every queue filter - including "My work orders" - narrows the pins the way it narrows the list. A technician's day plan is a numbered route on the map: **Edit plan** turns the map into a route builder - click pins to add stops, drag to reorder or let AssetLab suggest the shortest order, and save - Staff plan their own day, Managers can plan anyone's. Saved plans appear on the Calendar view too (they are the same schedule entries), and each stop carries a **Navigate** button that hands the location to your phone's maps app. For integrators, plans are readable and writable through the new `work_order_schedules` [API resource](/docs/reference/resources) - one call filtered by technician and date returns the day in driving order.
- [!fix] **[The work order feature picker shows the feature you picked](/docs/cmms/work-orders).** Opening a work order that targets an infrastructure feature listed the first 50 features of its network, which on a real estate rarely includes the one the work order is about - so the picker looked as though nothing was selected. The picked feature is now always in the list, and the list scrolls to it on open.
- [!fix] **[Only staff can be named as an inspector](/docs/infrastructure/features).** The Inspector dropdown on a feature inspection offered every member of the organization, Requesters included. It now lists the active team - Administrators, Managers and Staff - the same people the project and task assignee pickers offer.
- [!improvement] **[Jot a note on any feature without opening the editor](/docs/infrastructure/features).** A feature's description is now an always-open notes box rather than a read-only line - on the Overview tab and in the detail panel that opens from the table or the map. It shows on every feature, including the ones with nothing written yet, so an empty description reads as a gap to fill rather than a field that does not apply. Type the observation, press **Save** (or Cmd/Ctrl+Enter) and it is stored; reaching the full edit form is no longer part of leaving a note. Staff and above can write, Requesters read.
- [!feature] **[A 3D basemap](/docs/infrastructure/map).** The map's layers button gained a third built-in basemap, **3D buildings** - the Dark cartography with building massing extruded to its real height, and picking it tilts the camera so the massing reads. Buildings appear from zoom 14 in, so a city-wide view stays flat until you zoom into a block, and heights come from OpenStreetMap, so coverage follows what has been surveyed where you work. It is context rather than a survey: it shows which segments run beside a built frontage and which cross open ground. Switching back to Dark or Streets levels the camera again. Like the other built-ins it needs no account or key and adds no cost.
- [!fix] **[Renewal projects no longer open in a closed budget year](/docs/infrastructure/zones-routes-corridors).** A project generated from a corridor bundle took its start date from the bundle's first year, so acting on overdue work created a project dated years in the past - a 2017 window opened on 1 January 2017, sorting the project into a budget year that closed long ago and reading as history rather than work to do. Past-due windows now start today, and the renewal need year is recorded in the project description so it is not lost. Windows still ahead of you are unchanged: they open on 1 January of their year, which is what puts them on the capital timeline. Projects already created keep the dates they were given.
- [!feature] **[Build a capital project from the routes and corridors you pick](/docs/infrastructure/zones-routes-corridors).** Press **Select** above the Routes or Corridors table - the same button the Features tier uses - and each row gains a checkbox; what you check gathers into a basket that spans both tiers - two corridors and the route between them become one project. Creating it opens a dialog scoped to a renewal-year window, pre-filled with the earliest renewal year in your selection plus your corridor timing tolerance, and it tells you first what the window covers: how many features renew inside it and across how many networks, how many are already on an active project and will be left out rather than double-booked, how many fall outside and stay available for a later project, how many have no renewal year at all, and the replacement value of the rest, which pre-fills the budget. The window matters because a feature committed to a live project is skipped by every later renewal project - so committing a corridor's whole multi-decade membership to one project would take its later features off the table for the next thirty years of planning. Windows longer than ten years are flagged for that reason. Corridor renewal bundles keep their own one-click path on the corridor page.
- [!improvement] **[Find your way back on any map](/docs/infrastructure/map).** A focus button now sits beside the layers button at the top right of every map. Click it after panning off and the camera returns to whatever the map is about - the selected feature, route or corridor, or your organization's whole extent when nothing is selected. It used to exist only on a single feature's page, so on the main map the way back from a stray pan was to re-select the row. The service area and zone boundary maps carry it too, returning to the drawn boundary.
- [!feature] **[Routes and corridors on the Infrastructure page - and on the map](/docs/infrastructure/zones-routes-corridors).** Routes and corridors used to be two side pages reachable only from a pair of buttons that were hidden on phones, each offering a search box and a bare table. They are now tiers of the Infrastructure page itself: a **Features / Routes / Corridors** switcher sits beside the table/split/map buttons, and switching tier swaps the table's rows and columns while keeping the search, the view modes and the layout you were in. The point of the move is the map, which now works at every tier - select a route to see its member segments coloured by condition and zoomed to fit, or open the Corridors tier to see every corridor drawn as a line coloured by its urgency band. Filters follow the tier: routes filter by feature class and network, corridors by search alone, since a corridor spans networks and has no material or condition of its own. Clicking a route or corridor opens a detail panel from the right edge, the same way a feature does, and both tiers page through their list rather than scrolling it. Old links to **Infrastructure → Routes** and **→ Corridors** land on the matching tier.
- [!improvement] **[Infrastructure settings split into three tabs](/docs/infrastructure).** **Settings → Infrastructure** stacked five long tables into one pane, so reaching the basemap list meant scrolling past the whole feature class catalog. It is now three tabs: **Classes & networks**, **Replacement rates**, and **GIS & basemaps**. Links that point here from elsewhere in the app - the map's basemap switcher, the Esri source page, the empty-state prompts - land on the tab they mean rather than the top of the page, and each tab has its own address you can bookmark or share.
- [!improvement] **[A sharper map, with a real dark basemap](/docs/infrastructure/map).** The built-in basemaps are now vector maps rather than fixed images, so streets and labels stay crisp at every zoom instead of blurring between levels. **Dark** is a proper dark cartography in deep navy-grey - it used to be the daytime map with the colour drained out of it, which turned the road network to mud and left condition colours competing with grey streets. **Streets** is a cleaner full-colour map. The tone slider has moved: it now appears only when you are viewing one of your organization's own basemaps, where dimming aerial imagery is what it was always for. Built-in variants no longer need it.
- [!fix] **[One condition scale everywhere](/docs/asset-management/condition-assessments).** Condition grades are now banded identically on every screen - Excellent 85-100, Good 70-84, Fair 55-69, Poor 40-54, Critical below 40. Three screens had drifted onto their own bands, so the same asset could read Excellent on its detail page and Good in the insights panel beside it, and an infrastructure feature scoring 87 read Excellent on its page and Good on the dashboard. Expect some assets to move down a grade in the asset insights chart: it was the most generous of the scales, and it was the one disagreeing with the record. Unscored assets and features now show as **Unscored** rather than disappearing from the distribution or landing in Critical, and the "Poor Condition" and "Critical" counts now use those same bands - so both read higher than before, because the thresholds they used to apply were stricter than any grade shown on screen. The nightly condition history steps up for the same reason; past entries are left as they were recorded rather than restated.
- [!improvement] **[Red means past due on the corridor bands too](/docs/infrastructure/zones-routes-corridors).** Corridor renewal bundles carried the same conflation the forecast ramp did: a window that opened in 2019 and one opening in 2028 were both **Urgent**, both red, and sorted level in the corridor list. **Past due** is now its own band with the red, Urgent is orange for this year through two years out, and the rest shift one step down the ramp. High member risk still widens the Urgent horizon to four years; it cannot widen a window that has already passed. Existing bundles are re-banded when the change lands - no recompute needed.
- [!improvement] **[Red on the forecast map means past due](/docs/infrastructure/map).** The replacement-year colour ramp used to give red to everything due within two years, overdue work included - so a sidewalk reaching end of life in 2028 painted identically to one that reached it in 2019. Red is now **Past due** on its own, with a new **Urgent** band in orange for this year through two years out, and Soon / Mid-term / Long-term shifted one step down the ramp. The planner's feature panel also names the band beside the year ("2028 · Urgent") rather than only colouring it, which was easy to read as the condition scale.
- [!improvement] **[Raise a work order straight from the map](/docs/infrastructure/map).** The feature panel that opens when you click a segment or node on the infrastructure map - or a row in the features table - now carries a **Create Work Order** button beside Close. It opens the work order form with the feature already attached, so a crew that spots a broken sidewalk on the map no longer has to open the full feature page first. Staff and above; requesters use the [request form](/docs/cmms/work-requests) as before.
- [!improvement] **[FCI by network when there is one estate to show](/docs/asset-management/risk-and-fci).** The infrastructure dashboard reports FCI three ways - by network, by service category, by feature class - and shows a tier only when it has more than one group to compare. An organization running a single network under a single feature class collapses all three, and the card left standing was the feature-class one. It is now the network card, which is the unit you plan and budget by. Nothing changes as soon as you have a second network or a second class: both tiers return on their own.
- [!fix] **[Service life reaches the planner, the risk dashboard and the feature page](/docs/infrastructure/networks-and-classes).** A feature's expected lifetime and unit rate are inherited from its material and its feature class unless the feature carries its own - which a GIS-imported feature never does. Several screens were still reading only the feature's own value, so on an imported estate the replacement planner showed every feature at "Forecast: —, Est. cost: $0, Lifecycle 0%" and ranked them all alike, the Risk dashboard valued the whole estate at zero, the feature insights panel reported nothing past end of life, and the feature page and its printed sheet showed "—" for expected lifetime while the detail sheet beside them showed the inherited number. All of them now resolve the same way the FCI gauges and the Capital Brief already did.
- [!fix] **[The Planner view shows what you scheduled, on both estates](/docs/asset-management/lifecycle).** Switching the Projected replacement costs chart to **Planner** kept drawing the infrastructure lifecycle forecast beside the scheduled facility work - so a network with nothing on its replacement calendar still filled the chart, and the gap between projected need and funded plan was invisible for infrastructure. Planner now reads the infrastructure planner's own scheduled features, priced as that calendar prices them, and shows nothing for a year nobody scheduled. With **Show** set to Infrastructure, facility plans no longer appear either.
- [!fix] **[Infrastructure appears in the lifecycle forecast](/docs/asset-management/lifecycle).** Features priced by a unit rate rather than a purchase cost were dropped from the Projected replacement costs chart, the replacement table, and the replacement-cost cards - so an estate whose rates and service lives are inherited from its feature classes, which is every estate built from a GIS import, contributed nothing to the forecast at all. Their replacement value is now read the same way the FCI gauges and Capital Brief already read it, and is treated as today's dollars rather than a historical purchase.
- [!feature] **[Show facilities, infrastructure, or both on the Lifecycle dashboard](/docs/asset-management/lifecycle).** The Lifecycle tab's Filters panel gained a **Show** dropdown - Facilities & Infrastructure, Facilities, or Infrastructure - and it applies to every element on the tab: the five headline cards, the projected replacement chart, the Capital Brief (including its recorded-spend sections), and the replacement table. Organizations running both estates can now read a capital story for either one on its own.
- [!fix] **[Infrastructure FCI reads your class and material service life](/docs/infrastructure/networks-and-classes).** The infrastructure dashboard resolved a feature's service life from the feature row alone, ignoring the class and material defaults it already used for unit rates - so an estate whose service life lives on those defaults, which is every estate built from a GIS import, showed every FCI gauge at 0.0% and a flat forecast. The same gap is closed on the map's renewal-year layer and on corridor bundle windows. A tenant with a single network and a single class also got no FCI cards at all, each tier suppressing itself as a duplicate of the others; the portfolio view now always shows.
- [!improvement] **[Infrastructure remembers the view you left it in](/docs/infrastructure/map).** The table / split / full-map switcher on the infrastructure page now keeps your choice per user on that device. Work the map, leave the page, come back, and the map is what you land on.
- [!fix] **[Projected GeoJSON imports no longer reject every row](/docs/infrastructure/esri-sync).** A .geojson exported from ArcGIS or ogr2ogr often holds projected coordinates (UTM metres, say) even though the format's specification says longitude/latitude. AssetLab took the specification at its word, so every feature landed off the map and the preview rejected the lot as out of bounds, with no coordinate system step offered to correct it. The wizard now reads a coordinate system stated in the file, and asks you to pick one when the coordinates plainly are not degrees.
- [!fix] **[Import previews name the real failure again](/docs/infrastructure/esri-sync).** A failing preview could report only "Edge Function returned a non-2xx status code" while the import service had actually said something specific. The wizard now shows what it said.
- [!fix] **[Pick your basemap on the map again](/docs/infrastructure/map).** The layers button is back at the top right of the infrastructure map, switching between the built-in Dark and Streets basemaps and any custom sources your organization has configured. Custom basemaps added under Settings → Infrastructure were previously configurable but never selectable, and the organization default now actually loads first for new users.
- [!feature] **[Secured ArcGIS basemaps](/docs/infrastructure/map).** Basemap sources gained an **ArcGIS token** access option: enter the GIS server sign-in once and AssetLab mints and refreshes the short-lived ArcGIS tokens itself - no more generating tokens by hand for services that ask for one. Pasting a MapServer link now also resolves straight to its tile endpoint, and the Test connection button reports the server's real error (like "Token Required") instead of a false success.
- [!improvement] **[Custom fields visible across the infrastructure module](/docs/infrastructure/features).** Custom fields on infrastructure features - whether created in Settings or on the spot during a file import - now appear as columns in the features table (reorderable and toggleable like any other column) and in the feature detail panel, not just on the full feature page.
- [!improvement] **[Imports refuse to guess your coordinate system](/docs/infrastructure/esri-sync).** A shapefile without a readable .prj (or a CSV with no stated CRS) used to be read as latitude/longitude silently, scattering projected data far from your city with only a preview warning. The wizard now stops at the coordinate system step and asks - preselecting WGS 84 when the coordinates genuinely look like degrees - and the import will not run until a CRS is chosen.
- [!improvement] **[Re-importing the same file no longer duplicates your network](/docs/infrastructure/esri-sync).** Importing a file byte-for-byte identical to one already imported into the same network (in create mode) now warns you before the preview, showing when the original import ran and how many features it created, and points you at update mode. Re-running an import after a hiccup was an easy way to double every feature; now it takes a deliberate confirmation.
- [!improvement] **[Sturdier infrastructure imports](/docs/infrastructure/esri-sync).** Large files now load into the database in bounded batches instead of one request, a failed step can be retried without duplicating rows, and files over 64 MB are refused up front with advice to split the layer - instead of failing part-way through. The upload cap changed from 500 MB (which imports could never actually carry) to an honest 64 MB per file.
- [!feature] **[Import your own columns as custom fields](/docs/infrastructure/esri-sync).** The infrastructure import wizard's mapping step now has an "Add custom field" section: pick any source column, name the field, choose text / number / date (pre-filled from what the file actually contains), and the import creates the custom field and fills it for every feature. Your GIS layer's extra columns - sidewalk type, curb height, plowing flags - become real fields you can see, edit, and report on, up to the 10-custom-fields-per-record limit.
- [!improvement] **[The infrastructure import wizard reads your file first](/docs/infrastructure/esri-sync).** Shapefile and CSV imports now present the file's actual columns as drop-downs in the mapping and match-key steps, pre-filled with best guesses (including the 10-character DBF names ArcGIS exports use, like InstallDat), instead of asking you to type column names from memory. The coordinate-system step now reports the projection actually found in your upload's .prj file. File imports also now map the same full column set as GIS sync - diameter, width, depth, lanes, slope, from/to street, from/to invert, and status - not just the original nine fields, and any column you leave unmapped is still kept on the feature's record.
- [!fix] **[Infrastructure imports explain their failures](/docs/start/importing-data).** A shapefile upload could fail with only "Edge Function returned a non-2xx status code" - the import service was rejecting the file before ever reading it, and that is fixed. When an import step does fail now, the wizard shows the actual reason and keeps it on screen until you retry or cancel, and the same reason is recorded on the import job.
- [!fix] **[Network deletion now cleans up after itself](/docs/infrastructure/networks-and-classes).** Deleting a network used to fail outright if a preventive maintenance schedule was scoped to it or to one of its features; those schedules are now removed with the network. The delete also switches off the network's ArcGIS sync source and clears staged rows from unfinished imports, and nightly maintenance now permanently removes features that have stayed hidden (removed from a GIS feed) for 30 days.
- [!fix] **[Voice dictation on work orders](/docs/cmms/work-orders).** The microphone button could get stuck showing "start" while it was still listening, and clicking it again failed silently. It now tracks the browser's own recording state, and releases the microphone when you leave the form.
- [!improvement] **[A clearer start with an empty list](/docs/start/importing-data).** An empty assets or infrastructure list now lays out the ways to populate it side by side, instead of a single button. Assets offers the [import wizard](/docs/start/importing-data), adding one by hand, or the [API](/docs/ai/tools-and-scopes); infrastructure offers a [GeoJSON, shapefile or CSV upload, ArcGIS sync](/docs/infrastructure/esri-sync), or the API. A list emptied by filters now says so and offers to clear them, and the infrastructure dashboard draws its charts and tables from the start rather than hiding behind a placeholder.
- [!fix] **[Deleting a large network now works](/docs/infrastructure/networks-and-classes).** Deleting a network that held tens of thousands of features used to fail after about eight seconds with a server error, leaving the network in place. The delete now runs in batches and reports its progress as it goes, so a network of any size can be removed. Keep the window open while it runs.
- [!improvement] **[Faster infrastructure list on large portfolios](/docs/infrastructure/features).** The features table no longer recounts every matching row each time you turn a page - on a 55,000-feature network that recount was doing 94% of the work and 16 times the effort of fetching the page you asked for. Past a few thousand rows the result total is now an estimate, typically within a fraction of a percent; smaller result sets are still counted exactly.
- [!fix] **[Project phases now tell reporting what they mean](/docs/projects/creating-projects).** Each phase in Settings → Categories → Project Phases carries a **Means** setting: active, on hold, complete, or cancelled. Complete counts a project as delivered capital and triggers the closeout prompt; active and on hold keep its budget in Committed funding. Previously all three read a hidden `status` field that nothing in the app could set, so finished projects counted as committed funding indefinitely, and the closeout prompt only fired for a phase literally named "closeout". Your existing phases were classified automatically - check anything unusual.
- [!feature] **[Archive finished projects](/docs/projects).** Take a completed project out of the working list without deleting it. An Active / Archived toggle switches the page between the two sets, selection mode archives or restores in bulk, and archiving leaves the project's status alone - so it keeps counting as delivered capital in the Capital Brief.
- [!improvement] **[Filter projects by your own phases](/docs/projects).** The Projects list now filters on the phases you maintain under Settings → Categories → Project Phases, in your order. The old Status filter offered five fixed values that most organizations never set; it now appears only when your projects actually carry more than one status.
- [!improvement] **[Photo indicator in the work order list](/docs/cmms/work-orders).** List view now marks work orders that carry photos with a small gallery icon and a count, so you can find the jobs with visual evidence without opening each one.
- [!security] **[Private file storage everywhere](/docs/manage/security).** Photos and attachments on assets, work orders and work requests are now served through short-lived access-checked links, matching how documents already worked. **If you integrate over the API:** `/upload-urls` and `/upload-files` no longer return `public_url` - store the returned `path` on the record instead. Links you saved previously keep working in the app; new ones should be paths.
- [!feature] **[Work requests by email](/docs/cmms/email-intake).** Your organization gets dedicated intake addresses like `acme-staff-requests@requests.assetlab.ca`. Anyone who emails one creates a work request - no account, no portal, no app. Create as many addresses as you need, each with its own defaults and its own rules about who may use it.
- [!feature] **[Rebuilt report builder](/docs/asset-management/reporting).** 30 data sources spanning assets, maintenance, places, infrastructure, classification, and finance. Pick columns (custom fields included), filter with grouped AND/OR conditions, preview, then export to CSV or Excel.
- [!feature] **[Onboarding workbook and .xlsx import](/docs/start/importing-data).** Settings → Import now offers a downloadable Excel workbook with one tab per record type in import order, required columns marked and example rows included. Fill it in and upload the .xlsx directly - the wizard reads the sheet that matches the record type.
- [!feature] **[Photo answers on forms](/docs/cmms/forms-and-inspections).** Inspection items can require a photo, compressed on upload and served through short-lived links, with an optional cap on how many. Contractors filling a shared work order can attach them too.
- [!feature] **[Documentation site](/docs)** - this site, plus an [interactive API reference](/docs/reference/api) you can read alongside your key's scopes.
- [!improvement] **[Settings reorganized](/docs/manage/org-settings).** The Settings sidebar is grouped into logical sections, and the read-only Permissions tab was retired - [roles and user groups](/docs/manage/roles-and-permissions) are the model that actually governs access.
- [!improvement] **[Infrastructure valuation on the asset class](/docs/infrastructure/features).** Unit replacement rates resolve down a chain - feature override, then material default, then class rate - so replacement value, depreciated replacement cost, and the capital forecast all price from one place instead of per-feature copies.

## July 2026

- [!feature] **[Forms and inspections](/docs/cmms/forms-and-inspections).** Build inspection forms with pass/fail checks, number readings, text, and photos, with conditional items that appear only when an earlier answer warrants them. Attach a form to a work order or PM schedule; answers come back as data you can filter and report on, not a PDF. Also exposed through the [REST API and MCP](/docs/ai/tools-and-scopes), so an assistant can author templates from a manufacturer's manual.
- [!feature] **[Shared work order links](/docs/cmms/work-orders).** Send a contractor a secure link to one job - expiry from 24 hours to never, view-only by default, or tick allow completion so they can update progress and fill the attached form without an account.
- [!feature] **[Two-way conversations on work requests](/docs/cmms/work-requests).** A live message thread between the requester and staff, emailed on reply and badged unread in both the [portal](/docs/cmms/requester-portal) and the app. The thread follows the request onto the work order it becomes.
- [!feature] **[Self-serve single sign-on](/docs/manage/security).** Configure Okta, Entra, Google, or a custom SAML/OIDC connection yourself under Settings → SSO, with the ACS URL, SP entity ID, and metadata URL on screen for your IdP.
- [!feature] **[Esri overlays on the map](/docs/infrastructure/map).** Toggle each active GIS source on as a read-only overlay drawn over your AssetLab features, then click an overlay feature to bind it to the AssetLab record it represents.
- [!feature] **Status page.** Platform availability with 90 days of history at [status.assetlab.ca](https://status.assetlab.ca).

## June 2026

- [!feature] **[Condition assessments](/docs/asset-management/condition-assessments).** Record an assessment against an asset and keep the history: condition trends over time, a projected condition curve, and a suggested replacement year that feeds the planner.
- [!feature] **[Risk profiles](/docs/asset-management/risk-and-fci).** A catalog of reusable risk profiles in Settings, assignable as a system default and inheritable (or overridable) on each asset - so consequence of failure stops being typed in one asset at a time.
- [!feature] **[Level of service, criticality-driven](/docs/infrastructure/level-of-service).** Facility criticality on sites and buildings, per-system targets with criticality modifiers, a System x Building status grid, and advisory consequences when a target is breached.
- [!feature] **[Capital Brief](/docs/asset-management/lifecycle).** The forward-looking capital narrative - projected replacement costs, keep-pace versus catch-up reinvestment, and the funding gap by system class - lives on Dashboard › Lifecycle and downloads as charts and tables for an asset management plan.

## Older releases

Anything not listed here predates this changelog rather than being retired. If a feature you remember has moved, the section overviews are the best map: [Asset Management](/docs/asset-management), [CMMS](/docs/cmms), [Projects](/docs/projects), [Infrastructure](/docs/infrastructure), [AI & MCP](/docs/ai), [Mobile](/docs/mobile), and [Manage](/docs/manage).
