You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Server panel Overview on every engine: memory, throughput, connections,
replication lag and uptime drawn as bars, counters that only make sense as
rates shown as rates, and metrics your role cannot read labelled rather than
shown as zero. Postgres, MySQL, Redis, ClickHouse and MongoDB.
MongoDB gets a Sessions view ($currentOp) with a guarded kill, and Redis
clients (CLIENT LIST / CLIENT KILL) now appear there too. Sessions are
ordered longest-running first; RED never offers to kill its own connection.
Server panel auto-refresh, off by default, interval shown in the panel itself,
floor of two seconds (behavior.server_refresh_secs).
Excel (.xlsx) export for any query result: streamed like every other export,
numbers stay numbers and numeric-looking strings stay strings, stops at
Excel's 1,048,576-row limit with a toast saying so.
Redis key export, in Commands (.redis), JSON, or DUMP (.rdbdump) format,
scoped to the visible keys, the current filter, or the whole database. Streams,
cancels cleanly, writes expiry as absolute deadlines, reports values a text
format cannot carry, and auto-detects .rdbdump on import.
RedisJSON documents are first-class: they read as json, filter as their own
type, and open in a document tree walked a level at a time, so a 200 MB
document costs no more to open than a small one. Edit a single node or the
whole document, create one from "New key", and two read-only agent tools map a
document's shape or read one path. Offered only where the module is loaded.
Point the agent at things instead of describing them: drag a table, column,
schema, query tab or selected rows onto the assistant panel, or use "Ask AI
about this" in the schema tree. References resolve on send, not on drop.
File attachments in chat, dropped anywhere on the panel or added with the +
beside the composer: text, images and PDFs, read off the UI thread at send
time, with unsupported or oversized files refused in the composer with a
reason. Attachments are always treated as data, never as instructions.
Reply length is a setting (Settings → AI, 16K by default, up to 64K) and a
reply that still hits it is continued rather than failed. Conversations are
compacted as they fill, with local trimming noted in the activity trace.
The usage gauge works on the API-key path too and reads the whole conversation,
with the cost so far on its tooltip.
The agent pages through a large result with a cursor over the same streaming
machinery the grid uses, so windows tile the result with no rows repeated or
skipped and without re-running the query.
Answers show their sources: a numbered line above the prose, one chip per
query, each linked to the exact call in the activity trace.
Queries are checked for join fan-out before the agent believes the number.
Suspicious shapes get one extra pair of counts, and the agent is told the real
numbers before it writes its answer. Nothing is blocked.
Review mode runs a turn's writes inside one open transaction that you commit or
roll back at the end, on PostgreSQL, MySQL/MariaDB and SQLite. An unanswered
review rolls itself back after two minutes.
Write approvals count rows first ("Affects 4,213 of 812,004 rows in
public.orders", with three shown) and warn when a statement matches none. The
count runs on a short budget and never delays the prompt.
The agent reads the queries you have run and your saved-query library for this
connection, so it uses the join paths, filters and metric definitions you
actually use. Same on Redis, for commands run and keys opened.
Per-connection knowledge file: plain markdown that rides in every chat's prompt
on that connection, with "Learn this database" to draft one for review.
Many new agent tools. On SQL: FK graph, object DDL, cross-column value search,
EXPLAIN with actual rows, health report, live sessions, schema and data diff,
index advice. On Redis: key templates, deep collection and stream paging,
consumer-group lag, clients, topology. On MongoDB: reference discovery, fetch
by _id, current operations.
kv_set for the Redis agent: write a string, hash, set, sorted set, list or
stream entry with optional expiry, behind the usual approval, which shows the
exact commands.
The agent can hand you a file: a query result, a set of Redis keys or a
collection, as CSV or JSON, offered as a card in the chat. Exported query
results are not row-capped.
The agent can stop a runaway session, Redis client or MongoDB operation and
create an index, each behind an approval naming the target. Destructive DDL
stays unavailable.
MongoDB collections show their JSON-schema validator where one is declared, and
the collection list reports storage size.
The work area holds any number of panes, as columns, rows or any nesting of the
two, in the SQL, Redis and MongoDB shells. Dragging a tab shows exactly where
it would land, including the first split of an undivided work area.
Pane keys: ⌘\ splits right, ⌘⇧\ splits down (both repeatable), ⌥⌘\ cycles
focus, ⌥⌘W closes a pane into its neighbour, ⌘⇧↩ zooms a pane, ⌥⌘0 resets every
divider to even shares.
The AI composer offers whichever on/off session settings the agent exposes as
switches, including fast mode on Claude Code.
Hold Alt and every panel you can type or navigate in shows the single key that
jumps to it, in all three shells (Redis had no keyboard focus movement at all
before). Hint keys are letters from the home row out, so they stay typable on
every layout. Trigger, hold delay and keys are settings
(keymap.focus_overlay), including turning it off.
Changed
The AI composer's model, thinking level and permission mode sit in three equal
slots on one line, keeping their place from the first frame instead of
reshuffling as the agent reports what it supports.
Context usage is a ring, amber past three quarters and red past nine tenths,
replacing the strip of token counts below the composer. The full breakdown and
session cost are on its tooltip.
The prompt box starts four lines tall and grows with what you type, up to
eight, before it scrolls.
⌘\ splits the focused pane rather than toggling a fixed two-pane split;
existing keymap.toml bindings keep working. Pane widths are held as
proportions, so resizing the window widens every pane in step.
F6 and ⇧F6 cycle every panel on screen, in every shell, instead of the SQL
shell's three fixed stops.
⌥⌘1 / ⌥⌘2 / ⌥⌘3 are retired in favour of holding Alt. A keymap.toml binding
them still loads, and those keys now cycle focus. The command palette lists
every panel it can focus by name.
Fixed
Fixed the bug where ⌘W stopped closing tabs, along with most other shortcuts,
until the window was clicked. Collapsing a panel, closing a pane or a focus
shortcut on Redis could leave focus pointing at something no longer on screen;
focus is now checked every frame and re-anchored to a real panel.
The breadcrumb's database picker belongs to its own pane. In a split it used to
open in every pane at once and then do nothing, since each duplicate menu
dismissed the others' click; each crumb now names and changes its own pane's
database.
Each pane keeps its own tab-strip scroll position and editor/result divider,
instead of sharing both across a split.
Superseding a Postgres query reliably cancels it at the server, including a
cancel arriving between the statement being prepared and being run.
Importing from DBeaver, DBGate and DataGrip offers your Redis and MongoDB
entries, not just the SQL ones, including entries stored as a single connection
string, which now arrive filled in rather than as empty stubs.
A Redis glob or prefix search keeps scanning until it finds your keys, instead
of reporting "No keys match this filter" when they sit beyond the first scan
window. Combining a pattern with a TTL, favourite or tag filter no longer lets
unmatched keys leak in from the second page on.
Assistant answers no longer run off the right edge of the panel: list items,
plan steps, tool-call errors and long chips all wrap or ellipsize inside it.