---
title: "Change log"
description: "This page lists user-visible changes to Dex Web, newest first; each section covers the changes since the previous release of this component."
canonical_url: "https://docs.superdurable.io/reference/web/changelog/"
source: "docs/reference/web/changelog.mdx"
locale: "en"
---

# Change log

This page lists user-visible changes to Dex Web, newest first; each section covers the changes since the previous release of this component.

<a id="v1-45"></a>

## 1.45

Released 2026-11-11 as [web/v1.45.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.45.0).

### Breaking

- Each Flow type has its own definition revision. A request about a Flow type sends that Flow type's revision in **X-Dex-Flow-Definition-Revision**, from **GET /api/flow-definitions/by-type?flowType=FLOW_TYPE** or a **GET /api/v2/catalog** entry; a search of several Flow types sends theirs separated by commas. The catalog's top-level **definitionRevision** no longer passes the check. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#api-requests).
- **GET /api/flow-definitions** lists definitions without their graphs. Read a Flow type's graphs from **GET /api/flow-definitions/by-type?flowType=FLOW_TYPE**. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#definition-sources).

### Added

- Dex Web reads the Flow definitions that Workers upload to the Dex Server, so **dex-web**, **dexcli dev**, and embedded Dex Web need no **--flow-rendering-dir** or **FlowRenderingDirectory** for them. A Flow type in the directory wins over an uploaded one, without a conflict. A Dex Server without the definition RPCs shows only the directory. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#definition-sources).
- **GET /api/flow-definitions/by-type?flowType=FLOW_TYPE** returns every definition of one Flow type, with graphs, its v2 contract, and its revision, and answers 304 to a matching **If-None-Match**. **GET /api/flow-definition-types** lists the Flow types that have a definition without reading them. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#definition-sources).
- **Designs** shows where each definition comes from, a directory file or an upload, and when an uploaded one was generated and uploaded. Without definitions, it explains how to upload them when a Worker starts. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#render-definitions-in-dex-web).
- Each **GET /api/v2/catalog** entry carries its **definitionRevision** and, for a Dex Agents session, **agentSession**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-session-view).
- Dex Web accepts the optional top-level **generatedAt** field in a Version 2.0 Flow Definition Graph and checks that it is an RFC 3339 timestamp. Earlier releases reject a graph that has the field. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#generated-at).

### Changed

- Dex Web loads definitions only where a page uses them. A run page reads only its own Flow type, the header and **/readyz** read only Flow type names, and only **Designs**, **Work Queue**, and **Connectors** read every definition. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#definition-sources).
- An invalid, oversized, or duplicated definition is marked invalid with its reason, and the other definitions keep working. A directory file over the document size limit claims no Flow type, so an uploaded definition of that Flow type is shown. Before, one bad file failed the whole catalog and **/readyz**. Dex Web limits each definition's nodes, edges, string length, nesting depth, and Connector Steps, and the canvas shows that a graph is too large instead of drawing it. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#definition-sources).
- Dex Web ignores unknown top-level fields of a Flow Definition Graph. Known fields are still validated strictly. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#definition-sources).
- The **Work Queue** link appears when any Flow type has a definition; the page itself says when none has a valid Version 2.0 contract. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#definition-sources).
- **Connectors** looks up each Connector release once per listing, at most 64 releases with four downloads at a time, and does not ask again for five minutes after a release is not found. A release past the limit shows its Connector ID. The app reads the Connectors listing once when it loads. [Reference](https://docs.superdurable.io/reference/web/local-connector-setup.md).
- Dex Web rejects a definition whose nodes, edges, or diagnostics are not objects with the fields the pages read, and bounds Step groups, the Version 2.0 lists, and the start input fields. Pages that draw a definition show an error in place of the definition when it cannot be drawn. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md#definition-sources).

<a id="v1-44"></a>

## 1.44

Released 2026-11-10 as [web/v1.44.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.44.0).

### Changed

- The Flow design graph on the **Design** tab and on **Designs** opens left to right. **Direction** still switches it to top to bottom. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#flow-canvas).

<a id="v1-43"></a>

## 1.43

Released 2026-11-10 as [web/v1.43.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.43.0).

### Breaking

- The **/api/flows/search** request no longer forwards **includeContinuedAsNew**. Run lists no longer offer **Continued as new** as a status. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).

