Skip to content

Commit dc45c0f

Browse files
committed
release: v0.55.0
1 parent 9a96533 commit dc45c0f

4 files changed

Lines changed: 113 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.55.0] - 2026-07-04
11+
1012
### Added
1113

1214
- 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)
@@ -2420,7 +2422,8 @@ TablePro is a native macOS database client built with SwiftUI and AppKit, design
24202422
- Custom SQL query templates
24212423
- Performance optimized for large datasets
24222424

2423-
[Unreleased]: https://github.com/TableProApp/TablePro/compare/v0.54.0...HEAD
2425+
[Unreleased]: https://github.com/TableProApp/TablePro/compare/v0.55.0...HEAD
2426+
[0.55.0]: https://github.com/TableProApp/TablePro/compare/v0.54.0...v0.55.0
24242427
[0.54.0]: https://github.com/TableProApp/TablePro/compare/v0.53.0...v0.54.0
24252428
[0.53.0]: https://github.com/TableProApp/TablePro/compare/v0.52.1...v0.53.0
24262429
[0.52.1]: https://github.com/TableProApp/TablePro/compare/v0.52.0...v0.52.1

TablePro.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2882,7 +2882,7 @@
28822882
CODE_SIGN_IDENTITY = "Apple Development";
28832883
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
28842884
CODE_SIGN_STYLE = Automatic;
2885-
CURRENT_PROJECT_VERSION = 103;
2885+
CURRENT_PROJECT_VERSION = 104;
28862886
DEAD_CODE_STRIPPING = YES;
28872887
DEVELOPMENT_TEAM = D7HJ5TFYCU;
28882888
ENABLE_APP_SANDBOX = NO;
@@ -2914,7 +2914,7 @@
29142914
);
29152915
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs/dylibs";
29162916
MACOSX_DEPLOYMENT_TARGET = 14.0;
2917-
MARKETING_VERSION = 0.54.0;
2917+
MARKETING_VERSION = 0.55.0;
29182918
OTHER_LDFLAGS = (
29192919
"-Wl,-w",
29202920
"-force_load",
@@ -2959,7 +2959,7 @@
29592959
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
29602960
CODE_SIGN_STYLE = Automatic;
29612961
COPY_PHASE_STRIP = YES;
2962-
CURRENT_PROJECT_VERSION = 103;
2962+
CURRENT_PROJECT_VERSION = 104;
29632963
DEAD_CODE_STRIPPING = YES;
29642964
DEPLOYMENT_POSTPROCESSING = YES;
29652965
DEVELOPMENT_TEAM = D7HJ5TFYCU;
@@ -2992,7 +2992,7 @@
29922992
);
29932993
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs/dylibs";
29942994
MACOSX_DEPLOYMENT_TARGET = 14.0;
2995-
MARKETING_VERSION = 0.54.0;
2995+
MARKETING_VERSION = 0.55.0;
29962996
OTHER_LDFLAGS = (
29972997
"-Wl,-w",
29982998
"-force_load",

TablePro/Resources/Localizable.xcstrings

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,12 @@
747747
}
748748
}
749749
}
750+
},
751+
"(Empty)" : {
752+
753+
},
754+
"(NULL)" : {
755+
750756
},
751757
"(optional)" : {
752758
"extractionState" : "stale",
@@ -2020,6 +2026,9 @@
20202026
}
20212027
}
20222028
}
2029+
},
2030+
"%@ switches reconnect the session" : {
2031+
20232032
},
20242033
"%@ was not found on this system. Install it with `brew install libpq` and link it." : {
20252034
"localizations" : {
@@ -9731,6 +9740,9 @@
97319740
}
97329741
}
97339742
}
9743+
},
9744+
"Apply a row limit when running queries and cap results at the configured row count" : {
9745+
97349746
},
97359747
"Apply active filters (Cmd+Return)" : {
97369748
"localizations" : {
@@ -11403,6 +11415,9 @@
1140311415
}
1140411416
}
1140511417
}
11418+
},
11419+
"Available in all connections" : {
11420+
1140611421
},
1140711422
"Avg Row" : {
1140811423
"localizations" : {
@@ -13402,6 +13417,7 @@
1340213417
}
1340313418
},
1340413419
"Cap user query results at the configured row count" : {
13420+
"extractionState" : "stale",
1340513421
"localizations" : {
1340613422
"tr" : {
1340713423
"stringUnit" : {
@@ -13487,6 +13503,7 @@
1348713503
}
1348813504
},
1348913505
"Capped results show a Fetch All button to load the full set" : {
13506+
"extractionState" : "stale",
1349013507
"localizations" : {
1349113508
"tr" : {
1349213509
"stringUnit" : {
@@ -15014,6 +15031,9 @@
1501415031
}
1501515032
}
1501615033
}
15034+
},
15035+
"Clear All Value Filters" : {
15036+
1501715037
},
1501815038
"Clear applied filters without removing filter rows" : {
1501915039
"localizations" : {
@@ -15355,6 +15375,9 @@
1535515375
}
1535615376
}
1535715377
}
15378+
},
15379+
"Clear Value Filter" : {
15380+
1535815381
},
1535915382
"CLI Connection Name" : {
1536015383
"localizations" : {
@@ -16825,6 +16848,12 @@
1682516848
}
1682616849
}
1682716850
}
16851+
},
16852+
"Collapse Junction Tables" : {
16853+
16854+
},
16855+
"Collapse junction tables into many-to-many relationships" : {
16856+
1682816857
},
1682916858
"Collation" : {
1683016859
"localizations" : {
@@ -17486,6 +17515,9 @@
1748617515
}
1748717516
}
1748817517
}
17518+
},
17519+
"COMMENT" : {
17520+
1748917521
},
1749017522
"Compact" : {
1749117523
"localizations" : {
@@ -20930,6 +20962,7 @@
2093020962
}
2093120963
},
2093220964
"Could not fetch plugin registry" : {
20965+
"extractionState" : "stale",
2093320966
"localizations" : {
2093420967
"tr" : {
2093520968
"stringUnit" : {
@@ -21348,6 +21381,9 @@
2134821381
}
2134921382
}
2135021383
}
21384+
},
21385+
"Couldn't reach the plugin registry. Check your connection and try again." : {
21386+
2135121387
},
2135221388
"Count all rows" : {
2135321389
"localizations" : {
@@ -30972,6 +31008,12 @@
3097231008
}
3097331009
}
3097431010
}
31011+
},
31012+
"Execute Query Without Limit" : {
31013+
31014+
},
31015+
"Execute Without Limit" : {
31016+
3097531017
},
3097631018
"Executed %lld statements" : {
3097731019
"localizations" : {
@@ -31961,6 +32003,9 @@
3196132003
}
3196232004
}
3196332005
}
32006+
},
32007+
"Export as SQL" : {
32008+
3196432009
},
3196532010
"Export completed successfully" : {
3196632011
"localizations" : {
@@ -35623,6 +35668,9 @@
3562335668
}
3562435669
}
3562535670
}
35671+
},
35672+
"Filter Values…" : {
35673+
3562635674
},
3562735675
"Filter with column" : {
3562835676
"localizations" : {
@@ -35679,6 +35727,9 @@
3567935727
}
3568035728
}
3568135729
}
35730+
},
35731+
"Filtered" : {
35732+
3568235733
},
3568335734
"Filtering by only this row" : {
3568435735
"extractionState" : "stale",
@@ -37791,6 +37842,9 @@
3779137842
}
3779237843
}
3779337844
}
37845+
},
37846+
"Group: %@" : {
37847+
3779437848
},
3779537849
"Groups & Tags:" : {
3779637850
"localizations" : {
@@ -62596,6 +62650,9 @@
6259662650
}
6259762651
}
6259862652
}
62653+
},
62654+
"Refresh plugin list" : {
62655+
6259962656
},
6260062657
"Refreshing will discard all unsaved changes." : {
6260162658
"localizations" : {
@@ -67420,6 +67477,9 @@
6742067477
}
6742167478
}
6742267479
}
67480+
},
67481+
"Schema SQL" : {
67482+
6742367483
},
6742467484
"Schema Switch Failed" : {
6742567485
"extractionState" : "stale",
@@ -68159,6 +68219,9 @@
6815968219
}
6816068220
}
6816168221
}
68222+
},
68223+
"Search values" : {
68224+
6816268225
},
6816368226
"Search..." : {
6816468227
"localizations" : {
@@ -68983,6 +69046,9 @@
6898369046
}
6898469047
}
6898569048
}
69049+
},
69050+
"SELECT queries without their own LIMIT run with this cap applied. The query text in the editor never changes. Capped results show a Fetch All button, and Execute Without Limit skips the cap for one run." : {
69051+
6898669052
},
6898769053
"Select schema" : {
6898869054
"localizations" : {
@@ -70723,6 +70789,9 @@
7072370789
}
7072470790
}
7072570791
}
70792+
},
70793+
"Show Object Comments" : {
70794+
7072670795
},
7072770796
"Show Previous Tab" : {
7072870797
"localizations" : {
@@ -71031,6 +71100,9 @@
7103171100
}
7103271101
}
7103371102
}
71103+
},
71104+
"Showing saved plugin list. %@" : {
71105+
7103471106
},
7103571107
"Sidebar" : {
7103671108
"localizations" : {
@@ -82660,6 +82732,9 @@
8266082732
}
8266182733
}
8266282734
}
82735+
},
82736+
"Type %@ in the query to set where the cursor lands after keyword expansion." : {
82737+
8266382738
},
8266482739
"Type shortcut..." : {
8266582740
"localizations" : {
@@ -85369,6 +85444,9 @@
8536985444
}
8537085445
}
8537185446
}
85447+
},
85448+
"Values from %d loaded rows" : {
85449+
8537285450
},
8537385451
"VERBOSE (print progress)" : {
8537485452
"localizations" : {
@@ -86401,6 +86479,7 @@
8640186479
}
8640286480
},
8640386481
"When enabled, this favorite is visible in all connections" : {
86482+
"extractionState" : "stale",
8640486483
"localizations" : {
8640586484
"tr" : {
8640686485
"stringUnit" : {

docs/changelog.mdx

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

7+
<Update label="July 4, 2026" description="v0.55.0">
8+
### New Features
9+
10+
- **Add rows from the Shortcuts app (iOS)**: Two new shortcuts, Add Row to Table and Add Rows to Table, pick a saved connection, database or schema, and table, then insert rows from JSON or CSV. They run without opening the app (#1788)
11+
- **Row cap as a real LIMIT**: SELECT queries without their own LIMIT now run with the row cap applied to the statement sent to the server, so forgetting a LIMIT no longer pulls millions of rows. A query with its own LIMIT is sent as written, and Execute Query Without Limit (Option+Cmd+Enter) skips the cap for one run (#1794)
12+
- **Cursor marker in SQL Favorites**: Put ;; in a saved query to set where the cursor lands after keyword expansion in the editor (#1795)
13+
14+
### Improvements
15+
16+
- Settings > Plugins > Browse has a Refresh button to reload the plugin list on demand (#1799)
17+
- Restored table tabs no longer reload all at once on launch. Only the frontmost tab loads immediately; other tabs load when you switch to them, and a load failure shows inline in the tab instead of a dialog (#1796)
18+
19+
### Bug Fixes
20+
21+
- The New/Edit Favorite and linked file metadata dialogs now use the standard macOS grouped form layout instead of opening with a large empty area and crushed fields (#1809)
22+
- 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 (#1774)
23+
- Quick Switcher opens again on macOS Sequoia; since 0.51.0 the panel came up invisible on macOS 15 (#1806)
24+
- Quick Switcher keyboard navigation (Ctrl-J/K and arrows) no longer goes dead after the switcher has been opened and closed repeatedly (#1806)
25+
- Execute All Statements now applies the row cap to each SELECT in the batch, and each result tab tracks its own truncation state so Fetch All loads the rest of the result you are viewing (#1794)
26+
- Queries starting with a comment or with a newline right after the first keyword are classified correctly: the row cap applies to them, and Safe Mode recognizes such writes and destructive statements
27+
- Enum and set value pickers now populate when the driver reports the values only inside the column type
28+
- The plugin list no longer goes stale. The app checks the plugin registry for changes at launch, when the plugin browser opens, and before reporting a plugin as missing. An unreachable registry reports a connection problem instead of "Plugin not found" (#1799)
29+
- Dropping a materialized view or foreign table from the sidebar now generates the correct DROP statement, and drop and truncate statements are schema-qualified. ClickHouse lists materialized views as their own sidebar section (#1800)
30+
- Scrolling no longer goes dead across the app after opening an ER diagram and switching tabs while the pointer rests over the canvas (#1805)
31+
</Update>
32+
733
<Update label="June 30, 2026" description="v0.54.0">
834
### New Features
935

0 commit comments

Comments
 (0)