Releases: fadion/schemaic
Release list
v0.24.0
Schemaic v0.24.0 — three more agent CLIs in the AI panel, and inline generation that follows the one you picked.
Highlights
- Codex, Antigravity and OpenCode join Claude Code. Pick your agent CLI in Settings; all four run with database tools, so the assistant reads your schema and runs queries whichever one you choose.
- Inline generation follows the picker. Ctrl+K now runs on the CLI you selected and honours the effort setting, instead of always reaching for Claude Code.
- An Antigravity conversation keeps one session. Follow-up questions build on what came before rather than starting cold.
Improvements
- The panel says what a session can actually reach — whether the CLI's own tools are sandboxed, and whether MCP servers you have registered with it are live inside the session.
- A session that couldn't get database tools says so, rather than answering as though it had them.
- A stopped turn keeps the answer that had already streamed in.
Fixes
- A schema with non-ASCII names is no longer refused as too large to send: the size was counted in bytes against a limit measured in characters, so a CJK schema could be turned away at a third of its real size.
v0.23.0
Schemaic v0.23.0 — schema compare, binary cells you can open and edit, and Export on every schema node.
Highlights
- Schema compare. Compare two databases side by side from a database row's Compare with: differences grouped by kind, either side's
CREATEas a line diff, and whatever you tick handed to the usual SQL preview as one migration — ordered by dependencies, and honest about what it leaves out. The right-hand side can live on another connection of the same engine. - Binary cells open now. A
<n bytes>cell fetches its bytes on demand into a panel that previews images, and the same panel loads a file into the cell or saves one out — bytes as bytes, never round-tripped through text. Reachable from the keyboard, and offered only where a write could have been aimed. - Export ▸ on every schema node. All six formats, not just SQL: the other five write one file per table into a folder you choose, with the freshly-introspected schema, streamed rows and
.part-until-whole guarantees the SQL dump already made. The results grid reports progress in one modal from launch to dismissal.
Performance
- Data entry stays smooth in a wide grid. One edit used to rebuild every mounted cell — roughly a thousand on a maximised window, twice per Tab-hop. Now only the cell that actually changed.
Fixes
- Set NULL in the row editor, and the Activity panel's lock-wait Kill, answer a mouse click again.
- Large blobs no longer fail to load on MySQL's packet limit or PostgreSQL's protocol, and a small preview sits centred.
- An export that was refused says so instead of finishing quietly.
- Two tables whose names sanitize to one filename no longer overwrite each other in a folder export.
- A stopped export no longer leaves 0-byte
.partfiles behind. - A row's own data can no longer end a PostgreSQL string literal.
v0.22.0
Schemaic v0.22.0 — users and privileges, Excel import and export, and an AI assistant that can finally read the error your query returned.
Highlights
- Users and privileges. A new browser off the SCHEMA gear: every account and role the server knows, what each one may do as the engine's own
GRANTstatements, and forms to create an account, grant or revoke privileges, grant a role and drop — all through the same SQL preview every other schema change goes through. MySQL, MariaDB and PostgreSQL. - Excel. Export any result to .xlsx with each cell carrying the type the server gave it, and import a workbook into a table with the same preview, column mapping and validation a CSV gets.
- The assistant can see the error. A failed query's message now reaches Explain and Ctrl+K with the values taken out and the constraint, column and error class kept — so it can help below Full data access, where it used to be told only that something failed.
Performance
- Previewing a 200k × 50 workbook: 2.8 s and 1 GB → 21 ms and 64 MB. Worksheets stream rather than being expanded into memory, which also means a malformed workbook can no longer take the app down when you pick it.
v0.21.0
Schemaic v0.21.0 — TLS connections, running .sql scripts, importing connections from other clients, and creating databases.
Highlights
- TLS/SSL connections. Connect over TLS on MySQL and PostgreSQL, with a per-connection mode, client certificate and CA paths, and verification against your operating system's trust store.
- Run a
.sqlfile. Execute a script statement by statement from a database's Import — with a confirmation naming the destructive statements it found, and a Stop that cancels the statement actually running. - Import connections from other clients. Bring in saved connections from DBeaver, DataGrip and CLI config files, or paste a connection URL.
- Create and drop databases. From the schema tree's gear, with the generated DDL shown for review before it runs.
Improvements
- Kept results. Pin a result and it stays in a results strip while you run the next query.
- A connection can carry its own database, and new tabs open in it rather than at the server root.
- Refresh a materialized view from the schema tree's context menu.
- Query history rows have a right-click menu — open in a new tab, or delete the entry.
- Databases your role cannot open are hidden, and one that failed to load puts its error behind a View control instead of in the tree.
Performance
- SQL export writes multi-row
INSERTs, so a dump is smaller and reloads faster. - Large
.sqlfiles split in linear time rather than slowing as they grow. - The schema's maintenance probe stops as soon as the answer can no longer change.
Fixes
- A hand-picked import file no longer picks up your
.pgpasspassword, and a skipped entry no longer shows a password in its name. - A write in manual-transaction mode can be cancelled instead of trapping you until it finishes.
- The client's
DELIMITERtoken is no longer sent to the server. - A long connection name or endpoint stays inside the connection switcher, with hosts aligned to its right edge.
- Import is dimmed on a read-only connection.
- Non-ASCII text and a leading byte-order mark no longer break the import parsers or a script file.
v0.20.0
Schemaic v0.20.0 — query parameters, a snippet library, database export, and an inline AI that shows its work in the editor.
Highlights
- Query parameters. Write
:namein a statement, fill the values in a bar below the editor, and what runs is what the bar says — with the substituted statement shown before it goes. - Snippet library. A new panel beside the history, with a starter pack, editable bodies, abbrev expansion in the completion popup, per-connection scoping, and insertion straight from Find-Anywhere.
- Database export. Export a database's structure and data as one replayable
.sqlfile — tables, views, triggers and routines, ordered and quoted so it loads back on MySQL/MariaDB, PostgreSQL or SQLite. - The inline AI works in the editor's own lines. Ctrl+K's suggestion now appears as a diff in the buffer to approve or reject, an AI fix is offered wherever an error is named (the error bar, the error modal, or a right-click on a squiggle), and Explain sends a failed run to the chat panel.
Improvements
- Syntax-coloured previews in the query history, the snippet library and the AI chat's code blocks — all from the editor's own palette.
- Dropdowns rebuilt. The old ones could register a click on the row above or below the one under the pointer.
- The diagram toolbar drops its groups as the panel narrows instead of running off the edge.
- Stop stops a schema read, not only a running query.
- Interface scale now reaches form-field widths, floating-box margins and menu rows.
Performance
- Dragging a panel divider past its limit no longer restyles the schema tree on every frame.
Fixes
- "Read all rows" dims while its re-run is in flight, so a large table can't be read twice by accident.
- A confirmation dialog opens above the modal that raised it instead of behind it.
- Window shortcuts (Ctrl+P, Ctrl+W, the panel toggles) work when focus is outside the SQL editor.
- After a commit, the grid refetches what actually ran — a tab using parameters used to fail.
- A
NULLpasted into the grid round-trips as SQL NULL rather than the text "NULL". - Menu rows fill the panel a scrollbar left them, and a menu taller than the window scrolls.
- Panel toggles and palette rows dim when the window has no room for the panel they open.
v0.19.0
Schemaic v0.19.0 — typed cell editing, MySQL scheduled events, whole-table export, and an interface scale that finally fits the whole app.
Highlights
- Edit a column by what it holds. Cells now open the control their type deserves — a calendar for dates, a picker for
ENUMandSET, a toggle for booleans, a JSON tree — in the grid and the row panel alike, with paste a clipboard block onto a selection and NULL rendered distinctly from the word "NULL". - MySQL scheduled events. Browse and edit them from the schema tree like any other object.
- Export a whole table, not just the rows fetched — and the app now tells you what it could not write, instead of quietly writing a placeholder.
- Interface scale, retuned: each step is named by its percentage, and the app's own chrome scales with it rather than only the editor.
Improvements
- Read a capped result again at a bigger cap, from the notice itself.
- Statement timeout — an optional bound on a runaway query.
- Scroll the last row (or line) to the top of the pane, in both the grid and the editor.
- The log file has a route out of the app, and a panic is recorded in it rather than nowhere.
- Copy and paste follow the columns as drawn, so a reordered or frozen column no longer lands values in the wrong place.
Performance
- Wide results stream faster: the per-cell type walk happens once per result rather than per cell, and a streamed chunk is bounded by bytes.
- Pasting a large block stages in a single update instead of one per cell.
Fixes
- A failed export leaves the original file untouched — it writes a
.partsibling and renames it only on success. - A second PostgreSQL result set no longer merges into the first set's columns.
- A locked SQLite file now says what is holding it, and waits rather than failing outright.
- A failed DDL asks the server whether it spent the transaction, instead of assuming.
- A statement that was never sent is reported as that, not as a timed-out query.
- Dates: a UTC offset MariaDB refuses to read is no longer sent, and the offset follows the destination rather than the old text.
- Bit-fields export as numbers, and blobs no longer reach the formats that read them back.
- The log opens owner-only, and the SSH driver can no longer be asked for a password through
RUST_LOG. - Modals keep the window's keyboard, cap against the layer they are centred in, and the title bar keeps working underneath them.
- Menus, calendars and dropdowns open clear of the control that drops them, and close with the cell that opened them.
v0.18.0
Schemaic v0.18.0 — Server Activity, stored functions and procedures, AI schema proposals, and ER diagram export.
Highlights
- Server Activity panel. See what the server is actually doing — every session, what it's running, how long it's been there, and which one is blocking the others — and terminate a query or a whole session from the list. Polls on a per-connection interval you set, so a production replica and a local database don't have to share one. Works on MySQL/MariaDB and PostgreSQL.
- Stored functions and procedures. They appear in the schema tree, and there's a full editor for them: signature, body, characteristics, with the generated DDL shown for review before anything runs. MySQL/MariaDB and PostgreSQL.
- The assistant can propose a schema change. Ask for one and it comes back as a described change you review and apply yourself — it never runs DDL on its own. It can also see the result grid on screen, and sends actual rows only when you attach them.
- ER diagram export. Save the diagram as an image (PNG/SVG), or as source for another tool — DOT, Mermaid, PlantUML or DBML.
Improvements
- Generate an INSERT, UPDATE or DELETE draft from a table's context menu, with the columns filled in.
- Hide databases you don't work in with the Schema eye, and they stay out of the tree, autocomplete, new tabs and everything the assistant is told.
- Assistant's replies are no longer boxed in bubbles — long answers read as text, with an optional accent rule instead.
- Query history marks its recency bands in the accent, so today's runs are distinguishable at a glance.
- A first run offers "New connection" where the switcher would be, instead of hiding the only useful action three clicks down a menu.
- An unreachable connection gives up in about five seconds, matching the header, rather than after 21 seconds on MySQL or a minute on PostgreSQL.
Fixes
- A new tab no longer opens inside a database you've hidden, including when two connections both have a database of that name.
- SQLite refuses
:memory:and URI filenames, which accepted every write and kept none. - Ctrl+K no longer splices the editor buffer into its prompt unfenced.
- A failed run's engine error stays local unless the connection's data-access level allows it out.
v0.17.1
Schemaic v0.17.1 — a maintenance release with no user-facing changes. The app
behaves exactly as v0.17.0 does, and there is nothing here to update for if you
already have it.
Everything in this tag is release-pipeline and documentation work. The one piece
worth naming: the release workflow now refuses to build if a Velopack update
channel is ever renamed. A channel name is how an installed copy finds its update
feed, so renaming one would quietly cut every existing install off from updates —
a mistake that only shows up months later, in the field, as an app that has
silently stopped updating.
v0.17.0
Schemaic v0.17.0 — macOS support, on Apple Silicon.
Highlights
-
Schemaic runs on macOS. A
.dmgto drag into/Applications, or a.pkg
if you'd rather have an installer — both update themselves from then on. The
one-line installer handles it too:curl -fsSL https://raw.githubusercontent.com/fadion/schemaic/main/install.sh | bashApple Silicon only; there is no Intel build. The app isn't signed with an
Apple Developer ID, so a.dmgdownloaded in a browser needs one trip through
System Settings → Privacy & Security → Open Anyway the first time. The
installer script above avoids that entirely, and not by weakening anything —
macOS quarantines what a browser downloads, andcurldoesn't set that flag.Treat this one as a preview. It compiles on macOS and the full test suite
passes there, but no one has yet sat in front of it on a Mac. The window
frame — where macOS keeps its traffic lights and Schemaic draws its own header
around them — is the most likely thing to look wrong. Please report anything
that does.
Windows and Linux builds are unchanged.
v0.16.4
Schemaic v0.16.4 — .deb and .rpm packages for Linux, a one-line installer, and a documented way in.
Highlights
-
Linux packages. Schemaic now ships a
.deband an.rpmbeside the AppImage, each with a desktop entry, an icon and software-centre metadata, so it installs and uninstalls like anything else on the system. A one-line installer picks the right one for you:curl -fsSL https://raw.githubusercontent.com/fadion/schemaic/main/install.sh | bashThe AppImage remains the only Linux build that updates itself — a
.debor.rpmis updated by re-running the installer.
Improvements
- The README now says how to install Schemaic. The Windows installer and the Linux builds were only findable by opening the Releases page and guessing at the filenames.
- The app mark sits at the head of the header, to the left of the connection switcher.