Skip to main content

Release 2026.26.0

· 10 min read
meshcloud

Release period: 2026-06-24 to 2026-07-01

This release includes the following issues:

  • Add Users to a Workspace Without Losing Your Project Input
  • Restricted Landing Zone Description Clarified
  • Keep Your Custom Name and Inputs When Changing the Tenant for a Building Block
  • Fix Formatting and Link Detection for Building Block Outputs
  • Keep Sensitive Building Block Inputs Without Re-Entering Them
  • Filter the Building Blocks API by Definition Version Number
  • Reject invalid sort parameters on meshObject API
  • Building Blocks Show "Pending" Immediately After Inputs Are Supplied
  • Recommended Services No Longer Reappear After You Configure Them
  • Building Block Run Trigger Reason and Author in meshObject API
  • Clear Feedback When a Building Block Fails to Delete During Tenant Deletion
  • More Resilient Building Block Billing via Event-Based Collection
  • meshBuildingBlockRun API Now Exposes the Target Tenant or Workspace
  • Building Block Status Distinguishes Modifying Runs From Dry Runs
  • Tables No Longer Jump When Reloading Data
  • Concurrent Building Block Writes No Longer Silently Lose an Update
  • Set Operator-Managed Inputs When Creating a Building Block via the API
  • Upgrade and Rename a Building Block in Place via the API
  • Reliability and Access Control Fixes for Building Blocks
  • Sensitive User Inputs No Longer Lost on Building Block Upgrade

Ticket Details

Add Users to a Workspace Without Losing Your Project Input

Audience: User

Description

When you search for a user or group while assigning Project roles and they are not yet assigned to your Workspace, the "assign the user to the workspace first" link now opens Workspace access management in a new browser tab. Previously this navigation discarded everything you had already entered in the form. Now your current input stays intact while you add the missing user in the other tab.

Restricted Landing Zone Description Clarified

Audience: User

Description

The description of the "Restricted Assignment" flag in the landing zone configuration now accurately explains who can assign restricted landing zones: organization admins and the workspace that owns the landing zone. Any other workspace cannot see or assign a restricted landing zone, both in meshPanel and via the meshObject API.

Keep Your Custom Name and Inputs When Changing the Tenant for a Building Block

Audience: User

Description

When you create a Building Block and change the selected tenant, we now keep the name you customized, along with the input values and dependency selections you already entered. Previously, switching the tenant reset your custom name back to the auto-suggested one, so you had to type it again.

Audience: User

Description

We fixed two display issues with building block outputs in the panel. String values containing AWS ARNs (e.g. arn:aws:iam::...) are no longer rendered as clickable links. Only values that start with https or http are treated as links.

Keep Sensitive Building Block Inputs Without Re-Entering Them

Audience: User

Description

When you edit or upgrade a Building Block that has sensitive (encrypted) inputs, you no longer need to re-enter the secret values. We now indicate that a secret is already set and keep the existing value unless you deliberately change it. Sensitive inputs that have no value start empty, so it is clear when one still needs to be provided.

Filter the Building Blocks API by Definition Version Number

Audience: User

Description

The Building Blocks meshObject API can now be filtered by the building block definition version number, in addition to the existing filters for definition and version. The version number is accepted either as a plain number or with a leading "v" (for example "1" or "v1").

How to use

Pass the version number as a query parameter when listing Building Blocks via the meshObject API. This makes it easy to find all Building Blocks running a specific version of a building block definition, for example to review which workspaces still run an older version before releasing a new one.

Reject invalid sort parameters on meshObject API

Audience: User

Description

The meshObject API now consistently rejects unknown sort parameters with a 400 error so typos fail fast instead of silently returning unsorted results. Error messages now also consistently hint at the allowed sort keys for every endpoint, making it easier to fix invalid requests. Pagination links no longer expose the internal tiebreaker sort key, so they now carry only the documented, public sort keys.

Building Blocks Show "Pending" Immediately After Inputs Are Supplied

Audience: User

Description

When you supply the missing user or platform-operator inputs of a Building Block that was waiting for input (via the Panel or the API), its status now switches to "pending" right away, provided the Building Block has everything it needs to run, instead of appearing to still wait until the run actually starts. This gives immediate feedback that the run is on its way. Building Blocks that are still missing a required input keep waiting as before.

Audience: User

Description

When creating a project or adding a tenant, a recommended service you configure now disappears from the Recommended Services list and the wizard moves on as expected. Previously, for some platforms a recommended service stayed in the list after you added it, so the Recommended Services step showed up again and clicking "Configure" a second time opened a blank page.

