Skip to content

Commit b280d4a

Browse files
committed
release: v0.43.1
1 parent fa5f073 commit b280d4a

3 files changed

Lines changed: 52 additions & 32 deletions

File tree

CHANGELOG.md

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

88
## [Unreleased]
99

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
1811

19-
### Changed
12+
### Added
2013

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
2820

2921
### Changed
3022

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
3329

3430
### Fixed
3531

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
40-
- DuckDB schema reads handle apostrophes and concurrent schema switches correctly
41-
- 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)
4541

4642
## [0.43.0] - 2026-05-18
4743

@@ -1924,7 +1920,8 @@ TablePro is a native macOS database client built with SwiftUI and AppKit, design
19241920
- Custom SQL query templates
19251921
- Performance optimized for large datasets
19261922

1927-
[Unreleased]: https://github.com/TableProApp/TablePro/compare/v0.43.0...HEAD
1923+
[Unreleased]: https://github.com/TableProApp/TablePro/compare/v0.43.1...HEAD
1924+
[0.43.1]: https://github.com/TableProApp/TablePro/compare/v0.43.0...v0.43.1
19281925
[0.43.0]: https://github.com/TableProApp/TablePro/compare/v0.42.0...v0.43.0
19291926
[0.42.0]: https://github.com/TableProApp/TablePro/compare/v0.41.0...v0.42.0
19301927
[0.41.0]: https://github.com/TableProApp/TablePro/compare/v0.40.3...v0.41.0

TablePro.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2368,7 +2368,7 @@
23682368
CODE_SIGN_IDENTITY = "Apple Development";
23692369
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
23702370
CODE_SIGN_STYLE = Automatic;
2371-
CURRENT_PROJECT_VERSION = 86;
2371+
CURRENT_PROJECT_VERSION = 87;
23722372
DEAD_CODE_STRIPPING = YES;
23732373
DEVELOPMENT_TEAM = D7HJ5TFYCU;
23742374
ENABLE_APP_SANDBOX = NO;
@@ -2400,7 +2400,7 @@
24002400
);
24012401
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs/dylibs";
24022402
MACOSX_DEPLOYMENT_TARGET = 14.0;
2403-
MARKETING_VERSION = 0.43.0;
2403+
MARKETING_VERSION = 0.43.1;
24042404
OTHER_LDFLAGS = (
24052405
"-Wl,-w",
24062406
"-force_load",
@@ -2445,7 +2445,7 @@
24452445
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
24462446
CODE_SIGN_STYLE = Automatic;
24472447
COPY_PHASE_STRIP = YES;
2448-
CURRENT_PROJECT_VERSION = 86;
2448+
CURRENT_PROJECT_VERSION = 87;
24492449
DEAD_CODE_STRIPPING = YES;
24502450
DEPLOYMENT_POSTPROCESSING = YES;
24512451
DEVELOPMENT_TEAM = D7HJ5TFYCU;
@@ -2478,7 +2478,7 @@
24782478
);
24792479
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs/dylibs";
24802480
MACOSX_DEPLOYMENT_TARGET = 14.0;
2481-
MARKETING_VERSION = 0.43.0;
2481+
MARKETING_VERSION = 0.43.1;
24822482
OTHER_LDFLAGS = (
24832483
"-Wl,-w",
24842484
"-force_load",

docs/changelog.mdx

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

7+
<Update label="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)
28+
</Update>
29+
730
<Update label="May 18, 2026" description="v0.43.0">
831
### New Features
932

0 commit comments

Comments
 (0)