6 June 2026
Vantage 0.12
Query-sourced tables let you define a SurrealDB table whose rows come from an arbitrary SELECT —
including GROUP BY aggregation, joins, and computed columns — instead of mapping one-to-one onto a
physical table.
What's new
- Query-sourced tables. Add a
surreal: { rhai: | … | }block to any table YAML and write the query as a Rhai script that builds a SurrealQLSELECT. The result rows populate the table as usual — sorting, filtering, drill-down, and chart binding all work. - Derived tables. A
base:+inherit:shorthand lets you start from an existing table and narrow or transform it (e.g. "show me clients with a negative balance"). - Dashboard examples. The Surreal bakery demo now includes query-sourced tables for daily revenue, order totals, low-stock products, and debtors — each powered by a different aggregation pattern.
0.12.1
- The app is now just "Vantage". Same app, shorter name — you'll see it in the menu bar, window title, and the download.
Raw file: changelog-0.12.md
6 June 2026
Vantage 0.11
This release lets you build a dashboard on top of a command-line tool.
What's new
- Command-line data sources. Point a data source at a local command — like
awsCLI — and each table fetches its rows by running that tool and reading the JSON it prints. A small script per table shapes the command's arguments, and drilling from a row into a related table passes the parent's id through as a command flag, so the usual master/detail navigation works with no API or database behind it. Choose Command (CLI) when you add a data source.
Raw file: changelog-0.11.md
30 May 2026
Vantage 0.10
This release adds row actions, dialogs, and charts. Grid rows and toolbars can run operations — opening form and confirmation dialogs, writing records, and calling external services — and pages can present their data as charts.
What's new
- Row actions. A grid row's right-click menu can run an operation, not only open another page.
Actions are declared as
action/*.yamland referenced from a row'saction:. - Form and confirmation dialogs. A
kind: formaction opens a dialog to add or edit a record; akind: confirmaction asks before a destructive step. The bakery example uses these to add, edit, and delete products and to cancel an order. - Grid toolbars. Grids can carry a toolbar of buttons above the rows, such as "Add product".
- Order status workflow. Orders carry a status, and the right-click menu offers only the valid next transitions for the current state — placed, confirmed, in production, ready, delivered or picked up, paid, and cancelled — hiding steps that don't apply.
- External actions. A
kind: http_requestaction calls an outside service; the example wires a "Send password reset" action on a client. - Charts. A
kind: chartelement plots a table as a bar, line, or pie chart, using anxcolumn for the category and aycolumn for the value. Arrange several withlayout: gridto build a dashboard. - Chart controls. A page can declare a
controls:dropdown sourced from a table; charts that reference it in theirwhere:re-filter when the selection changes, so one dropdown scopes the whole dashboard.
Raw file: changelog-0.10.md
23 May 2026
Vantage 0.9
Tables handle a million rows without breaking a sweat. A new reactive caching layer lazy-loads only what's on screen, keeps multiple views in sync, and refreshes in the background.
What's new
- Big tables feel instant. Only the rows you can see are fetched; the rest wait in a backing cache. Sequential and cursor-based pagination are picked automatically per backend, so scrolling is smooth regardless of dataset size. Sorting falls back to in-memory when the backend doesn't support it.
- Background refresh. Tables refresh without flicker — on file change, on a schedule, or when you hit the button explicitly. Refresh strategy depends on the data source.
- Dirty-record tracking. The cache layer tracks pending changes; UI indicators will follow.
- Shared cache across views. Open the same table in two tabs, or a master grid plus a detail sheet — they share one cache, and edits in one view appear in the other instantly. Individual record lookups and aggregate counts are cached separately.
- Mixed-backend tables. Read rows from DynamoDB, write them through a REST API call. Per-operation backend configuration lets you combine any read source with any write target.
Raw file: changelog-0.9.md
16 May 2026
Vantage 0.8
GraphQL joins the list of backends Vantage can talk to. Point a datasource at a GraphQL endpoint and the rest of the admin — grids, sort, search, right-click drilldowns — just works.
What's new
- GraphQL datasources. A new
type: graphqloption alongside SQLite, Postgres, SurrealDB, REST and the AWS pair. Seturl:to your endpoint, pick adialect:(genericfor flat-argument schemas like the public SpaceX API,hasurafor Hasura-stylewhere: { _eq: … }arguments), and optionally override the filter argument name or send an auth header. Tables on a GraphQL datasource read like any other Vantage table — the GraphQL root field is just the table's name. - References column. Tables that declare has-many relations grow a sticky leftmost
Opencolumn with one xsmall primary button per relation. Clicking a button opens the related model in a new tab filtered to that row — one click instead of right-click → menu pick. Declare extras with a top-levelhas_many:list ontable/*.yamlso a single row can surface several related models side-by-side.
Raw file: changelog-0.8.md
14 May 2026
Vantage 0.7
Two stacked features that turn Vantage UI from a one-page-at-a-time admin into something you can actually navigate: tabs, and Rhai-driven drilldowns that make context-menu entries open related records in a new tab.
What's new
- Tabs. Open multiple data-table pages at once. The left sidebar owns one nav slot — clicking a different sidebar item rebuilds that slot's tab in place, so any child tabs you spawned from it stay live.
- Open-in-new-tab from link cells. Click a link cell and the related record opens in a child tab owned by the current page. Subsequent clicks in the same parent reuse the child tab — unless you've pinned it, in which case new tabs slide in immediately to the left and take focus.
- Pin tabs. Star a tab to keep it around; opens-from-the-same-parent go beside it instead of replacing it. (Star icon is a stand-in until a custom Pin glyph ships.)
- Rhai-driven context-menu drilldowns.
context_menuentries in a page's YAML can now declare anopen_pageplus amodel:Rhai expression that returns the table to show. The expression sees the clicked row's columns, the fullrow, and the page's mastermodel(with aget_ref(relation, id)helper for chasinghas_manyrelations). Chain it for multi-hop drilldowns likemodel.get_ref("albums", row.id).get_ref("photos", album_id). - Page title in the CRUD toolbar. The toolbar grew a header band to the right of the Refresh button showing the active page's title (or a breadcrumb path for drill-down tabs).
vantage-ui-builderskill 1.4.0. Bundled agent skill picks up a "Drilling into related pages from a context menu" section and an updated Rhai scope table.
0.7.1
- Fix: the dashboard's "Recent Changes" panel shows the real notes for 0.5, 0.6 and 0.7 instead of the empty placeholder it shipped with in 0.7.0.
Raw file: changelog-0.7.md
14 May 2026
Vantage 0.6
A focused release for working with tabular data: persistent sort, auto-refresh, and a dedicated detail sheet for inspecting individual rows.
What's new
- Persistent grid sort. Click a column header to sort; your choice is remembered per project so reopening picks up where you left off.
- Auto-refresh in tables. Long-running grid views keep themselves current without manual reloads.
- Row detail sheet. Open a single row in a side sheet for a clean, scrollable view of every field — no need to widen columns or scroll horizontally.
- Framework bumps. Picks up
vantage-aws0.4.8 (paginated list handling for more services) andvantage-surrealdb0.4.6.
Raw file: changelog-0.6.md
13 May 2026
Vantage 0.5
Vantage UI gets serious about working with AI coding agents: an embedded MCP server, a "Set up with AI" project wizard, and a feedback loop that lets agents leave you notes (and you forward them, with logs, in one click).
What's new
- "Set up with AI" wizard. A first-run flow that walks an agent through scaffolding a new project, dropping bundled skills (markdown instructions plus YAML schemas) that teach any agent following the agentskills.io convention how to author Vantage configs.
- Embedded MCP server. Vantage UI exposes a local MCP endpoint so coding agents (Claude Code, Cursor, anything that speaks MCP) can introspect your project's datasources and config without leaving the editor.
- Log viewer + one-click feedback. Browse the app's structured logs in-app and attach them to a
"Send feedback…" message so bug reports don't need a separate
tail -f. - Datasource hot-reload. Edit a YAML datasource and the connection rebuilds in place — no app restart.
- Update channels behave properly. Stable builds offer stable updates; nightly builds offer nightly updates. The auto-updater uses the version reported by the running binary instead of guessing.
- Nightly icon variant. Nightly builds get a distinct icon so they don't get confused with stable in your dock.
- Privacy: error reports redact datasource credentials. Sentry reports no longer carry connection strings, hostnames or credentials from your datasources.
- Fix: SurrealDB form values round-trip cleanly. Forms backed by SurrealDB no longer fail deserialization for tagged CBOR values.
0.5.1
- SurrealDB option in the "Set up with AI" wizard, with a bundled skill that walks the agent through
INFO FOR DB/INFO FOR TABLEintrospection and the YAML mappings for record-link relations.
0.5.2
- The "Send feedback…" dialog now picks up
FEEDBACK.mdfrom the project root. Tick Include feedback from the agent to ship the agent's notes alongside your own; View agent feedback pops a larger viewer so you can read it first. Sent contents are deleted from disk. - The bundled
vantage-ui-builderskill (now 1.3.0) tells the agent to drop UX, validator and schema suggestions intoFEEDBACK.mdas it works, under a# Vantage <version>header. - Bundled skills install under
.agents/skills/instead of.claude/skills/, so they're picked up by any agent following the agentskills.io convention. - Opening or switching to a project refreshes any installed skills whose embedded version has moved
on, and tops up missing skill folders for datasources you added by hand. Gated on
AGENTS.mdbeing present at the project root, so projects that never ran the wizard stay untouched. Skills you've edited are left alone; on-disk versions newer than embedded are never downgraded.
Raw file: changelog-0.5.md
9 May 2026
Vantage 0.4
First 0.4-line release: more backends, a project-aware shell, and a built-in macOS auto-updater.
What's new
- Connect to SurrealDB, MongoDB, REST APIs, AWS CloudWatch Logs, and CSV files alongside SQLite.
- Browse AWS CloudWatch Logs: pick a group, drill into events, follow master/detail.
- New master-detail page layouts (vertical and horizontal).
- Edit inventory YAML and the open page rebuilds in place — no restart.
- Results cache to disk; reopening a project is near-instant.
- Project switcher with recently-opened list.
- Sidebar groups pages per data source with collapsible sub-menus.
- Computed columns from inline expressions.
0.4.1
- Built-in auto-update with progress in the title bar; native Mac download from the website.
0.4.2
- Fix: SQLite datasources work when launched from Finder.
- Fix: AWS list views walk all pages (vantage#231).
AWS_PROFILEand SSO logins supported (vantage#230).- DynamoDB
begins_withsort-key filter + scan-filter fix (vantage#230).
0.4.3
- Fix: auto-updater no longer offers to "update" 0.4.2 to itself on every launch.
Raw file: changelog-0.4.md
Nightly channel
Living on the edge?
Nightly builds track main — every commit is signed,
notarized, and shipped. Expect rough edges; the in-app updater
keeps you on the nightly channel automatically.
v0.15.0-main.20260613200804 · Apple Silicon
sha256: 7f48a9ce358573be…