# Release Notes

#### Diagrid

## 05 November 2026 update, Diagrid CLI 1.120.0

- \[Deprecated] `diagrid project create --enable-managed-workflow` is now hidden in help since new projects get the managed workflow store by default; the flag still works for backwards compatibility.

## 05 November 2026 update, Diagrid Web Console 1.166.0

- \[Added] The workflow executions list now supports suspending, resuming, terminating, purging and rerunning several selected executions at once, including executions from different App IDs.
- \[Changed] Projects created from the console now get the managed workflow store with either environment option, which now chooses only the managed Pub/Sub and KV store.
- \[Changed] The Workflows list now shows executions from the last 7 days by default, with the same time range picker as the workflow details page.

## 05 November 2026 update, Diagrid Controlplane 1.206.0

- \[Fixed] The project graph no longer fails to load on self-hosted Diagrid installs whose organization ID is not a UUID, such as `default-org`.

## 04 November 2026 update, Diagrid CLI 1.119.0

- \[Added] `diagrid project create` and `diagrid project update` accept `--disable-managed-workflow` to run a project without the managed workflow store.
- \[Added] `diagrid app logs --verify`, `diagrid agent logs --verify` and `diagrid mcpserver logs --verify` check that an app's API log has not been altered, reordered or had entries deleted.
- \[Added] `diagrid audit verify` checks your organization's region audit log the same way, and `diagrid audit list --region` lists the calls it records with each one's integrity.
- \[Changed] `diagrid project create` no longer turns off the managed workflow store when no workflow flag is given, so new projects get it by default.

## 04 November 2026 update, Diagrid Controlplane 1.204.0

- \[Added] The Diagrid API can now return an app's API log and your region audit log exactly as stored, for independent verification.

## 04 November 2026 update, Diagrid Web Console 1.165.0

- \[Fixed] Coding agent setup in Getting Started now says to use the agent's terminal app and when you need Node.js, and installs Copilot's skills so Copilot finds them in any folder.
- \[Fixed] Reloading the page during the in-browser quickstart now reopens it at the step the sandbox reached, instead of starting over.

## 03 November 2026 update, Diagrid Controlplane 1.202.0

- \[Added] Self-hosted Diagrid installs can now raise their plan's limits with `products-config.planOverrides` in the platform values.
- \[Changed] A new Diagrid project now gets the managed workflow store by default when its region supports workflows, unless you opt out when you create it.

## 03 November 2026 update, Diagrid Data Plane 1.135.3

- \[Security] Diagrid now includes dependency updates that fix known security vulnerabilities.

## 03 November 2026 update, Diagrid Data Plane 1.136.1

- \[Security] Diagrid now includes dependency updates that fix known security vulnerabilities.

## 02 November 2026 update, Diagrid Data Plane 1.137.1

- \[Security] Diagrid now includes dependency updates that fix known security vulnerabilities.

## 02 November 2026 update, Diagrid CLI 1.118.0

- \[Fixed] The `diagrid` CLI now asks you to sign in again when your session has expired, instead of failing every command until you run `diagrid login`.

## 02 November 2026 update, Diagrid Web Console 1.163.0

- \[Changed] The workflow graph now joins parallel tasks in a single "wait" step before the next one, so workflows with many parallel tasks draw far fewer connecting lines.

## 30 October 2026 update, Diagrid Web Console 1.162.0

- \[Added] "Make your own durable agent" can now have your AI coding agent create a new agent when you don't have one yet.
- \[Added] The Develop pages in Getting Started now suggest what to try next once your own agent or app is running on Diagrid.
- \[Fixed] In the quickstart's browser sandbox, the step your app was running when it crashed now shows as crashed in the execution graph and the terminal, instead of looking like it is still running.
- \[Fixed] Agents, workflows and other region pages now show why a region cannot be reached when the console cannot sign in to the region's tunnel, instead of loading forever.
- \[Fixed] Hovering a connection on the topology graph now shows its metrics next to the pointer, instead of far away from it.

## 30 October 2026 update, Diagrid CLI 1.117.0

- \[Added] `diagrid app create` now takes `--workflow-api temporal` to create an App that Temporal SDK clients and workers connect to, in preview.

## 30 October 2026 update, Diagrid Controlplane 1.199.0

- \[Added] Organization administrators now receive an email when a token budget uses its whole allowance, once per budget and window.
- \[Added] An App created with `workflowApi` set to `temporal` now serves Temporal SDK clients and workers, in preview.
- \[Changed] Sample App IDs and agents created by the hosted quickstart now carry the `catalyst.diagrid.io/source: quickstart` label.

## 30 October 2026 update, Diagrid Data Plane 1.137.0

- \[Added] The workflow and workflow executions endpoints accept `createdAfter` and `createdBefore`, a time window that includes pending executions.
- \[Added] `global.postgresql.selfhosted` now accepts `persistence_storage_class`, `node_selector`, `tolerations`, `affinity` and `extended_configuration`, to choose the self-hosted PostgreSQL's storage class and nodes and to add `postgresql.conf` settings.
- \[Added] The OpenAI conversation component now accepts `useResponsesAPI`, which lets OpenAI reasoning models such as `gpt-6.1-sol` call tools.
- \[Added] `agent.config.internal_dapr.disable_root_dapr_ha` is now a documented chart value that runs the region's Dapr operator, sentry and placement with one replica each, for evaluation regions.
- \[Added] Workflow executions now report whether they are waiting for an external event, and the executions list can be filtered to them with `condition=waitingExternalEvent`.
- \[Added] The Diagrid dataplane chart now accepts `gateway.plaintextRedirect`, which redirects plain HTTP requests to HTTPS on a region served over HTTPS.
- \[Added] `gateway.corsAllowedOrigins` sets which Diagrid Web Console origins a region accepts browser requests from; leave it empty for the Diagrid-hosted console.
- \[Changed] Requests from outside a region can no longer set the `dapr-caller-app-id`, `dapr-caller-namespace` or `dapr-callee-app-id` headers; they are removed before the request reaches your App ID.
- \[Changed] Workflows waiting on a timer, an external event or a child workflow no longer count toward a project's running workflows limit, and count only toward its new total workflows limit.
- \[Changed] Starting a workflow when a project is at its running or total workflows limit now fails with an error that says which limit was reached.
- \[Changed] Sidecars now log at `info` instead of `debug` by default; set `agent.config.sidecar.log_level` to `debug` to restore the previous level.
- \[Changed] The workflow details page loads faster for workflows with many executions.
- \[Changed] Sidecars now sample 1% of requests for tracing when their project has no tracing configuration of its own, instead of every request; set `agent.config.project.trace_sampling_rate` to `"1"` to keep sampling every request.
- \[Changed] Deleting a Project resource now removes its Diagrid project only if the Diagrid Kubernetes Operator created it; no resource that already exists at upgrade time qualifies, so annotate one with `catalyst.diagrid.io/ownership=created` to have its project removed.
- \[Changed] Diagrid regions now start each workflow step without waiting on a scheduler reminder, and a region installed with `agent.config.project.enable_workflows_fast_path` set to `false` keeps the previous behavior.
- \[Changed] Piko now requests 10m CPU and 64Mi memory with a 256Mi memory limit; set `piko.resources` to change them.
- \[Changed] A custom status filter value of `null` now also matches fields set to JSON null, and array or object values no longer match.
- \[Changed] The Diagrid agent now logs a startup warning for each `agent.config` setting it does not recognize, such as a misspelled or misplaced key, so a setting that has no effect is easy to spot.
- \[Changed] The image mirroring script now copies images from the registry the released chart uses, with their signatures and attestations when ORAS is installed.
- \[Fixed] `globalMaxConcurrentWorkflowInvocations` and `globalMaxConcurrentActivityInvocations` set on a Dapr configuration are now enforced instead of being silently ignored.
- \[Fixed] Workflows that finish just as their App ID restarts no longer go missing from the workflow list.
- \[Fixed] The assistant in the Diagrid Web Console can use its tools again instead of asking the user to re-authorize.
- \[Fixed] Workflows in the same App ID no longer slow one another down when many start or run at once.
- \[Fixed] A region's signing-key rotation no longer downloads its tools at startup, so it works in a cluster without internet access.
- \[Fixed] With `global.image.registry` set, the Diagrid dataplane now pulls its signing-key rotation job from that registry, and the tunnel server and uninstall cleanup job now use `global.image.imagePullSecrets`.
- \[Fixed] A workflow action refused because the run's history was tampered with, or because the App ID has no connected workflow worker, now returns that reason instead of a generic error.
- \[Fixed] Tolerations that set `tolerationSeconds` now keep it on the OpenTelemetry collector and the Dapr control plane.
- \[Fixed] App IDs no longer show as processing for several minutes after a Diagrid upgrade while they keep running normally.
- \[Fixed] Apps migrated with `diagrid k8s-operator migrate` that use actors or workflows now start, instead of restarting in a loop.
- \[Fixed] Deleting a project in a region with externally managed namespaces no longer shows an error or takes several extra minutes.
- \[Fixed] Restarting the Diagrid agent no longer rolls out the region's Dapr Sentry twice.
- \[Fixed] A region no longer crash-loops while it cannot reach the control plane; it waits, reports why it is not ready, and becomes ready once the control plane is reachable again.
- \[Fixed] A region group member whose agent restarts no longer fails its writable health check while it waits to confirm its group membership.
- \[Fixed] Adding or removing an MCP server that uses SPIFFE JWT authentication no longer makes the App IDs in its scope unreachable until they restart.
- \[Fixed] A Diagrid region keeps running through a control plane outage instead of restarting its agent, so its region group health check keeps answering.
- \[Security] On Diagrid-hosted regions, an HTTP endpoint whose base URL points into the region's private network is now refused and stops being used, with the reason shown in its status.
- \[Security] On Diagrid-hosted regions, a configuration whose tracing endpoint points into the region's private network now applies without tracing, with the reason shown in its status.
- \[Security] OPA middleware policies that call `http.send` or `net.lookup_ip_addr` are now refused.
- \[Security] Plain HTTP requests to a Diagrid cloud region are now redirected to HTTPS instead of being served unencrypted.

## 29 October 2026 update, Diagrid Web Console 1.161.0

- \[Changed] App IDs and agents created by the guided quickstart now show a quickstart label on their details page.

## 29 October 2026 update, Diagrid Web Console 1.160.0

- \[Added] The region page now warns when a self-managed region runs a release line that is leaving support, and shows an error once support has ended.

## 29 October 2026 update, Diagrid Controlplane 1.198.0

- \[Added] Organization members are now emailed when a self-managed region runs a release line that its stable or LTS channel will soon stop patching, and again when support ends.
- \[Added] A region's release status now reports `currentLine`, `lineSupportStatus` and `lineSupportedUntil`, so your own tooling can tell whether the release line it runs is still supported.
- \[Fixed] A region group now shows only its active region as writable when the region it failed over from comes back online, and Diagrid sends changes to the active region.
- \[Fixed] The Diagrid API reference page loads again instead of showing a blank page.

## 29 October 2026 update, Diagrid Web Console 1.159.0

- \[Changed] The quickstart no longer shows a greyed-out navigation menu beside its console, and the full menu appears once you finish or exit the quickstart.

## 28 October 2026 update, Diagrid Web Console 1.158.0

- \[Added] The Authentication details dialog on agent and MCP server pages now links to the app they run as.
- \[Changed] The Access policies list now hides the policies Diagrid creates for each agent, and a "Show generated policies" switch shows them again.

## 28 October 2026 update, Diagrid Web Console 1.157.0

- \[Added] Workflow executions waiting for an external event now show a lightning icon next to their status.

## 28 October 2026 update, Diagrid CLI 1.116.0

- \[Added] `diagrid agent` and `diagrid mcpserver` `create` and `update` now accept `--label` and `--annotation` to set labels and annotations on the workload in self-hosted regions.
- \[Added] `diagrid diagnose` now also collects the self-hosted control plane's resources, logs and installed chart versions when run against a cluster that hosts it.
- \[Changed] `diagrid login` now shows your organization and default project, and points first-time users to the quickstart.
- \[Fixed] `diagrid app update` and `diagrid appid update` with only `--label` no longer remove the workload annotations, and `--annotation` alone no longer removes the labels.

## 28 October 2026 update, Diagrid Controlplane 1.194.0

- \[Added] Agents and MCP servers in self-hosted regions can now carry workload labels and annotations, which Diagrid applies to their workload pod and service account.
- \[Fixed] Self-hosted regions no longer report a `managementDiagrid` endpoint that does not resolve.
- \[Fixed] Self-hosted Diagrid regions no longer lose their connection to the control plane a few hours after connecting; if you set `jwt-key-rotation.schedule` yourself, change it to run daily.

## 28 October 2026 update, Diagrid Web Console 1.156.0

- \[Fixed] Running a new workflow from an event of a tampered run now shows why it was refused, instead of a generic error.

## 27 October 2026 update, Diagrid CLI 1.115.0

- \[Changed] `diagrid workflow start` now needs the same permission as starting a workflow from the console, so the Viewer role can no longer start workflows from the CLI.
- \[Changed] `diagrid workflow start -o json` now prints `appId`, `workflowName`, `workflowId` and `status` in place of `caller`, `workflow`, `statusCode` and `response`; `instanceId` is unchanged.
- \[Deprecated] `--verbose` on `diagrid workflow start` no longer has any effect.

## 27 October 2026 update, Diagrid Controlplane 1.192.0

- \[Changed] Mirroring a self-hosted install to your own registry now keeps the signatures and attestations of Diagrid's images and data plane chart when ORAS is installed, so you can verify the copies there.
- \[Fixed] Diagrid API requests no longer fail while the control plane restarts.

## 27 October 2026 update, Diagrid Controlplane 1.191.0

- \[Fixed] Diagrid API requests no longer fail for a few seconds while the platform is being updated.
- \[Fixed] Self-hosted Diagrid now sets `PUBLIC_SENTRY_OIDC_ISSUER_URL` in `admingrid.env`, so the console loads regions created with `--enable-public-management-api` instead of waiting forever; add it to any `admingrid.env` you override.

## 27 October 2026 update, Diagrid Data Plane 1.135.2

- \[Security] Diagrid now includes dependency updates that fix known security vulnerabilities.

## 26 October 2026 update, Diagrid Web Console 1.154.0

- \[Changed] The workflow access policy form now lets one caller rule list several workflows, each with its own operations.

## 26 October 2026 update, Diagrid CLI 1.113.0

- \[Security] The `diagrid` CLI installers now check each download against its published checksum before unpacking it, and also verify its signature when `cosign` is installed.

## 26 October 2026 update, Diagrid Data Plane 1.134.1

- \[Security] Diagrid now includes dependency updates that fix known security vulnerabilities.

## 26 October 2026 update, Diagrid Controlplane 1.186.0

- \[Changed] Components and MCP servers now say that an App ID has not reported a status yet, instead of reporting that the App ID was not found.

## 26 October 2026 update, Diagrid Web Console 1.153.0

- \[Changed] The Create API key form now accepts names up to 64 characters.
- \[Removed] The product switcher no longer lists Workflow Composer.
- \[Fixed] The Create API key form now explains when a name is too long, instead of showing a generic error.

## 26 October 2026 update, Diagrid CLI 1.112.0

- \[Added] `diagrid diagnose` now checks that the control plane hostnames resolve, accept TLS, negotiate HTTP/2 where gRPC needs it and present the expected certificate, and `diagrid diagnose endpoints --domain <domain>` runs the same check before a region is created.

## 26 October 2026 update, Diagrid Controlplane 1.185.0

- \[Added] Self-hosted Diagrid's `admingrid.auth.oidc.mapping.roleJMESPath` can now return a list of roles, so a user gets a role from every identity provider group they are in; earlier versions treat a list as no match and apply `roleFallback`.
- \[Added] The self-hosted bundle now includes a small data plane profile for evaluation regions, and its resource requirements guide lists the ResourceQuota and LimitRange minimums for each namespace.
- \[Added] Organization admins are now emailed when the stable or LTS channel a self-managed region follows has a Diagrid release newer than the one the region runs.
- \[Changed] When an organization has no "default" project and no other project, AI assistants connected through the Diagrid MCP server now create one after asking you to name it, with the managed stores the region supports, instead of leaving you to create it by hand.
- \[Changed] API key names can now be up to 64 characters long, up from 16.
- \[Fixed] Workload startup now clearly distinguishes between missing identity files (expected during bootstrap) and invalid ones (real errors), reducing operator confusion when reading crash logs.
- \[Fixed] The self-hosted cloud profile's Diagrid dataplane values now fetch trust anchors from `https://trust.YOURDOMAIN`, the address the control plane serves.

