Skip to content
This repository was archived by the owner on Dec 29, 2025. It is now read-only.
Merged

develop #1286

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions blog/2025-12-16-Release-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
author: meshcloud
title: Release 2025.54.0
---

Release period: 2025-12-10 to 2025-12-16

This release includes the following issues:
* Improved Workspace Search in Tables
* Configurable Enforcement of Azure Subscription Name Pattern
* Improved User Display in Access Control Tables
* Increased Size Limit for Building Block Inputs and Outputs
* Removed Active Payment Methods Limit per Workspace
* Fix Workspace Selection Limit in Communication Center
* Large Input support for Building Blocks using GitHub Actions
* Retrieve Individual Building Block Runs via meshObject API
<!--truncate-->

## Ticket Details
### Improved Workspace Search in Tables
**Audience:** User<br>

#### Description
When searching for workspaces in various tables throughout meshStack, you can now search with any part of a
workspace identifier. Previously, the search only showed results that started with your search term, which made it
difficult to find specific workspaces when the search term appeared later in the identifier. Now you can type any
part of a workspace identifier to see all partial matches, or select a workspace from the dropdown for an exact
match.

#### How to use
When using workspace search filters in tables, start typing any part of a workspace identifier, and the list will
automatically show all matching workspaces. You can either select a workspace from the dropdown for an exact match,
or continue typing to filter based on your search term.

### Configurable Enforcement of Azure Subscription Name Pattern
**Audience:** User<br>

#### Description
You can now control whether meshStack updates Azure subscription display names to match your configured naming pattern.
Previously, meshStack only assigned subscription names during initial provisioning.
To use this feature enable the "Update Subscription Name" option in an Azure platform configuration and
assign the `Microsoft.Subscription/rename/action` permission to the meshStack service principal.

#### How to use
When enabled, meshStack ensures subscription names always match your configured naming pattern.
When disabled, meshStack only sets subscription names during creation and leaves them unchanged during subsequent replications.
This allows you to enforce strict naming conventions or allow external modifications to subscription names.
Note: The capability to update subscription names was originally introduced in meshStack v2025.53 and was enabled by default.
Unfortunately, this could result in replication failures when meshStack's service principal's were not given the required
`Microsoft.Subscription/rename/action` permission in Azure. This release therefore introduces an explicit
configuration option so that platform teams can control the rollout of this new capability to their meshStack.

### Improved User Display in Access Control Tables
**Audience:** User<br>

#### Description
User information in access control tables is now displayed with the user's full name
on the first line and their email address on a separate line below. This makes it
easier to identify users at a glance and improves readability, especially when
managing access for multiple team members.

Note: This change only affects customers who have access to the new access control v2 feature. If you are using the
standard access control interface, this change does not apply to you.

### Increased Size Limit for Building Block Inputs and Outputs
**Audience:** User<br>

#### Description
We increased the maximum size limit for building block inputs and outputs from 64 KB to 16 MB. This allows you to
work with larger data volumes in your building block definitions, runs, and configurations without hitting size
constraints.

### Removed Active Payment Methods Limit per Workspace
**Audience:** User<br>

#### Description
Previously, workspaces were limited to 350 active payment methods. This limit has been completely removed, allowing
you to create and manage an unlimited number of payment methods per workspace.

### Fix Workspace Selection Limit in Communication Center
**Audience:** User<br>

#### Description
We fixed a bug in the communication center that prevented sending communications to more than 100 workspaces. Previously,
when targeting workspaces for a communication, only the first 100 workspaces were loaded and available for selection.
This made it impossible to send communications to additional workspaces beyond this limit. Now, all workspaces are
loaded correctly, allowing you to send communications to any number of workspaces in your organization.

### Large Input support for Building Blocks using GitHub Actions
**Audience:** User<br>