### Added

- **--base-path** (**DEX_WEB_BASE_PATH**) serves the pages, assets, and **/api** routes under a URL path prefix, such as **/dex**. Requests outside the prefix get HTTP 404, and **/healthz** and **/readyz** stay at the root. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#base-path).
- **--frame-ancestors** (**DEX_WEB_FRAME_ANCESTORS**) lists the sites that may show Dex Web in a frame. By default no site may. Every response carries the framing headers. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#frame-ancestors).
- Under a base path, recent and saved Flow searches are stored per base path, so Dex Webs on one origin keep them apart. [Reference](https://docs.superdurable.io/reference/web/embed-dex-web.md#browser-storage).
- The Go module **github.com/superdurable/dex/web/embedded** serves Dex Web for many Dex Servers from a host application's own Go HTTP server, under a path prefix chosen per request. Each **web/vX.Y.Z** release publishes it as **web/embedded/vX.Y.Z**. [Reference](https://docs.superdurable.io/reference/web/embed-dex-web.md).
- The **Agent session** tab has **Session settings**, which shows the session's settings as JSON and saves an edit through **update_session_settings**. The change applies from the next turn. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-session-settings).
- **New session** starts a Dex Agents session with a session ID, a first message, and the **model**, **system_prompt**, and other settings. It is on the **Agent session** tab, and in **Work Queue** on a session Flow type. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-new-session).
- **POST /api/v2/agent-sessions/start**, **/messages**, and **/settings** start a session, call **send_user_message**, and call **update_session_settings**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-session-controls).
- Each connection record in **connections.json** gets a top-level **authorizationId**, a random non-secret UUID. Dex Web replaces it whenever an authorization completes: adding a connection, an OAuth authorization, or an edit that changes the stored credentials. It identifies the account behind the credentials; a change of **configuration** shows in the configuration itself. Other edits and credential write-backs keep it, and records without it stay valid. Dex Web 1.42 and older reject unknown record fields and fail to load a file that has **authorizationId**, so do not downgrade, or remove the field first. [Reference](https://docs.superdurable.io/reference/web/local-connector-setup.md#choose-the-storage-directory).

### Changed

- Without local Connector setup, the **/api/v2/connector-** routes return HTTP 404 with the code **CONNECTOR_SETUP_UNAVAILABLE**. [Reference](https://docs.superdurable.io/reference/web/embed-dex-web.md#limits).
- Connector UI files send **frame-ancestors**, **sandbox allow-scripts**, and **X-Content-Type-Options: nosniff**. A file with an unknown extension is sent as **application/octet-stream**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#frame-ancestors).
- The **Agent session** message box sends between turns through **send_user_message**. While a turn runs, **Queue** keeps the message for the next turn and **Steer** steers the running turn. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-session-view).
- Writes to **connections.json** hold an exclusive lock on **connections.json.lock**, which the connectors Go SDK also takes when it writes back a refreshed credential. Dex Web checks a save against the file as read inside the lock, and a write that waits more than 15 seconds fails with HTTP 503 **CONNECTOR_CONNECTIONS_FILE_BUSY**. An OAuth callback that fails with **CONNECTOR_CONNECTION_CHANGED** says to start the authorization again. [Reference](https://docs.superdurable.io/reference/web/local-connector-setup.md#choose-the-storage-directory).

<a id="v1-42"></a>

## 1.42

Released 2026-11-10 as [web/v1.42.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.42.0).

### Added

- **Connectors** can add a named connection that no loaded Flow uses, such as the Slack connection an agent tool opens. **+ Add** picks a Connector from the catalog and names the connection, and the usual authorization panel saves it to **connections.json**. [Reference](https://docs.superdurable.io/reference/web/local-connector-setup.md#add-a-connection).
- **Connectors** lists every saved connection that no loaded Flow uses, and **Delete connection** deletes one. [Reference](https://docs.superdurable.io/reference/web/local-connector-setup.md#start-dex-web).
- **--allowed-hosts** (**DEX_WEB_ALLOWED_HOSTS**) turns on a **Host** check for **/api** requests that stops DNS rebinding. It accepts loopback names, IP addresses, the bind address, and the listed hosts, and refuses any other **Host** with HTTP 403 **HOST_NOT_ALLOWED**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#allowed-hosts).

### Changed

- The **Experimental** menu offers **Connectors** wherever local Connector setup runs, even with no Flow Definition Graph files or connections. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).
- After an OAuth authorization, **Connectors** selects the connection that was authorized. [Reference](https://docs.superdurable.io/reference/web/local-connector-setup.md#configure-an-account).
- With local Connector setup on, as in **dexcli dev**, the **Host** check is always on. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#allowed-hosts).
- A Connector connection save, OAuth authorization, delete, or Trigger binding save fails with **CONNECTOR_CONNECTION_CHANGED** and changes nothing when, while it ran, the connection was deleted or added again, a Flow moved it to another release, or another save changed it. [Reference](https://docs.superdurable.io/reference/web/local-connector-setup.md#add-a-connection).
- On a phone, **Connectors** stacks the connection list above the selected connection. [Reference](https://docs.superdurable.io/reference/web/local-connector-setup.md#start-dex-web).

<a id="v1-41"></a>

## 1.41

Released 2026-11-09 as [web/v1.41.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.41.0). Patch release [web/v1.41.1](https://github.com/superdurable/dex/releases/tag/web%2Fv1.41.1) followed on 2026-11-10.

### Breaking

- The **v2** pages are removed, including the Run workspace, its run overlay, and the **Debug** view. Every **/v2** URL redirects to its **/v1** equivalent and keeps its query and hash, and **/** opens **/v1/flows**. The **/api/v2** endpoints are unchanged. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).

### Added

- A **Docs** link in the header opens the Dex documentation.
- A **Design** tab on the run page draws the Flow design graph from the loaded Flow Definition Graph, with no history. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#flow-canvas).
- One **Experimental** header menu holds **Designs**, **Work Queue**, and **Connectors**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#run-tabs).
- **?view=design**, **?view=session**, and **?view=actions** open a run tab directly. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#run-tabs).

### Changed

- Since 1.41.1: A run opens on the **Timeline** tab unless the browser remembers another tab, and a linked tab that does not apply opens **Timeline**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#run-tabs).
- Since 1.41.1: Clicking a bar in the Timeline overview selects its event and centers it in the strip. A bar of several events selects its most important event: a failed one first, then a retried, waiting, or canceled one. Dragging the brush still only scrolls. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).
- Since 1.41.1: The **Agent session** tab shows a connector write that waits for an earlier write of its turn as **waiting for an earlier write**, and a write that write ordering skipped as **skipped**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-session-view).
- The version picker is gone. **Work Queue**, **Connectors**, **Agent session**, and **Actions** are **Experimental**, and each shows only when it applies. **Agent session** and **Actions** are run tabs, and **Start Flow** is in the **Work Queue** list header. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#run-tabs).
- **Flow Rendering** is now **Designs**, at the same **/v1/rendering** URL, and draws both schema versions with one graph. [Reference](https://docs.superdurable.io/reference/web/flow-visualization.md).
- The agent inbox URL is **/v1/work-queue?view=agents**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-inbox).
- Step cards no longer show outcome chips. The Step panel lists outcomes under **Paths out**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#flow-canvas).
- The Timeline overview is a histogram: bars count events over time, red marks failed events and Steps retried after a failed attempt, and a shaded brush shows the events in the strip. A Step event that succeeded only after failed attempts carries a retry badge. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).
- In the Flow design graph, the zoom controls and the **Legend** sit at the top right of the canvas. The legend opens downward, scrolls inside the canvas, and closes from the same corner. The fit button is labeled **Fit the whole Flow**. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#flow-canvas).
- The **Streams** tab offers the Stream names of a matching Flow Definition Graph in a menu, with **Other name…** for any other name. Its output shows a live status, text as a flowing transcript, structured values as collapsible JSON, and progress values as bars. Entries show the newest message at the top, keep your place when you scroll down, and offer **Back to latest**. **Keep last** keeps the newest 100, 500, or 1,000 messages, and the browser remembers the choice. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).

### Fixed

- The Flow design graph legend no longer overlaps or clips its text, and the stage swatch shows. On the **Design** tab the legend is a panel over the canvas that keeps its size when you zoom. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#flow-canvas).
- The Flow design graph fit button returns to a view of the whole Flow. Before, it did nothing. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#flow-canvas).
- A selected or focused WaitFor segment in the **Execution graph** keeps its whole outline, including the chevron tip, and each Channel name of its condition shows on its own line. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).

<a id="v1-40"></a>

## 1.40

Released 2026-11-09 as [web/v1.40.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.40.0). Patch releases [web/v1.40.1](https://github.com/superdurable/dex/releases/tag/web%2Fv1.40.1) and [web/v1.40.2](https://github.com/superdurable/dex/releases/tag/web%2Fv1.40.2) followed the same day.

### Added

- **History settings** on the Run page shows the run's retention window, and **Edit** changes it through UpdateFlowConfig while the run is active. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).

### Changed

- The **v1** Run page is redesigned with a horizontal Timeline, a minimap, and a selected event panel with **Input**, **Output**, and **Context** columns. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#v1-pages).

### Fixed

- Long values stay inside their column in the event panel. This arrived in 1.40.1.
- Attribute and Context rows stack in the narrow Execution graph panel. This arrived in 1.40.2.

<a id="v1-39"></a>

## 1.39

Released 2026-11-09 as [web/v1.39.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.39.0).

### Added

- A **Session** tab shows Dex Agents sessions in Dex Web v2. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-session-view).
- The Work Queue shows an agent inbox. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#agent-inbox).
- Dex Web sends the declared RPC locks when a person runs an Action, and a Flow Definition Graph is available for Dex Agents session Flows. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#actions).

### Changed

- Dex Web sends LoadBlobs requests in batches of at most 1,000 entries.

<a id="v1-38"></a>

## 1.38

Released 2026-11-07 as [web/v1.38.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.38.0).

### Added

- Dex Web v2 searches by active Step type and across several Flow types. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#search-several-flow-types).
- An Action RPC returns its output to the page, and an Action may have no condition. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#actions).

### Changed

- Large values in history events appear as value references, and Dex Web loads them on demand because server-zd 0.1.21 bounds history pages by the gRPC response limit. [Reference](https://docs.superdurable.io/reference/server/changelog.md#v0-1-21).

<a id="v1-37"></a>

## 1.37

Released 2026-11-06 as [web/v1.37.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.37.0). Reference: [1.37.x](https://docs.superdurable.io/reference/web/1.37.x.md).

### Fixed

- Dex Web stops promptly even while a Flow history long poll is open. [Release notes](https://github.com/superdurable/dex/releases/tag/web%2Fv1.37.0).

<a id="v1-35"></a>

## 1.35

Released 2026-11-06 as [web/v1.35.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.35.0). Reference: [1.35.x](https://docs.superdurable.io/reference/web.md).

### Breaking

- Active Step invocation details require server-zd 0.1.17 or later and protocol version 4. Upgrade the server before upgrading Dex Web. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#worker-routing).

### Added

- Active Steps show each method’s phase, pending reason, attempt number, and wait time. History also shows when the attempt became scheduled. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#worker-routing).

<a id="v1-32"></a>

## 1.32

Released 2026-11-01 as [web/v1.32.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.32.0). Reference: [1.32.x](https://docs.superdurable.io/reference/web.md).

No Dex Web behavior changes were identified in this release; the Web source is unchanged from 1.30.

<a id="v1-30"></a>

## 1.30

Released 2026-10-31 as [web/v1.30.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.30.0). Reference: [1.30.x](https://docs.superdurable.io/reference/web.md).

No Dex Web behavior changes were identified in this release; the Web source is unchanged from 1.29.

<a id="v1-29"></a>

## 1.29

Released 2026-10-31 as [web/v1.29.0](https://github.com/superdurable/dex/releases/tag/web%2Fv1.29.0). Reference: [1.29.x](https://docs.superdurable.io/reference/web.md).

### Added

- Related-event links jump to other pages and distinguish pruned events from unloaded events. The oldest retained page shows the pruned event range. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#run-against-server-zd).

### Changed

- The Run details Timeline loads history in pages of at most 1,000 events, with Older, Newer, Newest, and Back navigation. Event numbers are event IDs. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#run-against-server-zd).
- The v2 canvas loads a bounded recent history window and appends new events on polls. The Execution graph, Overview, and time-travel dialog also use the newest window. [Reference](https://docs.superdurable.io/reference/web/dex-web.md#run-against-server-zd).

Older releases: [GitHub releases](https://github.com/superdurable/dex/releases?q=web%2F\&expanded=true).
