You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+25-28Lines changed: 25 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,41 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
-
### Added
11
-
12
-
- Right-click a column header to copy all its values from the loaded rows (#1325)
13
-
- Copy as submenu on the row context menu now offers CSV, CSV with Headers, Markdown table, and IN Clause for SQL `WHERE id IN (...)` lookups (#1325)
14
-
- Plugin updates that arrive while a connection is open stage on disk and apply when you close the connection or quit, instead of blocking the update
15
-
- Settings > Plugins shows a badge with the count of rejected plugins plus available updates so you can see at a glance when attention is needed
16
-
- Connections whose driver plugin failed to load show a yellow triangle in the welcome list
17
-
- Rejected driver plugins now show an inline banner with an Update Plugin button inside the connection form
10
+
## [0.43.1] - 2026-05-20
18
11
19
-
### Changed
12
+
### Added
20
13
21
-
- Plugin registry schema bumped to v2 with per-binary `pluginKitVersion`, so the app picks the binary built for its ABI even when newer or older binaries coexist in the registry (#1322)
22
-
- Plugin install pipeline rewritten around a `PluginInstaller` actor with per-plugin coalescing, atomic install via `FileManager.replaceItem`, and `com.apple.quarantine` xattr stripping after extract
23
-
- Auto-update now runs as a reconciliation loop after initial load with backoff (immediate, 30 s, 5 min) instead of a single best-effort pass, and works for every rejected plugin regardless of lazy or eager load path (#1322)
24
-
- Plugin rejection no longer interrupts launch with a modal alert; the app posts a UserNotifications banner and surfaces rejected entries inline in Settings > Plugins with Update Now and Remove buttons
25
-
- CI workflow `build-plugin.yml` accepts `tag:pluginKitVersion` pairs and reads `currentPluginKitVersion` from `PluginManager.swift`, replacing the hardcoded `minPluginKitVersion: 2` that made registry pre-install checks ineffective
26
-
- New `scripts/release-all-plugins.sh` triggers a single workflow run that rebuilds every registry plugin for a given PluginKit version after an ABI bump
27
-
- Double-click or press Return on a read-only query result cell to open a selectable text viewer in the cell. JSON columns open the JSON viewer in a popover, BLOB columns open the hex viewer. The value is selectable and copyable (#1336)
14
+
- Right-click a column header to copy all its loaded values (#1325)
15
+
- The row "Copy as" submenu adds CSV, CSV with Headers, Markdown table, and an IN clause for `WHERE id IN (...)` lookups (#1325)
16
+
- A plugin update that arrives while a connection is open installs when you close the connection or quit, instead of being blocked
17
+
- Settings > Plugins shows a badge with the count of rejected plugins and available updates
18
+
- Connections whose driver plugin failed to load show a yellow warning triangle in the welcome list
19
+
- A rejected driver plugin shows an inline banner with an Update Plugin button in the connection form
28
20
29
21
### Changed
30
22
31
-
-`Cmd+C` now copies the focused cell value when one row is selected and a cell has focus; with multiple rows selected, or when no cell is focused, it still copies row(s) as TSV. `Cmd+Shift+C` now always copies row(s) as TSV. "Copy with Headers" stays in the Edit menu and row context menu without a default shortcut (#1332)
32
-
-`Cmd+F` toggles the filter panel when viewing a table, and opens the Find panel in the SQL editor. The old `Cmd+Shift+F` shortcut for filters is removed
23
+
- A plugin that fails to load no longer interrupts launch with an alert. The app posts a notification and lists rejected plugins in Settings > Plugins with Update Now and Remove buttons (#1322)
24
+
- Rejected plugins auto-update from the registry in the background, retrying with backoff until they load (#1322)
25
+
- The app installs the plugin binary built for its own version, even when the registry holds binaries for other versions (#1322)
26
+
- Double-click or press Return on a read-only result cell to open a selectable text viewer. JSON columns open a viewer popover and BLOB columns open the hex viewer (#1336)
27
+
-`Cmd+C` copies the focused cell when one row is selected and a cell has focus; otherwise it copies the selected row(s) as TSV. `Cmd+Shift+C` always copies row(s) as TSV. "Copy with Headers" stays in the Edit and row context menus (#1332)
28
+
-`Cmd+F` toggles the filter panel on a table and opens Find in the SQL editor. The old `Cmd+Shift+F` filter shortcut is removed
33
29
34
30
### Fixed
35
31
36
-
-Resolves the recurring "Plugin was built with PluginKit version N, but version M is required" error after app updates(#1322, #1237, #923, #912, #443). Rejected plugins now auto-update from the registry without manual intervention
37
-
- DuckDB Spatial`GEOMETRY` columns render as WKT, not NULL (#1324)
38
-
- DuckDB `HUGEINT` and `UHUGEINT` keep full precision and no longer crash on negatives
39
-
- DuckDB streaming results honor the row cap and render`TIMESTAMPTZ`/`TIMETZ`/`GEOMETRY` instead of NULL
- DuckDB ENUMs in non-`main` schemas resolve correctly
42
-
- DuckDB `DATE` and `TIMESTAMP` BC years use a leading minus
43
-
-`.db`, `.db3`, `.s3db`, `.sl3`, and `.sqlitedb` files now open in TablePro from Finder (#1327)
44
-
- DynamoDB SSO connections work with modern `sso-session` profiles immediately after `aws sso login`, without needing to run another AWS CLI command first (#1333)
32
+
-Fixes the recurring "Plugin was built with PluginKit version N, but version M is required" error after app updates. Rejected plugins now recover without manual steps (#1322, #1237, #923, #912, #443)
33
+
- DuckDB spatial`GEOMETRY` columns show as WKT instead of NULL (#1324)
34
+
- DuckDB `HUGEINT` and `UHUGEINT` keep full precision and no longer crash on negative values
35
+
- DuckDB streaming results respect the row cap and show`TIMESTAMPTZ`, `TIMETZ`, and `GEOMETRY` instead of NULL
36
+
- DuckDB schema reads handle apostrophes and concurrent schema switches
37
+
- DuckDB ENUMs in schemas other than `main` resolve correctly
38
+
- DuckDB `DATE` and `TIMESTAMP` BC years show a leading minus
39
+
-`.db`, `.db3`, `.s3db`, `.sl3`, and `.sqlitedb` files open from Finder (#1327)
40
+
- DynamoDB SSO connections work with `sso-session` profiles right after `aws sso login`, with no extra AWS CLI command (#1333)
45
41
46
42
## [0.43.0] - 2026-05-18
47
43
@@ -1924,7 +1920,8 @@ TablePro is a native macOS database client built with SwiftUI and AppKit, design
Copy file name to clipboardExpand all lines: docs/changelog.mdx
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,29 @@ description: "Product updates and announcements for TablePro"
4
4
rss: true
5
5
---
6
6
7
+
<Updatelabel="May 20, 2026"description="v0.43.1">
8
+
### New Features
9
+
10
+
-**Copy Column Values**: Right-click a column header to copy all its loaded values (#1325)
11
+
-**More Copy Formats**: The row "Copy as" submenu adds CSV, CSV with Headers, Markdown table, and an IN clause for `WHERE id IN (...)` lookups (#1325)
12
+
-**Read-Only Cell Viewer**: Double-click or press Return on a read-only result cell to open a selectable text viewer. JSON columns open a viewer popover and BLOB columns open the hex viewer (#1336)
13
+
14
+
### Improvements
15
+
16
+
-**Plugins Recover on Their Own**: A plugin that fails to load no longer interrupts launch with an alert. The app posts a notification and lists rejected plugins in Settings > Plugins with Update Now and Remove buttons, and they auto-update from the registry in the background (#1322)
17
+
-**Right Plugin Binary**: The app installs the plugin binary built for its own version, even when the registry holds binaries for other versions (#1322)
18
+
-**Deferred Plugin Updates**: A plugin update that arrives while a connection is open installs when you close the connection or quit, instead of being blocked
19
+
-**Plugin Status at a Glance**: Settings > Plugins shows a badge with the count of rejected plugins and available updates, connections with a failed driver show a yellow warning triangle, and the connection form shows an inline Update Plugin banner
20
+
-**Copy and Filter Shortcuts**: `Cmd+C` copies the focused cell when one row is selected and a cell has focus, otherwise the selected row(s) as TSV; `Cmd+Shift+C` always copies row(s) as TSV. `Cmd+F` toggles the filter panel on a table and opens Find in the SQL editor, replacing the old `Cmd+Shift+F` filter shortcut (#1332)
21
+
22
+
### Bug Fixes
23
+
24
+
-**PluginKit Version Errors**: Fixes the recurring "Plugin was built with PluginKit version N, but version M is required" error after app updates. Rejected plugins now recover without manual steps (#1322)
25
+
-**DuckDB Types and Schemas**: Spatial `GEOMETRY` renders as WKT, `HUGEINT` and `UHUGEINT` keep full precision and handle negatives, streaming results respect the row cap and render `TIMESTAMPTZ`/`TIMETZ`/`GEOMETRY`, ENUMs resolve in non-`main` schemas, BC years show a leading minus, and schema reads handle apostrophes and concurrent switches (#1324)
26
+
-**Open SQLite from Finder**: `.db`, `.db3`, `.s3db`, `.sl3`, and `.sqlitedb` files open in TablePro from Finder (#1327)
27
+
-**DynamoDB SSO**: Connections work with `sso-session` profiles right after `aws sso login`, with no extra AWS CLI command (#1333)
0 commit comments