#### Description
Building blocks with many inputs or large user-provided values can now be configured to avoid GitHub's
workflow input size limits. A new "Pass only API URL" option allows workflows to receive only the API
URL instead of the full building block data, preventing failures when the total input size exceeds
GitHub's limits (65,535 characters for GitHub Cloud, potentially lower for GitHub Enterprise).

#### How to use
In the building block definition, navigate to the GitHub workflow implementation settings and enable the
"Pass only API URL (recommended for large payloads)" option. When enabled, your GitHub workflow will
receive only the `buildingBlockRunUrl` input. You'll need to update your workflow to fetch the building
block data from this URL using the meshStack API. When disabled (default), the workflow continues to
receive the old `buildingBlockRun` (base64-encoded JSON) inputs for backward compatibility.
See https://github.com/meshcloud/actions-register-source/releases/tag/v2.0.0 for upgrade instructions.

### Retrieve Individual Building Block Runs via meshObject API
**Audience:** User<br>

#### Description
The meshObject API now supports retrieving individual building block runs by their UUID.
This allows platform engineers to access detailed status information about a specific building block run, including inputs,
outputs, and error details if applicable.

#### How to use
Platform teams can add a new permission to their API keys to allow access to this endpoint
for building block runs using building block definitions or runners that they own.

4 changes: 2 additions & 2 deletions static/billing-api/meshmetering-openapi-docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@
},
"examples": {
"meshTenantUsageReportsList": {
"value": "{\n \"_embedded\" : {\n \"meshTenantUsageReports\" : [ {\n \"kind\" : \"meshTenantUsageReport\",\n \"apiVersion\" : \"v3\",\n \"metadata\" : {\n \"uuid\" : \"720f8801-d500-4ff3-bdc2-aae5d6c1e2df\",\n \"ownedByWorkspace\" : \"test-workspace-2\",\n \"ownedByProject\" : \"test-project\",\n \"createdAt\" : \"2025-01-07T01:00:00Z\"\n },\n \"spec\" : {\n \"period\" : \"2024-12\",\n \"reportCategory\" : \"BILLING\",\n \"platformType\" : \"Azure\",\n \"platform\" : \"azure.prod\",\n \"platformTenantId\" : \"a7b239a2-f8c6-4eac-ad75-2a89d8624203\",\n \"version\" : 2\n },\n \"status\" : {\n \"generatedAt\" : \"2025-01-07T01:00:00Z\",\n \"finalizedAt\" : \"2025-01-07T01:00:00Z\",\n \"paymentMethod\" : {\n \"identifier\" : \"test-payment-method\",\n \"name\" : \"Test Payment Method\",\n \"amount\" : 100,\n \"expirationDate\" : \"2025-06-01T00:00:00Z\"\n },\n \"timeframe\" : {\n \"from\" : \"2024-12-01T00:00:00Z\",\n \"to\" : \"2025-01-01T00:00:00Z\"\n },\n \"tags\" : {\n \"env\" : [ \"prod\" ],\n \"costCenter\" : [ \"4058\" ]\n },\n \"lineItems\" : [ {\n \"netAmount\" : {\n \"amount\" : 50.0,\n \"currency\" : \"EUR\",\n \"baseAmount\" : 40.0,\n \"baseCurrency\" : \"USD\",\n \"exchangeRate\" : 1.1\n },\n \"sellerId\" : \"Platform Team\",\n \"sellerProductGroup\" : \"Azure\"\n } ]\n },\n \"_links\" : {\n \"self\" : {\n \"href\" : \"https://mesh-billing-url/api/meshobjects/meshtenantusagereports/720f8801-d500-4ff3-bdc2-aae5d6c1e2df\"\n }\n }\n }, {\n \"kind\" : \"meshTenantUsageReport\",\n \"apiVersion\" : \"v3\",\n \"metadata\" : {\n \"uuid\" : \"ec072338-4703-437b-8f9e-2f3d3b7b27b3\",\n \"ownedByWorkspace\" : \"test-workspace-2\",\n \"ownedByProject\" : \"test-project\",\n \"createdAt\" : \"2025-01-05T01:00:00Z\"\n },\n \"spec\" : {\n \"period\" : \"2024-12\",\n \"reportCategory\" : \"BILLING\",\n \"platformType\" : \"Azure\",\n \"platform\" : \"azure.prod\",\n \"platformTenantId\" : \"7aeff275-b97d-4f87-bbb3-8be870c34dd9\",\n \"version\" : 1\n },\n \"status\" : {\n \"generatedAt\" : \"2025-01-05T01:00:00Z\",\n \"finalizedAt\" : \"2025-01-05T01:00:00Z\",\n \"cancelledAt\" : \"2025-01-07T01:00:00Z\",\n \"paymentMethod\" : {\n \"identifier\" : \"test-payment-method\",\n \"name\" : \"Test Payment Method\",\n \"amount\" : 100,\n \"expirationDate\" : \"2025-06-01T00:00:00Z\"\n },\n \"timeframe\" : {\n \"from\" : \"2024-12-01T00:00:00Z\",\n \"to\" : \"2025-01-01T00:00:00Z\"\n },\n \"tags\" : {\n \"env\" : [ \"prod\" ],\n \"costCenter\" : [ \"4058\" ]\n },\n \"lineItems\" : [ {\n \"netAmount\" : {\n \"amount\" : 40.0,\n \"currency\" : \"EUR\",\n \"baseAmount\" : 32.0,\n \"baseCurrency\" : \"USD\",\n \"exchangeRate\" : 1.1\n },\n \"sellerId\" : \"Platform Team\",\n \"sellerProductGroup\" : \"Azure\"\n } ]\n },\n \"_links\" : {\n \"self\" : {\n \"href\" : \"https://mesh-billing-url/api/meshobjects/meshtenantusagereports/ec072338-4703-437b-8f9e-2f3d3b7b27b3\"\n }\n }\n } ]\n },\n \"_links\" : {\n \"self\" : {\n \"href\" : \"https://mesh-billing-url/api/meshobjects/meshtenantusagereports?ownedByWorkspace=test-workspace-2&showCancelled=true&page=0&size=10&sort=period,desc\"\n }\n },\n \"page\" : {\n \"size\" : 10,\n \"totalElements\" : 2,\n \"totalPages\" : 1,\n \"number\" : 0\n }\n}"
"value": "{\n \"_embedded\" : {\n \"meshTenantUsageReports\" : [ {\n \"kind\" : \"meshTenantUsageReport\",\n \"apiVersion\" : \"v3\",\n \"metadata\" : {\n \"uuid\" : \"720f8801-d500-4ff3-bdc2-aae5d6c1e2df\",\n \"ownedByWorkspace\" : \"test-workspace-2\",\n \"ownedByProject\" : \"test-project\",\n \"createdAt\" : \"2025-01-07T01:00:00Z\"\n },\n \"spec\" : {\n \"period\" : \"2024-12\",\n \"reportCategory\" : \"BILLING\",\n \"platformType\" : \"Azure\",\n \"platform\" : \"azure.prod\",\n \"platformTenantId\" : \"dc6b2516-7313-456b-837b-158384a6ba9b\",\n \"version\" : 2\n },\n \"status\" : {\n \"generatedAt\" : \"2025-01-07T01:00:00Z\",\n \"finalizedAt\" : \"2025-01-07T01:00:00Z\",\n \"paymentMethod\" : {\n \"identifier\" : \"test-payment-method\",\n \"name\" : \"Test Payment Method\",\n \"amount\" : 100,\n \"expirationDate\" : \"2025-06-01T00:00:00Z\"\n },\n \"timeframe\" : {\n \"from\" : \"2024-12-01T00:00:00Z\",\n \"to\" : \"2025-01-01T00:00:00Z\"\n },\n \"tags\" : {\n \"env\" : [ \"prod\" ],\n \"costCenter\" : [ \"4058\" ]\n },\n \"lineItems\" : [ {\n \"netAmount\" : {\n \"amount\" : 50.0,\n \"currency\" : \"EUR\",\n \"baseAmount\" : 40.0,\n \"baseCurrency\" : \"USD\",\n \"exchangeRate\" : 1.1\n },\n \"sellerId\" : \"Platform Team\",\n \"sellerProductGroup\" : \"Azure\"\n } ]\n },\n \"_links\" : {\n \"self\" : {\n \"href\" : \"https://mesh-billing-url/api/meshobjects/meshtenantusagereports/720f8801-d500-4ff3-bdc2-aae5d6c1e2df\"\n }\n }\n }, {\n \"kind\" : \"meshTenantUsageReport\",\n \"apiVersion\" : \"v3\",\n \"metadata\" : {\n \"uuid\" : \"ec072338-4703-437b-8f9e-2f3d3b7b27b3\",\n \"ownedByWorkspace\" : \"test-workspace-2\",\n \"ownedByProject\" : \"test-project\",\n \"createdAt\" : \"2025-01-05T01:00:00Z\"\n },\n \"spec\" : {\n \"period\" : \"2024-12\",\n \"reportCategory\" : \"BILLING\",\n \"platformType\" : \"Azure\",\n \"platform\" : \"azure.prod\",\n \"platformTenantId\" : \"da49c857-0ab8-41be-93a7-446489f25ece\",\n \"version\" : 1\n },\n \"status\" : {\n \"generatedAt\" : \"2025-01-05T01:00:00Z\",\n \"finalizedAt\" : \"2025-01-05T01:00:00Z\",\n \"cancelledAt\" : \"2025-01-07T01:00:00Z\",\n \"paymentMethod\" : {\n \"identifier\" : \"test-payment-method\",\n \"name\" : \"Test Payment Method\",\n \"amount\" : 100,\n \"expirationDate\" : \"2025-06-01T00:00:00Z\"\n },\n \"timeframe\" : {\n \"from\" : \"2024-12-01T00:00:00Z\",\n \"to\" : \"2025-01-01T00:00:00Z\"\n },\n \"tags\" : {\n \"env\" : [ \"prod\" ],\n \"costCenter\" : [ \"4058\" ]\n },\n \"lineItems\" : [ {\n \"netAmount\" : {\n \"amount\" : 40.0,\n \"currency\" : \"EUR\",\n \"baseAmount\" : 32.0,\n \"baseCurrency\" : \"USD\",\n \"exchangeRate\" : 1.1\n },\n \"sellerId\" : \"Platform Team\",\n \"sellerProductGroup\" : \"Azure\"\n } ]\n },\n \"_links\" : {\n \"self\" : {\n \"href\" : \"https://mesh-billing-url/api/meshobjects/meshtenantusagereports/ec072338-4703-437b-8f9e-2f3d3b7b27b3\"\n }\n }\n } ]\n },\n \"_links\" : {\n \"self\" : {\n \"href\" : \"https://mesh-billing-url/api/meshobjects/meshtenantusagereports?ownedByWorkspace=test-workspace-2&showCancelled=true&page=0&size=10&sort=period,desc\"\n }\n },\n \"page\" : {\n \"size\" : 10,\n \"totalElements\" : 2,\n \"totalPages\" : 1,\n \"number\" : 0\n }\n}"
}
}
}
Expand Down Expand Up @@ -449,7 +449,7 @@
},
"examples": {
"meshTenantUsageReport": {
"value": "{\n \"kind\" : \"meshTenantUsageReport\",\n \"apiVersion\" : \"v3\",\n \"metadata\" : {\n \"uuid\" : \"720f8801-d500-4ff3-bdc2-aae5d6c1e2df\",\n \"ownedByWorkspace\" : \"test-workspace-2\",\n \"ownedByProject\" : \"test-project\",\n \"createdAt\" : \"2025-01-07T01:00:00Z\"\n },\n \"spec\" : {\n \"period\" : \"2024-12\",\n \"reportCategory\" : \"BILLING\",\n \"platformType\" : \"Azure\",\n \"platform\" : \"azure.prod\",\n \"platformTenantId\" : \"a7b239a2-f8c6-4eac-ad75-2a89d8624203\",\n \"version\" : 2\n },\n \"status\" : {\n \"generatedAt\" : \"2025-01-07T01:00:00Z\",\n \"finalizedAt\" : \"2025-01-07T01:00:00Z\",\n \"paymentMethod\" : {\n \"identifier\" : \"test-payment-method\",\n \"name\" : \"Test Payment Method\",\n \"amount\" : 100,\n \"expirationDate\" : \"2025-06-01T00:00:00Z\"\n },\n \"timeframe\" : {\n \"from\" : \"2024-12-01T00:00:00Z\",\n \"to\" : \"2025-01-01T00:00:00Z\"\n },\n \"tags\" : {\n \"env\" : [ \"prod\" ],\n \"costCenter\" : [ \"4058\" ]\n },\n \"lineItems\" : [ {\n \"netAmount\" : {\n \"amount\" : 50.0,\n \"currency\" : \"EUR\",\n \"baseAmount\" : 40.0,\n \"baseCurrency\" : \"USD\",\n \"exchangeRate\" : 1.1\n },\n \"sellerId\" : \"Platform Team\",\n \"sellerProductGroup\" : \"Azure\"\n } ]\n },\n \"_links\" : {\n \"self\" : {\n \"href\" : \"https://mesh-billing-url/api/meshobjects/meshtenantusagereports/720f8801-d500-4ff3-bdc2-aae5d6c1e2df\"\n }\n }\n}"
"value": "{\n \"kind\" : \"meshTenantUsageReport\",\n \"apiVersion\" : \"v3\",\n \"metadata\" : {\n \"uuid\" : \"720f8801-d500-4ff3-bdc2-aae5d6c1e2df\",\n \"ownedByWorkspace\" : \"test-workspace-2\",\n \"ownedByProject\" : \"test-project\",\n \"createdAt\" : \"2025-01-07T01:00:00Z\"\n },\n \"spec\" : {\n \"period\" : \"2024-12\",\n \"reportCategory\" : \"BILLING\",\n \"platformType\" : \"Azure\",\n \"platform\" : \"azure.prod\",\n \"platformTenantId\" : \"dc6b2516-7313-456b-837b-158384a6ba9b\",\n \"version\" : 2\n },\n \"status\" : {\n \"generatedAt\" : \"2025-01-07T01:00:00Z\",\n \"finalizedAt\" : \"2025-01-07T01:00:00Z\",\n \"paymentMethod\" : {\n \"identifier\" : \"test-payment-method\",\n \"name\" : \"Test Payment Method\",\n \"amount\" : 100,\n \"expirationDate\" : \"2025-06-01T00:00:00Z\"\n },\n \"timeframe\" : {\n \"from\" : \"2024-12-01T00:00:00Z\",\n \"to\" : \"2025-01-01T00:00:00Z\"\n },\n \"tags\" : {\n \"env\" : [ \"prod\" ],\n \"costCenter\" : [ \"4058\" ]\n },\n \"lineItems\" : [ {\n \"netAmount\" : {\n \"amount\" : 50.0,\n \"currency\" : \"EUR\",\n \"baseAmount\" : 40.0,\n \"baseCurrency\" : \"USD\",\n \"exchangeRate\" : 1.1\n },\n \"sellerId\" : \"Platform Team\",\n \"sellerProductGroup\" : \"Azure\"\n } ]\n },\n \"_links\" : {\n \"self\" : {\n \"href\" : \"https://mesh-billing-url/api/meshobjects/meshtenantusagereports/720f8801-d500-4ff3-bdc2-aae5d6c1e2df\"\n }\n }\n}"
}
}
}
Expand Down
Loading
Loading