Last updated: 2026-05-24
Changelog
Release history for Jam SQL Studio. Each release is also shown inside the app via the What's New dialog.
1.4.10 — 2026-05-25
- Feature SSH Tunneling — connect through a bastion without manual port forwarding.For PostgreSQL, MySQL, Oracle, and SQL Server databases sitting behind a firewall, check Connect via SSH tunnel in the connection dialog and fill in the SSH host, port, user, and auth method. Supports SSH agent, private-key (with optional keychain-saved passphrase), and password auth (also keychain-saveable). Start typing a Host alias from
~/.ssh/configto auto-fill host, user, port, and key file. Test Connection is stepwise — it reports the SSH leg and the database leg separately so you can tell exactly which side needs attention. - Feature Object Explorer — pin databases, schemas, folders, and objects.Pin databases, schema containers, folders (Tables / Views / Stored Procedures / Functions), and individual objects to a list above Databases under each connection. Hover any pinnable row and click the outline pin on the right; the icon becomes a filled pin that stays visible. Pinned rows from the same database are grouped into subtle tinted areas with a tiny db-name header (a pinned database with no same-DB siblings renders standalone; single-accessible-DB connections hide the header). Pinned rows are expandable shortcuts — click the chevron and they drill into the same children as the canonical tree. Drag a pinned row by the grip handle on the left to reorder; dropping a pin from one database into the middle of another database's pins simply splits the grouping in place — the pin keeps its database. When pins exist, Databases no longer auto-expands on connect, and the sidebar search excludes the pinned shortcuts so a pinned row never shows up twice. Removed-or-missing targets show lightly greyed when disconnected and strongly greyed with a "no longer present in the database" tooltip when the parent listing has loaded without them.
- Feature Database Blueprint (beta) — schema + data as a folder of .sql files.Materialize a database's full schema and reference data as a folder of
.sqlfiles kept in two-way sync with one or more linked databases — with Refresh from DB, three-way merge, Apply folder to DB, captured row data, per-link MetaInfo, and a built-in Git panel. Supported on MSSQL, PostgreSQL, MySQL, Oracle, and SQLite; Pro is required for databases with more than 200 objects. - Improvement Data Compare — clearer empty/error states and reliability fixes.A bundle of clarity and correctness improvements:
- A comparison with no differences shows an explicit “Source and target data has no differences” message instead of an empty grid.
- A failed comparison (missing column, inaccessible table, dropped connection) now shows the error in the results area instead of silently returning to the empty “select tables” state.
- Switching the compared table re-detects the value/key column mappings, so you no longer get blank Value Columns or an “Invalid column name” failure.
- Collation-independent merge-join ordering eliminates phantom inserts/deletes on binary collations (e.g. PostgreSQL
COLLATE "C"). - Oracle row-count estimation reads both upper- and lowercase
cntaliases, so the Personal-mode row-count cap is no longer silently bypassed.
- Feature Table Explorer — foreign-key navigation breadcrumb.Drill through foreign keys without leaving the tab:
- Foreign-key clicks drill into the referenced row in the same tab via a clickable breadcrumb tree;
Cmd-click (Ctrl-click on Windows / Linux) or the … menu still opens a new tab. - Loose foreign keys are first-class hops, navigable identically to declared FKs — including the peek popover and mini-grid icon column.
- Pure m2m join tables auto-collapse from the breadcrumb (e.g.
orders → order_items → productsrenders asorders › products); right-click a chip and pick Show join tables to override per-table. Cmd+← Cmd+→ Cmd+↑ Cmd+↓(Ctrlon Windows / Linux) traverse the breadcrumb tree; all four are rebindable from Settings → Keybindings.
- Foreign-key clicks drill into the referenced row in the same tab via a clickable breadcrumb tree;
- Feature Table Explorer — Single-Row Details View.A new full-workspace view shows row cells (categorized into Identity / Profile / Foreign keys / State / Timestamps / Counters / Metadata) and related (inbound-FK) data side-by-side, with lazy-loaded Related Data sections.
- Feature Cell edit — enum + FK pickers.Editing a cell in a declared/native enum column now shows a values peek with live filtering (free text always works as a fallback). Editing a cell in a real or loose foreign-key column offers a Search row in … link that opens the same row picker used by filters; polymorphic loose FKs list one entry per matching declaration. Both pickers work in the Query Editor results grid and in Table Explorer.
- Feature MCP & CLI — add connections from agents.AI agents can now add new database connections via the new
connections_addMCP tool andjam-sql connection addCLI command. Off by default; enable in Settings → AI Integrations → Allow AI to add new connections (Deny / Confirm each / Allow). The tool test-connects before saving and encrypts the password at rest. - Fix Schema Compare — loud failure on per-object fetch errors.If a per-object metadata or definition fetch errors mid-comparison (e.g. a stale connection after macOS sleep), Schema Compare now surfaces a clear error naming the failing object instead of silently dropping it from the snapshot. Previously the missing object would be flagged "only in source" on every retry-free run, and the generated
CREATEscript would fail with MSSQL error 2714 ("There is already an object named … in the database"). - Fix Destructive-query confirmation — two tiers, routine bodies ignored.
CREATE/ALTER PROCEDURE,FUNCTION,TRIGGER, andPACKAGE/TYPEbodies no longer false-trigger the dialog when their bodies happen to containDELETE,TRUNCATE, orDROPkeywords (the routine wrapper is inert at submission). A top-levelDROP PROCEDURE/FUNCTION/TRIGGER/VIEWnow shows a milder, distinctly-worded confirmation — the strong "permanent data destruction" warning is reserved for actual data destruction (DROP TABLE,TRUNCATE,DELETE/UPDATEwithoutWHERE). Applies to MSSQL, PostgreSQL, MySQL, Oracle, and SQLite. - Improvement Query Editor — long-running queries no longer feel stuck.The default query timeout is raised from 15 s to 5 min (set Settings > Advanced > Query timeout to
0for no client-side limit); existing installs with the legacy 15 s default are auto-migrated to 5 min on next launch. After 8 seconds the execution-time timer in the status bar turns amber and pulses, and the “Executing query…” indicator above the results grid changes to “Executing query… taking longer” with a one-click Stop — nothing shifts in the toolbar. Multi-batchCREATE OR ALTERand schema-compare apply scripts on SQL Server now execute batch-by-batch through the direct driver so they aren't throttled by SSTS notification overhead. - Fix Licensing — sign-ins stay signed in, with an honest “Verify Now”.Fixed a regression where signing in no longer kept you signed in: the auth request stopped requesting
offline_access, so no refresh token was issued and your Pro session asked for re-authentication about an hour after every sign-in. “Verify Now” on the offline-license banner no longer silently does nothing when your session has lapsed — it reports the outcome and, when the session can’t be refreshed, prompts you to sign in again. A stale Pro session now surfaces a clear re-logon banner (sessions otherwise stay sticky — no routine logouts), and proactive token renewal runs in the main process so sessions survive sleep/wake. - Feature Object Explorer — schema-node context menu.Schema nodes now have Script New (Table / View / Stored Procedure / Function templates scoped to the schema) and Script Schema As (CREATE / DROP SCHEMA on SQL Server and PostgreSQL, plus Script all objects to script every table, view, procedure, and function in the schema).
1.4.9 — 2026-05-21
Highlights: JSON & enum column support and filtered loose foreign keys — declare columns as JSON or enum, peek JSON shape, loose FKs on JSON paths, plus source/target filter scoping for polymorphic and soft-delete-aware references
- Feature Filtered loose foreign keys. Loose FKs now support optional source and target filters. A source filter scopes when the FK applies (e.g. polymorphic associations:
commentable_id → posts.idonly whencommentable_type = 'Post'). A target filter narrows valid target rows (e.g. soft-delete-aware:deleted_at IS NULL). A new peek pane in the editor shows live counts and a 5-row sample so you can validate filters by eye. - Feature JSON column support. From the Table Explorer filter chip, a new
jsonoperator works on native JSON columns and on long-text columns you declare as JSON, with property predicates (=,!=,contains,>,≥,<,≤, existence, validity), JSONPath wildcards ($.items[*].qty), andany/allaggregate sub-operators. An eye-icon button next to the JSONPath input peeks the JSON shape — a popover listing every property path observed for that column. Loose foreign keys can also be declared on JSON property paths so a value inside a JSON document behaves like a real FK. Right-click a declared column to open a JSON details dialog with the inferred property paths, a Refresh from DB re-sample, an optional inference filter, and a Remove JSON declaration action — the same Refresh + Filter affordance also appears in the MetaInfo manager, Settings → Meta Info, and the Declare as JSON confirmation. - Feature Enum column support. Declare a column as an enum and its filter chip becomes a values dropdown — sourced from native enum types,
CHECKconstraints, or sampled distinct values, on all 5 engines. Header glyphs and an Enum values details dialog manage declarations, which round-trip through MetaInfo export/import. Learn more → - Feature Filter Wizard — Peek matching rows. A new eye-icon button in every FilterWizard header (Table Explorer, JSON details, Declare-as-JSON) runs the current filters as a
SELECT *with a 50-row cap against the underlying table and shows the matching rows in an inline popover. Useful for sanity-checking a filter before sampling JSON structure or exporting filtered data. - Feature Table Explorer filters — multiple filters on the same column. You can now stack two or more filters on a single column (e.g.
created_at ≥ …ANDcreated_at < …, or two differentjson property =predicates on the same JSON column), which previously was blocked by a “one filter per column” rule. - Improvement Schema Compare — formatting and clearer diff UI. Routine/view/trigger DDL is now formatted before comparison so indentation- or keyword-case-only drift no longer shows as Modified (toggle Format SQL during comparison, or flip per-diff with the Formatted / Raw pill). The diff reads Source-on-left with connection/database labels, a direction toggle generates the sync script either way (Source → Target / Target → Source) without re-running, and the Script Preview dialog has a split-button Open & Execute action.
- Improvement Results grid — more consistent copy. Ctrl+C on a multi-cell selection now copies both plain text and a formatted HTML table, so pasting into Teams, Outlook, or Word renders a real table. A new Copy as HTML option is also available in the copy-to-clipboard menu (both Query Editor and Table Explorer).
- Improvement JSON column ergonomics. Header glyphs now show three distinct, clickable states — a blue
{}for columns with a JSON declaration, a gray{}for undeclared native JSON columns, and a gray{}?for long-text columns whose rows look like JSON; clicking the blue glyph opens the JSON details inspector, either gray glyph opens the declare dialog, and a Declare as JSON CTA appears atop the Expanded Value dialog when a cell parses as JSON. Nativejson/jsonbcolumns can now carry a declaration too — it attaches path/loose-FK metadata without changing SQL emission. On SQL Server, filters that rely onOPENJSON(wildcard paths,any_*/all_*/is empty) now detect databaseCOMPATIBILITY_LEVEL < 130, warn inline with a Recheck link, keep scalar predicates working viaJSON_VALUE/ISJSON, and suggestALTER DATABASE [<db>] SET COMPATIBILITY_LEVEL = 130;when anOPENJSONerror surfaces. - Improvement Table Explorer — drag-and-drop column reordering. Drag a column header to rearrange columns in the grid; the new order is saved per tab and restored on the next app launch.
1.4.8 — 2026-05-10
- Improvement Schema Compare — improved diff UI. Table diffs now surface dependent-object changes (indexes, foreign keys, triggers) and detect column, table-option, and partition differences.
- Fix Schema Compare — schema filter. The schema filter in the setup dialog now correctly narrows comparisons by schema.
- Improvement Connection and database listing. Clearer error messages when something goes wrong, with an option to send a redacted diagnostic report.
1.4.7 — 2026-05-06
- Improvement Better diagnostics when listing databases fails — click Show details to see the real cause, and optionally send a redacted diagnostic report.
1.4.6 — 2026-05-04
Highlights: Schema Compare overview, recently compared shortcuts, and stability fixes
- Feature Schema Compare overview. A new high-level summary of a comparison run — total counts of added, removed, and changed objects grouped by category, with object-level cards you can drill into without leaving the overview.
- Improvement Schema Compare — Recently compared. The setup dialog now remembers source/target databases from previous comparisons and surfaces them at the bottom of the dialog. Pick the most recent run with one click; expand to see older comparisons, with a search box (visible when there are two or more) that filters by connection or database name. Each entry can be removed individually.
- Fix Schema Compare — stability. Stability fixes for the comparison run, including better error reporting when a comparison fails to start.
1.4.5 — 2026-05-01
Highlights: Loose foreign keys — declare cross-table relationships even when the database has no FK constraint
- Feature Microsoft Entra ID (Interactive Browser). New MSSQL auth mode that opens your default browser for a standard OAuth sign-in.
Use it when your tenant blocks the Device Code flow, or to skip entering a user code. Cached sign-in and Tenant ID override apply to both Entra modes. - Feature Loose foreign keys. Declare cross-table relationships even when the database has no FK constraint.
Picklookupon any column in Table Explorer or Data Profiling filters; the picker pre-fills an inferred target. Once confirmed, the column behaves like a real FK. - Feature Loose-FK cell links. Result grids render loose-FK values as clickable links — teal text with a dashed underline and a chain icon, visually distinct from real FKs.
Click opens the row-preview popover with a “Clear loose relation” action. Works in Query Editor results and Table Explorer. - Feature Schema Overview & Dependency Viewer. Declared loose relationships render as dashed blue edges with a “Loose” badge on connected nodes, so user-declared references stay visually distinct from enforced ones.
- Feature Row Details — loose inbound. The Related-data tab now lists inbound loose-FK rows alongside real-FK inbound, each marked with a “Loose” badge so you can navigate declared parents and children from the same panel.
- Feature MetaInfo manager dialog. Open from the Link2 icon in the Table Explorer toolbar or by right-clicking a database in the Object Explorer (“Manage meta info…”). List/remove declarations, or Export/Import the whole MetaInfo file as JSON to share across machines.
MetaInfo is the foundation for future per-database metadata (table descriptions, AI context, tags).
1.4.4 — 2026-04-30
Highlights: Data profiling, foreign-key lookup picker, and a tidier query editor
- Feature Data Profiling workspace. Inspect any column or table without writing SQL. Right-click a column or table in the Object Explorer and choose Profile data to open a dedicated tab with summary stats, histograms, and top values.
- Feature Foreign-key lookup picker in Table Explorer. Filter FK columns without typing IDs — pick a row from the parent table via a searchable dialog with per-column filters and unbounded FK drill-down.
- Improvement Table Explorer. Streaming row loads, page sizes up to 10,000, parallel data + COUNT queries, “Add to filter” on cell right-click, and a redesigned pagination strip with inline progress.
- Improvement Inline toolbar is now optional. The floating Execute / Peek bar above the cursor statement is off by default. Selection-runnable SQL is surfaced through the toolbar Execute button (which relabels to “Selection”), and the cursor statement gets two small gutter icon buttons next to the line numbers. Re-enable the floating bar from Settings → UI if you prefer the old behaviour.
1.4.3 — 2026-04-24
Highlights: Vertical tabs and a collapsible results pane
- Feature Vertical tabs. Optional vertical layout for the Workspace tab bar — toggle via the new dropdown on the tab bar or Settings → UI. Orientation and column width persist across sessions.
- Feature Collapse the Results pane. Hide the Results / Messages / Plan / Chart pane to give the editor full height. Use the chevron on the right side of the results tab bar (next to the zoom controls),
Cmd/Ctrl+J, or “Toggle Results Pane” in the Command Palette. Each query tab remembers its own collapsed state. - Improvement Inline toolbar — shows on any selection. The floating Execute / Peek buttons now appear for arbitrary text selections, not just detected statements.
- Improvement External file-change detection. Open query files are now watched on disk — when a file is modified outside Jam SQL Studio, the editor picks up the change and offers to reload.
1.4.2 — 2026-04-21
Highlights: Inline Query Toolbar and Object Explorer schema grouping
- Feature Inline Query Toolbar. Floating Execute and Peek buttons appear next to the statement under the cursor and on text selections, with smart placement that avoids overlapping code. Toggle via the Query Editor options menu ("Inline toolbar on cursor").
- Feature Object Explorer — Group by schema. When a database has multiple schemas, schemas now appear as top-level folders in the sidebar with Tables, Views, and Programmability nested inside each one. Kicks in automatically for databases with more than 1 schema and more than 15 objects; switch between Auto / Always / Never in Settings → UI → Object Explorer.
- Improvement Query Editor — Configurable tab size. Pick 2, 4, or 8 spaces in Settings → UI → Editor; applies to the Tab key in all query tabs.
- Fix Status bar — query execution time now refreshes and settles correctly in the status bar when a query finishes.
- Fix IntelliSense / auto-complete — assorted fixes for SQL completion accuracy and stability.
1.4.1 — 2026-04-15
Highlights: Large query results — stream millions of rows without hitting the wall
- Feature Large query results — the 50K row cap is gone; stream millions of rows with windowed virtualization, a live population progress bar, and cancel support
- Feature Streaming CSV export — send multi-million row result sets straight to disk with progress tracking
- Improvement Server-side sort and filter on windowed results, full-fidelity clipboard copy, and pin-as-clone for large result tabs
- Fix Chart rendering fix
1.4.0 — 2026-04-05
Highlights: Oracle PL/SQL Debugger, SQL Server Agent Jobs Manager, and Query Editor power features
- Feature Oracle PL/SQL Debugger — step-through debugging for procedures, functions, packages, triggers, and anonymous blocks with breakpoints, variable inspection, call stack, watch expressions, and AI Chat integration (first full PL/SQL debugger on macOS and Linux)
- Feature SQL Server Agent Jobs Manager — browse, run, stop, create, and edit jobs with dashboard, step editor, schedule builder, plus Operators, Alerts, Proxies, and Error Logs management
- Improvement Column Profiling — null %, distinct count, min/max, avg in results grid headers
- Improvement Peek Results — preview SELECT results in a floating panel
- Improvement FK navigation in query results — click foreign key values to jump to referenced rows
- Improvement Connection Color Theming — color-code connections to distinguish prod/staging at a glance
- Improvement Column Inlay Hints — ghost column names in INSERT VALUES and
SELECT *expansion - Improvement Client-Side Result Filtering — filter row for instant search without re-executing
- Improvement Copy/Export as INSERT — engine-aware INSERT statements for MSSQL, MySQL, Oracle, PostgreSQL
- Improvement Quick WHERE Builder — right-click a cell to append it as a WHERE condition
- Improvement Pin Results — pin result sets so they survive subsequent query runs
- Improvement Smart Query History Search — full-text search with filters (Ctrl/Cmd+Shift+Y)
- Improvement Function Parameter Hints — signature help for function/procedure calls across all engines
- Improvement Package Explorer (Oracle) — browse, search, pin, and edit PL/SQL packages across schemas
- Improvement Cell aggregate bar, zoom controls, and column pinning in the results grid
- Improvement F5 shortcut executes the current query; Oracle packages searchable in command palette
1.3.2 — 2026-03-19
AI Agent Skill Support — one command to connect any AI agent
- Feature AI Agent Skill — run
jam-sql add-skillto teach Claude Code, Cursor, Copilot, Codex, Windsurf, and 20+ other AI agents how to use Jam SQL Studio - Feature CLI pairing —
jam-sql pairsecurely connects the CLI to the running app via challenge-response (no manual token copying) - Feature CLI auto-install — the app bundles the jam-sql CLI and installs it to PATH on every launch, always in sync with the app version
- Feature App launch from CLI —
jam-sql launchstarts Jam SQL Studio if not running;jam-sql pairoffers to launch automatically - Feature App status endpoint — CLI detects blocking dialogs (sessions, trial) and guides the user to dismiss them
- Improvement MCP discovery file written on every app start (even when MCP is disabled) so the CLI always knows the app is running
1.3.1 — 2026-03-18
- Fix Fixed SQL Tools Service download failing behind corporate proxies and firewalls (curl error 35) by adding TLS revocation check bypass and Electron net module fallback
1.3.0 — 2026-03-15
Highlights: Oracle Database Support, Command Palette, Multi-Engine DBA Tools
- Feature Oracle Database support — connect to Oracle databases with full Object Explorer, autocomplete, scripting, editable query results, and Security Manager
- Feature Command Palette — quickly search database objects, switch connections, and navigate workspaces with keyboard shortcuts (Ctrl/Cmd+P)
- Feature Session Browser — monitor active sessions, view locks and wait events, and kill runaway queries across Oracle, SQL Server, PostgreSQL, and MySQL
- Feature Performance Dashboard — real-time performance counters, top SQL, wait statistics, memory usage, and error logs for all four engines
- Feature Tablespace Manager — Oracle tablespace usage visualization, datafile details, I/O statistics, and undo monitoring
- Feature Filegroup Manager — SQL Server filegroup layout, database file details, I/O statistics, and ALTER DATABASE script generation
1.2.3 — 2026-03-02
- Fix Fixed Codex CLI finding issues
1.2.2 — 2026-02-26
Highlights: Table sub-objects in Object Explorer, connection & performance fixes
- Feature Object Explorer now shows Keys, Indexes, Constraints, Statistics, and Triggers under each table with Script as DDL support
- Improvement Switching connections preserves the active database when a database with the same name exists on the new server
- Fix Fixed query editor excessive CPU usage when no results are present
1.2.1 — 2026-02-23
Highlights: Codex CLI integration, Charts in Notebooks
- Feature Codex CLI integration for AI Chat
- Feature Charts in SQL Notebooks — visualize query results with interactive charts
- Improvement Charting enhancements across Query Editor and Notebooks
- Improvement Copy object name from context menu in Object Explorer
- Fix PostgreSQL autocomplete fix
- Fix MS SQL IntelliSense restore fix
1.2.0 — 2026-02-12
Highlights: SQL Notebooks, AI Chat
- Feature SQL Notebooks — interactive notebooks with SQL cells, Markdown documentation, and inline results
- Import .ipynb files from Azure Data Studio and Polyglot Notebooks
- Jupyter-style keyboard shortcuts, drag-and-drop cell reordering, and Run All
- Feature AI Chat — conversational AI sidebar powered by Claude Code with full database context
- Available in Query Editor and SQL Notebooks — ask questions, generate queries, and explore your schema
- Type @ to reference tables, views, and procedures directly in your conversations
1.1.1 — 2026-02-11
- Fix Fixed drag & drop of SQL files not working (file path not readable)
1.1.0 — 2026-02-10
Highlights: MySQL support, Editable Query Results, Transaction Management, Clone Database
- Feature MySQL support — connect to MySQL databases with full autocomplete, schema overview, and browser mode
- Feature Editable Query Results — edit result values directly in the query editor grid
- Feature Transaction Management — explicit transaction control (BEGIN, COMMIT, ROLLBACK) in the query editor
- Feature Script Management — manage and organize SQL scripts
- Feature Clone Database — clone an existing database with schema and data
- Feature File Drag & Drop — drag and drop SQL files to open them
- Improvement PostgreSQL and MySQL multiple resultset handling
- Improvement New connections appear at the top of the list
- Fix Query editor performance improvements
- Fix Fixed join results displaying incorrectly when columns share the same name
- Fix Table Explorer and Expanded Value Dialog icon fixes
1.0.8 — 2026-02-06
Highlights: What's New dialog and Expanded Value Dialog
- Feature What's New dialog — see recent changes after each update
- Feature Expanded Value Dialog — view and edit JSON columns with formatted syntax highlighting or multi-line plain text
Try Jam SQL Studio Today
Download the latest version to get all these features and more.