Release 2026.28.0
Release period: 2026-07-08 to 2026-07-15
This release includes the following issues:
- Status Filter Icons for the Tenant Inventory
- meshTenant v4 API uses Platform and Landing Zone refs and a status lifecycle
- Consistent lifecycle and author information across meshObject APIs
- Redesigned Tenant Overview with Status Cards and Clickable Filters
- Imported Building Blocks Without a Logo Now Use the Default Logo
- Tenant List Shows When the Last Replication Ran at a Glance
- See How Long Each Building Block Run Step Takes
- Building Block Inputs and Outputs Now Appear in a Consistent Order
- Boolean Inputs Now Use a Toggle Switch
- Fixed Off-center Spinner Icon in Run Step List
- Clarified Purge Tenant Warning About Orphaned Resources
- Building Block Search Filter Fixed
- Clearer Label for the Tenant Deletion Action in the Tenants Overview
- Sort and Refresh Controls for the Tenant Inventory List
- Access Control Filters Now Apply Instantly
- Unmanaged Tenants Moved Into a Tab on the Tenants Screen
- Preview meshObject Requests Are Now Answered With the GA Version
- Composition Building Blocks Surface a Failed Child's Error in the Run Log
- Building Block Deletion No Longer Silently Retries After Failing
- Prevent and Clean Up Building Blocks Orphaned on Deleted Tenants
- See Who Requested Deletion of a Building Block Definition
Ticket Details
Status Filter Icons for the Tenant Inventory
Audience: User
Description
The status filter of the tenant inventory now shows the familiar status icons of your selection directly in the closed dropdown, e.g. a green check for successful and a red cross for failed tenants. This way you can see your active status filters at a glance without opening the dropdown, while the filter keeps its compact size.
How to use
Open the tenant inventory and select one or more statuses in the status filter. The selected statuses appear as icons separated by slashes. If the column is too narrow to show all selected icons, an ellipsis indicates that more statuses are selected.
meshTenant v4 API uses Platform and Landing Zone refs and a status lifecycle
Audience: User
Description
The v4 (preview) meshTenant API now identifies a tenant's Platform and Landing Zone through reference objects (platformRef by uuid, landingZoneRef by name), consistent with how other meshObjects express references. The previous platformIdentifier and landingZoneIdentifier fields remain available, so existing integrations keep working (a backward compatible addition). Lifecycle details now live in a shared status.lifecycle object that also reports the tenant's lifecycle state. The creation and deletion times that were previously top-level status fields moved into status.lifecycle as the created and deleted objects, each carrying a timestamp (and, when meshStack records one, the author). Consumers that read the creation or deletion time must now read status.lifecycle.created.timestamp and status.lifecycle.deleted.timestamp. The status tags field is always present (an empty object when there are no tags) instead of being omitted.
Consistent lifecycle and author information across meshObject APIs
Audience: User
Description
meshObject APIs that expose lifecycle information now share one status.lifecycle representation: a lifecycle state plus created, markedForDeletion and deleted actions, each carrying a timestamp and, when meshStack can attribute it, the author who caused it. That author is the same object everywhere (an identifier, a type and an optional displayName). This shared shape now backs the meshTenant v4-preview and meshBuildingBlock v2-preview status.lifecycle, and the author fields on meshBuildingBlockRun v1 and meshEventLog v1-preview. For backward compatibility the meshEventLog author keeps serving its previous authorType field alongside the new type field.
Redesigned Tenant Overview with Status Cards and Clickable Filters
Audience: User
Description
We redesigned the tenant overview to help you spot problems across your workspaces faster. Clickable status cards above the list show how many tenants replicated successfully, failed, or are currently replicating, and one click filters the list to that status. Replications and deletions that are in flight now appear as their own statuses in the status column, shown as spinner indicators with a details popover and the time of the last replication, instead of hiding between the pending actions.
How to use
Open the tenant overview in the administration area. Click a status card or use the status filter to narrow down the list. Your filters and the selected sort order are part of the URL, so you can bookmark and share them with your team. Tenant, workspace and project identifiers are now shown in a monospace font; hover or focus an identifier to reveal a button that copies it to your clipboard.
Imported Building Blocks Without a Logo Now Use the Default Logo
Audience: User
Description
When you import a Building Block Definition from meshStack Hub and the module does not define a logo, we now fall back to the default logo instead of leaving the logo empty. Previously the logo field ended up blank, so you had to notice and fix it before saving.
Tenant List Shows When the Last Replication Ran at a Glance
Audience: User
Description
The "Status" column of the tenant list in the admin and service management areas now shows how long ago the last replication ran, e.g. "10s ago", directly below the check or cross icon. Previously you had to hover over the status icon to find this information. A clock icon in front of the time indicates that the replication was triggered automatically by the system rather than by a user.
How to use
Hovering over the status icon still reveals the full details: the replication result, who triggered the latest replication, and its exact timestamp.
See How Long Each Building Block Run Step Takes
Audience: User
Description
Every step of a Building Block run now shows its run time on the right side of the step. While a step is still running, the timer counts up live so you can see how long it has been working; once the step finishes, the timer freezes at the total time it took. This makes it easy to spot slow or stuck steps, or understand where a run spends its time.
Building Block Inputs and Outputs Now Appear in a Consistent Order
Audience: User
Description
We now show a Building Block's inputs and outputs in a stable, predictable order across the Building Block settings, run details, and version upgrade screens. Items are ordered by the position defined on the Building Block Definition, with the input or output key breaking any ties. This makes it easier to scan for a specific input or output, since it always appears in the same place.
Boolean Inputs Now Use a Toggle Switch
Audience: User
Description
When you set a boolean input's static value on a building block definition, or when you configure a boolean input while creating a building block, you now flip a simple On/Off toggle switch instead of picking true or false from a dropdown list. This makes setting boolean values faster and more intuitive.
The optional default value for a boolean input still uses a dropdown, so you can leave it unset - for example when a platform operator should provide the value later instead of it defaulting to a value.
Fixed Off-center Spinner Icon in Run Step List
Audience: User
Description
We fixed a visual issue where the pending and in-progress status icons in the run step list were not perfectly centered. The icons now render cleanly aligned for a more polished look.
Clarified Purge Tenant Warning About Orphaned Resources
Audience: User
Description
We updated the description shown when purging a tenant to more clearly explain what happens to meshStack-managed resources.
Building Block Search Filter Fixed
Audience: User
Description
When you filter the Building Block tables, search values that contain certain characters now match those characters literally. Previously such values returned empty results or showed an error.
Clearer Label for the Tenant Deletion Action in the Tenants Overview
Audience: User
Description
We renamed the "Approve Tenant Deletion" action in the tenant overview to "Review Tenant Deletion". It takes you to the deletion management view where you can either approve or decline the pending deletion, so the label now reflects both options.
Sort and Refresh Controls for the Tenant Inventory List
Audience: User
Description
We added a header above the tenant inventory list with a sort dropdown on the left and a refresh button on the right. The dropdown makes the applied sort order visible and lets you sort by last replication (most recent first) or by oldest replication first. The refresh button reloads the list on demand so you can see the latest replication state without leaving the page.
Access Control Filters Now Apply Instantly
Audience: User
Description
When you filter the user access list of a Workspace or Project by display name, the results now update automatically as you type. You no longer need to click Refresh to apply the filter.
Unmanaged Tenants Moved Into a Tab on the Tenants Screen
Audience: User
Description
In the Admin Area, the Tenants screen now has two tabs: "Tenants" and "Unmanaged Tenants". We moved the unmanaged tenants overview into the new "Unmanaged Tenants" tab so everything about your Tenants lives in one place. The "Platform > Unmanaged Tenants" sidebar entry stays and now guides you to the new tab.
How to use
Open "Platform > Tenants" in the Admin Area and switch between the "Tenants" and "Unmanaged Tenants" tabs. The "Unmanaged Tenants" tab appears only when unmanaged tenant collection is available for your meshStack. The old "Platform > Unmanaged Tenants" sidebar entry now opens a short notice with a link to the new tab, so existing bookmarks keep working and you are guided to the new location.
Preview meshObject Requests Are Now Answered With the GA Version
Audience: User
Description
When a public meshObject API graduates from preview to General Availability, requests that still send
the old -preview media type are now answered with the GA version: the -preview suffix is stripped
from both the response Content-Type header and the body's apiVersion field. Such requests already
kept working before this change; what is new is that the response no longer echoes the -preview
suffix back. This is transparent for typical clients, which do not treat the version suffix in a
response as significant.
Composition Building Blocks Surface a Failed Child's Error in the Run Log
Audience: User
Description
When a composition (such as a starter kit) provisions other building blocks and one of them fails, the composition's run log now includes the failed building block's actual error instead of only a generic "run failed" message. This works even when that building block has run transparency disabled, making composition failures far easier to diagnose.
Building Block Deletion No Longer Silently Retries After Failing
Audience: User
Description
We aligned how meshStack handles a failed Building Block deletion with how it already handles a failed creation or update run: a deletion that failed or was aborted is no longer automatically retried just because something else happened in the workspace. Previously, a stuck deletion could keep getting retried in the background every time any other Building Block in the same workspace changed, even though nothing about the failing deletion itself had changed. If a Building Block deletion fails, meshStack now waits for you to take action. Retry the deletion by clicking "Trigger Run" on the Building Block. A deletion is still retried automatically if its inputs changed since the last attempt.
Prevent and Clean Up Building Blocks Orphaned on Deleted Tenants
Audience: User
Description
Previously, you could still add a new building block to a tenant after its deletion was already approved, and purging a tenant did not purge its building blocks. Since meshStack always trusts the platform's confirmation that a tenant is gone, such building blocks could end up orphaned under a tenant that no longer exists. meshStack now rejects creating a building block on a tenant that is marked for deletion, in both the Panel and the meshObject API. Purging a tenant now also purges all of its building blocks, and the Panel warns you which building blocks will be affected before you confirm a tenant purge or deletion. meshStack also cleans up in the background any building blocks that were already orphaned before these safeguards existed.
See Who Requested Deletion of a Building Block Definition
Audience: User
Description
When a Building Block Definition is marked for deletion, the deletion status popover now shows exactly who requested it. If the deletion was triggered by an API key, you now see that it was an API key and which one, instead of a misleading placeholder user name. Requests made by users, API users or the system are labelled accordingly, each with its own icon.