@@ -4,6 +4,8 @@ All notable changes to teploy-dash are recorded here.
44
55## [ Unreleased]
66
7+ ## [ 0.1.11] - 2026-07-27
8+
79### Added
810- Teams and roles. The dashboard is now multi-user with three roles matching
911 teploy-observe: ** admin** (manage users, servers, settings, secrets),
@@ -29,6 +31,19 @@ All notable changes to teploy-dash are recorded here.
2931 remains as the break-glass path so a down IdP never locks everyone out. Enable
3032 by setting ` TEPLOY_DASH_OIDC_ISSUER ` and ` TEPLOY_DASH_OIDC_CLIENT_ID ` (see the
3133 README for the full variable list); when unset, SSO is simply absent.
34+ - Cross-product dashboard switcher. A top-left dropdown lets you jump between the
35+ deployed Teploy dashboards — Dash, Observe, and Ship. Configure the sibling
36+ URLs with ` TEPLOY_NAV_OBSERVE_URL ` and ` TEPLOY_NAV_SHIP_URL ` (the same env
37+ convention is used by all three products); the switcher only appears once at
38+ least one sibling URL is set. Served from ` /api/nav ` .
39+ - Resources panel on the app detail page: CPU, memory, network and block I/O
40+ per container, from the CLI's ` stats ` . Stopped containers are filtered out —
41+ Docker reports them as all-zero rather than omitting them, and showing those
42+ rows reads as "idle" when the app is actually down.
43+
44+ ## [ 0.1.10] - 2026-07-26
45+
46+ ### Added
3247- MCP server at ` POST /api/mcp ` — Claude Code, Cursor, or any MCP client can
3348 inspect the fleet and run deploy actions. 17 curated tools; reads come from
3449 the CLI's server state files, actions delegate to the CLI binary exactly
@@ -37,14 +52,38 @@ All notable changes to teploy-dash are recorded here.
3752 per-token read-only mode; tokens managed in Settings → MCP (hashed at rest,
3853 immediate revocation). Env values never cross the MCP boundary — the env
3954 tool returns variable names only.
55+ - Operation center. Every long-running action — deploy, rollback, remove,
56+ start/stop/restart, maintenance, template install — is now a recorded
57+ operation with live streaming logs (SSE, resumable via ` Last-Event-ID ` ),
58+ cancel, retry, and an idempotency key, instead of a request that blocks
59+ until the CLI exits. ` /operations ` lists them; ` /operations/{id} ` follows
60+ one live.
61+ - URL routing. Every view has a real path (` /deployments ` , ` /servers/{name} ` ,
62+ ` /operations/{id} ` ), so views are linkable and reloadable and browser
63+ back/forward work.
64+ - Drift panel on the app detail page: whether an app's live containers still
65+ match what was deployed — a container stopped outside teploy, or an old
66+ version still running.
67+ - ` Remove ` action to retire an app: stops and removes its containers, removes
68+ its proxy route, and deletes its deploy state. Volumes and accessory data
69+ are always preserved from the dashboard.
70+ - Signed monitor webhook deliveries.
4071- ` main.version ` ldflags variables now exist, so goreleaser's long-standing
4172 ` -X main.version=... ` flags actually take effect (previously a silent
4273 no-op).
43- - Cross-product dashboard switcher. A top-left dropdown lets you jump between the
44- deployed Teploy dashboards — Dash, Observe, and Ship. Configure the sibling
45- URLs with ` TEPLOY_NAV_OBSERVE_URL ` and ` TEPLOY_NAV_SHIP_URL ` (the same env
46- convention is used by all three products); the switcher only appears once at
47- least one sibling URL is set. Served from ` /api/nav ` .
74+
75+ ### Fixed
76+ - The Deployments view rendered empty for every app: the fleet API serialized
77+ each app as ` app ` while the frontend keyed on ` name ` , so the list crashed on
78+ undefined keys and showed nothing.
79+ - The Servers page rendered blank, and server detail was a black page — the
80+ server list is a map, not an array, and the detail endpoint delegated to a
81+ CLI verb that reports app state rather than host metrics.
82+ - Static-site deploys (no container by design) were reported as stopped.
83+ - CLI-delegated actions (logs, deploys, env, rollback) failed from the
84+ container: the server alias was passed where a raw host was expected, and
85+ accepted host keys were never recorded for the bundled CLI to reuse.
86+ - Replaced inline spinners with a top-loading bar in the header.
4887
4988## [ 0.1.9] - 2026-07-15
5089
0 commit comments