## 21 October 2026 update, Diagrid CLI 1.111.0

- \[Removed] `diagrid mcp serve` and `diagrid mcp install` have been removed; connect your AI assistant to the hosted Diagrid MCP server at `https://mcp.cloud.r1.diagrid.io/mcp` or install the catalyst-ai plugin in Claude Code.

## 21 October 2026 update, Diagrid Controlplane 1.182.0

- \[Added] Self-hosted Diagrid now includes a script that copies every chart and image an install needs to your own registry, and each install guide shows how to install from it.
- \[Removed] Self-hosted Diagrid no longer bundles MinIO, which stopped publishing its images: set `use_rustfs = true` for the bundled RustFS instead of `use_minio = true`, and an install upgraded from MinIO starts with empty metrics and logs.

## 20 October 2026 update, Diagrid Web Console 1.148.0

- \[Fixed] The workflow details page now lists and counts pending executions within the selected time range.
- \[Fixed] The Create API key button is no longer disabled in an organization that has no projects yet.

## 20 October 2026 update, Diagrid Web Console 1.147.0

- \[Added] A self-hosted region's release channel can now also be set to LTS, which moves to a new stable release about once a quarter.
- \[Fixed] The Usage page now shows every region limit, including API requests, on smaller screens.

## 20 October 2026 update, Diagrid Controlplane 1.177.0

- \[Fixed] Self-hosted Diagrid users whose identity provider does not send an `email_verified` claim, such as Microsoft Entra ID, can now sign in instead of being sent to an email verification page.

## 19 October 2026 update, Diagrid Controlplane 1.176.0

- \[Added] Self-hosted Diagrid can now pull every control plane image from your own registry with one setting: `image_registry` in Terraform, or the image registry values file.
- \[Changed] Self-hosted Diagrid now pins every third-party image to an exact version instead of a floating tag.

## 19 October 2026 update, Diagrid Web Console 1.145.0

- \[Added] SSO connections now have a Groups section where you map your identity provider's groups to roles in the organization, and can let members of those groups join without an invitation.
- \[Added] The Users list now shows whether each member's roles were granted directly or come from their SSO groups.
- \[Added] Plus and Enterprise organizations can raise a support ticket.
- \[Fixed] Rerun from event in a workflow's executions list is now disabled until every selected execution has finished, instead of opening a dialog that cannot load its events.
- \[Fixed] The quickstart and Getting started pages now pick up your app's progress while you work in a terminal or coding agent, instead of waiting until you switch back to the browser.
- \[Fixed] The Refresh buttons on the Workflows pages now show they are loading until the latest data arrives.

## 19 October 2026 update, Diagrid CLI 1.107.0

- \[Added] Organization admins can now turn the Diagrid Assistant on or off with `diagrid org assistant`, and see or change how much of their Diagrid data AI tools can read with `diagrid org data-sharing`.

## 19 October 2026 update, Diagrid Controlplane 1.175.0

- \[Added] When you connect an MCP client such as Claude Code, the consent screen now lets you choose how much of your Diagrid data it can read, up to your organization's limit.
- \[Added] Self-hosted Diagrid can now use a MySQL database with any name: set the `database` key of the `infrastructure-mysql` secret, or `mysql.auth.database` when using the bundled MySQL.
- \[Fixed] Alert notifications now resume on their own when the control plane starts while its message broker is unavailable, instead of staying off until the next restart.
- \[Security] Self-hosted Diagrid now verifies the identity provider's ID token at sign-in and uses its claims to assign the user's organization and role.

## 15 October 2026 update, Diagrid Controlplane 1.174.0

- \[Added] Self-hosted Diagrid now applies the `admingrid.auth.oidc.scopes` setting to `diagrid login` as well as the console.

## 15 October 2026 update, Diagrid CLI 1.106.0

- \[Added] `diagrid login` can now sign in to self-hosted Diagrid that uses Microsoft Entra ID.

## 15 October 2026 update, Diagrid Web Console 1.143.0

- \[Changed] Self-hosted Diagrid now walks new users through the guided quickstart when they first sign in, as Diagrid cloud does; the hosted sandbox remains cloud-only.
- \[Fixed] Reloading a Diagrid Web Console tab after a few idle hours no longer goes back through sign-in.

## 14 October 2026 update, Diagrid Web Console 1.142.0

- \[Added] The App details page now has a Workflow settings section to choose where an app's finished workflows are archived and which workflow outcomes raise an alert.
- \[Fixed] The quickstart no longer offers to run in the browser for projects in a dedicated, BYOC or self-managed region, where it cannot run.
- \[Fixed] Starting a quickstart sandbox without a project now says a project is needed and offers to create one, instead of loading forever.

## 14 October 2026 update, Diagrid CLI 1.105.0

- \[Fixed] `diagrid k8s-operator migrate` can now migrate an application that uses actors or workflows, and asks you to choose when it cannot tell whether the namespace already holds actor state.
- \[Fixed] `diagrid k8s-operator migrate` no longer hangs when the Diagrid project already exists, and a namespace copied with `--new-namespace` no longer runs the Dapr open source sidecar. `--host local` now requires `--new-namespace`.
- \[Fixed] `diagrid k8s-operator migrate` now reports what it will do on a dry run, a re-run and an in-place migration, names the project it used, and no longer reports a migration as complete before Diagrid has accepted the resources.

## 14 October 2026 update, Diagrid Controlplane 1.172.0

- \[Added] Self-hosted Diagrid can now set `admingrid.auth.oidc.scopes`, or `oidc_scopes` in Terraform, to choose the scopes the console asks for at sign-in, which Microsoft Entra ID requires.
- \[Added] The self-hosted Azure Terraform can now install into an existing AKS cluster and resource group instead of creating new ones.
- \[Added] The self-hosted Azure Terraform can now give the control plane ingress a fixed address, either a private IP on your network or a public IP you already own.
- \[Changed] Creating or updating a `secretstores.diagrid.redis` or `lock.kubernetes` component now rejects metadata fields the component does not support.
- \[Fixed] The `redisPassword` of a `secretstores.diagrid.redis` component is now masked when the component is read.
- \[Fixed] Self-hosted Diagrid no longer needs to reach Diagrid's sign-in service for workload identity to start, because `diagrid-sentry.oidc.idpFederationEnabled` now defaults to `true`.
- \[Fixed] Self-hosted Diagrid's API health check no longer probes SendGrid, Stripe and HubSpot, so it no longer reports degraded in an install without internet access.
- \[Security] Updating an App ID now keeps its stored token references and ignores secret references supplied in the request.

## 14 October 2026 update, Diagrid CLI 1.104.0

- \[Security] `diagrid apikey create --scope project:<name>` now creates a key limited to that project instead of one with the role's access across the whole organization.

## 14 October 2026 update, Diagrid Controlplane 1.171.0

- \[Security] API keys created earlier with `--scope project:<name>` are now limited to that project instead of having access across the whole organization.

## 14 October 2026 update, Diagrid Web Console 1.140.0

- \[Changed] Finishing the quickstart now takes you to Getting Started to choose what to do next, instead of to the workflow run.
- \[Fixed] The Diagrid Web Console now shows a sign-in error instead of a blank page when it cannot reach the sign-in service.

## 14 October 2026 update, Diagrid Controlplane 1.170.0

- \[Changed] Duplicating a project no longer copies the `agent-*` components that `defaultAgentInfrastructureEnabled` created; they are created when an agent needs them.
- \[Deprecated] The project fields `defaultAgentInfrastructureEnabled` and `agentRegistryStore` are deprecated, because creating an agent provisions what it needs; use `defaultWorkflowStoreEnabled` to enable the managed workflow store.

## 13 October 2026 update, Diagrid Web Console 1.139.0

- \[Added] The alerts list now shows whether each alert was delivered, is still being delivered, failed, or matched no notification route, and clicking the status shows the result for each destination.

## 13 October 2026 update, Diagrid Controlplane 1.169.0

- \[Added] Alerts now report a delivery `status` and the result of each destination in `deliveries`.
- \[Fixed] A Dapr configuration setting a negative `globalMaxConcurrentWorkflowInvocations` or `globalMaxConcurrentActivityInvocations` is now rejected instead of accepted.
- \[Fixed] An alert that occurs again is now delivered again, instead of being skipped for up to 30 minutes after an earlier delivery.

## 13 October 2026 update, Diagrid Web Console 1.138.0

- \[Added] The Make your own durable agent page now offers an AI coding agent route: pick your framework and coding agent, then paste one prompt that makes your existing agent durable and runs it on Diagrid.
- \[Changed] Region usage now shows running and total workflows per project, and the plan cards list both limits.
- \[Fixed] Users who have already run their own app from the CLI or a coding agent are no longer sent into the quickstart on their first console visit.
- \[Fixed] Searching the Agents list by part of a name now finds every matching agent, instead of missing some and showing others as waiting to register.

## 13 October 2026 update, Diagrid Controlplane 1.168.0

- \[Fixed] Inviting a user whose email address is typed with capital letters now adds their existing account to the organization, instead of failing with an internal error.

## 13 October 2026 update, Diagrid Data Plane 1.136.0

- \[Added] Workflow execution details now include the decoded signing certificates, each signed block's signing time and digests, and the trust anchor the history was verified against.
- \[Changed] The Diagrid MCP tool `catalyst_get_workflow_run` now returns a much shorter answer for signed runs and runs that repeat the same steps, and takes `includeVerification` and `fullHistory` to return the full signing proof and every history event.
- \[Changed] Workflow, activity and event names and workflow instance IDs that start with `__temporal.` are now reserved and refused on every App ID.
- \[Fixed] Failed sign-ins to a region's API no longer include internal error details.
- \[Fixed] Changes to a project are no longer left unapplied after one of its App IDs restarts.
- \[Fixed] Saving or deleting state with an outdated ETag in a Diagrid managed state store now fails straight away with a conflict the app can handle, instead of an internal error several seconds later.
- \[Security] Diagrid regions no longer write secret encryption keys or database credentials to their logs.
- \[Security] The region gateway now serves its routing and certificate configuration only to the region's own edge proxy.
- \[Security] Diagrid now resolves `.` and `..` segments, repeated slashes and percent-encoded unreserved characters (such as `%41` for `A`) in request paths before routing a request to an App ID, and the App ID receives the resolved path.
- \[Security] Diagrid now refuses requests made with a token limited to specific paths when the path contains an encoded slash or backslash (`%2F` or `%5C`).
- \[Security] Changing an IdP federation's `issuer` now stops the region accepting tokens from the previous issuer straight away.
- \[Security] Durable agent and hosted quickstart containers no longer receive the App ID's Kubernetes API credential.
- \[Security] The Diagrid gateway now limits concurrent streams per connection and turns away new requests as it nears its memory limit instead of restarting; set `gateway.envoy.overloadManager.enabled` to `false` to turn off the memory limit behaviour.
- \[Security] Dapr's internal workflow actors can no longer be called directly through the actor API.

## 12 October 2026 update, Diagrid Web Console 1.137.0

- \[Added] A workflow execution's Verification details now show each signing certificate's subject, issuer, validity and fingerprint, when each block was signed, and the trust anchor the history was verified against.

## 12 October 2026 update, Diagrid CLI 1.100.0

- \[Deprecated] `diagrid mcp serve` and `diagrid mcp install` are deprecated; connect your AI assistant to the hosted Diagrid MCP server at `https://mcp.cloud.r1.diagrid.io/mcp` or install the catalyst-ai plugin in Claude Code instead.

## 12 October 2026 update, Diagrid Controlplane 1.166.0

- \[Added] Self-hosted Diagrid can set how long alerts are kept with `catalyst-cloudgrid.cloudruntime.notifications.bucket_ttl`.
- \[Added] Self-hosted installs can set `catalyst-cloudgrid.cloudruntime.notifications.allow_private_webhook_addresses` to `true` to deliver notification webhooks to receivers on a private network.
- \[Changed] Alerts are now kept for seven days after they last occurred; on upgrade, alerts older than that are removed from the alerts list.
- \[Changed] API keys can no longer be created or read for a service account that has no role; assign the service account a role first.
- \[Changed] When a service account API key is given an expiry, it must now be between one minute and 365 days; an `expireInSeconds` of `0` or less no longer means "never expires" and is refused, so leave the field out for a key that does not expire.
- \[Changed] Different organizations can now federate the same identity provider `issuer`, and within one organization a new or changed `issuer` that differs from an existing one only in letter case, a trailing slash or the default port counts as the same issuer.
- \[Changed] An identity provider federation's `issuer` can no longer be set to a URL with user info, a query or a fragment.
- \[Changed] Creating or updating a durable agent now rejects an `llmConfig.model` that contains control characters or is longer than 256 characters.
- \[Fixed] A Diagrid project no longer stops converging and reports an error while it waits for its region to become ready.
- \[Fixed] Users with the viewer role no longer see an external App ID's bootstrap configuration, which contains its join token.
- \[Fixed] The Diagrid API now rejects requests whose resource names contain path separators or dot segments, instead of forwarding them.
- \[Fixed] Service account API keys now use the service account's current role, a deleted key stays revoked when a new key reuses its name, and API keys can no longer create service account keys.
- \[Fixed] Unexpected server errors now return a generic message with a tracking ID instead of internal error details, and usage requests for an invalid App ID are reported as invalid requests.
- \[Security] Self-hosted Diagrid now installs NATS 2.14.6, which fixes critical vulnerabilities in the previous NATS 2.11.6.
- \[Security] Reading a service account's API key now requires the same role as creating one, so users can no longer read the keys of service accounts that hold more permissions than they do.
- \[Security] Viewers and API consumers no longer receive stored MCP server and Configuration credentials in plain text when they request sensitive values.
- \[Security] Notification webhook destinations now require an `https://` URL when they are created or their URL is changed, and notifications are no longer delivered to loopback, private-network or link-local addresses.
- \[Security] Self-hosted Diagrid control plane services no longer expose Go profiling endpoints on port 40001 to other pods in the cluster.
- \[Security] Diagrid now ignores reserved annotations and finalizers supplied when creating a resource, as it already does on update.

## 08 October 2026 update, Diagrid Controlplane 1.165.0

- \[Added] Self-hosted Diagrid can now be installed on any Kubernetes cluster with S3-compatible object storage, using the Terraform in `terraform/kubernetes` to write the matching Helm values.
- \[Fixed] The self-hosted infrastructure chart now uses the object store named in `loki.loki.storage.type` throughout Loki, so Azure and GCP installs no longer need to override `loki.loki.schemaConfig`.
- \[Fixed] Self-hosted installs using the cloud profile without MinIO now delete logs older than 72 hours as configured; raise `loki.loki.limits_config.retention_period` to keep them longer.

## 08 October 2026 update, Diagrid Web Console 1.136.0

- \[Added] You can now create service accounts and manage their API keys under Identity and Access in the Diagrid Web Console.
- \[Changed] The Diagrid quickstart now asks up front whether to run it with your coding agent or your own terminal, and keeps that choice for the rest of the quickstart.
- \[Changed] On the Diagrid quickstart's coding agent option, your coding agent now asks which language to use instead of the quickstart asking first.
- \[Fixed] Expanding a child workflow on the workflow graph now shows its steps at every level of nesting, instead of failing or loading forever.

## 07 October 2026 update, Diagrid Controlplane 1.164.0

- \[Added] Self-hosted Diagrid on GCP can now be provisioned with the Terraform in `terraform/gcp`, which creates the GKE Autopilot cluster, Cloud Storage buckets and service accounts and writes the matching Helm values.

## 07 October 2026 update, Diagrid Data Plane 1.135.0

- \[Added] Diagrid private regions can now protect stored secrets with a key held in Azure Key Vault; set `global.secrets.postgresql.kek_provider` to `azurekeyvault`, then `azure_key_vault_url` and `azure_key_vault_key_name`.
- \[Added] Starting or checking a workflow run through the Diagrid MCP server returns a link to that run in the Diagrid Web Console.
- \[Changed] The Diagrid MCP server's `catalyst_whoami` tool now reports the organization's name alongside its ID.
- \[Fixed] The Diagrid Web Console assistant can use its tools again instead of failing every call with a request to re-authorize.
- \[Fixed] An MCP server or Dapr Configuration deleted and recreated under the same name now becomes ready, instead of staying stuck for up to an hour.

## 07 October 2026 update, Diagrid Web Console 1.133.0

- \[Added] The Diagrid quickstart can now be run on your machine by Claude Code, Codex or Copilot CLI, which you drive with prompts the console writes for you, or you can switch to the manual commands along the way.

## 07 October 2026 update, Diagrid Controlplane 1.163.0