Building Block Run Trigger Reason and Author in meshObject API

Audience: User

Description

The meshBuildingBlockRun meshObject API now exposes trigger information on each run. You can see why a run was triggered (e.g. building block creation, manual execution, inputs update) and who triggered it, including their type (user, API key, API user, or system) and identifier.

Clear Feedback When a Building Block Fails to Delete During Tenant Deletion

Audience: User

Description

When you delete a tenant, its building blocks are removed automatically. If one of those building blocks failed to delete, the tenant got stuck without any explanation - it just kept showing "Deletion pending".

Now we make the failure visible on your workspace overview and in the admin area. In both places you can see exactly which building blocks failed, so you know where to look instead of waiting on a deletion that can no longer finish.

More Resilient Building Block Billing via Event-Based Collection

Audience: User

Description

Building Block metering is now also collected from Building Block lifecycle events, which are retained much longer than raw metering state. This makes Building Block billing more resilient to collection gaps and lets us rebuild Building Block usage for periods that previously could not be recovered.

Using this, we will regenerate affected past chargeback statements once the missing Building Block usage has been re-collected.

meshBuildingBlockRun API Now Exposes the Target Tenant or Workspace

Audience: User

Description

The meshBuildingBlockRun API now tells you which Tenant or Workspace the run's Building Block targets. Each run's Building Block now carries a target reference, matching the one already available on the meshBuildingBlock API.

Building Block Status Distinguishes Modifying Runs From Dry Runs

Audience: User

Description

The Building Block status now reports its latest run more precisely. The latest run reference reflects only runs that actually modify the Building Block (applies and destroys), and a separate reference exposes the latest dry run when it is the most recent run. Note: this changes the meaning of the existing latest run field in the preview API, which previously also included dry runs.

Tables No Longer Jump When Reloading Data

Audience: User

Description

Tables that automatically refresh their data, such as the building block run table, used to briefly show a "Loading..." message during each refresh. This caused the table footer to jump on every reload cycle. We fixed this so tables stay visually stable during refreshes - the item count updates smoothly without any layout shifts.

Concurrent Building Block Writes No Longer Silently Lose an Update

Audience: User

Description

Building Blocks are now protected against lost updates. If two changes to the same Building Block happen at the same time, the second one now fails with a conflict error instead of silently overwriting the first. Re-read the Building Block and retry your change.

Set Operator-Managed Inputs When Creating a Building Block via the API

Audience: User

Description

When creating a Building Block through the API, platform operators can now provide values for operator-managed inputs directly, instead of those inputs always starting empty and needing a follow-up change. A caller without operator permissions who tries to set such an input now receives a clear error instead of having the value silently dropped.

Upgrade and Rename a Building Block in Place via the API

Audience: User

Description

You can now upgrade a Building Block to a new version of its Definition in place through the API, and rename it, without re-creating it. An upgrade re-resolves the inputs and parents the new version requires and starts an apply run; a present-but-null input keeps its existing value. If the new version adds an input that has a default value, you do not need to supply it in the upgrade request: the default is applied automatically, the same as when creating a Building Block.

Changing the Definition version is a platform-operator action: it requires platform administrator permission or the permission to manage the owning Definition, the same gate as setting platform-operator inputs. A workspace-scoped consumer who may manage a Building Block can change its own inputs but not its Definition version.

Upgrades target the latest released version of the Definition. A draft (unreleased) version can be an upgrade target only for a platform operator or administrator, and only when the Building Block lives in the Definition's own workspace (draft testing on their own test block). A Building Block in a consumer workspace can never be upgraded to a draft version, even with administrator or Definition-owner permissions.

Renaming changes only the display name, takes effect instantly, and never re-provisions resources; a Building Block's target cannot be changed.

Reliability and Access Control Fixes for Building Blocks

Audience: User

Description

We fixed a number of smaller issues in the building block area. Creating a building block with a reference to a nonexistent parent building block now fails with a clear error instead of silently dropping the dependency. Dependent inputs whose output key contains a dot (for example "db.endpoint") now resolve correctly at run time. The tenant sign-in URL is no longer erased when a runner reports an unexpected value for it. We also fixed a case where a building block could remain stuck "marked for deletion", and hardened deletion handling against duplicate messages so it no longer produces duplicate audit events. Finally, we tightened the access control checks on the building block run and run step endpoints.

Sensitive User Inputs No Longer Lost on Building Block Upgrade

Audience: User

Description

Upgrading a building block no longer replaces sensitive inputs with a placeholder when you don't modify them on upgrade. This affected sensitive user and operator inputs only.