{"slug": "upgrade-signoz-to-v0-135-0-with-dashboards-v2-schema", "title": "Upgrade SigNoz to v0.135.0 with Dashboards V2 Schema", "summary": "SigNoz released v0.135.0, which automatically migrates existing dashboards, queries, variables and panels to a new Perses-compatible schema and introduces Dashboards V2 APIs. Scripts calling the V1 /api/v1/dashboards endpoints will stop responding and must be migrated before upgrading, Terraform-managed dashboards require a provider upgrade, and the SigNoz MCP server must be upgraded to v0.10.0. Dashboards whose stored data cannot be converted are flagged Legacy and cannot be opened in the new experience, and saved list-filter URL parameters (search, createdBy, updated, tags) no longer apply filters.", "body_md": "SigNoz v0.135.0 rolls out the redesigned [Dashboards](https://signoz.io/docs/dashboards/dashboards-v2-api/) experience and the new Dashboards V2 APIs. Your existing dashboards, queries, variables, and panels are migrated to the new Perses-compatible schema automatically, so no action is needed if you only use dashboards through the UI.\n\n## Who needs to act\n\n| If you | Then | \n|---|---|\n| Use dashboards only through the UI | Nothing: dashboards are migrated automatically. Check afterwards for any dashboard marked **Legacy** | \n| Have scripts calling `/api/v1/dashboards` | [Migrate them to the V2 APIs](#migrate-api-scripts-to-the-v2-dashboards-apis)**before upgrading** : the V1 endpoints stop responding | \n| Manage dashboards with the Terraform provider | [Upgrade the provider and migrate resources](#migrate-terraform-managed-dashboards) | \n| Use the SigNoz MCP server with an AI assistant | [Upgrade it to v0.10.0](#upgrade-the-signoz-mcp-server) | \n\n## Upgrade Self-Hosted SigNoz\n\n### Step 1: Back up your data\n\nDashboards live in the SigNoz Metastore (SQLite or Postgres) and are converted to the new schema automatically when the server starts up. Back up the Metastore before upgrading. If you are more than one release behind, check the [Upgrade Path Tool](https://signoz.io/upgrade-path/) for required stops (v0.131 requires a ClickHouse upgrade) before jumping to v0.135.0.\n\n### Step 2: Upgrade SigNoz\n\nUpgrade [foundryctl](https://github.com/SigNoz/foundry/blob/main/docs/getting-started.md) to pick up the v0.135.0 defaults, then re-apply your existing `casting.yaml`:\n\n```\ncurl -fsSL https://signoz.io/foundry.sh | bash\nfoundryctl cast -f casting.yaml\n```\n\nIf your `casting.yaml` pins image versions, the new defaults will not override them (your config wins), so bump the SigNoz image pin to v0.135.0 yourself.\n\nUpdate the [chart](https://github.com/SigNoz/charts) and upgrade:\n\n```\nhelm repo update\nhelm -n signoz upgrade signoz signoz/signoz\n```\n\n`helm upgrade` takes the newest chart; add `--version 0.135.0` to pin the v0.135.0 chart.\n\n### Step 3: Verify the upgrade\n\n1. Pods and containers are healthy (`kubectl get pods -n signoz` ,`docker compose ps` , or`systemctl status 'signoz-*'` ).\n2. SigNoz reports v0.135.0 under **Settings** .\n3. Open **Dashboards** : the redesigned list page loads, and your existing dashboards render with data.\n4. Scan the list for rows marked **Legacy** . The conversion runs per dashboard, and a dashboard whose stored data cannot be converted is left on the old schema and flagged rather than failing the upgrade. Legacy dashboards are listed but cannot be opened in the new experience. To fix one, see[Recover a legacy dashboard](#recover-a-legacy-dashboard) .\n\n## What changes after migration\n\n- **Automatic conversion.** Existing dashboards, inbuilt dashboards, and templates convert to the new schema when the server starts. SVG dashboard icons stored as percent-encoded inline data URIs are preserved during conversion.\n- **Dashboards that can't be converted stay on the legacy format.** A dashboard whose stored data cannot be converted is logged and left in the V1 format instead of blocking startup. It is listed and flagged as**Legacy** , and cannot be opened in the new experience. See[Recover a legacy dashboard](#recover-a-legacy-dashboard) .\n- **Saved list-filter URLs no longer apply filters.** The dashboards list page now filters with a query expression. The old URL parameters (`search` ,`createdBy` ,`updated` , and`tags` ) no longer apply filters, so bookmarks or shared links using them open the list unfiltered. See[Find and filter dashboards](https://signoz.io/docs/userguide/manage-dashboards/#find-and-filter-dashboards) .\n- **Layouts are validated on write.** Programmatic creates and updates must satisfy the grid rules. See[Dashboard layout constraints](https://signoz.io/docs/userguide/manage-dashboards/#dashboard-layout-constraints) .\n\n## Recover a legacy dashboard\n\nFrom v0.136.0, Editors and Admins can re-run the migration for a dashboard flagged **Legacy**:\n\n1. Open **Dashboards** and click the row flagged**Legacy** .\n2. In the dialog, click **Retry migration** .\n3. Wait for the **Dashboard migrated to the new experience** message. The list refreshes, and you can open the dashboard.\n\nIf the retry fails, or you have the Viewer role, copy the **Dashboard ID** from the same dialog, then click **Contact Support** and share the ID.\n\nTo retry through the API, see [Retry a dashboard migration](https://signoz.io/docs/dashboards/dashboards-v2-api/#retry-a-dashboard-migration).\n\n## Migrate API scripts to the V2 Dashboards APIs\n\nThe V1 dashboard endpoints are retired in v0.135.0. They respond with `501 Not Implemented`, the error code `dashboard_deprecated`, and a message naming the V2 replacement. Move your scripts to the V2 endpoints before you upgrade:\n\n| V1 endpoint (now `501` ) | V2 endpoint | \n|---|---|\n| `GET /api/v1/dashboards` | `GET /api/v2/dashboards` | \n| `POST /api/v1/dashboards` | `POST /api/v2/dashboards` | \n| `GET /api/v1/dashboards/{id}` | `GET /api/v2/dashboards/{id}` | \n| `PUT /api/v1/dashboards/{id}` | `PUT /api/v2/dashboards/{id}` | \n| `DELETE /api/v1/dashboards/{id}` | `DELETE /api/v2/dashboards/{id}` | \n| `PUT /api/v1/dashboards/{id}/lock` | `PUT /api/v2/dashboards/{id}/lock` ,`DELETE /api/v2/dashboards/{id}/lock` | \n\nIn v0.135.0 the public sharing routes (`/api/v1/dashboards/{id}/public` and `/api/v1/public/dashboards/{id}`) are not affected and keep working. This changed later: `/api/v1/public/dashboards/{id}` (and its widget query sub-path) is removed in v0.143.0. See the [v0.143.0 upgrade guide](https://signoz.io/docs/operate/migration/upgrade-0-143/#v1-dashboard-routes-are-deleted) for the public-route migration. The share-config route `/api/v1/dashboards/{id}/public` still works.\n\nOne compatibility shim remains, on create only: `POST /api/v2/dashboards` still accepts a V1 payload (a body carrying `version` and no `schemaVersion`) and converts it to V2, so import flows and existing create automation keep working during the rollout window. This shim will be removed in a few releases ([signoz#12177](https://github.com/SigNoz/signoz/issues/12177)). `PUT /api/v2/dashboards/{id}` does **not** accept V1 payloads; it requires `schemaVersion: \"v6\"`.\n\nThe V2 APIs also add a `PATCH` endpoint for partial updates, split lock and unlock endpoints, a pin-aware per-user listing, and pagination, sorting, and a query DSL on the list endpoint. The payload changes shape too, from flat JSON to a Perses `spec` tree. See the [Dashboards V2 API guide](https://signoz.io/docs/dashboards/dashboards-v2-api/) for the full endpoint list, schema, and `PATCH` examples.\n\n## Upgrade the SigNoz MCP server\n\nThe MCP server's dashboard tools moved to the V2 APIs in **v0.10.0**, so the two upgrades are coupled. On SigNoz Cloud's hosted MCP endpoint this happens for you; self-hosted MCP deployments need the version bump.\n\n| signoz-mcp-server | SigNoz | Result | \n|---|---|---|\n| v0.9.x or older | v0.134.x or older | Works on the V1 dashboard API | \n| v0.9.x or older | v0.135.0 or newer | Dashboard tools fail: they call the retired V1 routes | \n| v0.10.0 | v0.134.x or older | Dashboard tools fail: the V2 routes do not exist yet | \n| v0.10.0 | v0.135.0 or newer | Supported | \n\nOnly the dashboard tools are affected. The metrics, traces, logs, alerts, services, and docs tools work across both versions. Tool names are unchanged, so MCP client configs need no edits beyond the version bump. v0.10.0 also adds `signoz_patch_dashboard`, which applies an RFC 6902 JSON Patch so an assistant can edit one panel without resending the whole dashboard.\n\nFor the full list of changes and known limitations, see [signoz-mcp-server#262](https://github.com/SigNoz/signoz-mcp-server/issues/262).\n\n## Migrate Terraform-managed dashboards\n\nTerraform provider v0.1.0 rebuilds `signoz_dashboard` on the V2 APIs as a fully typed resource, so the `jsonencode(...)` attributes become a typed `spec` tree and existing config and state must be migrated. It requires SigNoz v0.135.0 or newer. This is a breaking change tracked in [terraform-provider-signoz#122](https://github.com/SigNoz/terraform-provider-signoz/issues/122).\n\nFollow the provider's [v0.0.x to v0.1.0 upgrade guide](https://registry.terraform.io/providers/SigNoz/signoz/latest/docs/guides/v0.0.x-to-v0.1.0) for the full migration workflow. For general usage, see the [Terraform provider guide](https://signoz.io/docs/dashboards/terraform-provider-signoz/).", "url": "https://wpnews.pro/news/upgrade-signoz-to-v0-135-0-with-dashboards-v2-schema", "canonical_source": "https://signoz.io/docs/operate/migration/upgrade-0-135", "published_at": "2026-10-27 00:00:00+00:00", "updated_at": "2026-10-27 16:15:55.911521+00:00", "lang": "en", "topics": ["developer-tools", "mlops", "ai-tools"], "entities": ["SigNoz", "Dashboards V2", "Perses", "Terraform", "SigNoz MCP server", "foundryctl", "ClickHouse", "Helm"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/upgrade-signoz-to-v0-135-0-with-dashboards-v2-schema", "markdown": "https://wpnews.pro/news/upgrade-signoz-to-v0-135-0-with-dashboards-v2-schema.md", "text": "https://wpnews.pro/news/upgrade-signoz-to-v0-135-0-with-dashboards-v2-schema.txt", "jsonld": "https://wpnews.pro/news/upgrade-signoz-to-v0-135-0-with-dashboards-v2-schema.jsonld"}}