- \[Added] Region reads now include `status.release`, which says whether a Diagrid upgrade is available for the region and which release to install next.
- \[Added] Self-hosted Diagrid on Azure can now be provisioned with the Terraform in `terraform/azure`, which creates the cluster, storage and identities and writes the matching Helm values.
- \[Added] Self-hosted Diagrid on AWS can now be provisioned with the Terraform in `terraform/aws`, which creates the EKS cluster, S3 buckets and IAM roles and writes the matching Helm values.

## 06 October 2026 update, Diagrid Web Console 1.132.0

- \[Added] The regions list now marks self-hosted regions that have a Diagrid upgrade available, and the region page names the release to install.
- \[Added] The region page now shows the release channel a self-hosted region follows, and the channel can be switched between candidate and stable.

## 06 October 2026 update, Diagrid Controlplane 1.162.0

- \[Fixed] Self-hosted Diagrid now installs the tunnel server, so the Diagrid UI can reach a region created with `--enable-public-management-api` through the control plane.

## 06 October 2026 update, Diagrid Web Console 1.130.0

- \[Added] The guided quickstart now lets you choose the name of the App ID or agent it creates, except for the Java agent sample.
- \[Changed] Getting Started is now organized into three stages, Explore, Develop and Go to production, with guides for building your own durable workflow or agent.

## 06 October 2026 update, Diagrid Controlplane 1.161.0

- \[Security] A service account can no longer be given a role with more access than the person creating it, and API keys for a service account can only be created by someone who holds its role.

## 05 October 2026 update, Diagrid Controlplane 1.160.0

- \[Fixed] An App ID recreated right after one of the same name was deleted no longer shows an error status.

## 05 October 2026 update, Diagrid CLI 1.98.0

- \[Added] `diagrid k8s-operator compatibility <namespace>` reports what Diagrid will do with each Dapr resource in a Kubernetes namespace before you migrate it.
- \[Added] `diagrid dev run` now warns when nothing is listening on the `--app-port` you gave, since workflows and message delivery wait until the app answers there.

## 02 October 2026 update, Diagrid Web Console 1.128.0

- \[Fixed] The Dapr Agents quickstart now includes a step that creates the LLM provider component its agent needs, so the agent can call OpenAI.

## 02 October 2026 update, Diagrid CLI 1.97.0

- \[Added] `notification destination create` and `update` now accept `--webhook-check-field path=value`, and `--webhook-check-message`, to decide whether a delivery succeeded by checking a field value in the response body and retrieve the error message.
- \[Added] `diagrid project create` now accepts `--duplicate <project>` to create a new project from an existing project's settings and resources, optionally in another region or region group, without copying runtime data such as state or workflow history.
- \[Changed] `diagrid dev run` now says why an App ID is not ready when it stops waiting for it.
- \[Fixed] `diagrid dev run` no longer fails, or stops the app it just started, when another App ID in the project is not ready.
- \[Fixed] `diagrid dev stop` now also stops the app that `diagrid dev run` started, instead of leaving it running on its port.

## 02 October 2026 update, Diagrid Controlplane 1.159.0

- \[Added] A webhook notification destination can now validate if the call was successful by checking a field of the JSON response.

## 02 October 2026 update, Diagrid Data Plane 1.134.0

- \[Added] Diagrid now rejects API calls with a `429` once an organization on the Free plan has used its monthly API quota, until the quota resets on the 1st of the month or the plan is upgraded.
- \[Changed] Managed state store credentials are rotated on agent upgrade; components that copied the password must re-read the generated Secret.
- \[Changed] The Diagrid MCP server now asks for confirmation before deleting any resource: the first call returns a preview and a confirm token, and the delete runs only when called again with that token.
- \[Changed] The Diagrid MCP server's `catalyst_apply`, `catalyst_grant_access` and `catalyst_revoke_access` tools are now marked destructive, so MCP clients ask before running them.
- \[Changed] Coding agents connected to the Diagrid MCP server can now start a local app with the connection token set inline on the command or in a local environment file.
- \[Deprecated] `agent.config.sandbox.gvisor.identity_injector` is replaced by `agent.config.identity_injector`, which can now be left empty to use the chart's own image; the old key still works until you move it.
- \[Fixed] Regions no longer drop most of their metrics before they reach Diagrid, a regression introduced in 1.123.0.
- \[Fixed] A workflow purged immediately after it was terminated no longer stays in the workflow list.
- \[Fixed] A workflow whose custom status has a field name longer than 256 characters no longer makes its App restart repeatedly.
- \[Fixed] App IDs in a project with managed workflow no longer keep rejecting workflow calls with "Workflow API has not been configured" after a Diagrid update.
- \[Fixed] A project whose workflow state reaches its size limit can now delete and purge workflows, and accepts writes again as soon as that data is gone.
- \[Fixed] When a project's state storage quota is used up, writes now fail with an error that names the quota and says how to free space, instead of a generic error.
- \[Fixed] The workflow execution graph now loads for executions with long histories or many parallel child workflows, instead of timing out.
- \[Security] Error messages from the Diagrid MCP server no longer repeat credentials sent in a rejected request, and very long error messages are shortened.

## 01 October 2026 update, Diagrid Web Console 1.127.0

- \[Changed] The Cancel Cloud Plus dialog now lists the resources to delete before you can cancel, with a link to manage each one.
- \[Fixed] Status badges in workflow tables, such as the agent details workflow list, no longer have their top edge cut off.

## 01 October 2026 update, Diagrid CLI 1.96.0

- \[Added] `diagrid app create` and `diagrid app update` now accept `--app-config`, `--label` and `--annotation`, and `diagrid app get` shows them.
- \[Added] `diagrid app logs`, `diagrid agent logs` and `diagrid app edit` are now available, and `diagrid app get` and `diagrid agent get` now accept `--all` and `--include-activity`.

## 01 October 2026 update, Diagrid Controlplane 1.158.0

- \[Added] Apps now accept `spec.appConfig`, which binds a Dapr Configuration such as a tracing or access-control configuration to the App.
- \[Changed] Cancelling Cloud Plus now requires the organization to be within the limits of the plan it moves to, and an organization with a cancellation scheduled can no longer create resources beyond those limits.
- \[Fixed] Workload labels and annotations set when updating an App in a self-hosted or private region now take effect instead of being ignored.
- \[Fixed] An MCP server or durable agent can now be re-created with the name of one that was just deleted, instead of being rejected because the name is still in use.

## 01 October 2026 update, Diagrid Controlplane 1.157.0

- \[Changed] You can connect an assistant to the hosted Diagrid MCP server for up to 48 hours after sign-up before verifying your email address, and the sign-in page reminds you to verify.
- \[Fixed] Re-creating an agent right after deleting one with the same name no longer leaves the new agent failing with a name conflict.

## 30 September 2026 update, Diagrid CLI 1.95.0

- \[Added] The `diagrid mcp` server now offers `catalyst_get_connection`, so a local agent can get the Dapr connection of an app, agent or MCP server and run it against Diagrid.
- \[Changed] `diagrid login` now works for up to 48 hours after sign-up before you verify your email address, and reminds you to verify.

## 30 September 2026 update, Diagrid Controlplane 1.154.0

- \[Added] The Diagrid MCP server now offers `catalyst_get_connection`, which gives an agent the Dapr API token and endpoints of an app, agent or MCP server so it can run it locally, for users allowed to make changes and read App ID credentials.
- \[Fixed] The hosted Diagrid MCP server now offers its write tools, such as starting a workflow, to organization admins and editors who sign in, instead of only its read-only tools.

## 30 September 2026 update, Diagrid CLI 1.94.0

- \[Added] `diagrid app`, `diagrid appid` and `diagrid agent` `create` and `update` now accept `--enable-workflow-archive` with a list of statuses, and `update` accepts `--disable-workflow-archive`.
- \[Added] `diagrid app create` and `diagrid app update` now accept `--enable-workflow-notifications` with a list of statuses, and `update` accepts `--disable-workflow-notifications`.
- \[Deprecated] The `--archive-completed`, `--archive-failed`, `--archive-terminated`, `--workflow-notifications-failed`, `--workflow-notifications-terminated` and `--workflow-notifications-stalled` flags are deprecated in favor of the status-list flags.
- \[Fixed] The `diagrid` CLI no longer requires cert-manager to install the Diagrid Kubernetes Operator when the operator's webhook is turned off.

## 30 September 2026 update, Diagrid Controlplane 1.153.0

- \[Changed] Default projects for newly created organizations not longer get a pre-provisioned agent infrastructure. Instead, this infrastructure is created on demand when the first agent is created. This new infrastructure is managed by Diagrid and not visible to users. Existing default projects keep their existing infrastructure.

## 29 September 2026 update, Diagrid Web Console 1.123.0

- \[Changed] The agent and managed agents pages do not longer offer the option for creating the agent infrastructure. This infrastructure is created automatically when the first agent is created. This infrastructure is not visible as part of the project's components and do not count towards the component limits.
- \[Fixed] A sandbox session ended by an organization admin, from another tab or through the API no longer restarts itself in the session owner's open browser tab.

## 29 September 2026 update, Diagrid CLI 1.93.0

- \[Changed] Agent infrastructure is now created on demand when the first agent is created in a project. Therefore the --enable-agent-infrastructure is not longer required. It is now marked as deprecated and is effectively no-op, having no effect in the project.
- \[Changed] `diagrid dev run` no longer enables agent infrastructure on a project it creates, and no longer asks you to enable it on an existing one.
- \[Fixed] `diagrid mcp serve` can now read workflow runs, jobs and agents without extra configuration.
- \[Fixed] `diagrid mcp serve` no longer repeats a create or a workflow start when the first attempt times out or returns a server error.

## 29 September 2026 update, Diagrid Controlplane 1.152.0

- \[Added] Admins of a Free plan organization now receive an email when its monthly API quota is used up and API calls are being rejected.
- \[Changed] The usage warning email for Free plan organizations now shows how much of the monthly API quota has been used, the reset date and a link to upgrade.
- \[Fixed] Project and organization metrics now return the requested time range, instead of sometimes repeating the previous range's data.
- \[Fixed] Reading logs for a time range with no entries now returns an empty `result` list instead of an empty object.

## 28 September 2026 update, Diagrid Web Console 1.121.0

- \[Fixed] A new project's KV store now shows as empty until the first App ID starts, instead of repeatedly failing to load.

## 28 September 2026 update, Diagrid Web Console 1.120.0

- \[Added] The Billing page now lets organization admins edit the billing email, name, address and tax ID printed on invoices.
- \[Added] Adding a card now pre-fills the billing address and lets you add a business tax ID, make the card the default and choose whether its address becomes the organization's billing address.
- \[Added] Workflow actions and agent chat are now disabled, with an explanation, when the App ID has no connected workflow worker.
- \[Added] The Getting Started page links to the full list of quickstarts again.
- \[Fixed] A workflow action that fails because the App ID has no connected workflow worker now says so instead of showing a generic error.

## 28 September 2026 update, Diagrid Data Plane 1.127.0

- \[Changed] Workflow actions on an App ID with no connected workflow worker now fail with a clear message instead of a generic error.
- \[Fixed] Terminating or rerunning a workflow on an App ID that is being deleted now names the action that failed instead of reporting that an event could not be raised.
- \[Security] MCP server access policies and tool filters now also apply to JSON-RPC batch requests, which are refused instead of being forwarded.

## 28 September 2026 update, Diagrid Controlplane 1.149.0

- \[Changed] Creating an agent or a durable agent now provisions the managed components it needs, so agents no longer require agent infrastructure to be enabled on the project first.
- \[Changed] The Diagrid-managed components that back agents no longer appear in a project's component list and do not count towards the components limit. For projects that already have agents or durable agents, the existing agent components will still be used and count towards the limits.

## 25 September 2026 update, Diagrid Data Plane 1.126.0

- \[Fixed] The Diagrid agent in a region no longer restarts repeatedly when the control plane briefly cannot list the region's resources, and retries until the control plane recovers.

## 25 September 2026 update, Diagrid Controlplane 1.148.0

- \[Fixed] Diagrid regions whose App IDs carry large specs no longer fail to sync.
- \[Fixed] When the control plane cannot list a region's resources, the error it returns to the region's agent no longer includes internal database details.

## 24 September 2026 update, Diagrid Web Console 1.119.0

- \[Fixed] The workflow visualizer no longer shows the previous execution's timings after switching to another execution of the same workflow.

## 24 September 2026 update, Diagrid Web Console 1.118.0

- \[Added] The region details page now shows the region's ingress URL.
- \[Fixed] The projects list now shows the region group for a project placed in one, and the connection details list the project's endpoints in each region it runs in.

## 24 September 2026 update, Diagrid CLI 1.91.0

- \[Fixed] `diagrid notification route create` now documents the alert type names `--type` accepts, instead of stating that no type can be selected.
- \[Fixed] The `diagrid notification route` examples now filter on label keys that alerts actually carry, so a route copied from the help can match an alert.
- \[Fixed] `diagrid notification route update` now documents that a type or filter already set cannot be cleared by passing an empty value.
- \[Fixed] The `--webhook-header` help now states that `Content-Type` and `Authorization` are set automatically and are rejected if configured.

## 24 September 2026 update, Diagrid Data Plane 1.125.0

- \[Changed] Project namespaces now enforce the Kubernetes baseline Pod Security Standard and warn on and audit workloads that do not meet restricted; set `agent.config.project.pod_security_enforce_level` to `privileged` or `""` to change the enforcement level.
- \[Fixed] A service account's API key can now authenticate to a region's management API, instead of being refused with 401.

## 24 September 2026 update, Diagrid Data Plane 1.124.0

- \[Changed] The management service of a private region can restart once after an upgrade.
- \[Changed] The Diagrid sidecar and the Dapr control plane installed by Diagrid now run with the container runtime's default seccomp profile.

## 24 September 2026 update, Diagrid Controlplane 1.147.0

- \[Fixed] Closing a local app connection no longer leaves the App ID unable to apply changes for several minutes.
- \[Fixed] Connecting an app tunnel no longer times out for an App ID that has a health check but no app endpoint.

## 24 September 2026 update, Diagrid Controlplane 1.146.0

- \[Added] Organization usage now reports the size of the largest managed state store and the number of concurrently running workflows in each region.
- \[Changed] Creating a private region now fails with a conflict error when its region name and cluster name are already in use. Choose a different name.
- \[Fixed] A dedicated region's free trial no longer ends as soon as it starts when the organization already has a card on file.
- \[Fixed] Connecting an MCP client such as Claude Code to Diagrid no longer stalls after you select Authorize on the consent page.

## 24 September 2026 update, Diagrid Web Console 1.117.0

- \[Added] The cloud provider detail page now shows the external ID of an AWS cloud provider.
- \[Changed] The Admin role description now states that organization management requires Admin on all projects.
- \[Changed] The IAM role setup commands for an AWS cloud provider now include the connection's external ID in the role's trust policy.
- \[Fixed] The Diagrid Assistant now draws the workflow execution graph it was asked for, instead of reporting that the result was too large to show.

## 24 September 2026 update, Diagrid Controlplane 1.145.0

- \[Added] AWS cloud provider connections now have an external ID that Diagrid presents when it assumes the connection's IAM role. Add it to the role's trust policy as an `sts:ExternalId` condition.
- \[Changed] Admin on a single project now grants access to that project only. Managing regions, cloud provider connections, billing, SSO settings and organization members requires Admin on all projects.
- \[Changed] Creating a dedicated region on AWS now requires `cloudRegion` to be an AWS region code such as `us-east-1`.
- \[Changed] An AWS cloud provider connection created before external IDs existed now reports a status message until it is updated, and updating it issues its external ID.

## 23 September 2026 update, Diagrid Data Plane 1.123.0

- \[Fixed] Deleting several managed state store components of one project at the same time no longer leaves one of them reporting an error until the next sync.

## 23 September 2026 update, Diagrid Data Plane 1.122.0

- \[Fixed] Turning off workflow history archiving now takes effect immediately; purging a workflow the previous configuration archived no longer fails.

## 23 September 2026 update, Diagrid Controlplane 1.144.0

- \[Added] A Diagrid project can now be duplicated into a new project, optionally in a different region, copying its App IDs, components, subscriptions, HTTP endpoints, MCP servers, agents and notification routing.
- \[Fixed] Closing an App ID's tunnel no longer temporarily stops the project applying changes to its resources.

## 22 September 2026 update, Diagrid Data Plane 1.119.0

- \[Fixed] An App ID whose component fails to start now reports the component's own error instead of a generic timeout.

## 22 September 2026 update, Diagrid Data Plane 1.118.0

- \[Changed] The sidecar now enforces a per-project concurrent workflow execution limit received from the control plane.
- \[Fixed] Service invocation to an App ID no longer fails for several minutes after the App ID's configuration is updated.

