-
-
Notifications
You must be signed in to change notification settings - Fork 328
Expand file tree
/
Copy pathappcast.xml
More file actions
3927 lines (3927 loc) · 308 KB
/
Copy pathappcast.xml
File metadata and controls
3927 lines (3927 loc) · 308 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" standalone="yes"?>
<rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
<channel>
<title>TablePro</title>
<item>
<title>0.57.1</title>
<pubDate>Wed, 15 Jul 2026 08:19:05 +0000</pubDate>
<sparkle:version>109</sparkle:version>
<sparkle:shortVersionString>0.57.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>SSH tunnels can now forward to a Unix socket on the remote server, for databases that only listen on a socket. Set the socket path on the General pane, and TablePro forwards to it instead of a host and port, through jump hosts if you use them. (#1871)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed the right sidebar refusing to resize while a Users & Roles tab was open. The user list now collapses on its own when the tab gets too narrow to hold it. (#1872)</li>
<li>Fixed dividers that could not be dragged at all: the user list and privilege panes in Users & Roles, the trigger list in Structure, and the metrics and slow query panes in Server Dashboard. (#1872)</li>
<li>Cancel now stops a connection attempt right away instead of letting it run on in the background. A cancelled connection is also dropped from the last session, so restarting no longer reconnects to a host you gave up on, and it can no longer interrupt a later successful connection. (#1358)</li>
<li>Fixed a crash that could quit the app when opening or sorting a table whose columns have comments. (#1869, #1880)</li>
<li>MCP tools no longer stop working after the server sits idle for 15 minutes, or after the MCP server is restarted from Settings. TablePro's bridge now starts a new session by itself instead of reusing a dead one, so agents like Claude Code and Cursor keep working without being turned off and on again. (#1881)</li>
</ul>
<h3>Security</h3>
<ul>
<li>Patched CVE-2026-55200 in libssh2, a critical out-of-bounds write that let a malicious SSH server corrupt memory and run code before authentication finished. It affected every SSH tunnel and jump host.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.57.1/TablePro-0.57.1-arm64.zip" length="20508373" type="application/octet-stream" sparkle:edSignature="lN8ctEUkJO4uc1Xj1IK3g/ZnSc2EazB8UxxSP89lFs36hNIOmZuMh9tO49cZYrIpElZi6eh9lg/dmhRA18MmAg=="/>
</item>
<item>
<title>0.57.1</title>
<pubDate>Wed, 15 Jul 2026 08:19:05 +0000</pubDate>
<sparkle:version>109</sparkle:version>
<sparkle:shortVersionString>0.57.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>SSH tunnels can now forward to a Unix socket on the remote server, for databases that only listen on a socket. Set the socket path on the General pane, and TablePro forwards to it instead of a host and port, through jump hosts if you use them. (#1871)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed the right sidebar refusing to resize while a Users & Roles tab was open. The user list now collapses on its own when the tab gets too narrow to hold it. (#1872)</li>
<li>Fixed dividers that could not be dragged at all: the user list and privilege panes in Users & Roles, the trigger list in Structure, and the metrics and slow query panes in Server Dashboard. (#1872)</li>
<li>Cancel now stops a connection attempt right away instead of letting it run on in the background. A cancelled connection is also dropped from the last session, so restarting no longer reconnects to a host you gave up on, and it can no longer interrupt a later successful connection. (#1358)</li>
<li>Fixed a crash that could quit the app when opening or sorting a table whose columns have comments. (#1869, #1880)</li>
<li>MCP tools no longer stop working after the server sits idle for 15 minutes, or after the MCP server is restarted from Settings. TablePro's bridge now starts a new session by itself instead of reusing a dead one, so agents like Claude Code and Cursor keep working without being turned off and on again. (#1881)</li>
</ul>
<h3>Security</h3>
<ul>
<li>Patched CVE-2026-55200 in libssh2, a critical out-of-bounds write that let a malicious SSH server corrupt memory and run code before authentication finished. It affected every SSH tunnel and jump host.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.57.1/TablePro-0.57.1-x86_64.zip" length="21702343" type="application/octet-stream" sparkle:edSignature="bxgNPE4nzUUQ4gyQFsQ4TSIdLIdZQrZyJ5emyhK5I/YPAFhlrZnUWgFUC6X7SFCs6vS2NGewnGgWjscVel5mAQ=="/>
</item>
<item>
<title>0.57.0</title>
<pubDate>Tue, 14 Jul 2026 07:23:31 +0000</pubDate>
<sparkle:version>108</sparkle:version>
<sparkle:shortVersionString>0.57.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>SurrealDB 2.x and 3.x support as a downloadable driver. Browse namespaces and databases, run SurrealQL, and edit records in the grid. (#1862)</li>
<li>xAI (Grok) as an AI provider. Paste a key from the xAI Console, or sign in with a SuperGrok or X Premium+ subscription and use no key at all.</li>
<li>Google Cloud SQL connections through the Cloud SQL Auth Proxy. Turn it on for a MySQL, PostgreSQL, or SQL Server connection, set the instance connection name, and TablePro starts and stops the proxy for you. (#1728)</li>
<li>Beancount ledger support as a downloadable, read-only driver. Transactions, postings, accounts, prices, and balances read as SQL tables, and BQL runs with a `BQL:` prefix. (#1474)</li>
<li>**New Query** in the Favorites sidebar **+** menu, which opens an empty SQL query tab.</li>
<li>Database users, roles, and privileges on MySQL and PostgreSQL, under **View > Users & Roles**. Pick any object from the server down to a single column, see where each privilege comes from, and grant or revoke it. Changes are staged, undoable, and shown as SQL before they run. (#1413)</li>
<li>**File > Reopen Closed Tab** (`Cmd+Shift+T`) brings back the tab you just closed, and **File > Recently Closed** lists the last 20, kept for 30 days. (#1854)</li>
<li>Open a database from the terminal. Install the `tablepro` command from **Settings > General**, then run `ddev tablepro` in a DDEV project. Links to a database on your own Mac can be trusted with **Always Allow** and reviewed in **Settings > General**. (#1486)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Query results always open in a result tab, so a single result can be pinned before the next query replaces it. Pin from the tab's context menu or with `Cmd+Option+P`. (#1855)</li>
<li>Closing a query tab keeps its SQL in **Recently Closed** instead of throwing it away, and the close button shows the unsaved dot for a query you typed into. (#1854)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed a crash when several tables on the same connection ran queries at the same time.</li>
<li>Column comments now show in the data grid header as soon as the table opens, and the header grows to fit them. (#1861)</li>
<li>**Size to Fit** no longer stretches a column of long text past the window. Fitted columns stop at half the visible grid, and every column has a maximum width.</li>
<li>The username is now optional. Leaving it empty no longer fills in `root`, and lets the database pick its own default the way `psql` and `mysql` do.</li>
<li>A failed or cancelled connection that uses a Cloudflare tunnel no longer leaves the `cloudflared` process running in the background.</li>
<li>Pinned results are no longer discarded by **Clear Results**, and a tab holding one is no longer reused to browse a different table. (#1855)</li>
<li>Quitting now warns about unsaved changes in any tab, not just the visible one. (#1854)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.57.0/TablePro-0.57.0-arm64.zip" length="20439741" type="application/octet-stream" sparkle:edSignature="PZOszTUlsJ7SE/kJH8s96kPydXoVo807m4XMmZCjYNM80l7tA6Cy42uvQXmZ+IWIBkTG9VHCx4VE+Ns6Ly+iCg=="/>
</item>
<item>
<title>0.57.0</title>
<pubDate>Tue, 14 Jul 2026 07:23:32 +0000</pubDate>
<sparkle:version>108</sparkle:version>
<sparkle:shortVersionString>0.57.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>SurrealDB 2.x and 3.x support as a downloadable driver. Browse namespaces and databases, run SurrealQL, and edit records in the grid. (#1862)</li>
<li>xAI (Grok) as an AI provider. Paste a key from the xAI Console, or sign in with a SuperGrok or X Premium+ subscription and use no key at all.</li>
<li>Google Cloud SQL connections through the Cloud SQL Auth Proxy. Turn it on for a MySQL, PostgreSQL, or SQL Server connection, set the instance connection name, and TablePro starts and stops the proxy for you. (#1728)</li>
<li>Beancount ledger support as a downloadable, read-only driver. Transactions, postings, accounts, prices, and balances read as SQL tables, and BQL runs with a `BQL:` prefix. (#1474)</li>
<li>**New Query** in the Favorites sidebar **+** menu, which opens an empty SQL query tab.</li>
<li>Database users, roles, and privileges on MySQL and PostgreSQL, under **View > Users & Roles**. Pick any object from the server down to a single column, see where each privilege comes from, and grant or revoke it. Changes are staged, undoable, and shown as SQL before they run. (#1413)</li>
<li>**File > Reopen Closed Tab** (`Cmd+Shift+T`) brings back the tab you just closed, and **File > Recently Closed** lists the last 20, kept for 30 days. (#1854)</li>
<li>Open a database from the terminal. Install the `tablepro` command from **Settings > General**, then run `ddev tablepro` in a DDEV project. Links to a database on your own Mac can be trusted with **Always Allow** and reviewed in **Settings > General**. (#1486)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Query results always open in a result tab, so a single result can be pinned before the next query replaces it. Pin from the tab's context menu or with `Cmd+Option+P`. (#1855)</li>
<li>Closing a query tab keeps its SQL in **Recently Closed** instead of throwing it away, and the close button shows the unsaved dot for a query you typed into. (#1854)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed a crash when several tables on the same connection ran queries at the same time.</li>
<li>Column comments now show in the data grid header as soon as the table opens, and the header grows to fit them. (#1861)</li>
<li>**Size to Fit** no longer stretches a column of long text past the window. Fitted columns stop at half the visible grid, and every column has a maximum width.</li>
<li>The username is now optional. Leaving it empty no longer fills in `root`, and lets the database pick its own default the way `psql` and `mysql` do.</li>
<li>A failed or cancelled connection that uses a Cloudflare tunnel no longer leaves the `cloudflared` process running in the background.</li>
<li>Pinned results are no longer discarded by **Clear Results**, and a tab holding one is no longer reused to browse a different table. (#1855)</li>
<li>Quitting now warns about unsaved changes in any tab, not just the visible one. (#1854)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.57.0/TablePro-0.57.0-x86_64.zip" length="21640649" type="application/octet-stream" sparkle:edSignature="QB96ZUGgVinyMcOou+pPtJWnd3+a5VDt2ssD8n4cVvWW0qSMSZx/z0aEMN4PqJeaHq/Bi2QE3e0uK+9rsgxFCA=="/>
</item>
<item>
<title>0.56.2</title>
<pubDate>Fri, 10 Jul 2026 09:39:54 +0000</pubDate>
<sparkle:version>107</sparkle:version>
<sparkle:shortVersionString>0.56.2</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>The JSON field in the row details inspector can now be resized by dragging the handle below it. The height is remembered across rows and app restarts. (#1849)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Data grid column comments now appear directly in column headers when object comments are enabled, instead of only being available from the header tooltip. (#1789)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>MySQL and MariaDB connections that prompt for a password at connect time now ask for a fresh password after an auto-reconnect hits an authentication failure such as `1045` / `SQLSTATE 28000`, instead of looping forever in Connecting with the expired session password.</li>
<li>Pressing Escape to dismiss the SQL autocomplete popup no longer moves focus out of the editor, so you can keep typing. (#1845)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.56.2/TablePro-0.56.2-arm64.zip" length="19895746" type="application/octet-stream" sparkle:edSignature="IMA0fPXSWCXPQF6JfcPnugW8dgL5bRd4czp3uMX37nSUIT0miqCPJ70tFFLQ79auB9ihoGnaBGuFw1Znwsp3BA=="/>
</item>
<item>
<title>0.56.2</title>
<pubDate>Fri, 10 Jul 2026 09:39:55 +0000</pubDate>
<sparkle:version>107</sparkle:version>
<sparkle:shortVersionString>0.56.2</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>The JSON field in the row details inspector can now be resized by dragging the handle below it. The height is remembered across rows and app restarts. (#1849)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Data grid column comments now appear directly in column headers when object comments are enabled, instead of only being available from the header tooltip. (#1789)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>MySQL and MariaDB connections that prompt for a password at connect time now ask for a fresh password after an auto-reconnect hits an authentication failure such as `1045` / `SQLSTATE 28000`, instead of looping forever in Connecting with the expired session password.</li>
<li>Pressing Escape to dismiss the SQL autocomplete popup no longer moves focus out of the editor, so you can keep typing. (#1845)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.56.2/TablePro-0.56.2-x86_64.zip" length="21040920" type="application/octet-stream" sparkle:edSignature="QvA2KVr1gbSdONO2T4uOgAoi+Y16MpebZ1mOKT2JqDpgs1FuJBN+E+4BqTTs2LigZ9RsFXrO5RZCuFR9SljwDg=="/>
</item>
<item>
<title>0.56.1</title>
<pubDate>Thu, 09 Jul 2026 08:15:28 +0000</pubDate>
<sparkle:version>106</sparkle:version>
<sparkle:shortVersionString>0.56.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Removed</h3>
<ul>
<li>The Oracle Native network encryption connection option. Encryption is now offered to every server and used only when the server requires it, so the option is no longer needed. (#483)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Oracle now connects to servers that require native network encryption (`SQLNET.ENCRYPTION_SERVER = REQUIRED`), negotiating AES with a SHA checksum automatically like SQL Developer and DBeaver. (#483)</li>
<li>MongoDB filters and generated edit statements now quote numeric-looking values that would not round-trip, such as `.5`, `1.`, `+7`, `01`, integers larger than 64 bits, and exponents that overflow a double like `1e400`, instead of emitting invalid or lossy JSON. A row whose `_id` is a decimal or exponent string is matched as that string, so delete and update target the right document. Update the MongoDB plugin to get the fix. (#1813)</li>
<li>Reading a connection password from a command, 1Password, Vault, or AWS Secrets Manager no longer occasionally returns corrupted output from a race while reading the command's output. (#1841)</li>
<li>The Structure tab filter and column sort now update the grid instead of leaving stale rows on screen.</li>
<li>The row details inspector now shows the selected row's values, including JSON, when a column value filter is active, and a JSON or serialized value you open now follows the selected row as you move between rows. (#1837)</li>
<li>Copying, duplicating, and deleting rows now act on the rows you selected when a column value filter is active, instead of the rows sitting at those positions in the unfiltered result. (#1837)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.56.1/TablePro-0.56.1-arm64.zip" length="19896760" type="application/octet-stream" sparkle:edSignature="c5vjEbCVXq7fuMnV+pcZkJhj1AQlgjpc5Z8fkY5XyFBBYOv51kDyRxrVs0IeCWgJc9SKQZU5+iYHJ613RdBgDw=="/>
</item>
<item>
<title>0.56.1</title>
<pubDate>Thu, 09 Jul 2026 08:15:29 +0000</pubDate>
<sparkle:version>106</sparkle:version>
<sparkle:shortVersionString>0.56.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Removed</h3>
<ul>
<li>The Oracle Native network encryption connection option. Encryption is now offered to every server and used only when the server requires it, so the option is no longer needed. (#483)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Oracle now connects to servers that require native network encryption (`SQLNET.ENCRYPTION_SERVER = REQUIRED`), negotiating AES with a SHA checksum automatically like SQL Developer and DBeaver. (#483)</li>
<li>MongoDB filters and generated edit statements now quote numeric-looking values that would not round-trip, such as `.5`, `1.`, `+7`, `01`, integers larger than 64 bits, and exponents that overflow a double like `1e400`, instead of emitting invalid or lossy JSON. A row whose `_id` is a decimal or exponent string is matched as that string, so delete and update target the right document. Update the MongoDB plugin to get the fix. (#1813)</li>
<li>Reading a connection password from a command, 1Password, Vault, or AWS Secrets Manager no longer occasionally returns corrupted output from a race while reading the command's output. (#1841)</li>
<li>The Structure tab filter and column sort now update the grid instead of leaving stale rows on screen.</li>
<li>The row details inspector now shows the selected row's values, including JSON, when a column value filter is active, and a JSON or serialized value you open now follows the selected row as you move between rows. (#1837)</li>
<li>Copying, duplicating, and deleting rows now act on the rows you selected when a column value filter is active, instead of the rows sitting at those positions in the unfiltered result. (#1837)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.56.1/TablePro-0.56.1-x86_64.zip" length="21033608" type="application/octet-stream" sparkle:edSignature="85Nt521LPdCO7QoMIqoKapX50kBc/ZEeYpoUZvfjTfoOrOdcg3EyIsWlZPkKx0peKHL651w4+O+QnghykCysBw=="/>
</item>
<item>
<title>0.56.0</title>
<pubDate>Wed, 08 Jul 2026 19:24:37 +0000</pubDate>
<sparkle:version>105</sparkle:version>
<sparkle:shortVersionString>0.56.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Custom AI slash commands now sync across your Macs with iCloud Sync.</li>
<li>Join a team by pasting your invite code where a license key goes, in Settings > Account. Owners manage members and seats on tablepro.app.</li>
<li>Connections can pull their password from 1Password, HashiCorp Vault, or AWS Secrets Manager at connect time, so the secret is never stored in TablePro.</li>
<li>Team plan: publish connections to a shared folder for your team, without passwords. Right-click a connection, then Share > Publish to Team Catalog; teammates add the folder under Settings > Linked Folders.</li>
<li>Team Library: share connections and saved queries with your team through your account. Right-click a connection or use the Favorites sidebar to Publish to Team Library. Teammates see them in their list and sidebar; you manage the library on tablepro.app. Passwords are never included.</li>
<li>Saved SQL queries and their folders now sync across your Macs. Turn on Saved Queries under Settings > Sync.</li>
<li>A Recent section at the top of the sidebar lists the last 10 tables you opened per connection and database, and remembers them between launches. Click one to reopen it, or right-click to remove or clear. Off by default; turn it on in Settings > General > Sidebar. (#1352)</li>
<li>Saving now asks you to confirm before it permanently deletes rows. (#1823)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The sidebar filter now matches table and view names by substring instead of fuzzy matching, and sorts names that start with what you typed to the top. (#1822)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Typing in the SQL editor no longer crashes the app, and the autocomplete popup appears again as you type. (#1835)</li>
<li>Deleting many rows at once no longer freezes the app. Multi-row deletes now run as one batched statement instead of one query per row. (#1823)</li>
<li>Deleting rows from a table without a primary key now matches on every column, so it won't remove other rows that share the first column's value. (#1823)</li>
<li>Sorting a table column no longer discards your rows-per-page setting. It keeps the page size and returns to page 1 instead of loading the whole table. (#1826)</li>
<li>Sorting a column no longer fails with a SQL error on tables whose name contains a word like limit or offset. (#1825)</li>
<li>Elasticsearch connections using Username & Password now show a Password field, so you can set up basic auth on a secured cluster. Update the Elasticsearch plugin to get the fix. (#1816)</li>
<li>Switching schemas on an Oracle connection no longer hangs on an infinite spinner. Oracle now switches by schema, loads each schema's tables on expand, respects the query timeout with automatic reconnect, and shows an error with a Retry button when a schema fails to load. Update the plugin to get query timeout enforcement. (#1807)</li>
<li>Resizing a data grid column no longer triggers a sort. Dragging a column edge only resizes it; clicking the header still sorts. (#1815)</li>
<li>Hidden columns stay hidden, and resizing a column no longer brings them back. Column widths, order, and visibility are remembered per table, kept separately for each connection, database, and schema so tables with the same name don't overwrite each other. A new Reset Columns button in the Columns popover restores defaults. Existing saved column layouts reset once with this change. (#1815)</li>
<li>Query and filter errors now appear in a banner you can select and copy, with a Fix with AI button, instead of a dialog that cut the message off. The banner sizes to the message. (#1815)</li>
<li>The filter autocomplete no longer pops up on empty input, and pressing Escape to close it no longer also closes the filter bar. (#1815)</li>
<li>The editor autocomplete popup drops below the line you're typing instead of covering it, no longer overlaps the Columns and Add buttons, and dismisses when you click anywhere on it that isn't a suggestion. (#1815, #1831)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.56.0/TablePro-0.56.0-arm64.zip" length="19886482" type="application/octet-stream" sparkle:edSignature="Kc5z94swmmLZruvymGKOxC4/nxxhB1WdivJElbgPRgWMOJpOCGGiMPAPz6CGZq/M3okJFLOJObQhhIYOj7syCw=="/>
</item>
<item>
<title>0.56.0</title>
<pubDate>Wed, 08 Jul 2026 19:24:38 +0000</pubDate>
<sparkle:version>105</sparkle:version>
<sparkle:shortVersionString>0.56.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Custom AI slash commands now sync across your Macs with iCloud Sync.</li>
<li>Join a team by pasting your invite code where a license key goes, in Settings > Account. Owners manage members and seats on tablepro.app.</li>
<li>Connections can pull their password from 1Password, HashiCorp Vault, or AWS Secrets Manager at connect time, so the secret is never stored in TablePro.</li>
<li>Team plan: publish connections to a shared folder for your team, without passwords. Right-click a connection, then Share > Publish to Team Catalog; teammates add the folder under Settings > Linked Folders.</li>
<li>Team Library: share connections and saved queries with your team through your account. Right-click a connection or use the Favorites sidebar to Publish to Team Library. Teammates see them in their list and sidebar; you manage the library on tablepro.app. Passwords are never included.</li>
<li>Saved SQL queries and their folders now sync across your Macs. Turn on Saved Queries under Settings > Sync.</li>
<li>A Recent section at the top of the sidebar lists the last 10 tables you opened per connection and database, and remembers them between launches. Click one to reopen it, or right-click to remove or clear. Off by default; turn it on in Settings > General > Sidebar. (#1352)</li>
<li>Saving now asks you to confirm before it permanently deletes rows. (#1823)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The sidebar filter now matches table and view names by substring instead of fuzzy matching, and sorts names that start with what you typed to the top. (#1822)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Typing in the SQL editor no longer crashes the app, and the autocomplete popup appears again as you type. (#1835)</li>
<li>Deleting many rows at once no longer freezes the app. Multi-row deletes now run as one batched statement instead of one query per row. (#1823)</li>
<li>Deleting rows from a table without a primary key now matches on every column, so it won't remove other rows that share the first column's value. (#1823)</li>
<li>Sorting a table column no longer discards your rows-per-page setting. It keeps the page size and returns to page 1 instead of loading the whole table. (#1826)</li>
<li>Sorting a column no longer fails with a SQL error on tables whose name contains a word like limit or offset. (#1825)</li>
<li>Elasticsearch connections using Username & Password now show a Password field, so you can set up basic auth on a secured cluster. Update the Elasticsearch plugin to get the fix. (#1816)</li>
<li>Switching schemas on an Oracle connection no longer hangs on an infinite spinner. Oracle now switches by schema, loads each schema's tables on expand, respects the query timeout with automatic reconnect, and shows an error with a Retry button when a schema fails to load. Update the plugin to get query timeout enforcement. (#1807)</li>
<li>Resizing a data grid column no longer triggers a sort. Dragging a column edge only resizes it; clicking the header still sorts. (#1815)</li>
<li>Hidden columns stay hidden, and resizing a column no longer brings them back. Column widths, order, and visibility are remembered per table, kept separately for each connection, database, and schema so tables with the same name don't overwrite each other. A new Reset Columns button in the Columns popover restores defaults. Existing saved column layouts reset once with this change. (#1815)</li>
<li>Query and filter errors now appear in a banner you can select and copy, with a Fix with AI button, instead of a dialog that cut the message off. The banner sizes to the message. (#1815)</li>
<li>The filter autocomplete no longer pops up on empty input, and pressing Escape to close it no longer also closes the filter bar. (#1815)</li>
<li>The editor autocomplete popup drops below the line you're typing instead of covering it, no longer overlaps the Columns and Add buttons, and dismisses when you click anywhere on it that isn't a suggestion. (#1815, #1831)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.56.0/TablePro-0.56.0-x86_64.zip" length="21020775" type="application/octet-stream" sparkle:edSignature="Txlf1UA3+5CAt4CY9NJq4oJOttzRNFQmeawfgYeHORmNPz6xcRLxgo9L5DI4Uz/7HK4Ko/JtiTmm0cWnLPshCA=="/>
</item>
<item>
<title>0.55.0</title>
<pubDate>Fri, 03 Jul 2026 18:36:36 +0000</pubDate>
<sparkle:version>104</sparkle:version>
<sparkle:shortVersionString>0.55.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>iOS: add data to a table from the Shortcuts app. Two new shortcuts, Add Row to Table and Add Rows to Table, pick a saved connection, database or schema, and table, then insert from JSON or CSV. They run without opening the app. (#1788)</li>
<li>Refresh button in Settings > Plugins > Browse to reload the plugin list on demand. (#1799)</li>
<li>SQL Favorites: put ;; in a saved query to set where the cursor lands after keyword expansion in the editor. (#1795)</li>
<li>SELECT queries without their own LIMIT now run with the row cap applied as a real LIMIT on the statement sent to the server, so forgetting a LIMIT no longer pulls millions of rows. The query text in the editor never changes, a query with its own LIMIT is sent as written and not capped, and Execute Query Without Limit (Option+Cmd+Enter, also in the Query menu and the Execute button menu) skips the cap for one run. (#1794)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>The New/Edit Favorite and linked file metadata dialogs no longer open with a large empty area and fields crushed against the right edge. They now use the standard macOS grouped form layout: the query editor spans the full dialog width, the cursor marker hint sits under the editor, keyword validation shows under the keyword field, and the Global option is a checkbox that explains its scope. (#1809)</li>
<li>Tables and views outside the connection's default schema now open and save correctly when reached through the Quick Switcher, a restored tab, or the MCP table-open tool. These paths used to send unqualified queries, which failed with "Invalid object name" on SQL Server or silently targeted the wrong table. (#1774)</li>
<li>Quick Switcher opens again on macOS Sequoia. Since 0.51.0 the panel came up invisible on macOS 15, and the toolbar button and keyboard shortcut appeared to do nothing. (#1806)</li>
<li>Quick Switcher keyboard navigation (Ctrl-J/K and arrow shortcuts) no longer goes dead after the switcher has been opened and closed repeatedly. (#1806)</li>
<li>Restored table tabs no longer reload all at once or flood failure dialogs on launch. Only the frontmost tab loads immediately; other restored tabs load when you switch to them, and a load failure now shows inline in the tab instead of a dialog. (#1796)</li>
<li>Execute All Statements now applies the query result row cap to each SELECT in the batch instead of returning every row, and each result tab tracks its own truncation state so Fetch All loads the rest of the result you are viewing. (#1794)</li>
<li>Queries starting with a comment or with a newline right after the first keyword are now classified correctly: the row cap applies to them, and Safe Mode recognizes such writes and destructive statements instead of letting them through unprompted.</li>
<li>Enum and set value pickers now populate when the driver reports the values only inside the column type instead of as a separate list.</li>
<li>The plugin list no longer goes stale. The app now checks the plugin registry for changes at launch, when the plugin browser opens, and before reporting a plugin as missing, so newly published plugins show up and install right away. A registry that cannot be reached now reports a connection problem instead of "Plugin not found". (#1799)</li>
<li>Dropping a materialized view or foreign table from the sidebar now generates the correct DROP statement instead of DROP TABLE, and drop and truncate statements are schema-qualified. ClickHouse now lists materialized views as their own sidebar section and drops them with the DROP VIEW syntax it requires. (#1800)</li>
<li>Scrolling no longer goes dead across the whole app after opening an ER diagram and switching tabs while the pointer rests over the canvas. Diagram pan and zoom now handle scroll events on the canvas itself instead of intercepting them app-wide. (#1805)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.55.0/TablePro-0.55.0-arm64.zip" length="19773292" type="application/octet-stream" sparkle:edSignature="OvsNnoGtxmhT9Xy1itRQAk1Ms+owESG8Qiqs64fpZNTNguzKC1TbPIQAFuVBx4FtuwNgPDFTPB/8W5hukI55Dg=="/>
</item>
<item>
<title>0.55.0</title>
<pubDate>Fri, 03 Jul 2026 18:36:37 +0000</pubDate>
<sparkle:version>104</sparkle:version>
<sparkle:shortVersionString>0.55.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>iOS: add data to a table from the Shortcuts app. Two new shortcuts, Add Row to Table and Add Rows to Table, pick a saved connection, database or schema, and table, then insert from JSON or CSV. They run without opening the app. (#1788)</li>
<li>Refresh button in Settings > Plugins > Browse to reload the plugin list on demand. (#1799)</li>
<li>SQL Favorites: put ;; in a saved query to set where the cursor lands after keyword expansion in the editor. (#1795)</li>
<li>SELECT queries without their own LIMIT now run with the row cap applied as a real LIMIT on the statement sent to the server, so forgetting a LIMIT no longer pulls millions of rows. The query text in the editor never changes, a query with its own LIMIT is sent as written and not capped, and Execute Query Without Limit (Option+Cmd+Enter, also in the Query menu and the Execute button menu) skips the cap for one run. (#1794)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>The New/Edit Favorite and linked file metadata dialogs no longer open with a large empty area and fields crushed against the right edge. They now use the standard macOS grouped form layout: the query editor spans the full dialog width, the cursor marker hint sits under the editor, keyword validation shows under the keyword field, and the Global option is a checkbox that explains its scope. (#1809)</li>
<li>Tables and views outside the connection's default schema now open and save correctly when reached through the Quick Switcher, a restored tab, or the MCP table-open tool. These paths used to send unqualified queries, which failed with "Invalid object name" on SQL Server or silently targeted the wrong table. (#1774)</li>
<li>Quick Switcher opens again on macOS Sequoia. Since 0.51.0 the panel came up invisible on macOS 15, and the toolbar button and keyboard shortcut appeared to do nothing. (#1806)</li>
<li>Quick Switcher keyboard navigation (Ctrl-J/K and arrow shortcuts) no longer goes dead after the switcher has been opened and closed repeatedly. (#1806)</li>
<li>Restored table tabs no longer reload all at once or flood failure dialogs on launch. Only the frontmost tab loads immediately; other restored tabs load when you switch to them, and a load failure now shows inline in the tab instead of a dialog. (#1796)</li>
<li>Execute All Statements now applies the query result row cap to each SELECT in the batch instead of returning every row, and each result tab tracks its own truncation state so Fetch All loads the rest of the result you are viewing. (#1794)</li>
<li>Queries starting with a comment or with a newline right after the first keyword are now classified correctly: the row cap applies to them, and Safe Mode recognizes such writes and destructive statements instead of letting them through unprompted.</li>
<li>Enum and set value pickers now populate when the driver reports the values only inside the column type instead of as a separate list.</li>
<li>The plugin list no longer goes stale. The app now checks the plugin registry for changes at launch, when the plugin browser opens, and before reporting a plugin as missing, so newly published plugins show up and install right away. A registry that cannot be reached now reports a connection problem instead of "Plugin not found". (#1799)</li>
<li>Dropping a materialized view or foreign table from the sidebar now generates the correct DROP statement instead of DROP TABLE, and drop and truncate statements are schema-qualified. ClickHouse now lists materialized views as their own sidebar section and drops them with the DROP VIEW syntax it requires. (#1800)</li>
<li>Scrolling no longer goes dead across the whole app after opening an ER diagram and switching tabs while the pointer rests over the canvas. Diagram pan and zoom now handle scroll events on the canvas itself instead of intercepting them app-wide. (#1805)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.55.0/TablePro-0.55.0-x86_64.zip" length="20902976" type="application/octet-stream" sparkle:edSignature="fo1R3Eb0FnHEsyYZ/rLlsPvNB7m3AQveuj0sxW4jT9AozZrwP/3Dl7CgPYZpoxnVB8PR9ism7TddwRdrMcXFAQ=="/>
</item>
<item>
<title>0.54.0</title>
<pubDate>Tue, 30 Jun 2026 02:10:25 +0000</pubDate>
<sparkle:version>103</sparkle:version>
<sparkle:shortVersionString>0.54.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Per-tab database picker in the query editor toolbar. Each SQL tab can target its own database without clearing other tabs.</li>
<li>Single-clicking a table in the sidebar tree opens it in the current tab; double-clicking opens it in a new tab.</li>
<li>Table and column comments from the database now show in the UI. The sidebar shows a table's comment in dimmed text after its name, the data grid column header tooltip includes the column comment, and the table inspector shows the table comment. Toggle from View > Show Object Comments. Available for MySQL and PostgreSQL. (#1771)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Switching the active database keeps existing tabs open instead of closing them.</li>
<li>The toolbar, quick switcher, and query editor database pickers follow the sidebar database filter.</li>
<li>Switching table tabs is faster: filter settings persist off the main thread, and only the active database's table list refreshes.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Safe mode no longer jumps to the first tab after you confirm a query. The confirmation now stays on the tab you ran the query from. (#1781)</li>
<li>Switching between sidebar tables no longer leaves extra blank space above the list. (#1675)</li>
<li>SSH tunnels no longer pin a CPU core after the connection drops. A dropped tunnel is now detected and torn down instead of spinning in its relay loop. (#1769)</li>
<li>Restored table tabs now load with the current page size instead of the page size from the previous session.</li>
<li>MSSQL: large `nvarchar(max)` and `text` values no longer truncate to 2048 bytes when copied or viewed. TEXTSIZE is raised at connect time. (#1783)</li>
<li>Oracle connections with Native network encryption turned on no longer hang for about a minute against servers that do not complete it, such as Oracle 11g. The login now stops after 30 seconds and explains how to turn the option off. (#1746)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.54.0/TablePro-0.54.0-arm64.zip" length="19779134" type="application/octet-stream" sparkle:edSignature="D5K7XH3RwIjHi5rxNt5RDb8nSe8zXsAJDSeGyUMoDvyKTQdcHdmTYPP7VDpNTmauPvHNGodcZot+CAe1Eb/gAw=="/>
</item>
<item>
<title>0.54.0</title>
<pubDate>Tue, 30 Jun 2026 02:10:26 +0000</pubDate>
<sparkle:version>103</sparkle:version>
<sparkle:shortVersionString>0.54.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Per-tab database picker in the query editor toolbar. Each SQL tab can target its own database without clearing other tabs.</li>
<li>Single-clicking a table in the sidebar tree opens it in the current tab; double-clicking opens it in a new tab.</li>
<li>Table and column comments from the database now show in the UI. The sidebar shows a table's comment in dimmed text after its name, the data grid column header tooltip includes the column comment, and the table inspector shows the table comment. Toggle from View > Show Object Comments. Available for MySQL and PostgreSQL. (#1771)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Switching the active database keeps existing tabs open instead of closing them.</li>
<li>The toolbar, quick switcher, and query editor database pickers follow the sidebar database filter.</li>
<li>Switching table tabs is faster: filter settings persist off the main thread, and only the active database's table list refreshes.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Safe mode no longer jumps to the first tab after you confirm a query. The confirmation now stays on the tab you ran the query from. (#1781)</li>
<li>Switching between sidebar tables no longer leaves extra blank space above the list. (#1675)</li>
<li>SSH tunnels no longer pin a CPU core after the connection drops. A dropped tunnel is now detected and torn down instead of spinning in its relay loop. (#1769)</li>
<li>Restored table tabs now load with the current page size instead of the page size from the previous session.</li>
<li>MSSQL: large `nvarchar(max)` and `text` values no longer truncate to 2048 bytes when copied or viewed. TEXTSIZE is raised at connect time. (#1783)</li>
<li>Oracle connections with Native network encryption turned on no longer hang for about a minute against servers that do not complete it, such as Oracle 11g. The login now stops after 30 seconds and explains how to turn the option off. (#1746)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.54.0/TablePro-0.54.0-x86_64.zip" length="20882416" type="application/octet-stream" sparkle:edSignature="7joUU4zAisxx6ZXRUKKz1mqy4iDrtFzlRW7HP/veFeiFKx5bnnb8E/To+l4DFKNA7nkgjtvo2dWmbtGx5X7SAw=="/>
</item>
<item>
<title>0.53.0</title>
<pubDate>Thu, 25 Jun 2026 12:13:55 +0000</pubDate>
<sparkle:version>102</sparkle:version>
<sparkle:shortVersionString>0.53.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Connections can have multiple tags. Assign them in the connection form and filter the welcome list by tag with Match Any or Match All. (#744)</li>
<li>Per-column value filter in the data grid. Click the funnel icon on a column header to choose which loaded values to show, across several columns at once. Filters loaded rows without re-querying. (#1454)</li>
<li>Elasticsearch support: connect to 7.x and 8.x, browse indices, run Query DSL in a console, and edit documents in the data grid. Install from Settings > Plugins. (#1529)</li>
<li>The connection switcher and welcome list now show each connection's tags and group. (#1323)</li>
<li>The ER diagram marks relationship cardinality (one-to-one, one-to-many, and optional variants) with crow's foot notation, read from primary keys and unique indexes. Junction tables collapse into a single many-to-many link, with a toolbar toggle to expand them. (#1335)</li>
<li>Export the ER diagram to SQL. A toolbar button opens a query tab with CREATE TABLE and foreign key statements for the current schema. (#1335)</li>
<li>Oracle connections have a Native network encryption option, off by default, for servers that require encrypted traffic. (#1746)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The ER diagram uses a more compact layout, keeps foreign-key-linked tables together, and tints each connected group with its own header color. (#1755)</li>
<li>When an Oracle server drops the connection during login, the error dialog now shows which handshake phase it stopped at (helps diagnose Oracle 11g). (#1746)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Opening a new query tab now puts keyboard focus in the SQL editor instead of the sidebar filter, so you can type right away. (#1765)</li>
<li>Raw filters in the data grid now work on document and key-value databases; the typed text was dropped before reaching the driver. (#1529)</li>
<li>Connecting to Oracle no longer crashes on certain server values during the handshake; a bad packet now fails the connection with an error. (#1746)</li>
<li>Connecting to Oracle no longer hangs when the server permits but does not require native network encryption; TablePro now connects in clear text by default, like Oracle's own clients. (#1746)</li>
<li>Following a foreign key into another schema now opens the correct table on SQL Server and Oracle, instead of falling back to the default schema. (#1754)</li>
<li>Browsing or editing a SQL Server or Oracle table outside the default schema no longer fails with "Invalid object name" or writes to the wrong table; queries now qualify the table with its schema. (#1754)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.53.0/TablePro-0.53.0-arm64.zip" length="19736897" type="application/octet-stream" sparkle:edSignature="7FlcHfdwVyikZXhpatdXZVAuuwgeT6FhLpnecVwQrIrvSE0vqij7hVlhibMGUOJ6tupDeWCkmNbNTwvHA5laBw=="/>
</item>
<item>
<title>0.53.0</title>
<pubDate>Thu, 25 Jun 2026 12:13:56 +0000</pubDate>
<sparkle:version>102</sparkle:version>
<sparkle:shortVersionString>0.53.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Connections can have multiple tags. Assign them in the connection form and filter the welcome list by tag with Match Any or Match All. (#744)</li>
<li>Per-column value filter in the data grid. Click the funnel icon on a column header to choose which loaded values to show, across several columns at once. Filters loaded rows without re-querying. (#1454)</li>
<li>Elasticsearch support: connect to 7.x and 8.x, browse indices, run Query DSL in a console, and edit documents in the data grid. Install from Settings > Plugins. (#1529)</li>
<li>The connection switcher and welcome list now show each connection's tags and group. (#1323)</li>
<li>The ER diagram marks relationship cardinality (one-to-one, one-to-many, and optional variants) with crow's foot notation, read from primary keys and unique indexes. Junction tables collapse into a single many-to-many link, with a toolbar toggle to expand them. (#1335)</li>
<li>Export the ER diagram to SQL. A toolbar button opens a query tab with CREATE TABLE and foreign key statements for the current schema. (#1335)</li>
<li>Oracle connections have a Native network encryption option, off by default, for servers that require encrypted traffic. (#1746)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The ER diagram uses a more compact layout, keeps foreign-key-linked tables together, and tints each connected group with its own header color. (#1755)</li>
<li>When an Oracle server drops the connection during login, the error dialog now shows which handshake phase it stopped at (helps diagnose Oracle 11g). (#1746)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Opening a new query tab now puts keyboard focus in the SQL editor instead of the sidebar filter, so you can type right away. (#1765)</li>
<li>Raw filters in the data grid now work on document and key-value databases; the typed text was dropped before reaching the driver. (#1529)</li>
<li>Connecting to Oracle no longer crashes on certain server values during the handshake; a bad packet now fails the connection with an error. (#1746)</li>
<li>Connecting to Oracle no longer hangs when the server permits but does not require native network encryption; TablePro now connects in clear text by default, like Oracle's own clients. (#1746)</li>
<li>Following a foreign key into another schema now opens the correct table on SQL Server and Oracle, instead of falling back to the default schema. (#1754)</li>
<li>Browsing or editing a SQL Server or Oracle table outside the default schema no longer fails with "Invalid object name" or writes to the wrong table; queries now qualify the table with its schema. (#1754)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.53.0/TablePro-0.53.0-x86_64.zip" length="20855719" type="application/octet-stream" sparkle:edSignature="R1qsNF3AzwtrWqa3Dm8VjASpvw3D1EE7OUj7ZHBQmV2uUu0Et/ZO7cQDcoXa0Hef1fmSSFsV9XPDPHw7aUpHDw=="/>
</item>
<item>
<title>0.52.1</title>
<pubDate>Sun, 21 Jun 2026 17:47:33 +0000</pubDate>
<sparkle:version>101</sparkle:version>
<sparkle:shortVersionString>0.52.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Import connections on iPhone. Open a .tablepro file from Files or AirDrop, or use Import Connections in the list menu. Encrypted files prompt for the passphrase, and you choose how to handle duplicates.</li>
<li>Export connections on iPhone from the list menu. Passwords are left out by default; include them by setting a passphrase that encrypts the file.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Drag-selecting many columns in a wide result set scrolls smoothly instead of lagging.</li>
<li>The connection Export Options dialog keeps a steady size when you turn on Include Credentials, and saves through the standard macOS save dialog.</li>
<li>Scrolling large result sets uses less CPU.</li>
<li>Typing in the sidebar table search stays responsive on databases with thousands of tables.</li>
<li>The welcome sidebar stays responsive with many connections and nested groups.</li>
<li>Autocomplete stays snappy on wide SELECT clauses with hundreds of columns.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>SQL autocomplete no longer stops appearing until the app is relaunched; it stays available after switching query tabs and windows. (#1731)</li>
<li>Oracle connections no longer crash the app when the server sends a message the driver cannot decode; the query fails with a clear error and reconnects. (#483)</li>
<li>MongoDB TLS handshake failures now report the actual cause instead of always blaming a cipher or protocol mismatch. (#1418)</li>
<li>The External Clients access level no longer reverts to Read Only after saving and reopening a connection, so MCP clients keep the write access you granted. (#1730)</li>
<li>Typing fast with the autocomplete window open no longer stalls each keystroke.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.52.1/TablePro-0.52.1-arm64.zip" length="28611372" type="application/octet-stream" sparkle:edSignature="4OmudyMEPPv/4KAOn+EUnbUNrZEH1XfKEeRI1eJfVs6wJXcA8QBmob5z5Qd6zZ2HdSIZCGxThSvSQHFBO6ciBg=="/>
</item>
<item>
<title>0.52.1</title>
<pubDate>Sun, 21 Jun 2026 17:47:34 +0000</pubDate>
<sparkle:version>101</sparkle:version>
<sparkle:shortVersionString>0.52.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Import connections on iPhone. Open a .tablepro file from Files or AirDrop, or use Import Connections in the list menu. Encrypted files prompt for the passphrase, and you choose how to handle duplicates.</li>
<li>Export connections on iPhone from the list menu. Passwords are left out by default; include them by setting a passphrase that encrypts the file.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Drag-selecting many columns in a wide result set scrolls smoothly instead of lagging.</li>
<li>The connection Export Options dialog keeps a steady size when you turn on Include Credentials, and saves through the standard macOS save dialog.</li>
<li>Scrolling large result sets uses less CPU.</li>
<li>Typing in the sidebar table search stays responsive on databases with thousands of tables.</li>
<li>The welcome sidebar stays responsive with many connections and nested groups.</li>
<li>Autocomplete stays snappy on wide SELECT clauses with hundreds of columns.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>SQL autocomplete no longer stops appearing until the app is relaunched; it stays available after switching query tabs and windows. (#1731)</li>
<li>Oracle connections no longer crash the app when the server sends a message the driver cannot decode; the query fails with a clear error and reconnects. (#483)</li>
<li>MongoDB TLS handshake failures now report the actual cause instead of always blaming a cipher or protocol mismatch. (#1418)</li>
<li>The External Clients access level no longer reverts to Read Only after saving and reopening a connection, so MCP clients keep the write access you granted. (#1730)</li>
<li>Typing fast with the autocomplete window open no longer stalls each keystroke.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.52.1/TablePro-0.52.1-x86_64.zip" length="31439964" type="application/octet-stream" sparkle:edSignature="Rq9S0AIBT0i/1P1ZGaxngf7zLXqCI5M/fSGDgocKZMvDLHGlWCv5VSnDR0dc2kNr7XGueJW/pqnaAFOE/CTKBA=="/>
</item>
<item>
<title>0.52.0</title>
<pubDate>Thu, 18 Jun 2026 17:53:31 +0000</pubDate>
<sparkle:version>100</sparkle:version>
<sparkle:shortVersionString>0.52.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Triggers tab in the table structure view for MySQL, MariaDB, PostgreSQL, SQLite, SQL Server, Oracle, libSQL, and Cloudflare D1, with a filter field, sortable columns, and a read-only view of each trigger's definition. (#1695)</li>
<li>Create, edit, and drop triggers from the Triggers tab. (#1695)</li>
<li>Traditional Chinese (繁體中文) language in Settings > General.</li>
<li>An Add button in the table status bar inserts a new row at the end of the grid and starts editing it.</li>
<li>DuckDB connections can now reach a remote server over the Quack protocol (experimental). Pick Remote (Quack) in the connection form, enter the host, port, and token. Listing remote tables in the sidebar is not available yet. Needs DuckDB 1.5.3 or later. (#1716)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Selecting a Redis namespace in the sidebar now filters the open view to that prefix with paging, instead of opening a separate tab. (#1701)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>SQL autocomplete now suggests columns for a derived-table or CTE alias. (#1697)</li>
<li>Redis entries no longer disappear after the connection sits idle. (#1701)</li>
<li>Redis key browsing now lists and pages through every key in a database or namespace, instead of only the first SCAN batch. (#1701)</li>
<li>A dropped Redis connection now reconnects on the next command and replays auth and the selected database. (#1701)</li>
<li>DuckDB VARIANT columns now show their value as text instead of an empty cell.</li>
<li>A new database group now appears in the connection list right away instead of only after restarting the app. (#1704)</li>
<li>The SQL formatter keeps nested indentation for UNION, INTERSECT, and EXCEPT inside a subquery, and puts the closing parenthesis on its own line. (#1698)</li>
<li>Toolbar button tooltips now show each action's real keyboard shortcut and follow your custom bindings. (#1694)</li>
<li>Deleting a table from the sidebar now removes it from the tree right away on multi-database servers like MySQL and PostgreSQL. (#1714)</li>
<li>The row detail panel no longer stays blank when a table is opened in a second tab.</li>
<li>The sidebar filter now stays put when you open another tab.</li>
<li>Fixed a crash when browsing the database tree on servers with many schemas, such as PostgreSQL.</li>
<li>Reopening the app no longer shows a "Not connected to database" error when it restores a table tab on a connection that is still reconnecting, such as one over SSH.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.52.0/TablePro-0.52.0-arm64.zip" length="28596216" type="application/octet-stream" sparkle:edSignature="ewOJfOiG9Hw8TDpWtirtGi7gpZJcptGj8FYILMs+Bix/EI8yWXNs1QbApGQpoQ6eyTtnQwFW9KiI+qvj8Vp5Ag=="/>
</item>
<item>
<title>0.52.0</title>
<pubDate>Thu, 18 Jun 2026 17:53:32 +0000</pubDate>
<sparkle:version>100</sparkle:version>
<sparkle:shortVersionString>0.52.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Triggers tab in the table structure view for MySQL, MariaDB, PostgreSQL, SQLite, SQL Server, Oracle, libSQL, and Cloudflare D1, with a filter field, sortable columns, and a read-only view of each trigger's definition. (#1695)</li>
<li>Create, edit, and drop triggers from the Triggers tab. (#1695)</li>
<li>Traditional Chinese (繁體中文) language in Settings > General.</li>
<li>An Add button in the table status bar inserts a new row at the end of the grid and starts editing it.</li>
<li>DuckDB connections can now reach a remote server over the Quack protocol (experimental). Pick Remote (Quack) in the connection form, enter the host, port, and token. Listing remote tables in the sidebar is not available yet. Needs DuckDB 1.5.3 or later. (#1716)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Selecting a Redis namespace in the sidebar now filters the open view to that prefix with paging, instead of opening a separate tab. (#1701)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>SQL autocomplete now suggests columns for a derived-table or CTE alias. (#1697)</li>
<li>Redis entries no longer disappear after the connection sits idle. (#1701)</li>
<li>Redis key browsing now lists and pages through every key in a database or namespace, instead of only the first SCAN batch. (#1701)</li>
<li>A dropped Redis connection now reconnects on the next command and replays auth and the selected database. (#1701)</li>
<li>DuckDB VARIANT columns now show their value as text instead of an empty cell.</li>
<li>A new database group now appears in the connection list right away instead of only after restarting the app. (#1704)</li>
<li>The SQL formatter keeps nested indentation for UNION, INTERSECT, and EXCEPT inside a subquery, and puts the closing parenthesis on its own line. (#1698)</li>
<li>Toolbar button tooltips now show each action's real keyboard shortcut and follow your custom bindings. (#1694)</li>
<li>Deleting a table from the sidebar now removes it from the tree right away on multi-database servers like MySQL and PostgreSQL. (#1714)</li>
<li>The row detail panel no longer stays blank when a table is opened in a second tab.</li>
<li>The sidebar filter now stays put when you open another tab.</li>
<li>Fixed a crash when browsing the database tree on servers with many schemas, such as PostgreSQL.</li>
<li>Reopening the app no longer shows a "Not connected to database" error when it restores a table tab on a connection that is still reconnecting, such as one over SSH.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.52.0/TablePro-0.52.0-x86_64.zip" length="31428627" type="application/octet-stream" sparkle:edSignature="ioCxzt6hmrfq6aLX6iqlwzWfVrQvNMVPgj9GTvHvS5aiXdCabdTAPedneIX3NPq0qGXbtS+jyXFJ4mGqsB0ZAQ=="/>
</item>
<item>
<title>0.51.1</title>
<pubDate>Mon, 15 Jun 2026 17:49:43 +0000</pubDate>
<sparkle:version>99</sparkle:version>
<sparkle:shortVersionString>0.51.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>The tree sidebar can filter to only the databases you pick, saved per connection. (#1667)</li>
<li>Closing a query tab no longer loses unsaved SQL. The next blank query tab for the same connection restores the last closed draft. (#1686)</li>
<li>A checkbox in the filter panel header turns every filter row on or off at once, with a dash when only some are on.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The filter panel's "Unset" button is now "Clear". It keeps your filter rows and only drops the applied state. To remove the rows, use "Remove All Filters" in the filter options menu.</li>
<li>A row's right-click menu now has "Apply Only This Filter". The inline per-row Apply button is gone.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Shift+Arrow in the data grid now starts and extends a cell selection from the focused cell. Cmd+Shift+Arrow extends to the row or column edge.</li>
<li>Delete key now removes all rows covered by a cell-range selection instead of ignoring it.</li>
<li>Right-clicking inside a multi-row or cell-range selection no longer collapses the selection first.</li>
<li>Oracle connections no longer crash during connect when the server sends a short or unexpected handshake packet. (#1683)</li>
<li>MongoDB filters on `_id` and other ObjectId fields now match. A 24-character hex value is matched as an ObjectId as well as a string. (#1682)</li>
<li>The sidebar and inspector keep their width per connection, the sidebar its collapsed state, and the inspector its selected tab, across quit and reopen.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.51.1/TablePro-0.51.1-arm64.zip" length="19441611" type="application/octet-stream" sparkle:edSignature="Wi4wcHS1/oemMC1WxgMNOVKzzzFpo4tJoTi+rlpeysp3/IOghsehlriRwi0s3bVec+7YQ2WYqgbj9Bg5X1knAw=="/>
</item>
<item>
<title>0.51.1</title>
<pubDate>Mon, 15 Jun 2026 17:49:44 +0000</pubDate>
<sparkle:version>99</sparkle:version>
<sparkle:shortVersionString>0.51.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>The tree sidebar can filter to only the databases you pick, saved per connection. (#1667)</li>
<li>Closing a query tab no longer loses unsaved SQL. The next blank query tab for the same connection restores the last closed draft. (#1686)</li>
<li>A checkbox in the filter panel header turns every filter row on or off at once, with a dash when only some are on.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The filter panel's "Unset" button is now "Clear". It keeps your filter rows and only drops the applied state. To remove the rows, use "Remove All Filters" in the filter options menu.</li>
<li>A row's right-click menu now has "Apply Only This Filter". The inline per-row Apply button is gone.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Shift+Arrow in the data grid now starts and extends a cell selection from the focused cell. Cmd+Shift+Arrow extends to the row or column edge.</li>
<li>Delete key now removes all rows covered by a cell-range selection instead of ignoring it.</li>
<li>Right-clicking inside a multi-row or cell-range selection no longer collapses the selection first.</li>
<li>Oracle connections no longer crash during connect when the server sends a short or unexpected handshake packet. (#1683)</li>
<li>MongoDB filters on `_id` and other ObjectId fields now match. A 24-character hex value is matched as an ObjectId as well as a string. (#1682)</li>
<li>The sidebar and inspector keep their width per connection, the sidebar its collapsed state, and the inspector its selected tab, across quit and reopen.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.51.1/TablePro-0.51.1-x86_64.zip" length="20542670" type="application/octet-stream" sparkle:edSignature="makYitcy1p/GLeMCpcjbxzNUB4tP1A2chFT7wR4AlPRpbCklxJ7OaPsdLnT+xTEJH8x7ToLpUkyN8WYV8IglDg=="/>
</item>
<item>
<title>0.51.0</title>
<pubDate>Sat, 13 Jun 2026 17:58:13 +0000</pubDate>
<sparkle:version>98</sparkle:version>
<sparkle:shortVersionString>0.51.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>BigQuery datasets can be switched, created, and dropped from the toolbar, Cmd+K switcher, and File menu. (#509)</li>
<li>Quick Switcher now searches saved queries too, alongside tables, views, databases, and history.</li>
<li>Quick Switcher scopes: an empty search shows recent items, and Cmd+1 to Cmd+4 browse all tables, databases, or queries.</li>
<li>Quick Switcher: Option+Return opens a table in a new tab, and right-click opens its structure or copies the name or query.</li>
<li>Tables already open show an Open badge in the Quick Switcher, rank higher, and Return switches to the existing tab.</li>
<li>`.psql` and `.pgsql` files now open in the SQL editor like `.sql`. (#1641)</li>
<li>Session restore brings back each tab's sort, page, cursor position, and column widths, plus the connection's active database and schema. Tabs autosave every 30 seconds, so a crash recovers your last session and reopens its connections. (#1673)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Redis connections now filter with a key-pattern search field and a key-type scope. Glob patterns like `user:*` match server-side across the whole keyspace, replacing the SQL-style filter row that only matched one batch of keys.</li>
<li>Switcher, menus, and alerts now use each database's own container name: Dataset for BigQuery, Keyspace for Cassandra and ScyllaDB. (#509)</li>
<li>Quick Switcher highlights matched characters, aligns camelCase and snake_case names better, and ranks items you open often and recently higher.</li>
<li>Quick Switcher now opens as a Spotlight-style floating panel instead of a modal sheet, with Liquid Glass on macOS 26.</li>
<li>The sidebar filter, database switcher, and connection switcher now use the same fuzzy matching as the Quick Switcher, so `upv` finds `user_profile_view`.</li>
<li>Refresh (Cmd+R) now acts only on the focused window's connection instead of reloading every open connection.</li>
<li>Holding Cmd+R no longer queues a backlog of refreshes; rapid presses collapse into a single reload.</li>
<li>Switching PostgreSQL schemas now sets the search path to just the selected schema. Unqualified references to "public" objects, such as extension functions, need a "public." prefix while another schema is selected. (#1662)</li>
<li>The inspector panel can now be resized freely by dragging its divider.</li>
<li>TablePro now reopens your last session on launch by default instead of the welcome screen. Existing installs move over once; change it under Settings > General > Startup Behavior. (#1673)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>PostgreSQL and Redshift autocomplete now completes tables and columns from schemas other than the selected one, so `SELECT * FROM s2.orders` suggests `s2`'s columns. (#1668)</li>
<li>Favorite keywords work again. Deleting a connection now also deletes its saved queries, folders, and per-table filters, the confirmation says so, and favorites orphaned by an earlier delete are cleaned up at launch.</li>
<li>Keyword and SQL keyword autocomplete now work in editors without a connection, and favorites appear in the completion popup immediately.</li>
<li>Typing a favorite's keyword in the Quick Switcher now finds the saved query instead of ranking it below name matches.</li>
<li>PostgreSQL databases without a "public" schema now load tables from the first available schema, show the schema selector even with one schema, and count tables across every user schema. (#1662)</li>
<li>Switching schemas no longer closes open tabs or discards unsaved SQL; the sidebar, schema chip, and autocomplete update to the new schema. (#1669)</li>
<li>Creating a table now turns the Create Table tab into the new table's tab and shows it in the sidebar without a manual refresh. (#1664)</li>
<li>Cmd+S in the Create Table tab now creates the table, matching the Save shortcut everywhere else. (#1664)</li>
<li>Format Query can now be undone with Cmd+Z. (#1645)</li>
<li>Format Query now formats only the selection when one is active, and the full query otherwise. (#1656)</li>
<li>Foreign key jump arrows no longer disappear after sorting, filtering, or paginating, and a failed lookup is retried on the next load.</li>
<li>PostgreSQL foreign keys are now read from the system catalogs, so FK jump arrows appear even when the role does not own the referenced tables.</li>
<li>Sorting a query result no longer overwrites the SQL editor or an opened `.sql` file; the sort runs as a separate query. (#1645)</li>
<li>iCloud Sync between the iPhone and Mac apps now uses the Production CloudKit environment, so development builds no longer sync into a separate database.</li>
<li>Exports no longer fail mid-table on servers with a statement time limit; the export session disables the limit and restores it afterwards. (#1633)</li>
<li>Quick Switcher no longer shows an empty table list when opened before the schema finishes loading.</li>
<li>Loading a saved query or history entry from the no-tabs screen now opens it in the current window instead of a second tab.</li>
<li>Opening a query from history in the Quick Switcher loads the full query instead of a 100-character preview.</li>
<li>Refreshing a table now reloads its data even when the previous load is still running. (#1637)</li>
<li>Cmd+R on a table now reloads its rows instead of failing with a query error.</li>
<li>SQL autocomplete now suggests tables after JOIN across multi-join and multi-clause queries, with tables leading the list. (#1646)</li>
<li>Large SQL scripts no longer freeze the editor or pin the CPU. Above 2 MB the editor suspends syntax highlighting and inline AI so typing and scrolling stay responsive. (#1652)</li>
</ul>
<h3>Security</h3>
<ul>
<li>Imported connections from a deep link or shared file can no longer carry a pre-connect script that runs a shell command on connect.</li>
<li>External database links now ask for confirmation before connecting, and a password in the link is never saved to the Keychain.</li>
<li>MCP tools now enforce each connection's external access level, AI policy, and token scope on every request.</li>
<li>The MCP server now requires a paired token by default, even over loopback.</li>
<li>An installed plugin's code signature is re-checked right before it loads, so the binary cannot be swapped after the first check.</li>
<li>MongoDB filter values in the Contains, Not Contains, Starts With, Ends With, and Regex operators can no longer inject query operators.</li>
<li>iOS validates TLS certificates for MySQL, PostgreSQL, and Redis connections set to a verify SSL mode.</li>
<li>Database values copied on iOS stay on the device and clear from the clipboard after a minute.</li>
<li>The iOS home screen widget no longer stores database host and port on disk.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.51.0/TablePro-0.51.0-arm64.zip" length="19418182" type="application/octet-stream" sparkle:edSignature="8dnPYxwG80E6TFkWAYVj5vTQo454grXBkTowiHYVwL3fFGdagPyTQz8qT6Dr6PGXMDaObuzDAmBS2bViz2qqBA=="/>
</item>
<item>
<title>0.51.0</title>
<pubDate>Sat, 13 Jun 2026 17:58:14 +0000</pubDate>
<sparkle:version>98</sparkle:version>
<sparkle:shortVersionString>0.51.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>BigQuery datasets can be switched, created, and dropped from the toolbar, Cmd+K switcher, and File menu. (#509)</li>
<li>Quick Switcher now searches saved queries too, alongside tables, views, databases, and history.</li>
<li>Quick Switcher scopes: an empty search shows recent items, and Cmd+1 to Cmd+4 browse all tables, databases, or queries.</li>
<li>Quick Switcher: Option+Return opens a table in a new tab, and right-click opens its structure or copies the name or query.</li>
<li>Tables already open show an Open badge in the Quick Switcher, rank higher, and Return switches to the existing tab.</li>
<li>`.psql` and `.pgsql` files now open in the SQL editor like `.sql`. (#1641)</li>
<li>Session restore brings back each tab's sort, page, cursor position, and column widths, plus the connection's active database and schema. Tabs autosave every 30 seconds, so a crash recovers your last session and reopens its connections. (#1673)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Redis connections now filter with a key-pattern search field and a key-type scope. Glob patterns like `user:*` match server-side across the whole keyspace, replacing the SQL-style filter row that only matched one batch of keys.</li>
<li>Switcher, menus, and alerts now use each database's own container name: Dataset for BigQuery, Keyspace for Cassandra and ScyllaDB. (#509)</li>
<li>Quick Switcher highlights matched characters, aligns camelCase and snake_case names better, and ranks items you open often and recently higher.</li>
<li>Quick Switcher now opens as a Spotlight-style floating panel instead of a modal sheet, with Liquid Glass on macOS 26.</li>
<li>The sidebar filter, database switcher, and connection switcher now use the same fuzzy matching as the Quick Switcher, so `upv` finds `user_profile_view`.</li>
<li>Refresh (Cmd+R) now acts only on the focused window's connection instead of reloading every open connection.</li>
<li>Holding Cmd+R no longer queues a backlog of refreshes; rapid presses collapse into a single reload.</li>
<li>Switching PostgreSQL schemas now sets the search path to just the selected schema. Unqualified references to "public" objects, such as extension functions, need a "public." prefix while another schema is selected. (#1662)</li>
<li>The inspector panel can now be resized freely by dragging its divider.</li>
<li>TablePro now reopens your last session on launch by default instead of the welcome screen. Existing installs move over once; change it under Settings > General > Startup Behavior. (#1673)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>PostgreSQL and Redshift autocomplete now completes tables and columns from schemas other than the selected one, so `SELECT * FROM s2.orders` suggests `s2`'s columns. (#1668)</li>
<li>Favorite keywords work again. Deleting a connection now also deletes its saved queries, folders, and per-table filters, the confirmation says so, and favorites orphaned by an earlier delete are cleaned up at launch.</li>
<li>Keyword and SQL keyword autocomplete now work in editors without a connection, and favorites appear in the completion popup immediately.</li>
<li>Typing a favorite's keyword in the Quick Switcher now finds the saved query instead of ranking it below name matches.</li>
<li>PostgreSQL databases without a "public" schema now load tables from the first available schema, show the schema selector even with one schema, and count tables across every user schema. (#1662)</li>
<li>Switching schemas no longer closes open tabs or discards unsaved SQL; the sidebar, schema chip, and autocomplete update to the new schema. (#1669)</li>
<li>Creating a table now turns the Create Table tab into the new table's tab and shows it in the sidebar without a manual refresh. (#1664)</li>
<li>Cmd+S in the Create Table tab now creates the table, matching the Save shortcut everywhere else. (#1664)</li>
<li>Format Query can now be undone with Cmd+Z. (#1645)</li>
<li>Format Query now formats only the selection when one is active, and the full query otherwise. (#1656)</li>
<li>Foreign key jump arrows no longer disappear after sorting, filtering, or paginating, and a failed lookup is retried on the next load.</li>
<li>PostgreSQL foreign keys are now read from the system catalogs, so FK jump arrows appear even when the role does not own the referenced tables.</li>
<li>Sorting a query result no longer overwrites the SQL editor or an opened `.sql` file; the sort runs as a separate query. (#1645)</li>
<li>iCloud Sync between the iPhone and Mac apps now uses the Production CloudKit environment, so development builds no longer sync into a separate database.</li>
<li>Exports no longer fail mid-table on servers with a statement time limit; the export session disables the limit and restores it afterwards. (#1633)</li>
<li>Quick Switcher no longer shows an empty table list when opened before the schema finishes loading.</li>
<li>Loading a saved query or history entry from the no-tabs screen now opens it in the current window instead of a second tab.</li>
<li>Opening a query from history in the Quick Switcher loads the full query instead of a 100-character preview.</li>
<li>Refreshing a table now reloads its data even when the previous load is still running. (#1637)</li>
<li>Cmd+R on a table now reloads its rows instead of failing with a query error.</li>
<li>SQL autocomplete now suggests tables after JOIN across multi-join and multi-clause queries, with tables leading the list. (#1646)</li>
<li>Large SQL scripts no longer freeze the editor or pin the CPU. Above 2 MB the editor suspends syntax highlighting and inline AI so typing and scrolling stay responsive. (#1652)</li>
</ul>
<h3>Security</h3>
<ul>
<li>Imported connections from a deep link or shared file can no longer carry a pre-connect script that runs a shell command on connect.</li>
<li>External database links now ask for confirmation before connecting, and a password in the link is never saved to the Keychain.</li>
<li>MCP tools now enforce each connection's external access level, AI policy, and token scope on every request.</li>
<li>The MCP server now requires a paired token by default, even over loopback.</li>
<li>An installed plugin's code signature is re-checked right before it loads, so the binary cannot be swapped after the first check.</li>
<li>MongoDB filter values in the Contains, Not Contains, Starts With, Ends With, and Regex operators can no longer inject query operators.</li>
<li>iOS validates TLS certificates for MySQL, PostgreSQL, and Redis connections set to a verify SSL mode.</li>
<li>Database values copied on iOS stay on the device and clear from the clipboard after a minute.</li>
<li>The iOS home screen widget no longer stores database host and port on disk.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.51.0/TablePro-0.51.0-x86_64.zip" length="20518024" type="application/octet-stream" sparkle:edSignature="pxb0F5pGVQ8Hm93t78p4wBTYyJGPCgoq3rRt/Ng9r4Q6vGNOu7xszrVazhHDgTLMqGHucHgA5xhhkRpL4cSVAQ=="/>
</item>
<item>
<title>0.50.0</title>
<pubDate>Mon, 08 Jun 2026 18:51:51 +0000</pubDate>
<sparkle:version>97</sparkle:version>
<sparkle:shortVersionString>0.50.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Cursor as an AI provider: use a Cursor API key or sign in with the Cursor CLI. (#1624)</li>
<li>Sign in with ChatGPT to run AI chat and inline suggestions without an API key. Existing Codex CLI logins can be imported. (#1617)</li>
<li>libSQL / Turso connections can open a local database file offline, transactions included. (#1607)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Default row sort now applies to the first table opened after launch. (#1603)</li>
<li>Cancelling a SQLite query no longer races a disconnect. (#1610)</li>
<li>Typing in the query editor no longer erases characters or drops focus, most visible on macOS 15. (#1608)</li>
<li>The autocomplete popup now filters in place instead of closing and reopening on each keystroke. (#1608)</li>
<li>Syntax highlighting no longer disappears after formatting a query. (#1612)</li>
<li>The GitHub Copilot provider no longer shows a Max output tokens field it ignores or leaves a stray model ID field behind.</li>
<li>Oracle connections with native network encryption no longer crash on a server error; the real ORA error is shown and the connection keeps working. (#483)</li>
<li>Clicking an already-open table switches to its tab instead of opening a duplicate. (#1613)</li>
<li>MongoDB now connects over an SSH or Cloudflare tunnel instead of failing with connection refused. (#1621)</li>
<li>A plugin updated in Settings stays marked Installed instead of showing the Update button again.</li>
<li>DBeaver connections import from any edition, based on your DBeaver data rather than which app is installed. (#1628)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.50.0/TablePro-0.50.0-arm64.zip" length="19281503" type="application/octet-stream" sparkle:edSignature="HGNzi8h2mrfDQLbglVdRdp4/si0W64xXwMtXAkDEQgpA0DLB8AasMOW3+6SkU0CN+4FdlEVf27yH0uDUr8aQAA=="/>
</item>
<item>
<title>0.50.0</title>
<pubDate>Mon, 08 Jun 2026 18:51:52 +0000</pubDate>
<sparkle:version>97</sparkle:version>
<sparkle:shortVersionString>0.50.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Cursor as an AI provider: use a Cursor API key or sign in with the Cursor CLI. (#1624)</li>
<li>Sign in with ChatGPT to run AI chat and inline suggestions without an API key. Existing Codex CLI logins can be imported. (#1617)</li>
<li>libSQL / Turso connections can open a local database file offline, transactions included. (#1607)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Default row sort now applies to the first table opened after launch. (#1603)</li>
<li>Cancelling a SQLite query no longer races a disconnect. (#1610)</li>
<li>Typing in the query editor no longer erases characters or drops focus, most visible on macOS 15. (#1608)</li>
<li>The autocomplete popup now filters in place instead of closing and reopening on each keystroke. (#1608)</li>
<li>Syntax highlighting no longer disappears after formatting a query. (#1612)</li>
<li>The GitHub Copilot provider no longer shows a Max output tokens field it ignores or leaves a stray model ID field behind.</li>
<li>Oracle connections with native network encryption no longer crash on a server error; the real ORA error is shown and the connection keeps working. (#483)</li>
<li>Clicking an already-open table switches to its tab instead of opening a duplicate. (#1613)</li>
<li>MongoDB now connects over an SSH or Cloudflare tunnel instead of failing with connection refused. (#1621)</li>
<li>A plugin updated in Settings stays marked Installed instead of showing the Update button again.</li>
<li>DBeaver connections import from any edition, based on your DBeaver data rather than which app is installed. (#1628)</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.50.0/TablePro-0.50.0-x86_64.zip" length="20366453" type="application/octet-stream" sparkle:edSignature="Y5B6VLkx1/ZoOj4v92ywK5P/H1hdz42tt7YRZ9LeWvZdhvqTYJH5RjH42Qnt4qJ3lBMaNJqcF0E/fsD0UloZBg=="/>
</item>
<item>
<title>0.49.1</title>
<pubDate>Sat, 06 Jun 2026 12:45:55 +0000</pubDate>
<sparkle:version>96</sparkle:version>
<sparkle:shortVersionString>0.49.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Fixed</h3>
<ul>
<li>Default row sort by primary key works again for PostgreSQL and other databases, and the rows arrive already sorted on the first load instead of re-sorting after they appear. (#1603)</li>
<li>Registry plugins built before 0.49.0 install and load again instead of failing with an invalid plugin bundle error.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.49.1/TablePro-0.49.1-arm64.zip" length="19184638" type="application/octet-stream" sparkle:edSignature="w29qs8hAIYcCGafV4bTR1wOh+yBsEnCHcWKDlmfDTAQadBM6m6vlMyWGwg35CtsMObfm3OXp9ZR4/g98bz8SAA=="/>
</item>
<item>
<title>0.49.1</title>
<pubDate>Sat, 06 Jun 2026 12:45:56 +0000</pubDate>
<sparkle:version>96</sparkle:version>
<sparkle:shortVersionString>0.49.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Fixed</h3>
<ul>
<li>Default row sort by primary key works again for PostgreSQL and other databases, and the rows arrive already sorted on the first load instead of re-sorting after they appear. (#1603)</li>
<li>Registry plugins built before 0.49.0 install and load again instead of failing with an invalid plugin bundle error.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.49.1/TablePro-0.49.1-x86_64.zip" length="20263206" type="application/octet-stream" sparkle:edSignature="omQBCGIFfRcn6QypSj1xEzGYBtpdVG6t7frPVVkP3ZYuZ9w+1WE0aDPmNfDqWQjMyrvz2xD+mtP1eHOmYoqIAw=="/>
</item>
<item>
<title>0.49.0</title>
<pubDate>Sat, 06 Jun 2026 10:45:41 +0000</pubDate>
<sparkle:version>95</sparkle:version>
<sparkle:shortVersionString>0.49.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Snowflake support: sign in with username & password (MFA included), key-pair, browser SSO, or an access token; browse and edit data, import CSV and JSON, edit table structure, run scripts, and switch warehouse and role from the toolbar. Snowflake CLI connections can be reused by name. (#1420)</li>
<li>Import CSV and TSV files into a table: map columns to an existing table or create a new one, with delimiter, quote, encoding, header, and NULL options. (#1568)</li>
<li>SQL autocomplete completes each segment of qualified names (database, schema, table), loads tables of unopened schemas on demand, resolves alias columns, and suggests the connection's dialect functions.</li>
<li>Each filter row can be switched on or off and applied on its own; disabled rows stay in the panel. (#1561)</li>
<li>Importing connections from other apps detects duplicates and lets you replace, add a copy, or skip each one.</li>
<li>Oracle connections negotiate Native Network Encryption, so servers that require it now connect. (#483)</li>
<li>Oracle connections follow listener redirects, so RAC SCAN, shared server, and load-balanced setups connect. (#483)</li>
<li>AWS connections can assume an IAM role through STS, including chained source profiles, external IDs, and custom durations. (#1567)</li>
<li>Redis connects to Amazon ElastiCache with IAM auth via access key, profile, or SSO. (#1567)</li>
<li>AWS SSO sign-in from TablePro: an expired session prompts a browser sign-in and refreshes the token. (#1567)</li>
<li>Cassandra connects to Amazon Keyspaces with AWS IAM (SigV4) auth via access keys, profile, or SSO. (#1567)</li>
<li>Export and import dialogs remember the last-used format, options, and encoding; cancelling keeps your saved settings, and Reset to Defaults restores the stock options. (#1591)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The results status bar has a divider, balanced margins, and a spinner sized to its controls. (#1569)</li>
<li>Custom keyboard shortcuts work on non-US layouts, and shifted symbols like Cmd+[ record correctly.</li>
<li>The Keyboard settings list is grouped by where shortcuts act (Editor, Data Grid, Navigation, Connections), with a reset button per changed shortcut.</li>
<li>Shortcut conflict detection checks live macOS system shortcuts and editor commands, and allows the same key in the editor and the data grid since focus decides which runs.</li>
<li>Show Tables and Show Favorites moved to Cmd+Option+1 and Cmd+Option+2; Control+1 and Control+2 belong to macOS Spaces.</li>
<li>Cmd+N opens a new connection; Manage Connections stays in the File menu.</li>
<li>First Page and Last Page default to Cmd+Option+Up and Cmd+Option+Down.</li>
<li>Shortcuts can use function keys (F1 through F12), with or without a modifier.</li>
<li>AWS connections list the profiles from `~/.aws/config` and `~/.aws/credentials`, and still accept a typed name. (#1567)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Accepting an autocomplete suggestion replaces the whole typed word; it could leave part of the word behind, turning `mess` plus Tab into `memessage`.</li>
<li>MongoDB: connecting to Atlas no longer fails with TLS internal error (-9838); the plugin ships the OpenSSL TLS stack again. (#1599)</li>
<li>DuckDB: the plugin runs DuckDB 1.5.2 again after a rollback to 1.5.0.</li>
<li>JSON import: a failed import with "Delete existing rows before import" restores the deleted rows.</li>
<li>JSON import: skip-and-continue no longer inserts duplicate rows after a mid-batch error.</li>
<li>JSON import: "Stop and Commit" keeps the rows inserted before the error.</li>
<li>The connection and database switcher focuses its search field even while a filter input is being edited; the filter text is kept. (#1575)</li>
<li>TablePro no longer shows its icon for .sql, .sqlite, and .duckdb files when it is not their default app. (#1594)</li>
<li>The JSON results view shows row data right away, follows the row selection, and shows a spinner while large results format. (#1576)</li>
<li>Double-click or Enter edits a JSON cell inline and opens the hex editor on a blob cell; the chevron still opens the tree or hex editor. (#1588)</li>
<li>Query results appear as soon as rows return; metadata loads in the background, removing a multi-second wait on slow remote databases. (#1574)</li>
<li>MySQL and MariaDB queries are editable right away instead of waiting on a separate metadata query. (#1574)</li>
<li>Status bar buttons no longer get blocked by the bottom-right window resize zone. (#1569)</li>
<li>VoiceOver reads clear labels for the results status bar controls. (#1569)</li>
<li>The custom rows-per-page popover points at the page-size menu. (#1569)</li>
<li>DynamoDB AWS Profile auth reads `~/.aws/config` too and supports `credential_process`, so config-only, SSO, and credential-process profiles work. (#1567)</li>
<li>Query result columns follow the SELECT order; new columns no longer get stuck at the end of the grid. (#1565)</li>
<li>JSON file import works again. It failed to load in 0.48.0.</li>
<li>SQL export quotes empty or malformed numeric values instead of producing invalid INSERT statements.</li>
<li>SQL Server: logins restricted to one database, such as Azure SQL contained users, now connect; the database is sent during login.</li>
<li>Custom Copy and Cut shortcuts take effect in the SQL editor.</li>
<li>The Delete shortcut in the data grid follows a custom binding.</li>
<li>Find Next (Cmd+G) and Find Previous (Cmd+Shift+G) work in the editor.</li>
<li>Pagination buttons no longer fire their page shortcut twice.</li>
<li>PostgreSQL scripts with `DO $$ ... $$` blocks or dollar-quoted bodies no longer fail with an unterminated string error. (#1559)</li>
<li>AWS IAM connections no longer ask for a password; the same holds for any auth mode that replaces the password, such as a Postgres password file.</li>
<li>Oracle connection failures show the listener's actual reason instead of a generic message. (#483)</li>
<li>A connection password read from a command no longer fails when the command finishes quickly.</li>
<li>A cancelled MCP query returns a cancelled error instead of an invalid-parameters error, and emits an initial progress notification.</li>
</ul>
]]></description>
<enclosure url="https://github.com/TableProApp/TablePro/releases/download/v0.49.0/TablePro-0.49.0-arm64.zip" length="19185696" type="application/octet-stream" sparkle:edSignature="5gBABpZDh+ReriNOq0uocEnJUOr+oyqlUvlcPSu+t1hwCf40I6hPNHoy17iohIcm6C+5iWNfhSmDBkTwIRsnAQ=="/>
</item>
<item>
<title>0.49.0</title>
<pubDate>Sat, 06 Jun 2026 10:45:41 +0000</pubDate>
<sparkle:version>95</sparkle:version>
<sparkle:shortVersionString>0.49.0</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<description><![CDATA[<h3>Added</h3>
<ul>
<li>Snowflake support: sign in with username & password (MFA included), key-pair, browser SSO, or an access token; browse and edit data, import CSV and JSON, edit table structure, run scripts, and switch warehouse and role from the toolbar. Snowflake CLI connections can be reused by name. (#1420)</li>
<li>Import CSV and TSV files into a table: map columns to an existing table or create a new one, with delimiter, quote, encoding, header, and NULL options. (#1568)</li>
<li>SQL autocomplete completes each segment of qualified names (database, schema, table), loads tables of unopened schemas on demand, resolves alias columns, and suggests the connection's dialect functions.</li>
<li>Each filter row can be switched on or off and applied on its own; disabled rows stay in the panel. (#1561)</li>
<li>Importing connections from other apps detects duplicates and lets you replace, add a copy, or skip each one.</li>
<li>Oracle connections negotiate Native Network Encryption, so servers that require it now connect. (#483)</li>
<li>Oracle connections follow listener redirects, so RAC SCAN, shared server, and load-balanced setups connect. (#483)</li>
<li>AWS connections can assume an IAM role through STS, including chained source profiles, external IDs, and custom durations. (#1567)</li>
<li>Redis connects to Amazon ElastiCache with IAM auth via access key, profile, or SSO. (#1567)</li>
<li>AWS SSO sign-in from TablePro: an expired session prompts a browser sign-in and refreshes the token. (#1567)</li>
<li>Cassandra connects to Amazon Keyspaces with AWS IAM (SigV4) auth via access keys, profile, or SSO. (#1567)</li>
<li>Export and import dialogs remember the last-used format, options, and encoding; cancelling keeps your saved settings, and Reset to Defaults restores the stock options. (#1591)</li>
</ul>
<h3>Changed</h3>
<ul>