Skip to content

Commit d3d1d3b

Browse files
Update appcast.xml for v0.0.0-ci-test
1 parent 7f1b20e commit d3d1d3b

1 file changed

Lines changed: 6 additions & 96 deletions

File tree

appcast.xml

Lines changed: 6 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -4,111 +4,21 @@
44
<title>TablePro</title>
55
<item>
66
<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>
88
<sparkle:version>31</sparkle:version>
99
<sparkle:shortVersionString>0.17.0</sparkle:shortVersionString>
1010
<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"/>
5813
</item>
5914
<item>
6015
<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>
6217
<sparkle:version>31</sparkle:version>
6318
<sparkle:shortVersionString>0.17.0</sparkle:shortVersionString>
6419
<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"/>
11222
</item>
11323
</channel>
11424
</rss>

0 commit comments

Comments
 (0)