## 22 September 2026 update, Diagrid Controlplane 1.141.0

- \[Changed] Project resource limits for state store size and concurrent workflows are now resolved from the organization's plan instead of using hardcoded defaults.

## 22 September 2026 update, Diagrid Web Console 1.112.0

- \[Added] The Diagrid Assistant now shows what each tool returned, and draws a workflow's execution graph instead of printing it as text.
- \[Fixed] A tool call that fails now says why, instead of leaving the step blank.

## 22 September 2026 update, Diagrid CLI 1.87.0

- \[Added] The `diagrid region group` commands create and manage region groups, which run a project across several regions.
- \[Added] The `diagrid` CLI now reports when an assistant's tool call fails or returns more data than it can display.
- \[Added] `diagrid project create --region-group` places a new project across every region of a region group instead of in a single region.

## 22 September 2026 update, Diagrid Data Plane 1.117.0

- \[Added] Diagrid sidecars now propagate the invoking user's identity through service invocation (`/v1.0/invoke`), so a downstream MCP call inside the callee runs against the caller's user instead of losing it at the outbound hop.
- \[Fixed] App IDs in a project with more than one App ID no longer reload their configuration and drop out of ready status every few minutes.

## 21 September 2026 update, Diagrid Controlplane 1.140.0

- \[Added] Metrics in the organization's health and project metrics pages  allow selecting between  showing ratios or absolute counters. For example,  error rates or total  executions and error counters.

## 21 September 2026 update, Diagrid Web Console 1.109.0

- \[Added] MCP server access policies can now require an authenticated user, and list the scopes that user must hold.

## 21 September 2026 update, Diagrid CLI 1.85.0

- \[Added] The `diagrid` CLI can now require an authenticated end user, optionally carrying specific scopes, on calls to an MCP server with `diagrid mcpserver access user-identity`.
- \[Changed] `diagrid mcpserver access get` and `diagrid mcpserver access list` now show whether an MCP server requires an end user's identity.

## 21 September 2026 update, Diagrid Controlplane 1.137.0

- \[Fixed] An API key created immediately after its service account no longer fails every request with an invalid token error.

## 19 October 2024 update, Release 0.220.0

- \[Fixed] Fixed action menu to properly show the button to delete all state store items
- \[Fixed] Fixed a bug where if one of the component authentication profiles have the value of `true` it would cause the UI to crash. It now presents the value `True` or `False` instead.

## 18 October 2024 update, Release 0.219.0

- \[Added] Added filtering by App ID and status to the Workflows list

## 24 August 2024 update, Release 0.218.0

- \[Added] Added support for Javascript to the Workflow type project creation quickstart
- \[Removed] Removed the 'prj' prefix from copyable project id

## 30 October 2024 update, Release 0.210.0

- \[Changed] Add ID's to HTML elements to improve accessibility, and semantics

## 17 September 2026 update, Diagrid Web Console 1.106.0

- \[Added] Region groups can now be created, viewed and deleted in the Diagrid Web Console, and a project can be created in a region group so that it runs in every member region.
- \[Added] The region group pages in the Diagrid Web Console now list what every member region must share, and report when the member regions disagree on their scheduler backend, encryption key or certificate root.

## 15 September 2026 update, Diagrid Web Console 1.104.0

- \[Added] Diagrid Agent can now start a new conversation from its panel header, in every panel size.
- \[Added] Diagrid Agent can now switch between past conversations from its panel header, without opening full screen.
- \[Added] The billing page now offers a "Keep subscription" action while a cancellation is scheduled, withdrawing it before it takes effect.

## 17 September 2026 update, Diagrid CLI 1.84.0

- \[Fixed] `diagrid k8s-operator install` no longer fails on a cluster that already runs Dapr, where the Dapr CRDs are installed already.

## 16 September 2026 update, Diagrid CLI 1.82.0

- \[Added] `diagrid app create` and `diagrid app update` now configure workflow notifications with the `--workflow-notifications-*` flags.

## 17 September 2026 update, Diagrid Data Plane 1.115.0

- \[Added] The Diagrid chart's `agent.config.internal_dapr.sentry.oidc.idp_federation_enabled` and `agent.config.internal_dapr.sentry.oidc.mtls.enabled` must be set together; `helm install` and `helm upgrade` now reject a mismatched pair.
- \[Added] Diagrid sidecars enforce `MCPServerAccessPolicy.spec.auth.spiffeJWT` on outbound MCP calls; a call missing a user token is rejected with `401 oauth.missing_token`, and one whose token lacks a required scope with `403 oauth.missing_scope`.
- \[Fixed] Applying a configuration change to an App ID no longer routes its Dapr endpoints to another process on the host.
- \[Fixed] Applying a configuration change to an App ID is now retried when the new runtime cannot claim its ports.

## 16 September 2026 update, Diagrid Data Plane 1.114.0

- \[Added] `gateway.mcpPublicDomain` can now be set to publish the Diagrid MCP endpoint on a public hostname; leaving it empty keeps the endpoint cluster-internal.

## 16 September 2026 update, Diagrid Data Plane 1.113.0

- \[Fixed] A Diagrid region's agent no longer restarts immediately when the control plane is returning errors; it waits up to 15 minutes for the control plane to recover first.

## 16 September 2026 update, Diagrid Data Plane 1.112.0

- \[Added] Diagrid now raises a notification alert when a workflow reaches a status the App's workflow notification policy selects.
- \[Added] A Diagrid region now checks every 30 seconds that its own gateway is answering requests; set `agent.config.gateway_probe.enabled` to `false` to turn this off.
- \[Changed] Diagrid now pulls every Diagrid-supplied image by digest instead of by tag; mirroring those images to a private registry requires a digest-preserving copy such as `crane copy` or `skopeo copy --all`.
- \[Fixed] A project is now reported as ready in a region whose database replica is not the writer, and that region's status says why nothing is applied there.

## 06 July 2026 update, Diagrid Data Plane 1.71.0

- \[Added] Support for authenticating AWS components via IAM Roles Anywhere (X509) certificates

## 17 September 2026 update, Diagrid Controlplane 1.134.0

- \[Added] `MCPServerAccessPolicy` supports `spec.auth.spiffeJWT` to require an authenticated user (and optional scopes) before an MCP call is authorized.
- \[Added] A project can now be created in a region group through the API, by setting `spec.regionGroup` instead of `spec.region`.

## 16 September 2026 update, Diagrid Controlplane 1.132.0

- \[Added] An App can now raise a notification when a workflow ends failed, terminated or stalled, narrowed by workflow name or to parent workflows only.
- \[Added] An App ID's status now lists its workload identity in every region its project is placed in, in `status.regionIdentities`, naming the region each one belongs to, so all of them can be trusted in an external identity federation before a failover needs them.
- \[Added] A project's `status.regionEndpoints` now carries each region's OIDC issuer alongside that region's endpoints.
- \[Deprecated] An App ID's `status.spiffeIds` is deprecated; use `status.regionIdentities` instead, which names the region each identity belongs to.

## 15 September 2026 update, Diagrid Controlplane 1.131.0

- \[Added] A subscription cancellation that has not taken effect yet can be withdrawn, keeping the same billing period, regions and charges.
- \[Fixed] Converting a Diagrid trial no longer sends a "subscription is now active" confirmation when a prepaid annual commitment on the account could not be charged.

## 11 September 2026 update, Diagrid Data Plane 1.109.0

- \[Fixed] On paid tiers, draining or upgrading a node can no longer take an App ID's last sidecar offline.

## 10 September 2026 update, Diagrid Data Plane 1.108.0

- \[Changed] A cached MCP tool result is replayed without the progress and log notifications the original call produced.
- \[Fixed] Responses from an MCP server with `spec.cache.enabled` are now cached; previously the cache never took effect.

## 09 September 2026 update, Diagrid Data Plane 1.105.0

- \[Added] A region whose outbound traffic passes through a TLS-inspecting proxy can now trust that proxy's CA by setting `global.trustedCA`.
- \[Added] `global.tls.insecureSkipVerify` turns certificate verification off for every control-plane connection the chart configures, as a diagnostic while investigating a trust failure.
- \[Fixed] A region behind an explicit HTTP proxy no longer fails to start up while fetching the control plane's trust anchors, because `HTTPS_PROXY` and `NO_PROXY` are now honoured on that request.
- \[Fixed] A Dapr component whose metadata contains a `{{` token now deploys instead of failing to install.

## 09 September 2026 update, Diagrid Data Plane 1.104.0

- \[Changed] A token budget deleted and recreated under the same name now starts counting from zero instead of inheriting the previous budget's count; as a one-time effect of this upgrade, every budget's count for the window in progress restarts when its sidecar picks up the new version.
- \[Changed] A private region agent that presents a different CA than the one its join token was consumed with now fails immediately with that reason, instead of timing out minutes later without one.
- \[Fixed] A token budget's reported utilization now follows a limit change within seconds instead of waiting for the next request.
- \[Fixed] A token budget that sees no traffic after its window resets no longer keeps reporting the previous window's consumption.

## 08 September 2026 update, Diagrid Data Plane 1.103.0

- \[Added] The Dapr sidecar, the OpenTelemetry collector and the private Sentry now accept an image digest, so those images can be pinned by content digest instead of by tag.

## 07 September 2026 update, Diagrid Data Plane 1.99.0

- \[Added] The Diagrid dataplane chart now renders a PodDisruptionBudget and spreads pods across nodes for every workload running more than one replica; tune or disable this with `shared.availability`.
- \[Added] The gateway now serves a readiness endpoint and Prometheus metrics on port 9091 (`gateway.envoy.health`), and a new gateway pod takes no traffic until its routes have loaded.
- \[Fixed] A signed workflow history archive now embeds the certificate authority that issued its signatures, so archives from private regions can be verified offline.
- \[Security] The Diagrid MCP server now withholds inline configuration values — component settings, MCP server environment variables and endpoint headers — at every data-sharing level, while setting names and secret references stay readable.

## 02 September 2026 update, Diagrid Data Plane 1.96.0

- \[Added] Dataplane kubernetes resources gain labels that identify the project and appid (when applicable) they belong to. The labels has the form cra.diagrid.io/\*.
- \[Added] Every image in the Diagrid chart now accepts a `digest`, so an install can pin images by content digest instead of by tag.
- \[Fixed] Setting `global.image.registry` now also redirects the `wait-for-dapr-config` init container, so an install pointing at a private registry mirror no longer pulls that one image from the public registry.

## 14 September 2026 update, Diagrid Controlplane 1.129.0

- \[Added] Project status now lists the project's endpoints for every region it runs in under `regionEndpoints`.
- \[Fixed] A project spread over a region group now reports its regions and endpoints instead of reading as not connected.

## 11 September 2026 update, Diagrid Controlplane 1.124.0

- \[Added] MCP servers accept `spec.cache.maxSize`, capping the size of a response that may be cached.
- \[Fixed] Changing a dedicated region's size no longer leaves the region unable to restart.
- \[Fixed] Storage in a dedicated region is now created in the same availability zone as the workload using it, so replacing a node can no longer leave workloads unable to start.
- \[Fixed] An AWS Marketplace subscription is now metered against the licence of its current agreement, recovering on its own when the agreement changes.

## 09 September 2026 update, Diagrid Controlplane 1.120.0

- \[Changed] Tracing header values set on a configuration's `spec.tracing.otel.headers` are now stored as secrets and returned masked instead of in plain text.
- \[Changed] A configuration that sets the same `spec.tracing.otel.headers` name twice is now rejected, comparing header names case-insensitively.
- \[Changed] A `spec.tracing.otel.headers` entry that sets more than one of `value`, `secretKeyRef` and `envRef` is now rejected.

## 09 September 2026 update, Diagrid Controlplane 1.117.0

- \[Added] Token budget usage can be reset with `POST /apis/cra.diagrid.io/v1beta1/projects/{project}/tokenbudgets/{name}/reset`, which restarts the current window's count from zero.
- \[Added] TokenBudget resources expose `spec.epoch`, the number of times their usage has been reset.
- \[Fixed] `status.utilization.observedAt` now reports when the reading was taken rather than when it was last sent.

## 07 September 2026 update, Diagrid Controlplane 1.112.0

- \[Added] A region now reports status.workflowSigningAnchors, the certificate authority bundle that verifies signed workflow history archives produced in that region.
- \[Changed] Dedicated regions on the small tier and above now run two replicas of the gateway, the app tunnel and each App ID's sidecar.

## 03 September 2026 update, Diagrid Controlplane 1.110.0

- \[Fixed] Billing and trial notification emails now arrive in Diagrid's standard email layout instead of an unstyled plain-text fallback.

## 01 September 2026 update, Diagrid Controlplane 1.105.0

- \[Added] A region waiting on its managed domain certificates now reports why the last issuance attempt failed.
- \[Fixed] Diagrid now detects a cancelled AWS Marketplace subscription on its own and removes the organization's marketplace payment method, restoring it if the subscription is reinstated.
- \[Fixed] An organization that starts paying through AWS Marketplace after its card is removed is now billed through the marketplace, instead of staying on a card subscription nothing can charge.
- \[Fixed] Managed domain certificates for a private or dedicated region are no longer left unissued when the certificate authority briefly fails or stalls.

## 31 August 2026 update, Diagrid Data Plane 1.94.0

- \[Added] Diagrid now sends a TOKEN_BUDGET_DEPLETED alert when a token budget runs out of allowance, once per budget window.
- \[Added] Bulk workflow operations to the management API: pause, resume, terminate, purge.
- \[Added] The Diagrid dataplane chart now sets a readiness probe on the management deployment, configurable with `management.readinessProbe`.
- \[Added] A Diagrid private region can now federate an identity provider reachable only on a private network, configured under the new `agent.config.internal_dapr.sentry.oidc.jwks` dataplane chart values.
- \[Added] Tokens minted for federated users carry the federation's mapped attributes under the `https://diagrid.io/attributes` claim, preserving each value's original JSON type.
- \[Added] The Diagrid MCP connector now offers tools for reading application logs, access policies, audit events, templates, regions and app tunnels.
- \[Changed] The Diagrid MCP server now serves only its curated tool set; set `mcp.exposeRawOperations` to `true` to keep one tool per API operation.
- \[Fixed] Components and MCP servers no longer stay pending when their App ID starts while the control plane is unreachable.
- \[Fixed] An App ID now sees an MCP server that was created after it, instead of finding none until the App ID restarts.

## 31 August 2026 update, Diagrid Controlplane 1.101.0

- \[Added] `catalyst-cloudgrid.support_email` can now be set when installing self-hosted Diagrid, so those messages name your own support address.
- \[Fixed] A private region now becomes ready promptly when the certificate authority briefly fails while signing its TLS certificate.
- \[Fixed] An MCP server no longer stays pending indefinitely instead of becoming available to the App IDs it is scoped to.
- \[Fixed] A resource that fails for a reason inside the platform now reports a tracking ID to quote when contacting support, instead of the underlying error.
- \[Fixed] A resource whose current status cannot be read now shows as `unknown` instead of `error`, so a healthy resource no longer appears to have failed.

## 28 August 2026 update, Diagrid Controlplane 1.100.0

- \[Added] A notification route can now select the  alert type to match a token budget that has run out of allowance.
- \[Added] IdP federations accept `claimMappings.attributes`, a map of attribute names to upstream identity provider claims carried on every token minted for the federated user.
- \[Removed] The unused `claimMappings.email` and `claimMappings.groups` fields have been removed from IdP federations; map them as attributes instead.

## 27 August 2026 update, Diagrid Controlplane 1.99.0

- \[Added] Diagrid can now report whether an organization has its `default` project, and why it does not, at `GET /apis/cra.diagrid.io/v1beta1/defaultproject`.
- \[Changed] A region that reports offline now names the unreachable component, its agent or its management API.
- \[Fixed] A new organization's `default` project now appears within seconds of a region becoming available, instead of up to ten minutes later.
- \[Fixed] Creating a private region no longer stalls for several minutes while its certificates wait for the region to finish connecting.
- \[Fixed] The self-hosted Diagrid data plane now starts on clusters using a CSI storage driver, instead of stalling while the Dapr scheduler failed to write its data directory.
- \[Fixed] Self-hosted Diagrid no longer restarts its certificate service continuously, which previously left the data plane unable to obtain an identity.
- \[Fixed] A self-hosted data plane now uses the trust anchors endpoint from its own configuration instead of falling back to Diagrid's hosted endpoint.

## 26 August 2026 update, Diagrid Data Plane 1.93.0

- \[Fixed] An App ID's `/v1.0/healthz` endpoint no longer keeps returning an error after a configuration change while the application itself is healthy.

## 25 August 2026 update, Diagrid Data Plane 1.92.0

