Releases: TiveCS/krust-studio
Release list
1.7.0-beta.4
Krust Studio 1.7.0-beta.4
Packaging fix for the 1.7.0 beta line. Opt in via Settings → Updates.
- Fix: MySQL/MariaDB connections failed in the packaged app with "Cannot find
module 'safer-buffer'" — mysql2's transitive dependency (viaiconv-lite) was
not packed into the build's asar. Pinned it as a direct dependency so
electron-builder includes it, the same fix that shippedcluster-key-slotfor
Redis in beta.2. Verified present in the packaged asar this release.
Full Changelog: v1.7.0-beta.3...v1.7.0-beta.4
1.7.0-beta.3
Krust Studio 1.7.0-beta.3
The big one for the 1.7.0 beta line: AI Schema Sync over MCP, plus Redis and
routine polish. Opt in via Settings → Updates.
New — AI / MCP (ADR-0022)
- In-app MCP server. Settings → AI / MCP: enable a local Model Context
Protocol endpoint on127.0.0.1so an AI agent (Claude Code, Codex CLI,
Cursor…) can inspect schema and propose schema fixes. Off by default; a
connection is invisible to the AI until you grant it. Bearer-token auth;
copy-paste client setup (HTTP + a bundled stdio bridge for stdio-first agents). - Schema Sync tab. An agent diffs an external code model (e.g. .NET EF Core
entities) against the live DB and proposes additive fixes — missing tables,
columns, indexes — which stage here for you to review, then Commit or Export a
.sqlfor a DevOps handoff. The AI never writes the database; commit
re-checks the live DB and skips anything already applied. Read-only connections
can still diff + export. - AI Read Allowlist + audit. Default-deny per table with column masking for
the read tools; every AI call is logged to an append-only access audit.
Redis
- Binary collection members (hash/set/zset/list) are read-safe and removable;
binary key names can be opened (read) and deleted. - Live TTL re-sync corrects the countdown after an external
PERSIST/EXPIRE. - Deleting a key is now a simple Yes/No confirm (key name highlighted), not a
type-the-name step.
Procedures & functions
- SQL-editor autocomplete for routines (procedures after
CALL, functions in
expressions). - The routine tab now surfaces grants and (PostgreSQL) overload signatures.
Fixes
- Redis connections now show their engine badge in the connection switcher.
- Faster schema introspection for the AI (bulk catalog queries instead of one
round-trip per table — a big win on remote/serverless Postgres).
Full Changelog: v1.7.0-beta.2...v1.7.0-beta.3
1.7.0-beta.2
1.7.0-beta.1
Krust Studio 1.7.0-beta.1
The first pre-release of the 1.7.0 line. Beta builds are opt-in: enable
Settings → Updates → Receive beta (pre-release) updates. Stable users are
unaffected; beta users keep getting newer betas and then stable 1.7.0. Turning
the toggle off stops future betas but does not downgrade a beta already
installed.
Redis (Beta)
- Native key browser driven by incremental
SCAN(neverKEYS), MATCH glob,
logical-database switcher, live TTL countdown. - Key tab per key with a type-aware viewer/editor: strings (text/JSON/hex/base64,
binary-safe), hashes, lists, sets, sorted sets, and append-only streams. - Staged edits preview the exact Redis commands and commit atomically
(WATCH+MULTI/EXEC) with conflict Reload / compatibility-gated Force. - Rename (
RENAMENX), delete (UNLINK) and expiry changes with typed confirms;
TTL preserved across value edits. - Every mutation captured in a dedicated Redis Mutation history stream.
- Redis keys are searchable in the command palette (Ctrl/⌘+P).
Procedures & Functions (Beta)
- Sidebar Procedures and Functions sections (MySQL/MariaDB + PostgreSQL).
- Routine tab: definition viewer + metadata + an Execute panel. Procedures
run asCALL(confirmed, blocked on read-only, captured as Routine
Execution); functions run asSELECTand stay Data Retrieval. - Typed parameter form with explicit NULL; MySQL
OUT/INOUTvalues surfaced
via the generatedSET @v; CALL; SELECT @vsequence; PostgreSQL overloads
targeted by signature. - Create (PG
CREATE OR REPLACE) and drop (typed confirm, exact signature) with
captured DDL. A durable definition draft survives restart. - Known limitation: editing an existing MySQL/MariaDB routine is blocked in
this beta (safe non-atomic replacement + recovery copy lands in a later beta).
Data grid
- Keyboard navigation: arrows / Shift+arrows, Tab/Shift+Tab, Home/End,
PageUp/PageDown, with the active cell auto-scrolled into view. - Enter/F2 edits the active cell (staged, not persisted) and stays put; type any
character to start editing; Ctrl/⌘+A selects all loaded cells (also the "#"
corner). - Client-side Find (Ctrl/⌘+F): case-insensitive search over the loaded
page's displayed text; highlights matches; Next/Prev jump the active cell.
Settings
- Configurable Find shortcut in Keybindings.
- Toast position (Notifications).
- Beta update channel (Updates) + Check for updates.
Other
- Vertical mouse-wheel now scrolls the tab strip horizontally (VSCode-style).
- Sidebar toolbar: filter input gets its own row so it isn't cramped.
Under the hood
- Capability-based drivers (ADR-0020) — engines advertise only what they support
(SQL, tabular, routines, keys, …) instead of assuming everything is relational. - New capability: routines (ADR-0021).
Not in this beta (planned for later 1.7.0 betas)
- StarRocks (Experimental engine).
- MySQL/MariaDB safe routine replacement (Routine Recovery Copy + grants).
- Routine-aware autocomplete, typed scalar param helpers, routine viewer Pretty
toggle.
Verification still needed
Redis (ACL, TLS, expiry, optimistic concurrency, binary, large collections) and
routine CRUD/execution against real MySQL, MariaDB, and PostgreSQL servers.
Please report through the 1.7.0-beta tracking issue.
Full Changelog: v1.6.6...v1.7.0-beta.1
1.7.0-beta.5
Krust Studio 1.7.0-beta.5
Follow-up to the AI Schema Sync beta line, from live testing on real projects.
Adds typed Data changesets, gives the AI a way to query big tables, and
fixes several editor/viewer papercuts. Opt in via Settings → Updates.
Changesets — now Schema and Data (ADR-0023)
- Data changesets.
INSERT/UPDATE/DELETEcan now be grouped into a
Data changeset and exported as a.sqlfor the DevOps handoff — the same
capture-and-hand-off workflow you already had for schema DDL, applied to
seed/reference-data changes. - Cleanly separated by kind. A changeset is Schema (DDL) or Data
(DML); the two never mix in storage. The History rail groups them into a
Schema and a Data section, each with its own active changeset and its
own Unassigned inbox; "Move to changeset" only offers same-kind targets. - Two optional active slots. Set a Schema changeset and/or a Data changeset
active independently; matching captures auto-attach only when a slot is active
(nothing auto-collects until you say so). Destructive DML (TRUNCATE,
no-WHEREDELETE/UPDATE) never auto-attaches. - Export together. Pick a Schema + a Data changeset and export one
.sql
with the statements interleaved in execution order — for when a data
backfill needs to sit between two DDL steps.
AI / MCP
read_rowscan filter now. The read tool takes structured
filter/orderBy/columns(no raw SQL), so an agent can target rows in a
large table instead of paging blind through it. Any column used in a
filter/sort/projection must be allowlisted and unmasked — a masked column can't
be probed indirectly.
Fixes & polish
- Changeset actions are visible. The per-changeset menu (set active, rename,
export, delete) was hover-only and easy to miss — it's now persistently shown. - Copy SQL by selecting it. Read-only SQL displays (history detail, DDL
preview, routine viewer) are now mouse-selectable with a visible highlight, so
you can drag-select and copy without hunting for the Copy button. - Smoother tab scroll. Vertical mouse-wheel over the tab strip now glides
horizontally instead of jumping a notch at a time. - JSON viewer FK follows the selection. Expanding a foreign key in the row
JSON panel now re-fetches when you pick another row (it used to stick on the
previously-expanded row's parent). The panel's resize handle is also easier to
grab.
Verification still needed
The Data-changeset and read_rows-filter paths build clean but want a real run:
a live agent reading a filtered big table, DML auto-attaching to an active Data
changeset, and an export-together .sql in the right order. Manual promotion of a
destructive DML entry into a Data changeset is not yet behind a typed confirm —
that lands next. Please report through the 1.7.0-beta tracking issue.
Krust Studio 1.6.6
Krust Studio 1.6.6
SQL formatting and update-path validation.
Added
Format SQL
Query tabs now include Format SQL with the Shift+Alt+F shortcut. Formatting
uses the active connection's dialect:
- MySQL / MariaDB → MySQL
- PostgreSQL → PostgreSQL
- SQLite → SQLite
Formatting rewrites the editor text as a normal undoable edit. Invalid SQL is
left untouched and reports an error.
Pretty DDL
Structure → DDL and generated DDL review now have a display-only Pretty
toggle. This never changes the SQL that Krust copies, executes, captures in
History, or exports through Changesets.
Fixed
In-app restart-to-update verified
A real 1.6.5 → 1.6.6 update downloaded, installed, and relaunched
successfully. This confirms the quitAndInstall shutdown-race fix shipped in
1.6.5.
Install
Grab the 1.6.6 installer for your OS below:
- Windows:
krust-studio-app-1.6.6-setup.exe - macOS Apple Silicon:
krust-studio-app-1.6.6.dmg - Linux:
krust-studio-app-1.6.6.AppImageor.deb
Windows SmartScreen and macOS Gatekeeper may warn because these builds are not
publicly notarized/code-signed.
Full changelog: https://github.com/TiveCS/krust-studio/blob/main/CHANGELOG.md
1.6.5
Patch release adding the ability to open and save .sql files directly from the SQL editor.
Added
Open / save .sql files
You can now move SQL between files and Krust's editor:
- Open SQL file… - in the tab bar (button) or the tab right-click menu. Opens an OS file dialog and loads the chosen
.sqlinto a new query tab. The filename shows as the tab title. - Save .sql - in the editor toolbar. Writes the current editor SQL to a
.sqlfile via a save dialog (defaults to the opened filename, elsequery.sql).
Opening is a one-shot import: the file's text seeds the tab, but the tab is not linked to the file. Editing the tab never changes the file on disk, and saving always goes through an explicit save dialog. A file-backed editor (live path, Ctrl+S write-back, dirty-vs-file tracking) is deferred to a later release.
Install
Grab the 1.6.5 installer for your OS below:
- Windows:
krust-studio-app-1.6.5-setup.exe - macOS Apple Silicon:
krust-studio-app-1.6.5.dmg - Linux:
krust-studio-app-1.6.5.AppImageor.deb
Windows SmartScreen and macOS Gatekeeper may warn because these builds are not publicly notarized/code-signed.
Full changelog: https://github.com/TiveCS/krust-studio/blob/main/CHANGELOG.md
Full Changelog: v1.6.4...v1.6.5
1.6.3
Patch release focused on preserving database-style date/time values in the table explorer.
Fixed
Date and datetime display
DATE / DATETIME values in the table explorer could appear as JavaScript ISO strings such as 2026-06-16T17:00:00..., which made date-only columns look like shifted datetimes.
Krust Studio now renders Date-like values as database-style literals in the visible table UI:
DATE:yyyy-mm-ddDATETIME/ timestamp-like values:yyyy-mm-dd hh:mm:ss- millisecond precision is preserved when present
The same literal formatting is used for the main grid, FK picker, copy text, filter-by-value, edit drafts, and commit review text. Hover tooltips still expose readable local and UTC time.
Install
Grab the 1.6.3 installer for your OS below:
- Windows:
krust-studio-app-1.6.3-setup.exe - macOS Apple Silicon:
krust-studio-app-1.6.3.dmg - Linux:
krust-studio-app-1.6.3.AppImageor.deb
Windows SmartScreen and macOS Gatekeeper may warn because these builds are not publicly notarized/code-signed.
Full changelog: https://github.com/TiveCS/krust-studio/blob/main/CHANGELOG.md
1.6.2
[1.6.2] — 2026-06-18
Fixed
- Renaming a MySQL/MariaDB column no longer errors on older servers — the
alter path emittedALTER TABLE … RENAME COLUMN x TO y, syntax that only
exists on MySQL 8.0.3+ / MariaDB 10.5.2+, so renames failed with a SQL syntax
error on older MariaDB. Renames now go throughCHANGE COLUMN, which is
portable across every MySQL/MariaDB version; the column's verbatim
SHOW CREATE TABLEdefinition is preserved (type, collation, default,
comment, auto_increment). A rename combined with a retype or reorder is folded
into a singleCHANGE.
Full Changelog: v1.6.1...v1.6.2
1.6.1
Krust Studio v1.6.1
A small but annoying bug fix: your unsaved SQL no longer disappears.
Fixed
- Unsaved query text survives switching tabs. Previously, if you typed or pasted SQL into the query editor and
switched to another tab before running it, the draft could vanish when you came back. The editor's unsaved text is now
reliably saved to the correct tab — on blur, while you type, and when you switch away. - Unsaved SQL also survives quitting the app. The workspace is now flushed on close, so an abrupt quit no longer drops
your last few seconds of edits.
No action needed — just update and your drafts stay put.
Full Changelog: v1.6.0...v1.6.1