|
4 | 4 | <title>TablePro</title> |
5 | 5 | <item> |
6 | 6 | <title>0.17.0</title> |
7 | | - <pubDate>Wed, 11 Mar 2026 05:20:22 +0000</pubDate> |
| 7 | + <pubDate>Sat, 14 Mar 2026 07:00:47 +0000</pubDate> |
8 | 8 | <sparkle:version>31</sparkle:version> |
9 | 9 | <sparkle:shortVersionString>0.17.0</sparkle:shortVersionString> |
10 | 10 | <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion> |
11 | | - <description><![CDATA[<body style="font-family: -apple-system, sans-serif; font-size: 13px; padding: 8px;"><h3>Added</h3> |
12 | | -<ul> |
13 | | -<li>DuckDB database support — connect to `.duckdb` files, query CSV/Parquet/JSON files via SQL, schema navigation, and DuckDB extension management</li> |
14 | | -<li>MongoDB configurable auth database (`authSource`) — authenticate against any database instead of hardcoded `admin`</li> |
15 | | -</ul> |
16 | | -<h3>Fixed</h3> |
17 | | -<ul> |
18 | | -<li>MongoDB Read Preference, Write Concern, and Redis Database not persisted across app restarts</li> |
19 | | -<li>Result truncation at 100K rows now reported to UI via `PluginQueryResult.isTruncated` instead of being silently discarded</li> |
20 | | -<li>DELETE and UPDATE queries using all columns in WHERE clause instead of just the primary key for PostgreSQL, Redshift, MSSQL, and ClickHouse</li> |
21 | | -<li>SSL/TLS always being enabled for MongoDB, Redis, and ClickHouse connections due to case mismatch in SSL mode string comparison (#249)</li> |
22 | | -<li>Redis sidebar click showing data briefly then going empty due to double-navigation race condition (#251)</li> |
23 | | -<li>MongoDB showing "Invalid database name: ''" when connecting without a database name</li> |
24 | | -</ul> |
25 | | -<h3>Changed</h3> |
26 | | -<ul> |
27 | | -<li>Namespaced `disabledPlugins` UserDefaults key to `com.TablePro.disabledPlugins` with automatic migration</li> |
28 | | -<li>Removed unused plugin capability types (sqlDialect, aiProvider, cellRenderer, sidebarPanel)</li> |
29 | | -<li>SQLite driver extracted from built-in bundle to downloadable plugin, reducing app size</li> |
30 | | -<li>Unified error formatting across all database drivers via default `PluginDriverError.errorDescription`, removing 10 per-driver implementations</li> |
31 | | -<li>Standardized async bridging: 5 queue-based drivers (MySQL, PostgreSQL, MongoDB, Redis, MSSQL) now use shared `pluginDispatchAsync` helper</li> |
32 | | -<li>Added localization to remaining driver error messages (MySQL, PostgreSQL, ClickHouse, Oracle, Redis, MongoDB)</li> |
33 | | -<li>NoSQL query building moved from Core to MongoDB/Redis plugins via optional `PluginDatabaseDriver` protocol methods</li> |
34 | | -<li>Standardized parameter binding across all database drivers with improved default escaping (type-aware numeric handling, NUL byte stripping, NULL literal support)</li> |
35 | | -</ul> |
36 | | -<h3>Added</h3> |
37 | | -<ul> |
38 | | -<li>Open SQLite database files directly from Finder by double-clicking `.sqlite`, `.sqlite3`, `.db3`, `.s3db`, `.sl3`, and `.sqlitedb` files (#262)</li> |
39 | | -<li>Export plugin options (CSV, XLSX, JSON, SQL, MQL) now persist across app restarts</li> |
40 | | -<li>Plugins can declare settings views rendered in Settings > Plugins</li> |
41 | | -<li>True prepared statements for MSSQL (`sp_executesql`) and ClickHouse (HTTP query parameters), eliminating string interpolation for parameterized queries</li> |
42 | | -<li>Batch query operations for MSSQL, Oracle, and ClickHouse, eliminating N+1 query patterns for column, foreign key, and database metadata fetching; SQLite adds a batched `fetchAllForeignKeys` override within PRAGMA limitations</li> |
43 | | -<li>`PluginDriverError` protocol in TableProPluginKit for structured error reporting from driver plugins, with richer connection error messages showing error codes and SQL states</li> |
44 | | -<li>`pluginDispatchAsync` concurrency helper in TableProPluginKit for standardized async bridging in plugins</li> |
45 | | -<li>Shared `PluginRowLimits` constant in TableProPluginKit with 100K row default, enforced across all 8 driver plugins (ClickHouse, MSSQL, Oracle previously had no cap)</li> |
46 | | -<li>`driverVariant(for:)` method on `DriverPlugin` protocol for dynamic multi-type plugin dispatch, replacing hardcoded variant mapping</li> |
47 | | -<li>Safe mode levels: per-connection setting with 6 levels (Silent, Alert, Alert Full, Safe Mode, Safe Mode Full, Read-Only) replacing the boolean read-only toggle, with confirmation dialogs and Touch ID/password authentication for stricter levels</li> |
48 | | -<li>Preview tabs: single-click opens a temporary preview tab, double-click or editing promotes it to a permanent tab</li> |
49 | | -<li>Import plugin system: SQL import extracted into a `.tableplugin` bundle, matching the export plugin architecture</li> |
50 | | -<li>`ImportFormatPlugin` protocol in TableProPluginKit for building custom import format plugins</li> |
51 | | -<li>SQLImportPlugin as the first import format plugin (SQL files and .gz compressed SQL)</li> |
52 | | -<li>Oracle and ClickHouse shipped as downloadable plugins, reducing app bundle size for most users</li> |
53 | | -<li>Plugin install prompt when connecting to a database whose driver plugin is not installed</li> |
54 | | -<li>`databaseTypeIds` field on registry plugins for mapping registry entries to database types</li> |
55 | | -<li>`build-plugin.sh` script and `build-plugin.yml` CI workflow for building standalone plugin releases</li> |
56 | | -</ul></body>]]></description> |
57 | | - <enclosure url="https://github.com/datlechin/TablePro/releases/download/v0.17.0/TablePro-0.17.0-arm64.zip" length="25460981" type="application/octet-stream" sparkle:edSignature="svDu0QE+5MRTkL8rbpMQhbaGEmwbE90ObgXQDQgJm0Cjr8nsG+yZ1yFRcB4/BzdwEwyX0/YYT6DNzF25/oQeCQ==" sparkle:architectures="arm64"/> |
| 11 | + <description><![CDATA[<body style="font-family: -apple-system, sans-serif; font-size: 13px; padding: 8px;"><li>Bug fixes and improvements</li></body>]]></description> |
| 12 | + <enclosure url="https://github.com/datlechin/TablePro/releases/download/v0.0.0-ci-test/TablePro-0.0.0-ci-test-arm64.zip" length="19411259" type="application/octet-stream" sparkle:edSignature="d0W2ABHS+5KeGp0w66nZmYCPM+Xq3gH0+FI9RjHdViRjn/P5pQWwOuFgt1BElCvvEiIezXFc4GOHh6FlZD0gCQ==" sparkle:architectures="arm64"/> |
58 | 13 | </item> |
59 | 14 | <item> |
60 | 15 | <title>0.17.0</title> |
61 | | - <pubDate>Wed, 11 Mar 2026 05:20:22 +0000</pubDate> |
| 16 | + <pubDate>Sat, 14 Mar 2026 07:00:47 +0000</pubDate> |
62 | 17 | <sparkle:version>31</sparkle:version> |
63 | 18 | <sparkle:shortVersionString>0.17.0</sparkle:shortVersionString> |
64 | 19 | <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion> |
65 | | - <description><![CDATA[<body style="font-family: -apple-system, sans-serif; font-size: 13px; padding: 8px;"><h3>Added</h3> |
66 | | -<ul> |
67 | | -<li>DuckDB database support — connect to `.duckdb` files, query CSV/Parquet/JSON files via SQL, schema navigation, and DuckDB extension management</li> |
68 | | -<li>MongoDB configurable auth database (`authSource`) — authenticate against any database instead of hardcoded `admin`</li> |
69 | | -</ul> |
70 | | -<h3>Fixed</h3> |
71 | | -<ul> |
72 | | -<li>MongoDB Read Preference, Write Concern, and Redis Database not persisted across app restarts</li> |
73 | | -<li>Result truncation at 100K rows now reported to UI via `PluginQueryResult.isTruncated` instead of being silently discarded</li> |
74 | | -<li>DELETE and UPDATE queries using all columns in WHERE clause instead of just the primary key for PostgreSQL, Redshift, MSSQL, and ClickHouse</li> |
75 | | -<li>SSL/TLS always being enabled for MongoDB, Redis, and ClickHouse connections due to case mismatch in SSL mode string comparison (#249)</li> |
76 | | -<li>Redis sidebar click showing data briefly then going empty due to double-navigation race condition (#251)</li> |
77 | | -<li>MongoDB showing "Invalid database name: ''" when connecting without a database name</li> |
78 | | -</ul> |
79 | | -<h3>Changed</h3> |
80 | | -<ul> |
81 | | -<li>Namespaced `disabledPlugins` UserDefaults key to `com.TablePro.disabledPlugins` with automatic migration</li> |
82 | | -<li>Removed unused plugin capability types (sqlDialect, aiProvider, cellRenderer, sidebarPanel)</li> |
83 | | -<li>SQLite driver extracted from built-in bundle to downloadable plugin, reducing app size</li> |
84 | | -<li>Unified error formatting across all database drivers via default `PluginDriverError.errorDescription`, removing 10 per-driver implementations</li> |
85 | | -<li>Standardized async bridging: 5 queue-based drivers (MySQL, PostgreSQL, MongoDB, Redis, MSSQL) now use shared `pluginDispatchAsync` helper</li> |
86 | | -<li>Added localization to remaining driver error messages (MySQL, PostgreSQL, ClickHouse, Oracle, Redis, MongoDB)</li> |
87 | | -<li>NoSQL query building moved from Core to MongoDB/Redis plugins via optional `PluginDatabaseDriver` protocol methods</li> |
88 | | -<li>Standardized parameter binding across all database drivers with improved default escaping (type-aware numeric handling, NUL byte stripping, NULL literal support)</li> |
89 | | -</ul> |
90 | | -<h3>Added</h3> |
91 | | -<ul> |
92 | | -<li>Open SQLite database files directly from Finder by double-clicking `.sqlite`, `.sqlite3`, `.db3`, `.s3db`, `.sl3`, and `.sqlitedb` files (#262)</li> |
93 | | -<li>Export plugin options (CSV, XLSX, JSON, SQL, MQL) now persist across app restarts</li> |
94 | | -<li>Plugins can declare settings views rendered in Settings > Plugins</li> |
95 | | -<li>True prepared statements for MSSQL (`sp_executesql`) and ClickHouse (HTTP query parameters), eliminating string interpolation for parameterized queries</li> |
96 | | -<li>Batch query operations for MSSQL, Oracle, and ClickHouse, eliminating N+1 query patterns for column, foreign key, and database metadata fetching; SQLite adds a batched `fetchAllForeignKeys` override within PRAGMA limitations</li> |
97 | | -<li>`PluginDriverError` protocol in TableProPluginKit for structured error reporting from driver plugins, with richer connection error messages showing error codes and SQL states</li> |
98 | | -<li>`pluginDispatchAsync` concurrency helper in TableProPluginKit for standardized async bridging in plugins</li> |
99 | | -<li>Shared `PluginRowLimits` constant in TableProPluginKit with 100K row default, enforced across all 8 driver plugins (ClickHouse, MSSQL, Oracle previously had no cap)</li> |
100 | | -<li>`driverVariant(for:)` method on `DriverPlugin` protocol for dynamic multi-type plugin dispatch, replacing hardcoded variant mapping</li> |
101 | | -<li>Safe mode levels: per-connection setting with 6 levels (Silent, Alert, Alert Full, Safe Mode, Safe Mode Full, Read-Only) replacing the boolean read-only toggle, with confirmation dialogs and Touch ID/password authentication for stricter levels</li> |
102 | | -<li>Preview tabs: single-click opens a temporary preview tab, double-click or editing promotes it to a permanent tab</li> |
103 | | -<li>Import plugin system: SQL import extracted into a `.tableplugin` bundle, matching the export plugin architecture</li> |
104 | | -<li>`ImportFormatPlugin` protocol in TableProPluginKit for building custom import format plugins</li> |
105 | | -<li>SQLImportPlugin as the first import format plugin (SQL files and .gz compressed SQL)</li> |
106 | | -<li>Oracle and ClickHouse shipped as downloadable plugins, reducing app bundle size for most users</li> |
107 | | -<li>Plugin install prompt when connecting to a database whose driver plugin is not installed</li> |
108 | | -<li>`databaseTypeIds` field on registry plugins for mapping registry entries to database types</li> |
109 | | -<li>`build-plugin.sh` script and `build-plugin.yml` CI workflow for building standalone plugin releases</li> |
110 | | -</ul></body>]]></description> |
111 | | - <enclosure url="https://github.com/datlechin/TablePro/releases/download/v0.17.0/TablePro-0.17.0-x86_64.zip" length="22699103" type="application/octet-stream" sparkle:edSignature="FhP3/UeBfWnZ0UoSCTXLPlTyN+uy4m68n5MX4eEwgQJRhAqWni76M7FD57NYwu1UYY8XaXNLWhD+QCjaYWT9CQ==" sparkle:architectures="x86_64"/> |
| 20 | + <description><![CDATA[<body style="font-family: -apple-system, sans-serif; font-size: 13px; padding: 8px;"><li>Bug fixes and improvements</li></body>]]></description> |
| 21 | + <enclosure url="https://github.com/datlechin/TablePro/releases/download/v0.0.0-ci-test/TablePro-0.0.0-ci-test-x86_64.zip" length="18836427" type="application/octet-stream" sparkle:edSignature="cITJHQSVcvzAOM5FtDUEw/cga+2+rsn5w+2Hbu9LSjSkv8hvfucqGEaqFxTFPEnaSnu1nyTPcbQsk4kwZng7Dw==" sparkle:architectures="x86_64"/> |
112 | 22 | </item> |
113 | 23 | </channel> |
114 | 24 | </rss> |
0 commit comments