- \[Added] Diagrid now lists the jobs a project's apps have scheduled through the Dapr Jobs API.

## 25 August 2026 update, Diagrid Controlplane 1.95.0

- \[Added] A region's `status.clusters` entries now include `messages` explaining why a cluster is not ready, such as a management TLS certificate still being issued.
- \[Fixed] Creating, updating, deleting and recreating a project in rapid succession can leave the new project in permanent error state.
- \[Fixed] Deleting a Diagrid project now frees its slot against the region's project limit immediately, so creating a replacement is no longer refused while under the limit.
- \[Fixed] App IDs, connections, subscriptions and durable agents that have been deleted no longer count against their region limits while they are being removed.
- \[Fixed] A newly purchased AWS Marketplace subscription no longer stays pending instead of becoming usable for billing.
- \[Fixed] An organization that links AWS Marketplace after cancelling a card-paid subscription is now billed through its AWS Marketplace agreement when it resubscribes, instead of staying on its card.
- \[Fixed] Subscribing again through AWS Marketplace after cancelling during a trial no longer leaves an organization with no default payment method, which blocked new regions for the rest of the trial.

## 24 August 2026 update, Diagrid Data Plane 1.91.0

- \[Fixed] A region now reports which secret it could not read from a project's own secret store when loading a key-value store, instead of returning a generic internal error.

## 24 August 2026 update, Diagrid Controlplane 1.94.0

