Release Notes

What's new in each version of SQLPro Studio and the SQLPro database apps.


2026.253

Latest
  • Android: SQLPro Studio, SQLPro for MySQL and SQLPro for MSSQL are now available on Google Play. Existing subscription license keys unlock the Android apps.
  • SQLite: Field and table CHECK constraints can now be added, edited and removed in the table designer (new Constraints tab, and a Check column in the New/Alter Table sheet), and existing CHECK constraints now survive table changes instead of being dropped. #480
  • SQLite: Fixed table designer changes (columns, indexes, foreign keys, triggers) not being applied in 2026.238 and 2026.247.
  • SQLite: Added an "All rows" option to the Data tab's rows-per-page picker (and in Settings > General) for browsing a whole table without paging. #993
  • App Store builds: restoring a purchase now unlocks the app immediately, and fixed the trial screen sometimes appearing on a cold launch for licensed users. #1173 #1169
  • Fixed an issue where license keys that have renewed could sometimes show expired until you manually hit the refresh button.
  • Results grid: new selection aggregates strip showing count, sum, average, minimum, maximum, median and mode for the selected cells, toggled per tab with the sigma button. #286 #948
  • Results grid: added "Select column" to the header menu, and Cmd-click on a header does the same. #1172
  • Results grid: you can now choose the copy separator and how headers are copied, and added "Copy nulls as blank string". #1167 #1168 #1157
  • Sidebar: new text size preference, plus a redesigned tree and autocomplete icon set. #1170
  • Sidebar: Delete drops the selected object and Return renames it. #1162
  • Sidebar search: you can now limit results by object type with "Find tables & views". #1165
  • Oracle: stored procedures now have their own menus, with an INVALID badge, a Compile action, and parameter rows. #779
  • Oracle: fixed new connections saving a service name into the SID field, which failed with ORA-12514.
  • MSSQL: fixed exports destroying non-Latin1 text, duplicated tables losing their triggers and data, and PERSISTED being dropped from computed columns. #1155
  • MSSQL: queries now retry automatically after an Azure idle disconnect. #1163
  • Azure Synapse: dedicated SQL pool support, covering procedure and function scripting, index scripting, column lists, and hiding the Triggers folder where it does not apply.
  • SQLite: fixed table rename aborting partway with "no such table", views and triggers are now rewritten with the tokenizer on rename, and saving copies the database instead of routing it through memory.
  • SQLite: TEXT columns are read as text rather than raw bytes. #1152
  • MongoDB: fixed a crash when editing a document.
  • Autocomplete: fixed bare column names going missing for real tables. #1166
  • Connections list: no longer probes every saved server on every refresh, which could trip MySQL's max_connect_errors limit. Also shows a real "not checked" state and fixes the refresh button. #1154
  • Settings: separate font preference for results grid headers, and keyboard shortcuts no longer decay when the settings window reloads them. #1151 #1160
  • Polish pass across 16 dialogs, fixing button spacing and clipped labels, plus spelling and grammar corrections in user facing text. #1161 #1159 #1153
  • macOS: added a command line interface, so SQLPro Studio --list and --connect can open a saved connection from the terminal.
  • iOS: you can now add a row to a table, the results grid has a selection action bar, and fixed a crash when sorting or resizing a column header on iOS 26.
  • MongoDB: Major update. Added transactions, an aggregation-pipeline builder, saved query files, a collection inspector, inline results-grid editing with BSON type safety, result-set export and copy, collection import / rename / empty, sidebar admin actions, a read-only connection option, TLS support, mongo-shell syntax highlighting and autocomplete, and a redesigned connection editor. Fixed mongodb+srv DNS resolution on restricted networks.
  • SQLite: The Data tab now pages through large tables with LIMIT / OFFSET instead of loading everything, with a rows-per-page preference and cancelable loads. #993
  • MySQL: Fixed the export window coming up empty, exports failing silently, foreign keys being emitted too early in the script, and views being exported in an order that broke dependent views. #1148 #1150
  • Query History: You can now delete individual entries or clear the whole history, and connectors exclude statements containing credentials or other secrets from being recorded. #1146
  • Oracle: Stopped forcing the UTF8 character set so non-UTF8 databases decode correctly. Added a Schema Grouping picker on macOS and a Read only toggle on iOS. #1147
  • Snowflake: Sessions now re-authenticate automatically when a shared SSO session expires, and concurrent logins share a single authenticated session instead of opening a browser popup per connection. Column types, server status messages, and NULL values now render correctly. Fixed an autocomplete crash on unqualified table and view names. #1088
  • Postgres / Redshift: Fixed a crash when using Copy as SQL update on some result sets, and made row editing resolve schemas correctly on Redshift. Fixed a connection crash in the bundled PostgreSQL client library. #1145
  • MSSQL: Fixed a crash in the underlying FreeTDS layer during query cancellation.
  • SSH tunnels: Connections now use the hostname you typed, falling back to the resolved IP, so host-based server rules keep working.
  • Query Formatting preferences now include a live preview of your settings.
  • Opening a file from Finder now reuses the right window, brings it to the front, and reports failures instead of silently doing nothing.
  • Your SQLPro Studio license key now activates the single-database apps (SQLPro for MySQL, Postgres, MSSQL, SQLite, Oracle) at no extra cost.
  • iOS: Added license-key entry to the App Store paywall and Settings.
  • Stability: Fixed crashes when moving SQLite columns, renaming triggers, backtabbing between grid cells, restoring windows on launch, and cancelling a running query. Table designer, Create Table, Create Database, and file opening now run off the main thread so the UI stays responsive.
  • Fixed the macOS 26 autofill popup covering alert sheets in connection windows.
  • Query formatter: River-style refinements based on user feedback -- river now respects your chosen comma placement instead of forcing leading commas, leading commas sit on the column side of the river, JOIN / ON clauses sit "over the river" on the data side, and a new option keeps the first item on the clause keyword's line. #606
  • Snowflake: Modern authentication has been added: key-pair, programmatic access tokens (PAT), OAuth, MFA, and external-browser single sign-on (SSO).
  • Snowflake: Added a session-parameters editor and warehouse / database pickers to the connection editor, NULL values now display correctly, and fixed an autocomplete crash on unqualified table and view names.
  • Snowflake & Oracle: Redesigned connection editors with a cleaner layout, stock icon picker, and live validation.
  • MySQL: Fixed plaintext connections that failed in the UI even though the connection succeeded, and stopped forcing SSL when SSL mode is set to "Prefer".
  • MSSQL: Added support for encrypted (SSL/TLS) connections. #34
  • Editor & result grids: Home / End / Page Up / Page Down now move the cursor or selection (not just scroll), in both the query editor and the result grids, with a new "Home and End keys" preference. #1038
  • MSSQL: More accurate statement splitting -- GO batches and BEGIN TRANSACTION blocks are now treated correctly -- plus better handling of schemas and identifiers that contain periods, and a fix for a connection-corruption issue. #986 #1139
  • Fixed a multi-second freeze when selecting all text in a large document, plus general editor and large-document performance improvements.
  • Fixed query tabs being lost after an app or macOS update. #1140
  • Improved result-grid scroll bar visibility. #712
  • Various stability improvements: the table designer, Create Table, and Create Database now do their work off the main thread for a more responsive UI.
  • Fixed an issue where favorites would not always load properly. #1137
  • Redshift: Fixed connection issues, a "drop materialized view" statement that generated invalid SQL, and separate stored-procedure handling.
  • Redshift / Postgres: Tree now splits Functions and Procedures and shows an Indexes hint; fixed several Redshift-specific schema and refresh issues. #1003 #882 #1136
  • Postgres: Fixed a crash that could occur when connecting under libpq 17.10.
  • Fixed Delete Row no longer working. #1135
  • Redesigned the unsaved-tabs experience: a single review dialog when closing, separate save prompts for scratch tabs versus file-backed tabs, and per-tab-type preferences. Discarding now actually closes the tab and removes its recovery file. #1133 #1111 #977
  • Fixed date columns not sorting correctly. #1134
  • CSV import: the column-mapping dialog now shows which columns allow NULL. #1132
  • Added Export and Import for settings and connections. #146
  • Fixed "Find Objects" not working and not returning matching columns, and you can now open views and stored procedures directly from the search sidebar. #1089 #1097 #1118
  • MongoDB: Fixed databases not showing and a disconnect not clearing the active connection. #1126 #1130
  • Fixed number columns sorting incorrectly. #1131
  • Fixed CSV import failing for some files. #1113
  • Fixed the macOS dock-menu Quit not honoring your save-state preference and showing a spurious save prompt. #1129
  • Fixed favorites occasionally showing blank on launch.
  • Added a Geometry viewer for spatial data. #688
  • Fixed Duplicate Table always failing. #1123
  • SQLite: Fixed frequent crashes some users were seeing. #1128
  • Postgres: Fixed an error when expanding tables in the database tree. #1127
  • Redesigned Window & Session behavior preferences: separate controls for "save state and restore on next launch" versus a clean shutdown, plus independent prompts for closing a tab and closing a window or the app. Save-state users no longer see a misleading "unsaved changes will be lost" warning.
  • File-backed query tabs are now always autosaved using native macOS autosave.
  • Cmd+Q now dismisses the connection picker and quits the app cleanly.
  • Database tree restore is dramatically faster on connections with very large schemas.
  • Fixed a hang when opening very large SQL files.
  • Fixed alias-aware syntax highlighting after restoring a query from History.
  • Fixed crashes: Copy as SQL update on certain result sets, expanding an Oracle table whose parent had no schema, and a SQLite auto-refresh crash that could fire when another process was writing to the database.
  • Redesigned the copy-to-clipboard progress dialog used by every result-grid copy action (CSV, TSV, monospace, markdown, SQL inserts, SQL updates). Shows the connection icon, real row counts, and a working Cancel button on large copies.
  • Fixed a bug where Copy as SQL update could fail because column metadata was being fetched on the main thread.
  • MySQL on iOS: SSL connection details (mode, CA cert, client cert, client key) can now be edited directly from iPad. Previously SSL had to be configured on Mac and synced over (GH #166).
  • Fixed alias-aware syntax highlighting after restoring a query from History.
  • SQLite (Setapp): launching no longer prompts to sign in to an Apple Account.
  • Various stability and connection picker keyboard-shortcut fixes (cmd+Q now dismisses the connection sheet and quits cleanly).
  • MongoDB: Fixed an issue where the database list could be empty for non-admin users.
  • Postgres: Fixed an issue loading foreign keys when schema or table names were NULL.
  • Fixed an issue where expanding tables would not always show the columns.
  • Fixed a crash on iOS when opening a connection with an SSH tunnel that has no port configured.
  • Fixed a crash related to SQLite change notifications on macOS 26.
  • Fixed a rare crash related to key-repeat in the main window tab controller.
  • iOS: Opening a non-UTF-8 text file (Windows-encoded CSV, SQL dump, etc.) now falls back to auto-detection and then Latin-1 instead of silently failing.
  • iOS: Files that genuinely cannot be opened now show a clear error alert.
  • Improved connection port sanitization in the iOS connection list to prevent display glitches.
  • macOS: Redesigned the purchase dialog with a SwiftUI "What you get" feature card.
  • SQLite: Improved detection of UNIQUE constraints by using the tokenizer instead of regex.
  • Fixed a launch issue on macOS for SQLPro for Snowflake and SQLPro for MongoDB.
  • Facebook SDK on iOS is now fully gated behind a build flag; no tracking in builds that don't need it.
  • Aligned marketing versions between macOS and iOS.
  • iOS: Linked GEOSKit into SQLPro for MSSQL, Oracle, Postgres, and Snowflake for future PostGIS / spatial work.
  • iOS: Regenerated connector app icons in a consistent flat style.
  • Modernized the Favorites designer window (larger window, cleaner chrome, SF Symbol +/- controls, autocomplete wired to the query field).
  • Added a configurable "Select top" limit. #1119
  • Added token support when running a favorite. #1120
  • macOS: Tree tab-bar icons dim when the host window isn't main. #1121
  • Normalized tree context-menu item titles across connectors.
  • Added "Show in Finder" to favorites metadata.
  • Oracle: Icon refresh, tree loading hint cleanup, favorite dialog label tweak. #1117
  • iOS: Custom connection icons now round-trip correctly (copy, orientation, cell refresh).
  • iOS: iCloud icon-ready observers keep the tree in sync when icons arrive.
  • iOS: Unified connection validation across connectors.
  • Added custom per-connection icons with iCloud sync and an in-app crop editor. #1114
  • Extended custom connection icons to every icon surface (lists, tabs, tree).
  • Postgres: Result grid now decodes PostGIS EWKB hex properly. #952
  • iOS: Fleshed out the connection editor with icon cropping, color picker, validation, and hints.
  • Every connection-list context menu item now has an SF Symbol.
  • Fixed a NoSQL collection picker crash.
  • Hardened error/array handling across connectors.
  • iOS: SQLPro for MSSQL updates and a swift-log bump.
  • Query formatter: Added Celko-style "river" alignment.
  • Query formatter: Break nested CASE onto its own line.
  • Query formatter: Expose layout and spacing options in Query Formatting preferences.
  • Query formatter: Configurable max-line-width with preset picker.
  • Query formatter: Configurable blank lines between semicolon-terminated statements.
  • Query formatter: Toggle for space after comma.
  • Query formatter: Break JOIN...ON onto its own line.
  • Query formatter: Expand BETWEEN...AND onto a deeper indent.
  • Query formatter: Expand long IN(...) lists onto separate lines.
  • MySQL: Moved post-connect autocomplete init off the main thread for faster UI.
  • Tokenizer: Per-dialect handling of backslashes inside strings. #981
  • MongoDB: Improved reliability and performance.
  • MongoDB: New visual filter builder -- build queries with a point-and-click interface instead of writing JSON (column picker, 16 operators including contains/regex/exists/null checks, with AND/OR logic).
  • MongoDB: New visual sort editor (add/remove sort fields, ASC/DESC toggle).
  • MongoDB: New projection editor (checkbox grid to include/exclude fields, Select All/None).
  • Fixed a crash that could occur when exporting to CSV.
  • Fixed SQL Formatter incorrectly adding spaces to the || (concatenation) operator.
  • Improved CSV import handling for non-numeric strings in numeric columns.
  • Fixed an issue where editing multiple rows could generate incorrect UPDATE queries due to stale column state.
  • Duplicate database dialog now includes an "Include data" option.
  • Added Duplicate Database context menu for MSSQL, MySQL, and Postgres.
  • Fixed database tree disclosure triangles requiring a double-click on recent macOS versions.
  • Fixed a Postgres table export issue.
  • Updated the connection window UI for macOS 26.
  • macOS 26 improvements.
  • Fixed query formatting with pipe concatenations.
  • Additional macOS 26 improvements.
  • Additional macOS 26 improvements.
  • Cmd+C now copies the entire line when no text is selected.
  • Fixed a search issue with MSSQL connections.
  • Improvements to the "Run current query" feature.
  • Improvements to MySQL comments handling.
  • Improvements to Postgres table scripting.
  • Fixed a crash during CSV import.
  • Fixed a query formatting issue.
  • Fixed a crash that could occur at startup.
  • Fixed a crash that could occur when deleting records.
  • Fixed markdown / formatted-text export of empty fields.
  • Added a keyboard shortcut for the secondary query export option.
  • Fixed a column sizing issue.
  • Added column autosize options.
  • Fixed an SSH tunnel issue.
  • Internal cleanup.
  • Fixed an inline result editing UI issue.
  • Fixed a crash in preferences.
  • Fixed a crash that could occur when modifying MySQL table structures.
  • Fixed an issue that could cause a crash when deleting records. #965
  • Fixed an issue that could cause a crash when removing the 'format query' shortcut. #964
  • Fixed a crash that could occur during autocomplete.
  • Performance improvements with the query editor.
  • Crash fix related to the query editor.
  • Added an option to set a default query for a table. #940
  • Added an option for generic tabs to not be promoted for a save. #949
  • Added an option to disable the cmd + number shortcuts. #942
  • Added the option to set a default query to be executed for tables. #940
  • Added support for right aligning numericals. #914
  • Added support for importing from JSON files. #924
  • Added support for exporting tables directly to Json via the database tree table context menu.
  • Moved themes location on file system. #780
  • Added support for keyboard shortcuts to export result sets as csv/json/xml. #913
  • Renaming a table will instantly update the autocomplete. #922
  • You can refresh a tab loaded from the file system by right clicking the tab and choosing 'Reload file'. #902
  • You can now delete a MySQL database from the database tree by right clicking on the database and choosing 'Drop database'. (There are confirmations before any deletions). #911
  • Fixed an issue with paste.
  • Fixed an issue with CR vs LF. #904
  • Fixed an export issue.
  • There is now an option to sync preferences via iCloud. #686
  • There is now a preference to auto-capatialize as you type. #536
  • Fixed an issue with decimal display. #890
  • Fixed an issue with csv export not showing all schemas in postgres. #889
  • Fixed horizontal grid setting not working properly. #880
  • The 'export as csv' settings will now persist. #885
  • Added 'decimal separator' and 'thousands separator' to the results appearance section in preferences.
  • Made improvements to MySQL connections (there is now an option to disable compression - which is disabled by default). #884
  • Fixed an issue where grid appearance was not working properly. #880
  • Fixed an issue with column wildcard search in autocomplete. #879
  • Select all occences context menu will now select the word in scope if no selection has already been made. #789
  • Added support for MSSQL 'table shortcut' in autocomplete. #877
  • Added a 'Select All Occurrences' context menu item to the editor. #789
  • Improvements with connection storage.
  • You can now specify the 'focus database tree' and 'focus database tree search' shortcuts. #870
  • Made some improvements with storing history.
  • Fixed a crash which could occur when cancelling a mysql query.
  • Added a readonly option for connections.
  • Fixed an issue which could cause a crash when discarding changes to edited rows.
  • MSSQL user-created types now show the type details in the database tree.
  • Resolved an issue with 'format query'.
  • Fixed an issue where device sleeping may not properly close all connections. #847
  • Autocomplete insertion can now be toggled to include/exclude tab and enter. #845
  • Improved alias scope detection. #844
  • Fixed an issue where query formatting could skip some objects. #815
  • Fixed an issue where views in postgres were being treated as tables.
  • Fixed an issue where expanding triggers in postgres could cause a crash. #842
  • Postgres connection string support. 810
  • Fixed an issue with postgres connection speed. #749
  • Fixed an issue with snowflake and variables. #840
  • Fixed keyboard shortcut for search in result sets.
  • You can now re-order result columns. #818
  • Fixed an issue with searching and modify columns.
  • Fixed an issue with right click -> edit on some postgres result sets. #821
  • The truncate table dialog now includes the hostname and database details on the confirmation panel.
  • Fixed an issue with mssql IDENTITY_INSERT. #825
  • Added a 'find column' hotkey. #819
  • Added a 'make uppercase' and 'make lowercase' hotkey. #814
  • Shift + Enter no longer indents. #813
  • You can right click and 'switch to tab' on the tab bar now. #808

abcdef