Skip to content

Commit 8d6e543

Browse files
committed
1 parent f1af662 commit 8d6e543

3 files changed

Lines changed: 70 additions & 27 deletions

File tree

CHANGELOG.md

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,43 +7,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.58.0] - 2026-07-18
11+
1012
### Added
1113

12-
- Connect through a SOCKS5 proxy. Set a host, port, and an optional username and password on the connection form's new SOCKS Proxy pane, alongside SSH Tunnel, Cloudflare Tunnel, and Cloud SQL Auth Proxy. The database hostname is resolved by the proxy, so names that only resolve behind it work. (#1882)
13-
- SQL Server connections can now use Windows Authentication (Kerberos) on macOS. Pick Windows Authentication in the connection form to sign in with the Kerberos ticket you already have from `kinit`, or enter a Kerberos principal and password to sign in with your domain credentials. Connect by hostname, not IP address. (#1879)
14-
- Teradata support through a downloadable driver written in native Swift. Connect over TD2 or TDNEGO logon, optionally with TLS, browse databases, tables, and columns, run SQL, edit rows, and create or alter tables. (#1867)
15-
- The sidebar database tree now remembers which databases and schemas you had expanded, per connection, so reopening a window keeps them open.
16-
- A Saved Customizations section in Settings lists the tables where you set column layouts or filters, and lets you reset any one of them, or all.
17-
- Per-table column layouts (widths, order, and hidden columns) now sync across your Macs with iCloud when Settings sync is on.
14+
- Connect through a SOCKS5 proxy, set on the connection form's new SOCKS Proxy pane. The proxy resolves the database hostname, so names that only resolve behind it work. (#1882)
15+
- SQL Server connections can use Windows Authentication (Kerberos) on macOS. Sign in with your existing `kinit` ticket, or enter a Kerberos principal and password. Connect by hostname, not IP address. (#1879)
16+
- Teradata support through a downloadable native Swift driver. Connect over TD2 or TDNEGO, optionally with TLS, browse databases, tables, and columns, run SQL, edit rows, and create or alter tables. (#1867)
17+
- The sidebar database tree remembers which databases and schemas you expanded, per connection, so reopening a window keeps them open.
18+
- A Saved Customizations section in Settings lists the tables where you set column layouts or filters, and lets you reset any or all of them.
19+
- Per-table column layouts (widths, order, and hidden columns) sync across your Macs with iCloud when Settings sync is on.
1820

1921
### Changed
2022

21-
- The query result row cap no longer adds a LIMIT to the SQL it sends. Your query now runs exactly as you wrote it and TablePro stops reading once it reaches the cap, which is how SQL Server and Oracle already worked. Adding a LIMIT could change how the server planned a query with an ORDER BY, and return different rows than the query you typed. (#1884)
22-
- The Settings window groups the data grid, pagination, result formatting, JSON viewer, query history, and saved per-table customizations under a new Data tab, and moves recent tables, object comments, and default sidebar layout under the General tab.
23+
- The query result row cap no longer adds a LIMIT to your SQL. The query runs as written and TablePro stops reading at the cap, so a query with ORDER BY no longer returns different rows than you typed. (#1884)
24+
- Settings groups the data grid, pagination, result formatting, JSON viewer, query history, and saved customizations under a new Data tab, and moves recent tables, object comments, and default sidebar layout under General.
2325

2426
### Fixed
2527

26-
- Fixed split view dividers not showing the resize cursor on hover in the Users and Roles, Structure, Server Dashboard, and SQL editor panels, even though the dividers could be dragged. (#1905)
27-
- Fixed a query with a comment after the closing semicolon, such as `SELECT 1; -- note`, being run as two statements, with the trailing comment sent to the server as a failing second statement. Running a comment-only query or selection now does nothing instead of producing a server error, and AI and MCP clients are no longer told such a query is multi-statement. (#1895)
28+
- Fixed the split dividers in the Users and Roles, Structure, Server Dashboard, and SQL editor panels not showing the resize cursor on hover, even though they could be dragged. (#1905)
29+
- Fixed a query with a comment after the closing semicolon, such as `SELECT 1; -- note`, running as two statements and failing on the trailing comment. A comment-only query now does nothing instead of erroring. (#1895)
2830
- Fixed duplicating a connection dropping its Cloudflare Tunnel and Cloud SQL Auth Proxy settings and stored secrets.
29-
- Fixed the tunnel panes warning about only some of the other enabled connection methods. Each pane now lists every conflicting method with a button to turn it off.
30-
- Fixed Copy as, the context menu's Delete, and the Edit menu's copy and delete commands acting on only the active row instead of every row in a cell-range or column selection in the data grid. (#1898)
31+
- Fixed the tunnel panes warning about only some conflicting connection methods. Each pane now lists every one with a button to turn it off.
32+
- Fixed Copy as, Delete, and the Edit menu's copy and delete acting on only the active row instead of the whole cell-range or column selection in the data grid. (#1898)
3133
- Fixed the Edit menu's Copy as JSON copying the wrong rows when the grid was sorted or filtered. (#1898)
32-
- Fixed tables picked in the sidebar showing up unchecked and getting silently skipped when exporting to SQL or MQL. The export sheet now checks them and applies the format's default per-table options, so Export works right away.
33-
- Fixed ClickHouse queries showing only a success message with no result table. TablePro guessed whether a query returns data from its first word, which failed for queries starting with a comment or with SELECT on its own line. It now reads what the server actually returned, so any query that produces a result set shows the grid, including empty results and queries with their own FORMAT clause. (#1886)
34+
- Fixed tables picked in the sidebar showing up unchecked and being skipped when exporting to SQL or MQL. The export sheet now checks them with the format's default options. (#1897)
35+
- Fixed ClickHouse queries showing only a success message with no result table. TablePro now reads what the server returned instead of guessing from the first word, so any query that produces rows shows the grid, including empty results and queries with their own FORMAT clause. (#1886)
3436
- Fixed ClickHouse INSERT statements always reporting 0 rows affected. (#1886)
3537
- Fixed ClickHouse query exports writing an empty file when the query started with a comment. (#1886)
36-
- Fixed a restored window tab sometimes showing a blank name in the tab bar until you switched to it. (#1894)
38+
- Fixed a restored window tab sometimes showing a blank name until you switched to it. (#1894)
3739
- Fixed the window title not updating right away after saving a query to a file or opening a favorite into the current tab. (#1894)
38-
- Fixed the SQL editor in a new tab losing keyboard focus after the first couple of characters, which stopped further typing until you clicked back into the editor. (#1885)
39-
- Cancelling a SQL Server connection now stops waiting right away instead of staying stuck until the attempt finished on its own. A connection attempt also gives up after the login timeout with a clear message rather than hanging, and for Windows Authentication the message points at the usual Kerberos causes (KDC unreachable, missing SPN, or clock skew). (#1889)
40-
- Fixed MySQL and MariaDB queries ending in ORDER BY that could show an empty result with no error. A failure part way through reading rows was treated as a normal end of results, so a real server error looked like a table with no rows. TablePro now shows the error the server reported. (#1884)
40+
- Fixed the SQL editor in a new tab losing keyboard focus after the first couple of characters, which stopped typing until you clicked back in. (#1885)
41+
- Cancelling a SQL Server connection now stops right away instead of waiting for the attempt to finish. A connection also gives up after the login timeout with a clear message, and for Windows Authentication points at the usual Kerberos causes (KDC unreachable, missing SPN, or clock skew). (#1889)
42+
- Fixed MySQL and MariaDB queries ending in ORDER BY showing an empty result instead of a server error. A failure while reading rows was treated as the end of results, so TablePro now shows the error. (#1884)
4143
- Fixed the query result row cap returning a single row when it was set to unlimited. (#1884)
42-
- Fixed SSH tunnels that could accept a database connection and then go quiet instead of forwarding it or failing, which showed up as MySQL and MariaDB connections timing out while reading the server greeting. A tunnel that cannot open its forwarding channel now gives up after 10 seconds, closes the connection, and logs the reason, instead of leaving the driver to wait out its own timeout with no explanation. (#1883)
43-
- Fixed connections being reset when a single database session opened several at once through one SSH tunnel, which could happen while browsing schemas. (#1883)
44-
- Fixed the connection form's SSH tunnel Socket Path hint always showing the PostgreSQL socket path. It now shows the right default for the database type, such as `/var/run/mysqld/mysqld.sock` for MySQL and MariaDB. (#1902)
44+
- Fixed SSH tunnels that could accept a connection then go quiet, which showed up as MySQL and MariaDB timing out while reading the server greeting. A tunnel that cannot open its forwarding channel now gives up after 10 seconds and logs the reason. (#1883)
45+
- Fixed connections being reset when a single session opened several at once through one SSH tunnel, which could happen while browsing schemas. (#1883)
46+
- Fixed the connection form's SSH tunnel Socket Path hint always showing the PostgreSQL path. It now shows the right default per database type, such as `/var/run/mysqld/mysqld.sock` for MySQL and MariaDB. (#1902)
4547
- Per-column display formats (Display As) are now kept per table, so two tables with the same name in different databases or schemas no longer share formatting.
46-
- Reopening a table now restores a saved filter's AND/OR match mode, instead of always resetting it to AND.
48+
- Reopening a table now restores a saved filter's AND/OR match mode instead of resetting it to AND.
4749

4850
## [0.57.1] - 2026-07-15
4951

@@ -2568,7 +2570,8 @@ TablePro is a native macOS database client built with SwiftUI and AppKit, design
25682570
- Custom SQL query templates
25692571
- Performance optimized for large datasets
25702572

2571-
[Unreleased]: https://github.com/TableProApp/TablePro/compare/v0.57.1...HEAD
2573+
[Unreleased]: https://github.com/TableProApp/TablePro/compare/v0.58.0...HEAD
2574+
[0.58.0]: https://github.com/TableProApp/TablePro/compare/v0.57.1...v0.58.0
25722575
[0.57.1]: https://github.com/TableProApp/TablePro/compare/v0.57.0...v0.57.1
25732576
[0.57.0]: https://github.com/TableProApp/TablePro/compare/v0.56.2...v0.57.0
25742577
[0.56.2]: https://github.com/TableProApp/TablePro/compare/v0.56.1...v0.56.2

TablePro.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3094,7 +3094,7 @@
30943094
CODE_SIGN_IDENTITY = "Apple Development";
30953095
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
30963096
CODE_SIGN_STYLE = Automatic;
3097-
CURRENT_PROJECT_VERSION = 109;
3097+
CURRENT_PROJECT_VERSION = 110;
30983098
DEAD_CODE_STRIPPING = YES;
30993099
DEVELOPMENT_TEAM = D7HJ5TFYCU;
31003100
ENABLE_APP_SANDBOX = NO;
@@ -3126,7 +3126,7 @@
31263126
);
31273127
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs/dylibs";
31283128
MACOSX_DEPLOYMENT_TARGET = 14.0;
3129-
MARKETING_VERSION = 0.57.1;
3129+
MARKETING_VERSION = 0.58.0;
31303130
OTHER_LDFLAGS = (
31313131
"-Wl,-w",
31323132
"-force_load",
@@ -3171,7 +3171,7 @@
31713171
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
31723172
CODE_SIGN_STYLE = Automatic;
31733173
COPY_PHASE_STRIP = YES;
3174-
CURRENT_PROJECT_VERSION = 109;
3174+
CURRENT_PROJECT_VERSION = 110;
31753175
DEAD_CODE_STRIPPING = YES;
31763176
DEPLOYMENT_POSTPROCESSING = YES;
31773177
DEVELOPMENT_TEAM = D7HJ5TFYCU;
@@ -3204,7 +3204,7 @@
32043204
);
32053205
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs/dylibs";
32063206
MACOSX_DEPLOYMENT_TARGET = 14.0;
3207-
MARKETING_VERSION = 0.57.1;
3207+
MARKETING_VERSION = 0.58.0;
32083208
OTHER_LDFLAGS = (
32093209
"-Wl,-w",
32103210
"-force_load",

docs/changelog.mdx

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,46 @@ description: "Product updates and announcements for TablePro"
44
rss: true
55
---
66

7+
<Update label="July 18, 2026" description="v0.58.0">
8+
### New Features
9+
10+
- **SOCKS5 proxy**: Connect through a SOCKS5 proxy from the connection form's new SOCKS Proxy pane. The proxy resolves the database hostname, so names that only resolve behind it work (#1882)
11+
- **Windows Authentication for SQL Server**: Sign in to SQL Server with Kerberos on macOS, using the `kinit` ticket you already have or a Kerberos principal and password. Connect by hostname, not IP address (#1879)
12+
- **Teradata**: Teradata as a downloadable native Swift driver. Connect over TD2 or TDNEGO, optionally with TLS, browse databases, tables, and columns, run SQL, edit rows, and create or alter tables (#1867)
13+
- **Saved Customizations**: A new Settings section lists the tables where you set column layouts or filters, and lets you reset any or all of them
14+
- **iCloud sync for column layouts**: Per-table column layouts (widths, order, and hidden columns) sync across your Macs with iCloud when Settings sync is on
15+
16+
### Improvements
17+
18+
- The sidebar database tree remembers which databases and schemas you expanded, per connection, so reopening a window keeps them open
19+
- The query result row cap no longer adds a LIMIT to your SQL. The query runs as written and TablePro stops reading at the cap, so a query with ORDER BY no longer returns different rows than you typed (#1884)
20+
- Settings groups the data grid, pagination, result formatting, JSON viewer, query history, and saved customizations under a new Data tab
21+
22+
### Bug Fixes
23+
24+
- The split dividers in Users and Roles, Structure, Server Dashboard, and the SQL editor now show the resize cursor on hover (#1905)
25+
- A query with a comment after the closing semicolon, such as `SELECT 1; -- note`, no longer runs as two statements, and a comment-only query does nothing instead of erroring (#1895)
26+
- Duplicating a connection no longer drops its Cloudflare Tunnel and Cloud SQL Auth Proxy settings and stored secrets
27+
- The tunnel panes now list every conflicting connection method, each with a button to turn it off
28+
- Copy as, Delete, and the Edit menu's copy and delete now act on the whole cell-range or column selection, not just the active row (#1898)
29+
- Copy as JSON copies the right rows when the grid is sorted or filtered (#1898)
30+
- Tables picked in the sidebar are now checked and exported to SQL or MQL instead of being silently skipped (#1897)
31+
- ClickHouse queries that return rows now show the grid, including empty results and queries with their own FORMAT clause (#1886)
32+
- ClickHouse INSERT statements report the right number of rows affected (#1886)
33+
- ClickHouse query exports no longer write an empty file when the query starts with a comment (#1886)
34+
- A restored window tab no longer shows a blank name until you switch to it (#1894)
35+
- The window title updates right away after saving a query to a file or opening a favorite into the current tab (#1894)
36+
- The SQL editor in a new tab keeps keyboard focus instead of losing it after the first few characters (#1885)
37+
- Cancelling a SQL Server connection stops right away, and a connection gives up after the login timeout with a clear message that points at the usual Kerberos causes for Windows Authentication (#1889)
38+
- MySQL and MariaDB queries ending in ORDER BY now show a server error instead of an empty result (#1884)
39+
- The query result row cap no longer returns a single row when set to unlimited (#1884)
40+
- SSH tunnels that accept a connection then go quiet now give up after 10 seconds and log the reason (#1883)
41+
- Connections are no longer reset when a single session opens several at once through one SSH tunnel (#1883)
42+
- The connection form's SSH tunnel Socket Path hint shows the right default per database type, such as `/var/run/mysqld/mysqld.sock` for MySQL and MariaDB (#1902)
43+
- Per-column display formats (Display As) are kept per table, so tables with the same name in different databases or schemas no longer share formatting
44+
- Reopening a table restores a saved filter's AND/OR match mode instead of resetting it to AND
45+
</Update>
46+
747
<Update label="July 15, 2026" description="v0.57.1">
848
### New Features
949

0 commit comments

Comments
 (0)