- \[Added] NotificationRoute and NotificationDestination( resources that allow defining how to route alerts.
- \[Fixed] A new private region is no longer unreachable from the Diagrid Web Console for several extra minutes while its management TLS certificate is issued.
- \[Fixed] Key-value store item requests that fail because a secret cannot be read now return a clear error naming the secret and the secret store, instead of a generic internal error.
- \[Fixed] A key-value store's details page no longer shows a support tracking id for its item count while the store is still starting up.

## 20 August 2026 update, Diagrid Data Plane 1.90.0

- \[Fixed] An App ID starting while a region rotates its identity signing key no longer risks failing to obtain its workload identity.
- \[Fixed] The Diagrid Kubernetes Operator chart no longer fails to install when `volumes` or `volumeMounts` are set.
- \[Fixed] Setting `autoscaling.enabled` on the Diagrid Kubernetes Operator chart now creates a HorizontalPodAutoscaler, instead of leaving the operator at one replica and ignoring the other autoscaling values.

## 20 August 2026 update, Diagrid Controlplane 1.92.0

- \[Added] `dex.httpProxy.tls.secretName` can now be left empty when installing self-hosted Diagrid, which serves the identity provider over plain HTTP instead of failing to start.
- \[Changed] Installing self-hosted Diagrid with `dex.httpProxy.enabled` now requires `dex.httpProxy.host`; set it to the hostname the identity provider is reached on.
- \[Fixed] Self-hosted Diagrid now serves the object storage console on the port set by `minio.service.consolePort` instead of always on 9001.
- \[Fixed] An identity provider whose `--issuer` URL contains a query or fragment is now rejected when it is created, instead of failing later with an unclear discovery error.

## 19 August 2026 update, Diagrid Data Plane 1.86.0

- \[Fixed] A project no longer stops applying changes to its other resources while an App ID with `external` set has no workload connected.
- \[Fixed] An MCP server is no longer reported as failed when an App ID that uses it is running under `diagrid dev run`.

## 19 August 2026 update, Diagrid Controlplane 1.89.0

- \[Added] Listing token budgets now returns each budget's current utilization, previously only available when fetching a single budget.
- \[Changed] Diagrid billing emails now identify the organization they are about by name as well as by id.
- \[Fixed] Certificate issuance for a private region no longer retries every minute while the region's agent is disconnected; it backs off and resumes automatically when the region reconnects.

## 14 August 2026 update, Diagrid Data Plane 1.84.0

- \[Added] An LLM provider proxy at `/v1.0/diagrid/llm/{host}/{path}`, so calls made with a provider SDK rather than the Dapr conversation API are covered by the same token budgets. Authenticated as a Dapr API call and restricted to a configured upstream allowlist. Off unless the region enables it.

## 14 August 2026 update, Diagrid Data Plane 1.83.0

- \[Added] Validate inbound JWTs against per-org federated identity providers.
- \[Added] Token budgets are delivered to the sidecar over xRS, so budget edits take effect without a restart.
- \[Added] The sidecar enforces token budgets on the Dapr conversation API, rejecting requests once an `enforce`-mode budget is exhausted and recording consumption for `alert`-mode budgets. Off unless the region enables it.
- \[Fixed] A Diagrid region now detects a change to its ingress load balancer address promptly, without waiting for a restart.
- \[Fixed] Applications connected with `diagrid dev run` now register their hosted actor types once the connection is fully established, so actor invocations no longer fail with "failed to lookup actor".

## 18 August 2026 update, Diagrid Controlplane 1.88.0

- \[Added] `TokenBudget` Get responses carry a `utilization` projection — consumed, remaining, limit, whether the budget is exhausted, when the window ends, and whether the reading is exact or a partial per-replica estimate.

## 14 August 2026 update, Diagrid Controlplane 1.86.0

- \[Added] `TokenBudget` project resource for capping LLM token consumption, scoped to an App ID, conversation component and/or model, over a fixed hour/day/month window in `enforce` or `alert` mode.
- \[Added] Availability zones for Azure dedicated regions can now be configured per cloud region, so regions whose subscription entitlement differs no longer have to share one setting.
- \[Changed] Project name spaces are limited to 58 characters.
- \[Fixed] App IDs and projects in a deleted region no longer stay stuck deleting.
- \[Fixed] A Diagrid region served on a Diagrid-managed domain no longer becomes unreachable when its ingress load balancer is rebuilt; the managed domain is repointed to the new address promptly instead of after a delay of up to two weeks.
- \[Fixed] Components, subscriptions and other project resources in a region that no longer exists or can no longer be reached now finish deleting instead of leaving the project stuck.

## 10 August 2026 update, Diagrid Data Plane 1.82.0

- \[Added] pprof can be enable in a sidecar pod using the `CATALYST_PROFILING_ENABLED` and `CATALYST_PROFILING_PORT` environment variables. Once enable, the profiling information can be accessed exposing the `CATALYST_PROFILING_PORT`.
- \[Added] Data plane services now log their build metadata (version, commit, build date, Go version and platform) at startup, and report the running version in the `ver` field of every log line.
- \[Fixed] The management service now presents the region host's identity when resolving a bring-your-own secret store (e.g. Azure Key Vault via workload identity), so secret references backed by such a store authenticate correctly.
- \[Fixed] Sidecars no longer fail to start when several app IDs initialize the same managed KV store at the same time.

## 04 August 2026 update, Diagrid Data Plane 1.81.0

- \[Added] optional metrics server and otel configuration for collecting cpu usage metrics across catalyst workloads in private regions
- \[Added] Enable workflow metrics reporting by the management service in private regions
- \[Fixed] feature flags defined in `global.featureflags`  would override those defined at the component level. Empty global.fetureflags\` effectively removed them.
- \[Fixed] Updating a project --global-id-max-body-size did not reach the sidecar and have no effect.
- \[Fixed] Changes in the maxRequestsPerSecondPerAppId did not reach the sidecar and have no effect
- \[Fixed] The bundled OTel logs collector now ships dataplane logs to Loki's OTLP ingest endpoint (`/otlp/v1/logs`) instead of its native push API, which rejected every payload with HTTP 400. Self-managed and dedicated regions installed from the chart defaults were silently dropping all logs; upgrade the chart to pick up the fix.

## 10 August 2026 update, Diagrid Controlplane 1.85.0

- \[Added] A private dedicated region on Azure now reports the alias of its Private
- \[Added] Dedicated regions on Azure can now be created with private exposure. The region has no public ingress and is reached through an Azure Private Link Service, visible to and auto-approving private endpoints from the customer's subscription only.
- \[Added] Cloud provider connections can now target Azure, recording the tenant, subscription and application ID of the app registration Diagrid uses. Provisioning Azure regions through such a connection lands in a follow-up.
- \[Added] Dedicated regions on Azure can now be provisioned into a customer's own subscription through a cloud provider connection, using a federated identity credential so no secret is ever exchanged.
- \[Added] A private dedicated region on Azure now reports the subscription its Private Link Service admits, as `status.dedicated.allowedSubscriptionId`.
- \[Added] A dedicated region that cannot finish provisioning now reports the cloud provider's own explanation - an unavailable SKU, an exhausted quota, a region the subscription may not provision in - as `status.dedicated.provisioningMessage`, instead of appearing to still be in progress.
- \[Fixed] Creating a Diagrid-managed dedicated region in an Azure region without
- \[Fixed] Billing grace-period reminders: on a short grace window the mid-grace reminder is no longer skipped in favour of only the final notice.
- \[Fixed] Billing lifecycle emails are no longer delivered twice to a recipient who has more than one identity on file.
- \[Fixed] Billing lifecycle emails now reach every eligible recipient in organizations with more than 50 members, and are no longer skipped entirely when the first page of members has no verified address.
- \[Fixed] A Stripe idempotency conflict when creating a subscription is now surfaced and retried with a fresh key instead of being retried indefinitely against the same one.
- \[Fixed] A subscription that already exists in Stripe is now adopted instead of a second one being created, so an interrupted setup can no longer result in being billed twice.
- \[Fixed] Stripe customer records are now created with a billing email, so Stripe-side receipts, hosted invoice links and payment-failure notices can reach customers; existing customer records are backfilled automatically.
- \[Fixed] Azure dedicated regions now scale their node pool down while a billing grace period is draining them, instead of staying fully provisioned.
- \[Fixed] When a dedicated region's teardown gives up waiting for its load balancers,
- \[Fixed] A private dedicated region on Azure no longer stalls during deployment while reading back its Private Link Service alias.
- \[Fixed] A private dedicated region on Azure now publishes its Private Link Service alias as soon as the service exists, instead of leaving it blank for up to six hours after the region reports ready.
- \[Fixed] A region's public OIDC discovery and JWKS endpoints
- \[Fixed] A dedicated region can now be created against an Azure cloud provider connection. Previously any Azure connection was refused with a message asking for an AWS role ARN.
- \[Fixed] Dedicated regions provisioned into a customer's own Azure subscription no longer inherit Diagrid's availability-zone configuration or region allowlist, both of which reflect entitlement specific to Diagrid's subscription and could leave a region failing part-way through provisioning.
- \[Fixed] Correcting the subscription on an Azure cloud provider connection now takes effect immediately instead of being ignored until the control plane restarts.
- \[Fixed] A dedicated region in a customer's own Azure subscription is now restricted to the supported cloud regions, instead of being accepted where the tier's VM size does not exist and failing part-way through provisioning.

## 06 August 2026 update, Diagrid Controlplane 1.84.0

- \[Added] Control plane services now log their build metadata (version, commit, build date, Go version and platform) at startup, and report the running version in the `ver` field of every log line.
- \[Added] Private dedicated regions on Azure can name the subscription allowed to
- \[Changed] `spec.dedicated.privateLink.allowedAccountId` is no longer marked

## 04 August 2026 update, Diagrid Controlplane 1.83.0

- \[Added] rolling aggregates of resource utilization over 1, 7 and 28 days in the region's status
- \[Added] Dedicated regions now run self-contained monitoring and alerting in-region (Prometheus, Alertmanager, Grafana), with node, certificate and GitOps health alerts routed to Slack.
- \[Fixed] A dedicated region blocked for a missing payment method is now reactivated within seconds of a card being added, instead of waiting for the next daily billing run.
- \[Fixed] Dedicated region GitOps no longer deletes Applications that are still declared, which could leave a region's monitoring or dataplane workloads running unmanaged.
- \[Fixed] Dedicated region ArgoCD metrics are now scraped, so the GitOps alerts for a region's Applications can actually fire.
- \[Fixed] A syncgrid rollout no longer briefly serves empty responses for a dedicated region's GitOps repository.
- \[Fixed] A dedicated region's GitOps root no longer deletes its own child Applications, which could tear down the region's Dapr control plane.
- \[Fixed] The syncgrid deployment is valid again, so the controlplane release can sync.
- \[Fixed] Deleting a private dedicated region no longer leaves its load balancer and VPC behind, which previously left the region stuck deleting.
- \[Fixed] Deleting a dedicated region's Diagrid Application no longer uninstalls the region's Dapr control plane.
- \[Fixed] A payment-provider configuration error no longer causes repeated failed charge attempts, and is surfaced on the subscription instead.
- \[Fixed] A dedicated region requesting a cloud provider the environment does not support is now rejected with a clear reason instead of being provisioned against the wrong cloud.
- \[Fixed] MCPServer bug on updates

## 27 July 2026 update, Diagrid Data Plane 1.79.0

- \[Added] Workflow execution APIs now report workflow history verification status, including tamper detection, when reading workflow executions.
- \[Deprecated] reset workflow graph endpoint in the management API is deprecated and will return "unimplemented" error when invoked.
- \[Fixed] MaxBodySize defined in the appid does not take effect due to a conversion error and the effective value falls backs to the default 4Mi limit.
- \[Fixed] App channels honor the MaxRequestBodySize

## 27 July 2026 update, Diagrid Controlplane 1.81.0

- \[Added] The first payment method added to an organization with none is now automatically set as the organization's default.
- \[Added] `status.dedicated.cloudConnection` on a region reports which CloudProviderConnection (customer cloud account) the region provisions through. Empty means the Diagrid-owned account.
- \[Changed] Renamed the dedicated-region `xl` tier to `xlarge`; the region `tier` field no longer accepts `xl`.
- \[Changed] The admin API now returns `"disabled"` for an organization's billing mode instead of omitting the field when it has never been set.
- \[Changed] A dedicated region's networking (exposure) is now immutable after creation; the PrivateLink allowed account id remains updatable on private regions.
- \[Removed] The `trial` sizing tier is no longer accepted when creating or updating a dedicated or BYOC region. It was never a purchasable size — no pricing catalog defines it — and a region created at that tier could not be priced, which failed billing reconciliation for the whole organization. Regions on a trial continue to run the trial footprint automatically while being recorded at the tier they convert to; select `small`, `medium`, `large` or `xlarge`.
- \[Fixed] Dedicated region bring-up now installs dataplane dependencies (cert-manager, load balancer controller) before the dataplane itself, and the region's ArgoCD polls for changes every minute instead of every 3.
- \[Fixed] Deleting the only region during a Diagrid trial no longer cancels the trial or consumes it; the trial now continues until it naturally expires.
- \[Fixed] Private-exposure dedicated regions no longer publish a public DNS record pointing at their load balancer, and their load balancer now provisions as internal even if the dataplane races the load-balancer-controller install.
- \[Fixed] Dedicated regions now serve HTTPS on 443, the port their ingress address advertises, instead of only on 8443.
- \[Fixed] Dedicated region load balancers now use cross-zone load balancing, so a PrivateLink interface endpoint works from any availability zone rather than hanging in zones with no region nodes.
- \[Fixed] A region can no longer be purchased on an annual commitment while billing charges monthly: `commitment: annual` is now rejected with a clear error instead of being accepted and billed as 12 monthly invoices at the monthly rate.

## 22 July 2026 update, Diagrid Data Plane 1.78.0

- \[Added] Option for transforming exported metrics, allowing renaming metrics and labels.
- \[Added] generate gauge for active workflow instances (running, stalled, suspended)
- \[Fixed] Diagrid private installations that configure external Postgres inline (connection string, no Kubernetes secret) now correctly enable the management MCP capability store, resolving the "mcp capability store is not available" error.

## 22 July 2026 update, Diagrid Controlplane 1.80.0

- \[Added] project level metrics that aggregate workflows and activity executions per name and status (completed, failed)
- \[Added] organization-level API that summarize metrics per project.
- \[Changed] Add IdPFederation API for configuring per-org upstream identity providers.
- \[Fixed] Deleting a credit-card payment method now removes it, instead of reporting success while the card stays on the account.
- \[Fixed] Removing a card whose Stripe payment method was already detached now succeeds instead of erroring.
- \[Fixed] Stopped a payment-method background sync loop that continuously re-verified cards against Stripe and could restore a just-deleted card.

## 15 July 2026 update, Diagrid Data Plane 1.77.0

- \[Added] New `global.postgresql` / `global.kafka` value surface for configuring the managed Postgres (state store + scheduler + workflows) and Kafka (pub/sub) backends. The legacy `agent.config.project.*` fields remain honored verbatim for backward compatibility.
- \[Changed] **BREAKING:** The Dapr scheduler now defaults to a Postgres backend and the chart now provisions a self-hosted Postgres state store by default. On upgrade with defaults the scheduler moves from etcd to Postgres with **no automatic state migration**, in flight workflows will be abruptly stopped and won't resume execution automatically. To keep etcd, set `agent.config.internal_dapr.scheduler.backend_type: etcd`.

## 10 July 2026 update, Diagrid Controlplane 1.77.0

- \[Changed] \[Breaking] ai agents controller renamed a aiagent

## 10 July 2026 update, Diagrid Data Plane 1.74.0

- \[Added] private otel endpoint configuration for private regions to enable forwarding dapr metrics from private regions to a otel endpoint.
- \[Added] Operators can configure extra trusted CA certificates (inline PEM or a referenced Kubernetes Secret) for Diagrid sidecars, enabling connections to private / self-signed TLS upstreams such as customer MCP servers.
- \[Added] metrics generated by the dataplane include the region id
- \[Fixed] Diagrid agent no longer 401s on ECR chart pulls after the install token expires. It now mints and refreshes ECR tokens in-process via EKS Pod Identity.

## 09 July 2026 update, Diagrid Data Plane 1.73.0

- \[Changed] Sidecars in private/dedicated regions now surface the JWT-SVID and signer issued by the in-region Sentry by default; sidecars in Diagrid's public region continue to surface the Diagrid controlplane identity

## 10 July 2026 update, Diagrid Controlplane 1.76.0

- \[Changed] Managed agent infrastructure can now be enabled on projects in regions that do not support managed pubsub. Managed pubsub is provisioned only when the region supports it; otherwise the managed kvstore-backed agent components and workflow store are still created.

## 09 July 2026 update, Diagrid Controlplane 1.75.0

- \[Added] `status.trustAnchors` on the Region resource, exposing the region's CA trust bundle (PEM) inline
- \[Changed] Region status now advertises region-scoped `oidc` and `trustAnchors` endpoints served by the region's own ingress gateway whenever the region has a wildcard domain
- \[Removed] The `useRegionIdentity` field on the App ID spec; a sidecar's surfaced identity is now determined by its region rather than per App ID

## 02 July 2026 update, Diagrid Data Plane 1.70.0

- \[Added] workflow create at time is returned for workflow executions

## 02 July 2026 update, Diagrid Controlplane 1.71.0

- \[Security] Restrict MCP server catalog curation (add/edit/remove catalog entries) to organization-level admin/editor roles; project-scoped users can no longer modify the org-wide catalog.

## 01 July 2026 update, Diagrid Data Plane 1.69.0

- \[Added] endpoint for exporting the raw workflow history
- \[Fixed] Sidecar now retries runtime startup with fresh ephemeral ports when a backend port is taken during boot, preventing rare startup failures when multiple sidecars start on the same host.

## 30 June 2026 update, Diagrid Data Plane 1.68.0

- \[Added] ParentAppID returned in the workflow execution
- \[Fixed] Fixed a rare hang where a control-plane event could permanently block an agent controller goroutine while the project watch was being restarted.
- \[Fixed] Fixed a race where rapid project spec updates could be applied out of order by the agent.
- \[Fixed] The agent now fails with a clear error (instead of panicking) if the region-join response is missing required fields, and respects shutdown while waiting after joining.

## 30 June 2026 update, Diagrid Controlplane 1.70.0

- \[Added] Workflow Archiving policy for appid. The policy defines the destination to automatically archive workflow history and the terminal states selected for archive

## 29 June 2026 update, Diagrid Data Plane 1.67.0

- \[Added] REST API endpoints for querying captured MCP server tools: instance capabilities at `/apis/cra.diagrid.io/v1beta1/projects/{projectId}/mcpservers/{name}/capabilities` and catalog capabilities at `/apis/cra.diagrid.io/v1beta1/mcpservertemplates/{name}/capabilities`
- \[Fixed] Fixed a potential agent crash (`concurrent map read and map write`) when reconciling projects with multiple App IDs and components.
- \[Fixed] Fixed a data race on the internal workflow state read path during concurrent project reconciliation.

## 26 June 2026 update, Diagrid Data Plane 1.66.0

- \[Fixed] Skipped project db migration causes error reading workflow executions: `column "reruns" does not exist`

## 25 June 2026 update, Diagrid Data Plane 1.65.0

- \[Fixed] Bug causing workflow executions with none JSON encoded custom status values to fail to persist, resulting in the workflow being stuck in the `running` state in the workflow visualizer.

## 24 June 2026 update, Diagrid Data Plane 1.64.0

- \[Added] Horizontal scale-out for the Diagrid agent: set `agent.replicaCount` greater than 1 to run multiple agent replicas that partition projects between them for higher throughput, with automatic failover if a replica is lost. Single-replica deployments are unchanged.
- \[Added] The Diagrid agent now defines a readiness probe and reports Ready only once it can manage projects, so a rolling update waits for the new replica to be able to take over before the old one is retired (gap-free restarts).
- \[Changed] The Diagrid agent now applies a default soft pod anti-affinity that spreads replicas across nodes. It is a scheduling preference only — it never blocks scheduling and has no effect at a single replica. If you set `agent.affinity`, your value now replaces this default outright instead of merging with it; leave it empty to keep the default.

## 24 June 2026 update, Diagrid Controlplane 1.66.0

- \[Changed] Durable agents now provision their managed App ID with a stable name matching the agent, instead of a hash-suffixed name. Creating an agent whose name is already taken by an App ID is rejected, and a name collision surfaces as an error status on the agent.

## 22 June 2026 update, Diagrid Controlplane 1.64.0

- \[Changed] Fixes bug where subscriptions were not filtering correctly

## 22 June 2026 update, Diagrid Data Plane 1.61.0

- \[Fixed] workflow operations return 500 when the project is being deleted. Now they return 400 while being deleted and 404 when delete is final.

## 19 June 2026 update, Diagrid Data Plane 1.59.0

- \[Added] Sidecars now report MCPServer validation status (registration results and periodic upstream connectivity checks) to the control plane, surfacing runtime failures such as unreachable or unauthorized upstream MCP servers on the MCPServer resource status
- \[Changed] Updated the bundled Dapr runtime to the `v1.18.0-catalyst.1` fork (based on final Dapr 1.18.0, up from the 1.18.0-rc.5 release candidate). Affects the Diagrid Dapr control plane, the sidecar runtime, and the Dapr CRDs.
- \[Changed] \[FIX] raised external events not shown as completed but expired
- \[Changed] AI agent infrastructure (its managed Postgres database, Helm release and store secret) is now lazily provisioned for lazy-provisioning projects — creation is deferred until the project activates its first App ID or sandbox, matching managed component behavior.
- \[Fixed] External events were incorrectly labeled with the graph kind "timer". Now are properly labeled as "external event". For workflow executions prior to dapr 1.18, timers will be correctly labeled if the external event was raised. It the timer went off, they will still be labeled as timers.
- \[Fixed] Diagrid agent failed to pull bitnami charts (kafka, postgresql, redis) from ECR in marketplace deployments because no credentials were attached.
- \[Fixed] Streaming (Server-Sent Events) responses proxied through the Diagrid sidecar app channel are no longer cut off by the app-channel request timeout — streaming responses now stay open for the lifetime of the stream, while non-streaming requests keep their existing whole-request timeout.

## 19 June 2026 update, Diagrid Controlplane 1.62.0

- \[Added] MCPServer status now includes the per-app-ID validation status reported by the sidecars of the scoped App IDs (`status.appIdStatus`), so runtime registration failures (e.g. unreachable or unauthorized upstream MCP servers) surface on the resource instead of showing ready
- \[Added] Each MCP server is now backed by a managed, name-matched AppID whose app endpoint targets the MCP server URL, making it reachable via Dapr service invocation. The AppID is provisioned, owned, and cascade-deleted with the MCP server and cannot be deleted directly.
- \[Fixed] MCP server controlplane provisioning errors (e.g. a name collision with a pre-existing AppID) now surface in the MCP server status instead of showing as processing/ready.
- \[Security] Bump `form-data` to 4.0.6 to resolve CVE-2026-12143

## 11 June 2026 update, Diagrid Data Plane 1.57.0

- \[Changed] Updated Diagrid to Dapr 1.18
- \[Changed] Improve resilience of workflow status updates on sidecar shutdown, minimizing the chances of dropped in-flight updates
- \[Fixed] The Diagrid Dapr control-plane image now defaults to the production public registry (reg-p-common-docker-public) and is published there as part of the release, so self-hosted installs no longer pull it from the development registry.
- \[Fixed] The Diagrid Kubernetes Operator now bundles Dapr 1.18 CRDs, so MCPServer resources using 1.18 fields (`ignoreErrors`, `oauth2.clientID`, middleware `mutate`) are accepted when the operator installs the Dapr CRDs.
- \[Fixed] Resolved a data race in the sidecar reverse-proxy manager between serving and graceful shutdown.

## 11 June 2026 update, Diagrid Controlplane 1.60.0

- \[Security] Prevent project-scoped admins from escalating privileges: they can no longer invite or edit users with roles broader than their own scope (e.g. granting org-wide admin), nor modify or delete users that hold broader permissions than the caller.

## 13 May 2026 update, Diagrid Data Plane 1.51.0

- \[Added] Agents now self-report their spec generation via `diagrid_catalyst_spec_version` in agent metadata
- \[Changed] Sandbox controller is now optional and non-blocking; agent continues operating if controlplane doesn't support sandboxes or sandbox initialization fails

## 19 May 2026 update, Diagrid Controlplane 1.56.0

- \[Added] MCPServer catalog templates for Slack, Notion, Sentry, Tavily, Snowflake, and Cloudflare Developer Platform.

## 13 May 2026 update, Diagrid Controlplane 1.54.0

- \[Added] DurableAgent now stamps `diagrid_catalyst_spec_version` into agent metadata to enable detection of spec drift between control plane and live agents during rollouts

## 05 May 2026 update, Release 1.52.0

- \[Changed] Added a UI for creating, viewing, editing, and deleting MCP Servers from the
- \[Changed] Region status badge in the UI now reflects live reachability (Online / Joining / Offline) and exposes the last heartbeat time on hover.
- \[Changed] In the workflow execution details panel, the App ID is now only shown for child workflow / activity nodes when it differs from the parent workflow's App ID, removing duplicate information when both run in the same app.
- \[Changed] Removed unused edge-creation affordance from the Workflows and Apps visualizers (handle dots, crosshair cursor, click-to-connect).
- \[Changed] Increase the polling when the execution is running for better and more accurate feedback of when an execution finishes running
- \[Changed] Show a VersionChip next to the title when exactly one real version exists; selector still renders for >1 versions.
- \[Changed] Remove the version column from the executions table.

## 27 April 2026 update, Release 1.51.0

- \[Changed] Add MCPServer resource support via CLI
- \[Changed] Improved Apps graph: Clarified viewing modes with a new "All services / Single service" toggle and mode subtitle, improved App ID selection, and additional UI feedback to indication transitioning states.
- \[Changed] App ID metrics have moved from the App ID details page to the metrics page, viewable by selecting a particular App ID and drilling down in the navigation.
- \[Changed] Fixes a race condition bug when filtering workflow executions.
- \[Changed] Added ability to create, read, update and delete Regions.
- \[Changed] Restructured NetworkPolicy configuration: new `blocked_egress`, `allowed_egress`, and `allowed_ingress` options under `agent.config.project`. `allowed_egress` and `allowed_ingress` support CIDRs, namespaces, and port scoping; allow rules always beat `blocked_egress`.
- \[Changed] `blocked_cidrs` is deprecated (still honored for back-compat, unioned with `blocked_egress`). Operators should migrate to `blocked_egress`.
- \[Changed] `allow_all_egress` removed — use `blocked_egress: []` instead.
- \[Changed] Kube-DNS ClusterIP is auto-detected; no longer assumes the EKS default. Improves OOB support on GKE, AKS, and self-managed clusters.
- \[Changed] Default block list (shipped in the Helm chart) now also covers `169.254.0.0/16` to guard sidecars against cloud instance metadata endpoints.
- \[Changed] Ingress from the `cra-agent` and `monitoring` namespaces is always permitted (floor); the `contour` default is gone — add your ingress controller namespace via `allowed_ingress` explicitly.
- \[Changed] The agent logs a WARN at startup when no NetworkPolicy-enforcing CNI is detected in the cluster.
- \[Changed] The \`diagrid region list\` and \`diagrid region get\` table output now shows \`Multi-tenant\` / \`Self-hosted\` in the \`TYPE\` column instead of \`public\` / \`private\`. JSON and YAML outputs are unchanged.
- \[Changed] Fixed an issue with expanding workflow name graph parent nodes not being able to load the child graph.
- \[Changed] Allow sorting workflow executions by execution time

## 17 April 2026 update, Release 1.50.0

- \[Changed] Improved Apps graph: Clarified viewing modes with a new "All services / Single service" toggle and mode subtitle, improved App ID selection, and additional UI feedback to indication transitioning states.

## 16 April 2026 update, Release 1.49.0

- \[Changed] Add MCPServer resource support for durable tool execution

## 16 April 2026 update, Release 1.48.0

- \[Changed] Add MCPServer resource support for durable tool execution
- \[Changed] Fixes an issue with when the project is created with either KV store or Pubsub store
- \[Changed] Added the Managed Services icons to Project select dropdown as well

## 16 April 2026 update, Release 1.47.0

- \[Changed] Redesigned the date/time picker to be more user friendly.
- \[Changed] Wide range of bug fixes and suppressing some noisy error reports.
- \[Changed] Fixes an issue with when the project is created with either KV store or Pubsub store
- \[Changed] Added the Managed Services icons to Project select dropdown as well

## 15 April 2026 update, Release 1.46.0

- \[Changed] Enhance error collection and logging
- \[Changed] Bring MCPServer resource availability to Diagrid
- \[Changed] Added `ms` time unit for Workflow Executions duration
- \[Changed] Added a way to see what Managed Services are enabled inside a project, when users looks a project list.

## 14 April 2026 update, Release 1.45.0

- \[Changed] Enhance error collection and logging
- \[Changed] Added `ms` time unit for Workflow Executions duration
- \[Changed] Added a way to see what Managed Services are enabled inside a project, when users looks a project list.

## 14 April 2026 update, Release 1.44.0

- \[Changed] Added a way to see what Managed Services are enabled inside a project, when users looks a project list.

## 08 April 2026 update, Release 1.38.0

- \[Changed] Creating a project now opens a modal with the form instead of going to a dedicated page. (Feature behind a flag)
- \[Changed] Adds new action to app id's action menu allowing users to copy UID for debugging purposes.

## 07 April 2026 update, Release 1.37.0

- \[Changed] Show an empty state on workflow names, when there is an instance but its running so the graph hasnt generated yet.

## 06 April 2026 update, Release 1.36.0

- \[Changed] Add "Latest Only" filter to workflow detail's execution list.

## 02 April 2026 update, Release 1.34.0

- \[Changed] Removed components dropdown from managed PubSub and KV Store detail pages — the connected components list is no longer shown on these pages

## 31 March 2026 update, Release 1.31.0

- \[Changed] Fixes overlapping issues on the executions list inside Workflow Name detail page

## 31 March 2026 update, Release 1.30.0

- \[Changed] Improved unit testing for overly used components, utilities and hooks

## 27 March 2026 update, Release 1.26.0

- \[Changed] Fixed typo workflows empty state
- \[Changed] Show inside graph floating details panel the app id the Child workflow or the Activity is part of.
- \[Changed] Added "tokenCompletion", "token_completion_reasoning", "token_prompt", "token_total" in the API Log details drawer
- \[Changed] Improved the styles for API logs drawer
- \[Changed] UX improvement allows the user to go next or previous through the list of logs wither through the buttons or through the keyboard arrows
- \[Changed] Update Test PubSub API to load in subscription topics and allow free text entry
- \[Changed] Added 7 new query parameters to the KV store items list endpoint: `keyFilter` (key search), `createdAfter`/`createdBefore`, `updatedAfter`/`updatedBefore`, and `expiresAfter`/`expiresBefore` (date range filters)
- \[Changed] Adds new "Root only" filter to workflow executions list allowing users to exclude child executions from the list.
- \[Changed] Fix confusing wording for "Fired At" labels on timer event nodes in workflow visualizer.
- \[Changed] Refactoring

## 18 March 2026 update, Release 0.645.0

- \[Changed] Adds activity and status filters to the workflow overview executions list pane.
- \[Changed] Adjusted the empty state for workflow name list

## 18 March 2026 update, Release 0.642.0

- \[Changed] Added keyboard navigation to Workflow Visualizer
- \[Changed] Fixes an issue with long names in Child workflow graph subflows
- \[Changed] Exposes the workflow versions inside the UI
- \[Changed] Added Stalled status
- \[Changed] Show `Child workflow` instead of `sub_orchestration`
- \[Changed] Fixes an issue where sometimes we see permission denied when a project was deleted from CLI
- \[Changed] Sidebar menu copy change
- \[Changed] Copy update
- \[Changed] Fixes linting

## 13 March 2026 update, Release 0.638.0

- \[Changed] Improved create project experience by compacting and made more clear selection of Diagrid services
- \[Changed] Hide region dropdown for all plans except enterprise
- \[Changed] All Management API modals no longer close when clicking outside. If a request is in progress and the user clicks Cancel, the modal closes and the request is also cancelled.
- \[Changed] Run new and Rerun now show an info box letting the user know the workflow must be running for the action to succeed.
- \[Changed] Suspend, Resume, Raise Event, and Terminate now show a tooltip explaining why they are disabled, e.g. `The execution must be in a running state to be suspended.`
- \[Changed] Slightly reduced the icon size on the Agents list page.
- \[Changed] Fixes agents details not showing Agents executions properly.
- \[Changed] Fixed broken link and removed exception from external links unit test
- \[Changed] Agent list still showing wrong executions in certain cases

## 25 February 2026 update, Release 0.615.0

- \[Changed] Updated copy
- \[Changed] Removed broadcast topic
- \[Changed] Now the agent executions shows parts of the input prompt instead of the execution ID

## 16 February 2026 update, Release 0.604.0

- \[Changed] Simplified plans page and provide product link to docs support page.
- \[Changed] Improved navigation labels and icons
- \[Changed] Fixes an issue where clicking on the `See all executions` insade of executions details would set the search to `Type: workflowname` instead of `Name: workflowname` which is not correct.

## 12 February 2026 update, Release 0.601.0

- \[Changed] Updated copy for the billing page
- \[Changed] Fixed: Navigation items not appearing for users with project-scoped roles (e.g., viewer). Non-admin users with permissions scoped to a specific project would see an empty navigation sidebar in the project context due to a stale authorization check during initial page load.
- \[Changed] Added ability to filter workflow execution by custom status.
- \[Changed] Added the ability for the user to expand agent runs and see the input and output
- \[Changed] Add framework icons for agent types (AWS Strands, CrewAI, LangGraph, Microsoft Agent Framework, OpenAI) , and a new column called TYPE where we show the icon, agent framework name and agent type
- \[Changed] Added a new workflow management API called `Start new` that starts a new instance from a workflow
- \[Changed] Added recursive option for `Terminate` and `Purge` workflow management apis.
- \[Changed] Disabled all the workflow management APIs for all agents (workflow executions with name `agent_workflow`)
- \[Changed] Remove purge from ui until workflow execution archiving is supported

## 06 February 2026 update, Release 0.594.0

- \[Changed] Fixes an issue where you cannot expand the error on components

## 06 February 2026 update, Release 0.593.0

- \[Changed] Moved the API Explorer draw to come from the right instead of bottom,  as it would offer a better design and user experience.
- \[Changed] Fixed an issue where it would sometimes reset the inputs as the user is typing, if some the polling makes a new call at the same time.
- \[Changed] Fix bug causing crashed page for some Agent details pages.
- \[Changed] Fixed an issue where subworkflow links in the workflow graph used the parent workflow appId, causing broken navigation when subworkflows belong to a different appId.
- \[Changed] Reordered several UI elements and refined wording and styles for better usability
- \[Changed] Added workflow management APIs (Suspend, Resume, Purge, Raise Event) to the workflow execution action menu
- \[Changed] New Vertical Navigation that breaks the UX into more manageable interface breaking groups down in to develop, operate, and resources.

## 03 February 2026 update, Release 0.591.0

- \[Changed] Improved Components details page to make it more consistently looking to workflow details page

## 15 January 2026 update, Release 0.558.0

- \[Added] Ability to create a new project with agentic infrastructure
- \[Changed] Improved the App ID creation UI
- \[Fixed] Fixed a bug where the execution time on API Logs page was not being displayed correctly
- \[Fixed] Fixed an issue where if a user created a Configuration through YAML where the defalt policy was removed, when attempting to edit the Configuration the edit form would throw an error

## 14 January 2026 update, Release 0.557.0

- \[Changed] Added delete confirmation bypass shortcut for power users

## 14 January 2026 update, Release 0.556.0

- \[Added] Added execution time to the API logs table
- \[Changed] Removed Type column from Agent executions list

## 12 January 2026 update, Release 0.555.0

- \[Changed] Improved Admin & Project context switching by adding persistent context indicator in side navigation.
- \[Changed] Moved "Getting Started" to persistent context section in side navigation

## 08 January 2026 update, Release 0.554.0

- \[Changed] Improved the copy and the UX of Agent details page
- \[Changed] Now the Agent executions section is only shown for Durable Agents

## 16 December 2025 update, Release 0.547.0

- \[Added] Added the ability to view Agents and test connections for Pub/Sub and Conversation APIs

## 12 December 2025 update, Release 0.543.0

- \[Changed] When the workflow execution detail is refetched, we now refetch both the workflow execution and the workflow graph to ensure the data is synced together.

## 04 December 2025 update, Release 0.540.0

- \[Added] Added relationships tab to the workflow execution details page showing children and reruns
- \[Added] Added an icon indicating  a workflow executions that is rerun
- \[Changed] Moved the workflow execution details into a top bar horizontally
- \[Fixed] Flickering issue of floating details panel on Workflow graph

## 29 October 2025 update, Release 0.508.0

- \[Added] Added support to rerun and terminate a workflow execution for private regions

## 27 October 2025 update, Release 0.508.0

- \[Added] Added support to rerun and terminate a workflow execution for private regions

## 22 October 2025 update, Release 0.507.0

- \[Changed] Removed "deleting" projects mask from projects list, now users will see projects that are deleting or get stuck in deleting from the projects list page.

## 22 October 2025 update, Release 0.506.0

- \[Added] Added ability to rerun a workflow
- \[Added] Added ability to show the failure message and stack trace for workflow executions graph nodes
- \[Changed] Improved UX and layout for workflow execution details page

## 06 October 2025 update, Release 0.497.0

- \[Fixed] Fixed a bug in the component details configuration details section, which caused collapsing issues when auth details were revealed

## 06 October 2025 update, Release 0.495.0

- \[Changed] Improved UX for API explorer; less loading of data needed, also you can make the bottom drawer full screen
- \[Changed] When a component configuration doesn't have metadata items, we will show the YAML of the configuration instead
- \[Fixed] A bug where the codeblock was not being truncated correctly on the workflow history page
- \[Fixed] A bug where the codeblock was not being truncated correctly on the state store detail page
- \[Fixed] Components configuration details page content is now dinamic to the metadata items making it fit to its container
- \[Fixed] Double loader on Diagrid Pub/Sub details page

## 03 October 2025 update, Release 0.494.0

- \[Added] New "Getting Started" page for new users.

## 02 October 2025 update, Release 0.492.0

- \[Added] Added ability to test API for Pub/Sub, Bindingsand State components
- \[Added] Ability to import a configuration through a YAML file
- \[Added] Added a new search tooltip to the workflow executions list, as it uses a special syntax to filter by workflow type i.e. `Type: insertYourWorkflowType`
- \[Changed] The workflows and logs filters are being saved to local storage, but are now being cleaned when switching organizations or projects this is to avoid having stale filters and data leak between contexts
- \[Changed] Improved filter search styles
- \[Removed] Removed API Explorer
- \[Fixed] An issue where the errors table inside status component details was not scrolling correctly

## 29 September 2025 update, Release 0.488.0

- \[Added] Added a new Organization Details popover to the header

## 19 September 2025 update, Release 0.481.0

- \[Changed] Workflow graph nodes are no longer clickable if they have no content
- \[Changed] The status on the API logs now relies on the log level instead of the status code

## 17 September 2025 update, Release 0.478.0

- \[Fixed] A bug where clicking on visualize workflow from app id details was not filtering the workflows list by the app id

## 11 September 2025 update, Release 0.473.0

- \[Added] New feature to add access control configurations that control which apps can invoke other apps; you can create, edit, clone and delete them as well as having the ability to add a configuration to an app id
- \[Added] The workflow graph now shows the kind of the node in the details panel
- \[Added] The workflow graph now shows the fire at time for the timer events
- \[Fixed] A bug where if you terminated a workflow the status was not being updated and was still showing as running until user refreshed the page

## 28 August 2025 update, Release 0.461.0

- \[Fixed] A bug where the workflow children were incorrectly showing as failed

## 19 August 2025 update, Release 0.452.0

- \[Added] A way of showing the filters selected as chips by the filters menu
- \[Added] A way of searching through executions list while we still maintain the need to strictly filter by type
- \[Changed] Icon for subworkflows in the workflow graph is now a workflow ico
- \[Changed] The vanity name for workflow names is now done everywhere in the app
- \[Changed] The way the filters are applied on the workflow executions list is now more robust and error free
- \[Fixed] Fixed a bug where the filters were not being applied correctly when the date range was changed

## 14 August 2025 update, Release 0.444.0

- \[Fixed] Infinite loader on workflow lists on projects with workflow disabled
- \[Fixed] Colour scheme for filters menu on light mode

## 14 August 2025 update, Release 0.444.0

- \[Fixed] Infinite loader on workflow lists on projects with workflow disabled
- \[Fixed] Colour scheme for filters menu on light mode

## 06 August 2025 update, Release 0.442.0

- \[Added] A new way of filtering all the pages in the app that have more than one filter.

## 06 August 2025 update, Release 0.438.0

- \[Changed] Redesigned the component details page and now it has an improved UI for errors and statuses
- \[Fixed] App ids empty state visible while still loading.

## 31 July 2025 update, Release 0.437.0

- \[Notice] ### Changed
- The workflow graph nodes now show a loading indicator when the activity is running
- On workflow type details page, the see all executions button is now always visible
- The input and output code blocks are now shown side by side on the workflow execution details page or take the whole width if there is no input or output

## 31 July 2025 update, Release 0.437.0

- \[Notice] ### Changed
- The workflow graph nodes now show a loading indicator when the activity is running
- On workflow type details page, the see all executions button is now always visible
- The input and output code blocks are now shown side by side on the workflow execution details page or take the whole width if there is no input or output

## 21 July 2025 update, Release 0.430.0

- \[Added] Added a way to filter workflow executions by type
- \[Added] Added ability to sort workflow executions by status
- \[Added] New link on the Workflow Executions details page to see all other executions for that type
- \[Added] Empty state for situations where the Workflow Execution details page has no input/output to show
- \[Added] Shows the APP Id on the Workflow Type details page
- \[Added] Added ability to click on the Running/Failed/Disconnected stats on the Workflow Type details page to filter the executions list by status and type
- \[Changed] Workflow Type details page graph no longer shows refresh button
- \[Changed] Workflow Type details page executions list now shows up to 10 executions and has a link to the executions list page to see all executions of that type
- \[Changed] The nodes on the graph should not be clickable on Workflow Type details page
- \[Changed] Replaced Total Instances with showing the Disconnected Instances on the Workflow Type details page
- \[Fixed] Fixed App ID Visualize Workflow link to point to filtered by app id workflows executions
- \[Fixed] Fixed a bug where the filter for workflow executions was not working as expected when an app ID that was selected before was deleted or no longer existing

## 17 July 2025 update, Release 0.427.0

- \[Changed] The nodes that are not navigated to are now grayed out in the workflow graph and cannot be clicked
- \[Changed] The timer activity and the external event nodes are now differentiated in the workflow graph

## 03 July 2025 update, Release 0.419.0

- \[Added] Scrollbar to the workflow relationships section
- \[Added] Ability to close the workflow details panel when hitting Escape key
- \[Changed] Call graph legends to be positioned at the top of the graph to be consistent with the workflow visualizer
- \[Changed] No longer shows Execution Time for each node if there is no execution time
- \[Fixed] Fixed a bug where the code block in the details panel was not being truncated correctly
- \[Fixed] Fixed a bug where the workflow graph was not being centered correctly when navigating through different graphs

## 23 June 2025 update, Release 0.417.0

- \[Added] The workflow details page now shows the relationships between workflows
- \[Added] The workflow graph nodes look different if they are a subworkflow and can access its details.
- \[Added] You can now view workflows by type and their details with statistics and a graph

## 13 June 2025 update, Release 0.415.0

- \[Added] New API Keys features - Users can now create and manage API Keys.

## 19 June 2025 update, Release 0.414.0

- \[Added] Added a way to show/hide the context of a workflow graph node

## 13 June 2025 update, Release 0.407.0

- \[Fixed] \[en-us] Missing translations key

## 06 June 2025 update, Release 0.400.0

- \[Changed] Added ability to wrap code blocks
- \[Changed] When you select a node in Workflow Graph the details panel is now floating and can be expanded to full screen
- \[Changed] The code block in the details panel are now truncated and can be expanded to full screen
- \[Changed] Added Run Time to the Workflow graph nodes instead of showing the start/end time
- \[Fixed] The workflow graph being arranged in a way that it was not possible to see the whole graph when a node was selected
- \[Fixed] The way we present workflow names in the workflow graph and details panel

## 02 June 2025 update, Release 0.399.0

- \[Changed] Worlflows details panel is now smaller for smaller screens
- \[Fixed] Long workflow names are now truncated in the graph and details panel
- \[Fixed] Workflow graph is no longer centered when a node is selected, but instead we fit the whole graph in the viewport; this will happen automatically when the workflow graph is initialized as well as when the node is deselected

## 02 June 2025 update, Release 0.399.0

- \[Changed] Worlflows details panel is now smaller for smaller screens
- \[Fixed] Long workflow names are now truncated in the graph and details panel
- \[Fixed] Workflow graph is no longer centered when a node is selected, but instead we fit the whole graph in the viewport; this will happen automatically when the workflow graph is initialized as well as when the node is deselected

## 20 May 2025 update, Release 0.393.0

- \[Changed] Replaced usage table with Datagridpro
- \[Changed] Improved styles of the Usage Overview and Billing pages

## 20 May 2025 update, Release 0.390.0

- \[Added] On a workflow graph, added the ability to click again on a node and deselect it.
- \[Changed] The Workflow graph detail drawer is now larger

## 15 May 2025 update, Release 0.387.0

- \[Added] Added view all projects button to global project selector's current project menu panel

## 14 May 2025 update, Release 0.387.0

- \[Added] Added view all projects button to global project selector's current project menu panel

## 15 May 2025 update, Release 0.386.0

- \[Fixed] A bug that prevented users from being deleted via the action menu

## 13 May 2025 update, Release 0.385.0

- \[Fixed] Fixed a bug where the YAML was not being shown for managed connections

## 05 May 2025 update, Release 0.383.0

- \[Fixed] Fixed bug with vertical nav and an unneeded scrollbar

## 30 April 2025 update, Release 0.381.0

- \[Added] Added a way of showing the activity status of a component and app id

## 23 April 2025 update, Release 0.374.0

- \[Added] A way of showing workflows failure/termination messages

## 16 April 2025 update, Release 0.367.0

- \[Fixed] Fixed a bug where the scopes were not being shown in the subscriptions list

## 07 April 2025 update, Release 0.361.0

- \[Fixed] Fixed a bug where the health check defaults were not being set correctly

## 07 April 2025 update, Release 0.358.0

- \[Added] Added a button to hide/show charts in the App Id details page

## 25 March 2025 update, Release 0.336.0

- \[Changed] Metadata items are now shown in a table when creating a new component

## 24 March 2025 update, Release 0.335.0

- \[Fixed] A bug where the App Id filter on Workflows list was not working as expected

## 20 March 2025 update, Release 0.334.0

- \[Changed] Improve Create/Edit App Id experience
- \[Changed] Added a health check status to the App Id connection details

## 13 March 2025 update, Release 0.333.0

- \[Added] Ability to add, edit and remove App health check details for app connected App ID's
- \[Added] Ability to filter the Workflow start/end by a date range

## 05 March 2025 update, Release 0.332.0

- \[Added] Added new Organizations list page
- \[Changed] Change Organization overview page to show project list & project addresses
- \[Changed] Update global navigation to show current org as nav section title
- \[Removed] Removed standalone projects list page

## 05 March 2025 update, Release 0.324.0

- \[Added] Ability to filter the Workflows list by date range
- \[Added] Top level workflow details Output/Input section

## 04 March 2025 update, Release 0.323.0

- \[Changed] Hide refresh button when workflow is completed or failed.

## 28 February 2025 update, Release 0.322.0

- \[Added] Ability to filter the API logs by API type

## 25 February 2025 update, Release 0.321.0

- \[Notice] ### Updated
- All statuses now have consistent colors for the same statuses, as well as looking consistent across the app

## 19 February 2025 update, Release 0.320.0

- \[Added] New Organization overview page with ability to switch between organizations
- \[Added] "All Projects" button in project selector for quick navigation
- \[Changed] Moved admin-related pages (Projects, Users, Organization) under a unified `/admin` section
- \[Changed] Consolidated help menu items into account popover for a more streamlined user experience

## 17 February 2025 update, Release 0.291.0

- \[Fixed] Visual bugs with the copy boxed extending out of bounds
- \[Fixed] Project selector being misaligned

## 13 February 2025 update, Release 0.290.0

- \[Added] Ability to expand/collapse all the events on the Workflow history panel

## 10 February 2025 update, Release 0.289.0

- \[Fixed] Quickfinder sometimes shows no results even though there are

## 16 January 2025 update, Release 0.288.0

- \[Fixed] Fixed the status filter on the API logs page not clearing properly on reset

## 14 January 2025 update, Release 0.287.0

- \[Changed] Changed the code block copy button to have its own bar to avoid copy icon covering potential code as well as enabling us to add more features in the future

## 08 January 2025 update, Release 0.286.0

- \[Added] Added the ability to search for components by name and title on Component create page.

## 06 January 2025 update, Release 0.285.0

- \[Added] Added subscription type to subscriptions list table

## 06 December 2024 update, Release 0.264.0

- \[Added] Show the streaming subscription.

## 25 November 2024 update, Release 0.240.0

- \[Notice] - Add IAM Roles Anywhere authentication profile to AWS components.

## 30 November 2024 update, Release 0.231.0

- \[Changed] Wait for App ID endpoints to be available before marking the App ID resource as ready.

## 04 November 2024 update, Release 0.211.0

- New App ID client metrics
- Improved HTML semantics and accessibility
- Fix bug when loading App ID with missing metrics causing page crash
- Security updates

## 17 October 2024 update, Release 0.191.0

- Fixes bug on App Id's throughput charts causing warnings from React
- Added change to fix sorting of Component Auth profile data, required items sort first now.

## 08 October 2024 update, Release 0.186.0

- General UX improvments across the entire Diagrid product

- Fix bug in click action of resource action menus

- Improvements to workflow termination UX

- Fix bug in the initial sort of KV store data explorer table

- Improvements and bug fixes to metrics charts UX

- Improvements to Datetime range picker UX

- Misc dependency security updates

- Agent improvements on watched resources

- Workflow API samples added to documentation

- Fixes on deletion of infrastructure and associated project components

- Sidecar dependency bugfixes and deterministic deletion logic

- Watchdog and project deletion optimizations

- Internal workflow adjustments to improve reliability

- New configuration per App ID resource

- Connections renamed to Components

- Project quickstart updates and fixes

- UI workflow icon enhancements

## 30 August 2024 update, Release 0.156.0

- Fixes an issue where Subscriptions list erroneously shows an empty state
- Changes all references of Connections into Components
- Fixes a bug where pubsub broker list was showing on state store components
- Fixed an issue where the Done button is disabled when creating a project by following CLI instructions

## 29 August 2024 update, Release 0.155.0

- Improved Create Project UX
- Added connection icons to Connection create flow, App ID details, and Call Graph Connection Nodes
- Fixed bug causing Connections and Subscriptions pages to flicker
- Moved reference links to Help popover
- Improvments to Workflows UX when no workflows exist
- Improvements to App IDs UX
- Improved project create experience

## 15 August 2024 update, Release 0.143.0

- Adds aditional instructions on how to connect to an app from the App ID details page. You'll now find 2 aditional options: `Connect to terminal` and `Connect to App via private tunnel`

## 1 August 2024 update, Release 0.147.3

- API Explorer App ID Token select field to be disabled when there are no App IDs in the select list
- Fixes wording for helper text on various select inputs on API Explorer when empty
- Adds refresh button on PubSub details page.
- Fixes page flicker for most lists where they were showing empty state for a split second
- Fixes application pod health showing healthy when degraded
- Fixes a bug where all authentication profile items for a connection were marked as required regardless of if they were or not
- Improves duplicated persistent error messages for generic error pages
- Adds Scopes/Type filter to Connections list
- Adds Scopes filter to Subscriptions list
- Updates all dependencies
- Adds links to Subscriptions na,me and App IDs carousels in App ID details page
- Fixed a regression where you see the empty state of logs even when there are logs
- Updated Community links

## 24 July 2024 update, Release 0.144.1

- Addes empty state for API logs
- Rewoworked the App ID details page to improve the user experience and usability
- Fixes an issue where the user has changed the column width on a table and new polling data comes in and the column states are reset
- Fixes a false error being thrown when a new project is being created

## 17 July 2024 update, Release 0.140.0

- Upgraded Go versions for security fixes.
- Additional Watchdog metrics.
- Welcome email tweaks.
- Updated all NPM dependencies.
- Fixes bug in user intake survey when accessing the user roles; now only admins can see and fill in this survey.
- Fixes reset issues with the form in API explorer.
- Fixes flash error when creating a first project.
- Fixes organization switching error `Failed to set default org` and improved org switching UX
- Fixes workflows list table not rendering properly.

Added back the indicators that the Agent or the dapr version is older version
It now shows the version indicators on all roles but only admins can actually click on them and edit.

## 05 July 2024 update, Release 0.135.0

- New connection type selection step UX

## 28 June 2024 update, Release 0.132.0

- Fixes content on Verify email page

## 22 June 2024 update, Release 0.125.0

- Adds a way of disabling Managed Workflow from the workflows page
- In api explorer preselect values for Pubsub / Binding / Target App ID / State when the select dropdown list only contains 1 item. It doesnt preselect if there are 2+ options to select from.
- Improves the UX of assigng Roles when creating/editing a user. Now global roles and scoped roles are mutually exclusive, the user can either select a global role or it can select a scoped role. When a global role is selected the scoped roles section is disabled and users get a tooltip explaining why, and viceversa.

## 04 June 2024 update, Release 0.116.0

- Support added for sidecar to load tokens from regional secrets provider.
- Restart sidecars upon invalid component validations.
- Subscriptions create tweak to look for all pubsub connections to associate with.
- Ability to edit resiliencies upon connection list view.
- Project deletion flow updates in UI.
- Improves validation in UI on App ID tokens.

## 31 May 2024 update, Release 0.115.0

- Adds ability to edit auth profile selection on Connection edit flows.

## 23 May 2024 update, Release 0.113.0

- All organization name are now ordered alphabetically.
- Fixes an issue where the `process.env` inside the JS code samples on API explorer, was erroneously replaced with `{{}}`.

## 21 May 2024 update, Release 0.111.0

- External state store connection query API support added.
- Watchdog improvements on request rate limiting, configuration, and logging.
- API log filtering enhanced with Trace ID and span ID fields.
- Pending and total message count column additions for Diagrid Managed PubSub.
- UI updates to change project when clicking on the name row, instead of entire row.
- Enhancements when deleting Managed KVStore/PubSub connections in CLI and UI.
- Document improvements on supported language versions for quickstart sample code within the CLI.
- Pubsub managed service now shows Total Message count

## 16 May 2024 update, Release 0.110.0

- Fixes API explorer page crashing when malformed JSON gets pasted in

## 14 May 2024 update, Release 0.109.2

- Changes copy for enable/disable workflow warnings and tooltips.
- Changes copy for when App ID is not available to say that user should wait for the status to be Ready

## 07 May 2024 update, Release 0.106.0

- HTTPS prefix was dropped from gRPC URL value
- Improved API Explorer code samples
- Default Client timeout set to 10 seconds in CLI for Diagrid Dev config files
- Bug fixes for initial state of SDK config samples
- Remove errant edit resiliencies button for App ID's
- Test improvements

## 02 May 2024 update, Release 0.105.0

- Persist timespan filter selection between all metrics
- Adds to the validation a limit to the project name to be no longer than 36 characters
- Fixes a bug where dirty values were getting overwritten in the reset on Connections edit/save. Also fixes an issue with the form visually resetting back to default on successful save.
- Fixes Javascript code sample for API Explorer
- Enables ability for users to resize columns on tables
- Fixes API Explorer Transaction API operation not making the correct POST request
- Advisories: Improves impact and status columns; Adds Total Dismissed statistics for Advisories; Advisories are sorted by default on the status column, from Unresolved to Resolved. Fixes visual issue on the Advisories donut charts; Adds the ability to click on the Cards and filter by category.
- Adds a more robust connection delete confirmation message; Fix styling on managed connection delete confirmation message as well
- Do not show action menus if the user is not allowed to see all items inside the action menus, rendering them basically empty
- Fixes links for product switcher
- Changes icons and some menu items name.
- Adds an adequate empty state for Call graph to help guide users when there are no App IDs
- Improves GO code samples on API Explorer
- Minor UI style fixes
- Minor changes to the project quickstart to remove unnecessary instructions.

## 25 April 2024 update, Release 0.103.1

- Improved API Explorer UX - Improved samples and SDK configuration instructions
- Improve Resource 404 handling
- Misc copy improvments
- Added ability to enable managed workloads from workloads page when empty

## 23 April 2024 update, Release 0.102.0

- Disables save in connection scopes if no scopes are selected
- Makes the items in the project lists clickable to directly change projects that way
- Removed Copy HTTP/GRPC endpoint buttons from action menus
- Fixes Project sorting
- Fixes incorrect role building for project scoped roles
- Improves UX by removing top-level switch for enabling all resiliences on creating a new connection; now they can be enabled individually as required, removing the confusion created by previous implementation.
- Fixes issue where if you created a new resource and immediately go to the API explorer the new resouce was not present for selection unless page was refreshed
- Changes `Clear All` to `Clear Filters` on logs page; now the button appears when at least 2 filters are applied. This to remove confusion of user assuming the Clear all was to clear the logs.
- Added Empty state on API Explorer when there are no App IDs.
- Fixes a edge case where App not found message was presented on API Explorer
- On API Explorer made the body input required for APIs where body is requred to make the call
- On API Explorer it better handles the cases where JSON could be malformed
- On API explorer when testing Invocation API allows Target App Method to be blank
- Disables Connection save unless there are changes in the form
- Fixes style bug on light theme for PubSub topic list
- Enables the user to access Users page even when there are no projects
- Copy change API Explorer
- Increases the size of Project selector to better accommodate longer names

## 16 April 2024 update, Release 0.99.2

- Refactoring to enable Project Placement and additional authorization on controller setup across services.
- Improvements to reliability of Redis streaming and App channels.
- Various fixes removing deprecated function calls and improving reliability of services.

## 11 April 2024 update, Release 0.97.0

- Reworked UX for project create after inital project already exists
- Added new column to managed services lists that links to the appropriate connection.
- Fixed pagination bugs with infinite loading tables
- Misc Security and dependecy updates
- The Diagrid services: PubSub and KV store have a new column containing the related connections
- App ID logs can now be filtered by their status, if they are succesful or failure.
- Fixes a bug where new items in state store explorer were not showing up because we were using cached data instead of current data
- Fixes the refresh button bug on state store explorer

## 05 April 2024 update, Release 0.95.0

- Upddates verbiage on error page
- Misc Security and dependecy updates
- Exposes new managed state store explorer UI with the ability to delete items individually or all at once
- Adds new fields on the App ID logs details drawer: Component Name, Component Kind, Trace Id, Span Id, Source App ID, Target App ID
- Major overhaul of API explorer. Improved the UX ecperience, and now it also shows code samples in all suported languaged for user to copy and use
- Fixes clear action on Date time picker, as it wasn't working in certain edge cases

## 15 March 2024 update, Release 0.86.0

- New Managed PubSub Topic metadata explorer feature
- New Project QuickStart feature
- Misc security and dependency updates

## 12 March 2024 update, Release 0.84.0

- Adds the abillity to search through the Configuration Items when creating a new connection.
- Fixes an issue where in the connections list, sometimes the target was not the correct one.

## 07 March 2024 update, Release 0.83.0

- Change the way statuses on workflows are color coded
- Fixes contrasting issues on light theme

## 05 March 2024 update, Release 0.82.0

- Shows IDs from metadata if noe event id is present on Workflow history.
- Shows the Project Workflow store where if its not managed it links to the connection.
- Fixes close button not being present on connect API instructions. Adds a fixed header so when you scroll the title the close button stays in view
- Fixs copy for app ID instructions on Go language.
- Improves the way the nodes without any connections are presented on the Call Graph.
- Adds empty state for workflows page when the Managed Workflow option is not enabled on the project.

## 29 February 2024 update, Release 0.81.0

- New Workflows viewer UI

## 27 February 2024 update, Release 0.80.1

- Added workflows viewer enabling the user to view workflows on a workflow enabled project.
- Fixes an issue where the close button on the "Connect to App ID" instructions was not visible.
- Checks users email verification status and redirects to the correct page.
- Fixes themeing issues on verify email page.
- Shows the right button for Subscriptions empty states depending if PubSub Connections exists or not.
- Fixes an issue where next Logs page doesn't load on scroll.

## 22 February 2024 update, Release 0.79.0

- Captured fix for Managed KVStore table creation for sidecar restarts.
- Watchdog service additional metrics for greater observability.
- Connection creation metadata enhancements.
- Additional API endpoints enabling Request Builder to not need App ID name.
- Corrected dark theme issues.

## 20 February 2024 update, Release 0.78.0

- Management service defaults to inmemory secrets provider.
- Helm rollback in agent now waits for pods to be in ready status.
- Redis Dapr secret store now supported.
- Managed KV Store now using v2 component.
- Kafka topic information exposed in pubsub status.
- Additional app tunnel metrics.

## 13th February 2024 update, Release 0.76.2

- Added empty states for Projects App IDs, Connections and Managed services to improve the experience of users loging in for the first time
- Removed API explorer, logs and Call graph from App IDs details page
- Fix issue with CLI update command downloading an older version
- Helm improvements and additional inspection API
- User sign up tweaks
- Kafka management service addition

## 08th February 2024 update, Release 0.75.0

- Flatten UI Structure by moving API Explorer, Call Graph, and Logs out of the App ID list and into their own individual pages.
- Add the ability to add labels to App IDs.
- Improved the Diagrid name fields validation and their error message when introducing an invalid name.
- Show User Agent and IP agress on logs details.
- Add ingress and HTTP proxy for management service.
- Managed pubsub storage quotas added per tenant, as well as inialization efficiencies added.
- Workflows viewer support and API added.
- API explorer support for trasactional state operations.

## 01 February 2024 update, Release 0.71.1

- Improved App ID visualizer UX, including improved edge rendering for bidirectional flows and circular refrences, new layout algorithm, improved edge selction, and edge information
- Enables managed services (PostgreSQL, Kafka)

## 30th January 2024 update, Release 0.70.0

- Fixed metrics timepspan filter not working properly when selecting `Last 1 minute`
- Fixed bug in organization popover where user didnt have a default work set correctly leading to unexpected behaviour
- Project status SQL query corrections
- Management service TLS gRPC support

## 18th January 2024 update, Release v0.66.1

- Moved Create Subscription action menu item for managed Pub/Sub action menu to Connections Pub/Sub action menu.
- Renamed all mentions of State store to KV Store
- Replace multiple requests with new grpc call
- Improved App ID Logs UX

## 9th January 2024 update, Release v0.62.0

- Watchdog basic operational metrics added with Lambda support
- Multitenant PubSub updates fixing authentication
- Multitenant KV Store capabilities added

## 4th January 2024 update, Release v0.61.0

- Custom sidecar annotations added
- Integration test corrections on parallelism, nil pointers, moved to new repository structure, watchdog tool addition, and bumped dependency versions
- Managed service updates adding private subnet configurations and access to infrastructure
- App ID user experience improvements and light theme bug correction
- Warning for mobile users

## 19th December 2023, Release v0.58.0

- Fixed race condition impacting backend tests
- Added service invocation metrics to UI
- Fixed bug in error page in UI
- Updated package dependency versions
- Added additional testing for testsuite

## 12th December 2023, Release v0.56.0

- Improved user feedback and error handling when rate limit exceeded
- Moved several repositories into new location
- Corrected race condition on helm installs
- Additional reaper and dead letter metrics
- Outbox pubsub tweaks
- Updated several dependencies
- Refactored subscription details and yaml manifest viewer

## 7th December 2023, Release v0.55.0

- Build optimization on sidecar
- Upgrade tooling versions
- Agent watching interval configurability capabilities
- Additional deadletter retry count and Redis streaming updates for reaper
- Enhanced user experience through pod status icon, timestamp corrections for starting time, and scrollbar tweaks.

## 6th November 2023

- Early Access release
