Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tablepro.app/llms.txt

Use this file to discover all available pages before exploring further.

May 13, 2026
v0.41.0

New Features

  • Backup and Restore: New File menu entries Backup Dump… and Restore Dump… for PostgreSQL and Redshift, with live progress, cancel, and SSH tunnel reuse (#1211)

Bug Fixes

  • Redis SSL: “Required (skip verify)” mode now actually skips certificate verification, so Upstash and other untrusted-CA endpoints connect (#1247)
  • MSSQL SSL: SSL mode setting now affects the connection. Previously every mode was silently ignored
  • MongoDB SSL: “Required” and “Verify CA” modes now connect to self-signed and untrusted-CA servers instead of failing
  • MongoDB Crash on macOS: Connecting no longer crashes with a dispatch_sync libdispatch trap (#1249)
  • MongoDB Atlas TLS on macOS 26: TLS handshake to Atlas no longer fails with internal error (-9838). The Mongo plugin now uses OpenSSL instead of Apple Secure Transport
  • MongoDB URL Import: Importing a connection string with no database path now works for Atlas users restricted to a single database
  • MySQL SSL: The CA certificate is no longer loaded when the SSL mode skips verification, matching PostgreSQL

Notes

  • Plugin format updated. Older plugin builds no longer load. Reinstall plugins from the registry after updating.
May 13, 2026
v0.40.3

Bug Fixes

  • AI Chat: Scrolling stays smooth on long conversations and stream completion no longer briefly hides the chat (#1239)
  • AI Chat: Starting a new conversation no longer carries context from the previous one
  • PostgreSQL: Connecting to servers older than 9.3 no longer fails on schema load (#1240)
  • MySQL: EXPLAIN now offers a plain variant that works on every version
  • MSSQL: Editing a view on SQL Server 2014 or earlier no longer fails with a syntax error
  • Cassandra: Connecting to a 2.x server now shows a clear unsupported-version message instead of failing on sidebar load
  • MongoDB: Connecting to servers older than 3.4 no longer fails on the database listing
  • ClickHouse: The index sidebar no longer fails on versions older than 19.17
May 12, 2026
v0.40.2

New Features

  • Set Value SQL Presets: Right-click a date, datetime, or timestamp cell to insert CURRENT_DATE, CURRENT_TIME, NOW(), or CURRENT_TIMESTAMP, filtered by column type
  • Import from Other App on Welcome Screen: One-click button on the welcome left pane to import connections from TablePlus, Sequel Ace, or DBeaver

Improvements

  • Row Numbers Continue Across Pages: The # column reads 1001-2000 on page 2 instead of restarting at 1, and auto-sizes so long numbers no longer clip
  • Foreign Key Preview Follows Selection: Press Space on an FK cell, then arrow up or down. The popover slides to the next row and refreshes its content
  • Inline Editor for Date Cells: Double-click a DATE, DATETIME, or TIMESTAMP cell to type a new value directly; the popover date picker is removed
  • Inline Connecting State: The connection window shows the connecting state with a Cancel button instead of an empty sidebar

Bug Fixes

  • Closing the connection window during a slow connect no longer leaves a stuck “Connecting…” window or a stray failure alert (#1185)
  • Cmd+Z while editing a cell now undoes typing in the editor; pressing it after dismissing no longer crashes
  • Cmd+Z right after Add Row no longer leaves a stranded editor over the removed row
  • Editing a NULL cell and dismissing without typing no longer flips the value to an empty string
  • Double-clicking another cell while editing no longer drops pending changes or stalls the new editor
  • Double-clicking an enum, set, or boolean cell now opens the inline text editor; the chevron still opens the picker
  • Chevron-accessory cells (enum, boolean, JSON, blob) no longer truncate short values that fit the full width
  • DATE columns no longer render a phantom 00:00:00 time suffix
  • Adding a new row no longer renders the row on top of the auto-opened editor mid-animation
May 12, 2026
v0.40.1

Improvements

  • Quick Switcher: Matches the Open Database dialog and shows a Recent section per connection
  • Connection Switcher and SQL Preview: Open as sheets so they work from the toolbar, overflow menu, and keyboard shortcuts
  • Toolbar: Filters button moved out; the bottom-bar Filters control remains
  • Welcome Screen: Drops the Import Connections button; both import flows remain in the + menu

Bug Fixes

  • Toolbar overflow menu entries now fire their action when the window is narrowed
  • SQL Preview no longer freezes when previewing a very large batch
  • Quick Switcher crash on macOS 26
  • Registry updates for bundled drivers (ClickHouse, Redis) now persist after restart
May 12, 2026
v0.40.0

New Features

  • Vim Mode: Full standard command surface in the SQL editor. Motions, operators, text objects, named and numbered registers, macros, marks, search, dot-repeat, scroll, and gv all behave like vim
  • Sidebar Object Groups: Database objects split into Tables, Views, Materialized Views, Foreign Tables, Procedures, and Functions. Routines load on connect for Postgres and MySQL; “Show DDL” opens in a new query tab (#1038)
  • iOS Live Activity: Running queries show preview, elapsed time, and row count on the lock screen and Dynamic Island
  • iOS iPad Multi-Window: Drag a tab off to open a second window; each window remembers its own selected connection
  • iOS App Lock: Face ID, Touch ID, or Optic ID with cold-launch protection and idle timeout (1, 5, 15, or 60 minutes)
  • iOS Background iCloud Sync: Sync runs every 30 minutes while the app is closed
  • iOS Connection Info Tab: Host, SSL, SSH tunnel, active database, and live connection status in one place
  • iOS Search Persistence: Search text in Tables and Data Browser persists across process kill; Cmd+F focuses the search field
  • iOS Settings: New toggles for iCloud Sync, Rows per Page (50/100/200/500), Default Safe Mode, and “Hide query in Live Activities”
  • MCP Zed Support: MCP Setup sheet adds Zed alongside Claude Desktop, Claude Code, and Cursor

Improvements

  • Faster Wide-Table Scroll: Max main-thread stall during scroll drops from 3.5s to about 1.3s. Display cache raised to 50,000 rows / 64 MB; date format cache to 100,000 entries
  • Quieter Cross-Window Events: Editing a favorite, query-history entry, or linked SQL folder in one window no longer refreshes other windows on unrelated connections
  • iOS Vietnamese Localization: 312/312 keys translated
  • iOS Accessibility: VoiceOver reads connection and table rows as combined elements with tap hints; icon-only toolbar buttons gain labels; metadata badges cap at the first accessibility text size
  • PostgreSQL Round-Trip Export: Foreign keys emitted via ALTER TABLE ... ADD CONSTRAINT after data load; sequences re-synced via setval so re-imported dumps round-trip cleanly (#1114)
  • Streaming SQL Import: Bounded streaming and run-length string append reduce memory and CPU on large files (#1114)
  • AI Chat Refinements: Inline-suggestion debounce configurable (default 500 ms); 30-second SSE keep-alive on MCP HTTP; Anthropic model list through Claude 4.7; per-tool access modes; native button styles and accessibility labels
  • Translucent Surfaces: Welcome sidebar, settings banners, ER diagram toolbar, JSON editor, and Pro scrim swap to solid surfaces when Reduce Transparency or Increase Contrast is on
  • Typed Binary Cells: Engines that expose binary types (PostgreSQL BYTEA, Oracle RAW/LONG_RAW/BLOB, MySQL BLOB, SQLite BLOB, MSSQL VARBINARY/IMAGE, DuckDB BLOB, Cassandra blob, MongoDB BSON, DynamoDB B, BigQuery BYTES) route through a typed pipeline; hex editor saves bind raw bytes through the driver’s binary parameter format (#1188)
  • Plugin Restart UX: “Restart TablePro” banner gains a Quit & Reopen button with an alert on relaunch failure; install badges auto-clear after 3 seconds; the restart-needed flag no longer persists across launches

Bug Fixes

  • Vim Shift+J: Joins lines as expected; gJ joins without a space, count prefixes work, J in visual mode joins every selected line. w and W no longer overshoot; Esc switches mode after typing ; (#1222)
  • AI Chat Agent Mode: Copilot Agent persists across follow-up turns instead of reverting to plain chat after the first message
  • AI Chat Streaming: No longer hangs at 100% CPU; Agent-mode text emitted before a tool call now shows above the tool card; Markdown rendering moved to a native renderer (#1205)
  • AI Chat Mentions: @ mention detection handles emoji and other non-BMP characters at the cursor
  • iOS Data Browser Reload: No longer flashes “No Data” mid-reload when search, filter, sort, or page size changes
  • iOS Row Detail Crash: Filtered row detail pager no longer crashes (build 11 regression)
  • MySQL/MariaDB Cells: BINARY(N) and VARBINARY(N) route through the blob editor; numeric, decimal, date, and time columns render as values instead of hex bytes; JSON column detection no longer flickers across refreshes
  • Plugin Install: Built-in driver upgrades persist after restart (#1192); concurrent installs no longer race past the install guard; multi-bundle ZIPs rejected with a clear error; auto-update preserves concurrent rejection entries
  • Structure Tab Tinting: Edit, delete, undo, save, and discard repaint correctly; right-click “Undo Delete” works; dropdown columns enter inline edit; Cmd+Shift+N adds a row
  • SQL Server: USE <database> switches databases; INSERTs skip IDENTITY columns; default schema comes from SELECT SCHEMA_NAME(); DATETIME edits round-trip as ISO 8601
  • PostgreSQL SQL Round-Trip: Tables sidebar refreshes after import; “Disable foreign key checks” sets session_replication_role = replica; GENERATED ALWAYS AS IDENTITY columns round-trip via OVERRIDING SYSTEM VALUE; values ending in backslash and dollar-quoted blocks parse correctly (#1114)
  • Welcome Window: Opens reliably on launch and Dock-icon clicks
  • Safe Mode Silent: Holding Cmd+Return no longer stacks two confirmations or runs the query twice
  • iCloud Sync Resilience: Decode failures for SSH, SSL, jump-host, or driver-specific fields no longer overwrite the cloud copy with empty defaults; app settings decode failures are logged instead of silently dropped
  • Keychain Errors: Cancelled prompts, failed biometrics, and unknown OSStatus values are distinguished from “not found”, preventing silent password loss
  • Smart Substitution: Smart quotes, dashes, and text substitution no longer corrupt typed input in cell editors and filter inputs
  • Cross-Window Fetches: Connecting one window no longer triggers a table fetch in unrelated windows
  • Foreign-Key Navigation: From a tab with unsaved edits, the referenced table opens in a new window tab without wiping the original grid
  • Schema Picker: PostgreSQL and Redshift schema pickers no longer hide user schemas starting with pg (pgboss, pgcrypto, pgvector, pgaudit)
  • Import from Other App: Cancel button stops the keychain prompt loop instead of silently continuing (#1134)
May 8, 2026
v0.39.1

Bug Fixes

  • Launch Failure on 0.39.0: App failed to open with “The application can’t be opened” / errno 163. Production entitlements shipped a literal $(AppIdentifierPrefix) placeholder for the keychain access group because codesign --entitlements does not expand Xcode build variables. Reverted to the hardcoded team prefix (#1104)
May 8, 2026
v0.39.0

New Features

  • AI Chat Tool Calling: The assistant can look up your database on demand. Read-only tools (list_tables, describe_table, get_table_ddl, etc.) auto-run; write and destructive ops show inline approval pills (Run / Always for this connection / Cancel). Works with Anthropic, OpenAI, OpenRouter, Gemini, Ollama, GitHub Copilot, and custom OpenAI-compatible endpoints. Ask / Edit / Agent mode picker controls which tools the model sees. Safe mode still gates execution
  • AI Chat @ Mentions: Attach Schema, a Table, the Current Query, recent Query Results, or a saved SQL query as chips. Type @ in the composer or pick from the menu
  • AI Chat Slash Commands: Built-in /explain, /optimize, /fix, /help, plus user-defined commands in Settings -> AI -> Custom Slash Commands with {{query}}, {{schema}}, {{database}}, {{body}} placeholders
  • AI Chat Per-Connection Rules: Add custom guidance about table conventions, PII columns, and naming in the connection’s AI Rules tab; the assistant sees it on every chat turn
  • AI Chat Panel Redesign: Composer-focused chat tab with inline model picker and per-turn model attribution
  • Linked SQL Folders: Point TablePro at a folder of .sql files for two-way sync with Favorites. Edit in TablePro or your editor; changes flow both ways. Frontmatter sets @name, @keyword, and @description; save-time conflicts show a side-by-side diff. Free
  • Database Type Chooser: New Connection opens a categorised, searchable sheet listing every supported driver (Relational, Document, Key-Value, Analytical, Wide-Column, Cloud Native, Coordination & Config)
  • Free XLSX Export: Excel export no longer requires Pro
  • Free Safe Mode: Touch ID, Full, and Read Only Safe Mode levels no longer require Pro

Improvements

  • iOS Streaming Data Layer: Large tables and queries stream rows instead of buffering the full result set. Memory pressure shrinks the row window automatically; CSV / JSON / SQL export stream too
  • Distinguishable Toolbar: Multiple windows on the same database (e.g. prod-safe, prod-unsafe, staging) show a tinted engine icon plus connection name instead of duplicate “PostgreSQL 16.x” text (#1044)
  • Connection-Scoped Favorites: Opening a second tab on the same connection no longer reloads the favorites tree or flashes a spinner. Selection persists across windows
  • Connection Form Redesign: Rebuilt around macOS HIG sidebar navigation (General, SSH Tunnel, SSL/TLS, Customization, Advanced). Cancel, Save, and Save & Connect live in the native window toolbar; Test Connection inline
  • Connection URL Import: Moved into the database type chooser; paste a URL there instead of inside the form
  • AI Chat Opt-In Context: New installs no longer auto-include schema, current query, and query results in every prompt; attach via @ when you want them. Existing users keep their current settings
  • HIG Polish: Hero icons scale with system text size, search fields use native NSSearchField, validation banners use the standard warning convention, form sheets switch to grouped Form layouts
  • Native Windows: Welcome, Connection Form, and Integrations Activity now use SwiftUI scenes, fixing an assertion crash and restoring Integrations Activity at next launch
  • ER Diagram Accessibility: Diagram nodes scale with system text size
  • Terminology: “Read-Only” / “Read-Write” renamed to “Read Only” / “Read & Write” to match macOS HIG

Bug Fixes

  • Schema Switching on SQL Server / Oracle: Cmd+K Quick Switcher schema selection no longer silently ignored
  • iOS MySQL Crash: Fixed EXC_BREAKPOINT when opening some MySQL tables
  • iOS Local Network: Connections to .local hostnames and local-network addresses (10.x, 192.168.x, link-local, IPv6 ULA) no longer time out silently
  • iOS Row List Crash: Data browser and query result lists no longer crash with “Index out of range” when rows shrink mid-update (#1094)
  • iOS Port Validation: Out-of-range port for MySQL, PostgreSQL, or Redis reports a readable error instead of crashing (#1094)
  • MariaDB Install Prompt: New connection chooser no longer falsely prompts to install built-in lazy drivers
  • IME Editor Jump: SQL editor no longer jumps to the end after committing Chinese, Japanese, or Korean words like “测试” (#1012)
  • MongoDB SRV Port: Connection strings strip the port from the host per the URI spec (#1101)
  • Cmd+T Focus Flash: New tabs no longer flash focus back to the previous tab
  • Cmd+X No Selection: Cuts the current line, matching VS Code, Sublime, and Xcode (#1075)
  • Cmd+A Trailing Newline: Selecting all on a query ending with a newline highlights every line (#1075)
  • Editor Window State: Windows remember size, position, and zoom across launches
  • Personal Team Builds: External-contributor builds on personal Apple Developer teams now work without an iCloud entitlement (#1020)
  • SSH Auth Errors: Auth-failure alerts now point at the actual cause (wrong password, wrong verification code, rejected key) (#1005)
  • TOTP Rotation: Codes that crossed a 30-second rotation boundary are no longer rejected
  • SSH Password vs Keyboard-Interactive: Auth Method = Password now works against servers that only advertise keyboard-interactive (typical pam_google_authenticator setups) (#1005)
  • SSH + Google Authenticator: Connections with Password + TOTP no longer fail (#1005)
  • Editor Caret Edge Cases: Up arrow on the first line, Down on the last line, and Cmd+Left/Right at end-of-line with no trailing newline now work correctly (#1007)
  • Caret Gutter Color: Caret at end of query keeps its line-number color in the gutter
  • Multi-Window Tab Persistence: All windows now persist on relaunch instead of all-but-one being dropped
  • Filter Autocomplete Focus: Popover no longer steals keyboard focus from the text field on Full Keyboard Access
  • Toolbar Database Name: No longer empty after relaunch when the last-used database is restored
  • Cmd+K Database Switch: Switching databases no longer reverts in Cmd+T, query history, AI prompts, or several tab-creation paths (#1043)
  • AI Provider Test: No longer shows unsupported URL while editing a draft endpoint
  • Connection Form Coordinator: No longer rebuilds on every parent re-render (#1102)
  • AI Chat Composer: IME safety, visible scroll bar, and Shift+Return for newline (#1100)
  • AI Chat Tool Limit: Roundtrip limit raised from 5 to 10 (#1096)
  • AI Chat Rules Persistence: Per-connection rules persist through StoredConnection and CloudKit sync (#1098)
  • AI Chat Retry Button: Hidden for non-recoverable errors (auth failure, deprecated model, invalid endpoint)
  • AI Chat Code Blocks: Render with syntax highlighting and Insert even when the language tag is missing
  • AI Chat Insert: Stays enabled when the chat panel has focus instead of the editor
  • MCP Errors: Surface a readable message via LocalizedError (#1095)
  • Data Grid Header Inset: Column headers align with result-cell horizontal inset
  • Toolbar Status Inset: Connection status keeps its left inset when no connection tag is shown
May 4, 2026
v0.38.0

New Features

  • Check for Updates in Welcome Window: New link next to the version number triggers Sparkle without leaving the screen
  • Integrations Activity Window: Dedicated, resizable window for the MCP activity log and connected clients (Window menu). Sidebar split between Activity Log and Connected Clients, with native search, filter, refresh, and export. Position and size remembered across launches
  • Sample Database: Chinook SQLite database bundled with the app. Open from the welcome screen with one click; reset via File menu
  • Connection String Detection: Paste a postgres://, mysql://, redis://, or mongodb:// URL into the connection form to auto-fill host, port, user, password, and database
  • SSH Config Aliases: SSH tunnel resolves host aliases from ~/.ssh/config. Type an alias like aia-bastion in the SSH host field and it works the same as ssh aia-bastion in a terminal. Supports glob patterns, Match directives, ProxyJump, hostname canonicalization, and Include. Live: edit ~/.ssh/config and the next connection picks it up
  • Oracle 10G Authentication: Accounts whose password_versions includes a 10G hash now connect successfully, matching DBeaver/JDBC/sqlplus
  • Oracle Test Connection Diagnostics: Failed auth opens a focused diagnostic sheet with copy-able info, suggested actions, and a link to file an issue
  • MCP Protocol 2025-11-25: Server now supports protocol versions 2025-06-18 and 2025-11-25. Clients on the latest spec no longer downgrade. Includes structured tool output (structuredContent), tool annotations, completions capability, and streaming progress notifications

Improvements

  • Welcome Window Polished to macOS HIG: Subtle drop shadow on the app icon, dynamic text styles, “Sponsor” button removed, “Create connection” uses the bordered control style, toolbar icons (+ / new group) gain a hover background and proper hit targets, window background uses native vibrancy
  • Settings > Integrations Flattened: Now a flat preferences pane per macOS HIG. Configuration only (server toggle, status, port, row limits, query timeout, tokens, network options); activity moved to the new Integrations Activity window, setup snippets to a “Connect a Client…” sheet
  • MCP Idle Timeout Raised: From 5 to 15 minutes, fewer reconnects during slow workflows
  • Sync Passwords Toggle: Now shows a caption explaining the toggle only affects new saves. Existing passwords keep their current sync state until you re-save them
  • Keychain Hardening: Non-syncing keychain items use kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly, keeping local-only secrets out of unencrypted device backups

Bug Fixes

  • Welcome / Connection / Feedback Window Position: Windows now remember position and size across launches. Previously they always reopened centered because frame autosave was never set on the underlying NSWindow
  • Saved Passwords Disappearing: Saved connection passwords no longer disappear after quitting and relaunching the app. Removed the destructive legacy-keychain migration that was deleting credentials on sandboxed macOS configurations
  • Cmd+Z Cell Background: Undo after editing a cell no longer leaves the yellow “modified” highlight in place
  • Tab Switching Burst Lag: Rapid Cmd+Number presses no longer queue tail animations after key release. AppKit tab switches are now applied synchronously
  • Oracle Type Coverage: TIMESTAMP variants, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, DATE, RAW, and BLOB columns render through typed decoders instead of garbled text. INTERVAL YEAR TO MONTH and BFILE columns no longer crash on row fetch. Unknown types display <unsupported: type> instead of crashing
  • Oracle 23ai Handshake: Connections to 23ai cloud and containerized deployments no longer fail with uncleanShutdown mid-handshake
  • Plugin Re-install Prompt: Connecting to a downloadable database type after the plugin is disabled or uninstalled now reopens the install prompt instead of failing
  • Redshift Schemas for Non-Admin Users: Schema switcher no longer shows an empty list. Now reads from pg_namespace filtered by has_schema_privilege, matching what the user can actually use
  • MCP SSE Stream: GET /mcp now opens a real Server-Sent Events stream. Previously the connection was closed immediately and notifications/progress events were dropped
  • MCP Concurrent Tool Calls: No longer serialize at the dispatcher loop, each exchange dispatches in its own child task
  • MCP Session Recovery: Stale Mcp-Session-Id after idle timeout returns a proper JSON-RPC Session not found envelope with HTTP 404, letting clients re-initialize cleanly instead of hanging until a 4-minute timeout

Removed

  • useSSHConfig toggle: Per-connection toggle removed. ~/.ssh/config is always consulted at connection time; explicit form values still take precedence over ssh config defaults
May 1, 2026
v0.37.0

New Features

  • External API: Connect Raycast, Cursor, Claude Desktop, and other MCP clients. Token-based pairing, per-connection access control, 90-day activity log
  • New MCP Tools: list_recent_tabs, search_query_history, open_connection_window, open_table_tab, focus_query_tab
  • PostgreSQL ICU Collation: Provider picker in Create Database for PG 15+
  • Single-Click Cell Editing: Click a focused cell to start editing, no double-click needed
  • Multi-Cell Paste: Paste TSV data from the clipboard, grouped as one undo
  • Rich Copy: Copy rows in TSV, HTML, and plain text for spreadsheet apps

Improvements

  • Result safety cap is enforced after the query runs, not by rewriting your SQL. Status bar shows “Showing N rows (truncated)” with a Fetch All button when the cap kicks in
  • Settings tab renamed from “MCP” to “Integrations” with sections for clients, activity log, and pairing
  • MCP server lazy-starts on first request, no more manual enable
  • Connection URL parsing supports SSH user:password@host, multi-host, MongoDB auth, Redis database index
  • SSH Private Key auth auto-resolves keys from ~/.ssh/config and default locations
  • Shift+Tab navigates to the previous cell; Cmd+Z is unified across editor and grid
  • VoiceOver: column headers announce sort direction; cells expose row and column index ranges
  • Activity log: Export to CSV, search across all fields
  • AI provider settings allow manually entering a model name
  • OpenSSL shared as dylib across app and plugins, ~15MB smaller bundle

Bug Fixes

  • SELECT queries with LIMIT N now return N rows. The engine no longer strips your LIMIT and uses its own cap. Affected SQLite, DuckDB, LibSQL, ClickHouse, Redshift, Cloudflare D1, and the MCP query path. MSSQL and Oracle no longer silently inject ORDER BY either (#956)
  • Crash on macOS 26 when opening SQL Preview
  • File associations for .sql, .sqlite, .duckdb now appear in Finder’s Open With menu
  • New tab from the empty state replaces the placeholder instead of opening a separate window-tab
  • PostgreSQL Create Database collation errors on glibc-initialized servers (#927)
  • SSH agent paths now expand ~ for 1Password and similar agents
  • Pairing approval: 5-minute countdown, searchable connection list, requires explicit Approve click
  • Group and connection deletions persist before sync, fixing a race that could re-upload deleted records to iCloud

Breaking Changes

  • Old name-based deep links (tablepro://connect/{name}/...) removed. Use UUID-keyed paths from “Copy Connection Deep Link”
  • MCP server data directory moved to ~/Library/Application Support/TablePro/. Re-pair external clients after upgrading
  • Separately distributed plugins (Oracle, DuckDB, MSSQL, MongoDB, BigQuery, LibSQL, Cassandra, Etcd, Cloudflare D1, DynamoDB) require update. PluginKit ABI bumped to 9
  • Settings renamed: enforceQueryResultLimit to truncateQueryResults, queryResultLimit to queryResultRowCap. Custom values revert to default on first launch
April 27, 2026
v0.36.0

New Features

  • GitHub Copilot: Inline code suggestions, chat, OAuth sign-in, and schema-aware context
  • Query Parameters: Use :name placeholders in SQL, fill values in an inline panel, execute with native prepared statements
  • Plugin Auto-Update: Outdated plugins update silently at launch; one-click update in Settings
  • Connection Sharing: Copy Connection String, Copy TablePro Link, and Copy as JSON via Share menu
  • MCP Server Security: Token auth with three permission tiers, TLS, remote access, rate limiting, and one-click setup for Claude Code, Desktop, and Cursor

Improvements

  • AI settings rewritten as a single tab with one active provider and per-provider config sheets
  • Native search fields in keyboard shortcuts, database switcher, and quick switcher
  • Filter value field uses native SwiftUI suggestion dropdown
  • MCP bridge pins TLS certificate fingerprint

Bug Fixes

  • Plugin ABI mismatch no longer crashes on launch
  • IME input (Chinese, Japanese, Korean) works correctly in filter value field
  • SQL parameter escaping handles control characters and edge-case formats
  • Foreign app import SSL/SSH parsing for TablePlus, DBeaver, and Sequel Ace
  • Export race conditions, missing confirmation dialogs, and empty states
  • Window position restore, connection error display, localization gaps
April 25, 2026
v0.35.0

New Features

  • MongoDB Replica Sets: Multi-host connections for replica set clusters
  • JSON Results View: Data/Structure/JSON toggle in the status bar
  • JSON Window: Pop out JSON viewer into a resizable, fullscreen-capable window
  • Feedback Form: Bug reports and feature requests via Help > Report an Issue
  • Local Only Connections: Exclude individual connections from iCloud sync
  • MCP Query Safety: Server-side confirmation for write and destructive queries

Improvements

  • Import URL supports libSQL, D1, Oracle, ClickHouse, etcd with dynamic placeholders and clipboard auto-paste
  • Filter operator picker shows SQL symbols alongside names
  • SQL autocomplete suggests columns before FROM using cached schema
  • Native macOS UI across cell editors, alerts, search, and toolbar

Bug Fixes

  • Connection form overflow with SSH jump hosts and TOTP fields
  • Missing confirmation on group deletion
  • Crash when scrolling AI Chat during streaming on macOS 15.x
  • Connection failure on PostgreSQL-compatible databases without SET statement_timeout
  • Schema-qualified table names resolve correctly in autocomplete
  • Alert dialogs use sheet attachment instead of bare modal
April 22, 2026
v0.34.0

New Features

  • libSQL / Turso: New database plugin for libSQL and Turso via Hrana HTTP protocol
  • JSON Viewer: Text/tree toggle for viewing and editing JSON data in cells
  • MCP Server: Built-in Model Context Protocol server with client management and status menu
  • Connection Import: Import connections from TablePlus, Sequel Ace, and DBeaver
  • Database CLI Terminal: Embedded terminal for mysql, psql, redis-cli, etc. (`Ctrl+Cmd+“)
  • Structure Editing: Alter existing table columns, indexes, foreign keys, and primary keys

Improvements

  • Sidebar toggle uses Xcode-style navigator buttons next to traffic lights
  • Sidebar and inspector panels use native macOS split view controls
  • Theme colors adapt to system appearance and accent color automatically

Bug Fixes

  • SQL formatter now preserves original case, UNION and parentheses spacing
April 19, 2026
v0.33.0

New Features

  • Cancel Query: Stop a running query from the toolbar or with Cmd+.
  • Execute All: Run all statements in the editor with Cmd+Shift+Enter
  • Drop Database: Drop databases from the switcher via context menu, toolbar, or Delete key
  • Query Result Limit: Configurable row limit in Data Grid preferences
  • Structure Tab: Search, sort, count badges, PK column, DDL view with highlighting, Copy As (CSV/JSON/SQL), dropdown pickers, destructive change confirmation
  • Structure Tab: Charset/collation (MySQL), index prefix length, partial indexes (PostgreSQL), cross-schema FK, schema changes in query history
  • ClickHouse Parts: Optimize table, drop/detach partition actions
  • Streaming Export: Export query results directly from database with no memory limit
  • Import Error Handling: Stop and Rollback, Stop and Commit, or Skip and Continue
  • Handoff: Resume work across devices via NSUserActivity

Improvements

  • Query tabs now load rows progressively (default 10,000) with Load More and Fetch All
  • Main editor window rewritten on AppKit for faster tab opens and correct lifecycle
  • Toolbar layout follows Apple HIG (sidebar left, connection center, view actions right)
  • Export engine rewritten with streaming row fetch, macOS system progress, and atomic file writes
  • SQL import parser rewritten with DELIMITER support, MySQL conditional/hash comments, and async decompression

Bug Fixes

  • Fix selection highlight not covering the last line on Cmd+A
  • Fix Cmd+W closing the connection window instead of clearing to empty state
  • Fix ER Diagram and Server Dashboard replacing the current tab instead of opening a new one
  • Fix welcome window stealing focus on connect
  • Fix toolbar empty on second tab, menu shortcuts disabled after toolbar click
  • Fix AI chat freeze with large queries or results in the system prompt
  • Fix AI chat panel not updating when switching connections
  • Fix schema not restored on reconnect for PostgreSQL, Redshift, and BigQuery
  • Fix database lost after auto-reconnect
  • Fix database switch closing windows before confirming success
  • Fix Redis database selection not persisted across sessions
  • Fix SSH jumphost lost after disconnect or app restart
  • Fix password appearing missing when Keychain is locked after reboot
  • Fix import rollback reporting and FK checks not restored after failure
  • Fix JSON export coercing leading-zero strings to integers
  • Fix XLSX export not splitting tables exceeding 1,048,576 rows
  • Fix CSV formula injection guard to OWASP-standard prefixes
  • Fix MQL export not validating JSON values
  • Fix SQL export gzip compression blocking and not cancellable
  • Fix export progress bar not reaching 100%
April 17, 2026
v0.32.1

Changed

  • Revert in-app tab bar refactor to restore native macOS window tabs (stability)
April 16, 2026
v0.32.0

Improvements

  • OpenSSL updated to 3.4.3 (CVE-2025-9230, CVE-2025-9231)
  • Memory pressure monitoring now reactive via DispatchSource

Bug Fixes

  • Fix raw SQL injection via external URL scheme deeplinks: now requires user confirmation
  • Fix MySQL prepared statements silently truncating columns larger than 64KB
  • Fix MSSQL error messages misattributed when multiple connections open simultaneously
  • Fix BigQuery filter injection via unescaped column names and unvalidated operators
  • Fix app quitting without warning when tabs have unsaved edits
  • Fix connection list corruption risk from non-atomic UserDefaults writes
  • Fix stale user-installed plugins silently rejected with no UI feedback
  • Fix SSL mode picker showing misleading “Required” instead of “Required (skip verify)”
  • Fix plugin load blocking main thread on first connection after launch

Security

  • SHA-256 checksum verification added to FreeTDS, Cassandra, and DuckDB build scripts
April 14, 2026
v0.31.5

Improvements

  • Keyboard Shortcuts: Follow macOS HIG. Quick Switcher remapped to ⌘⇧O, Format Query to ⌘⇧L, AI Explain (⌘L), Optimize (⌘⌥L), and Toggle Sidebar (⌘0) now wired to menu bar

Bug Fixes

  • AI Chat: Fix app hanging during AI streaming, schema fetch, and conversation loading
  • SSH Tunnel: Agent auth falls back to key file from ~/.ssh/config when agent has no loaded identities
  • SSH Tunnel: Fix connections failing to reconnect after idle or sleep
  • Data Grid: Fix composite primary key tables editing/deleting wrong rows
  • Structure View: Prevent saves from bypassing Safe Mode on read-only connections
April 14, 2026
v0.31.4

New Features

  • iOS Database Icons: Brand icons for MySQL, PostgreSQL, MongoDB, Redis, etc. instead of generic SF Symbols

Bug Fixes

  • Fixed native tab bar ”+” button always creating “Query 1” (#727)
  • Fixed sidebar gap shifting when switching tabs (#728)
  • Fixed SSH Agent auth failing on apps launched from Finder (#729)
  • Fixed iOS SSH private key import not working during test connection (#730)
  • Fixed iOS SQLite file picker not updating after file selection (#732)
  • Fixed toggle inspector shortcut mismatch (#726)
April 13, 2026
v0.31.3

New Features

  • Restore Sessions: All open connections and tabs are restored after quitting the app (#703)
  • SQLite Auto-Refresh: Schema changes from external tools (migrations, CLI) are detected automatically (#704)
  • Query Menu: New dedicated menu for Execute, Explain, Format, and Preview SQL actions

Improvements

  • SQL Formatter: Complete rewrite with token-based architecture, with proper handling of JOINs, subqueries, CASE expressions, CTEs, window functions, and 15+ SQL constructs (#705)
  • Keyboard Shortcuts: Updated to follow macOS HIG: ⌘F is Find, ⌘⇧F for filters, ⌘⌥I for inspector, ⌘0 for sidebar. Format Query and Pagination now customizable.
  • Menu Bar: Restructured per macOS HIG: ⌘N opens connection list (#722), Help search restored, duplicates removed
  • UI Colors: Standardized to macOS semantic colors across all error/success/warning indicators

Bug Fixes

  • Fixed auto-selection of first item failing with fast input in Database Switcher (#714)
  • Fixed Ollama model selection and error messages in AI settings (#712)
  • Fixed filter logic: = NULL auto-converts to IS NULL, BETWEEN works on all drivers, IN/NOT IN handles NULL values (#706)
  • Fixed UI layout breaks when toggling menus, panels, and inspectors (#702)
  • Fixed ⌘W accidentally closing connection window instead of tab
  • Fixed tabs not saved before database switch, rollback failures now logged, filter validation improved (#707)
  • Fixed Ollama AI chat streaming: responses were silently discarded
April 13, 2026
v0.31.2

Bug Fixes

  • Fixed query tabs always named “Query 1” instead of incrementing (#695)
  • Fixed sidebar empty in new or restored window tabs (#694)
  • Fixed tab titles, order, and persistence lost on quit/restore
  • Fixed PostgreSQL version display for v10+ (#698)
  • Fixed license activation metadata and deactivation error handling
April 12, 2026
v0.31.1

Bug Fixes

  • Fixed iCloud Sync not working between Mac and iPhone/iPad TestFlight builds
April 12, 2026
v0.31.0

New Features

  • Server Dashboard: Monitor active sessions, server metrics, and slow queries with configurable auto-refresh (PostgreSQL, MySQL, MSSQL, ClickHouse, DuckDB, SQLite)
  • Handoff: Continue database work across Mac and iPhone/iPad
  • Create Database Options: Database-specific charset/encoding options (encoding + LC_COLLATE for PostgreSQL, charset + collation for MySQL, name-only for others)

Improvements

  • Sidebar table loading refactored for faster, race-free database switching
  • iOS: full-text search in data browser, state restoration across app lifecycle, iPad keyboard shortcuts

Bug Fixes

  • Fixed SSH tunnel failing with ~/.ssh/config profiles: added Include directive support, token expansion, multi-word Host filtering (#672)
  • Fixed Create Database dialog showing MySQL options for all database types
April 10, 2026
v0.30.1

New Features

  • Auto-Uppercase Keywords: SQL keywords are automatically uppercased as you type (#660)
  • Unified Cell Editors: Boolean, enum, date, JSON, and blob columns now show a chevron button for quick editing (#665)

Bug Fixes

  • Fixed MSSQL connection failing on Docker and fresh SQL Server instances (#661)
  • Fixed context menu Format SQL not working (#659)
April 10, 2026
v0.30.0

New Features

  • ER Diagram: Interactive entity-relationship diagrams with crow’s foot notation, drag-to-rearrange layout, and PNG export (#186)
  • FK Preview Toggle: Press Space key to toggle foreign key preview popover (#648)
  • iOS Connection Reorder: Drag-to-reorder connections in the iOS app with iCloud sync (#652)

Bug Fixes

  • Fixed export dialog doing nothing on macOS Tahoe due to incorrect window reference for save panel (#654)
  • Fixed column visibility popover and hex editor alignment per macOS HIG (#653)
  • Accept SQLAlchemy-style connection URLs with driver hints (#642)
April 9, 2026
v0.29.0

New Features

  • Maintenance Tools: VACUUM, ANALYZE, OPTIMIZE, REINDEX, CHECK TABLE, and more via table context menu
  • EXPLAIN Visualization: Diagram, tree, and raw views for query execution plans (PostgreSQL, MySQL)

Bug Fixes

  • Fixed cross-schema foreign key preview, edit, and navigation for PostgreSQL and MySQL (#644)
  • Fixed macOS HIG compliance: system colors, accessibility labels, theme tokens, localization
  • Fixed idle ping spin loop caused by exhausted AsyncStream iterator (#618)
  • Skip exact row count for large tables: use database statistics estimate (#519)

Improvements

  • Theme font pickers now list all installed monospaced fonts dynamically
April 7, 2026
v0.28.0

New Features

  • Smart Value Detection: Auto-render UUIDs in BINARY(16) columns and timestamps in integer columns
  • Display As Override: Per-column format override via column header context menu
  • iOS Safe Mode: Off, Confirm Writes, or Read-Only per connection
  • iOS FK Navigation: Tap to preview referenced row from foreign key columns
  • iOS Syntax Highlighting: SQL keywords, strings, numbers, comments colored in query editor

Bug Fixes

  • Fixed excessive idle ping traffic from orphaned monitor tasks
  • Fixed Cmd+W save not persisting data grid changes
  • Fixed window sizing, selection highlight, and connection switcher errors
  • Moved file loading off main thread, replaced timing hacks with signals
April 6, 2026
v0.27.5

New Features

  • iOS App: Groups, tags, filter, sort, pagination, query history, export to clipboard, Spotlight search, Siri Shortcuts, Home Screen widget

Bug Fixes

  • Fixed crashes in SSH tunnel, export dialog, and jump host removal
  • Fixed data races in storage layers with MainActor isolation
  • Native sheet presentation for all dialogs and file pickers
  • Replaced event monitors and timing hacks with native SwiftUI APIs

Improvements

  • Migrated undo system to NSUndoManager
April 5, 2026
v0.27.4

New Features

  • Cloudflare D1 Batch Queries: Execute multi-statement SQL via REST API
  • Cloudflare D1 Schema Editing: CREATE TABLE, ADD/DROP COLUMN, CREATE/DROP INDEX

Bug Fixes

  • Fixed multi-statement SQL execution failing on Cloudflare D1, ClickHouse, and other drivers without transaction support

Improvements

  • Switched to Apple-standard xcodebuild archive + exportArchive build pipeline with dSYM collection
April 3, 2026
v0.27.3

New Features

  • Foreign Key Preview: Cmd+Enter or right-click on FK cells to preview referenced rows
  • Structure Tab Context Menu: Copy Name, Copy Definition, Duplicate, and Delete for columns, indexes, and foreign keys
  • Column Header Context Menu: Sort and show/hide columns from header right-click

Bug Fixes

  • Fixed Oracle crash when opening views
April 2, 2026
v0.27.2

New Features

  • Group Connection Tabs: Option to group all connection tabs in one window instead of separate windows per connection

Improvements

  • Separate preferred themes for Light and Dark appearance modes, with automatic switching in Auto mode
April 1, 2026
v0.27.1

Bug Fixes

  • Fixed table queries being incorrectly prefixed with the connection username as a schema name on non-schema databases (MySQL, MariaDB, ClickHouse, Redis, etc.), causing “Table ‘username.table’ doesn’t exist” errors when opening a second table tab
March 31, 2026
v0.27.0

New Features

  • Password Prompt on Connect: Option to prompt for database password on every connection instead of saving to Keychain
  • Visual Create Table UI: Design tables visually with multi-database support (sidebar “Create New Table…”)
  • Collapsible Results Panel: Toggle with Cmd+Opt+R, multiple result tabs for multi-statement queries, and result pinning
  • Auto-fit Column Width: Double-click column divider or right-click “Size to Fit” to auto-size columns
  • Filter Field Autocompletion: Column names and SQL keywords suggested as you type in filter fields
  • Multi-line Raw SQL Filter: Use Option+Enter for newlines in the Raw SQL filter field
  • Database-aware SQL Functions: Field menu now shows SQL functions specific to your database engine
  • Inline Error Banner: Query errors displayed inline instead of modal dialogs

Improvements

  • JSON syntax highlighting and brace matching in Details sidebar and JSON editor popover
  • Replaced GCD dispatch patterns with Swift structured concurrency
  • Refactored Details sidebar into modular field editor architecture

Bug Fixes

  • PostgreSQL schema name lost after app restart, causing “relation does not exist” errors for non-public schemas
  • Error dialog OK button not dismissing when a SwiftUI sheet is active
  • SQL Server Unicode characters (Thai, CJK, etc.) displaying as question marks in nvarchar/nchar/ntext columns
  • Globe+F (fn+F) fullscreen shortcut not working
March 29, 2026
v0.26.0

New Features

  • SQL File Management: Open, save, and save-as for SQL files with native macOS title bar integration
  • BigQuery Support: Google BigQuery analytics database via REST API (plugin)
  • AI Kill Switch: Global toggle to disable all AI features (Settings > AI)
  • Column Reordering: Drag to reorder columns in the Structure tab (MySQL/MariaDB)
  • Nested Groups: Hierarchical connection groups up to 3 levels deep
  • Safety Dialogs: Confirmation prompts for deep link queries, connection imports, and pre-connect scripts

Improvements

  • JSON fields in Row Details sidebar now display in a scrollable monospaced text area
  • Removed query history sync from iCloud Sync (history stays local-only)

Bug Fixes

  • SQL editor not auto-focused on new tab and cursor missing after tab switch
  • Long lines not scrollable horizontally in the SQL editor
  • Home and End keys not moving cursor in the SQL editor
  • SSH profile lost after app restart when iCloud Sync enabled
  • MariaDB JSON columns showing as hex dumps instead of JSON text
  • MongoDB Atlas TLS certificate verification failure
  • ENUM/SET dropdown chevron buttons not showing on first table open
March 27, 2026
v0.25.0

New Features

  • Connection Sharing: Export and import connections as .tablepro files. Includes import preview with duplicate detection, status badges, and per-item resolution (#466)
  • Encrypted Export (Pro): Include passwords in exported files, protected by AES-256-GCM encryption with a passphrase
  • Linked Folders (Pro): Watch a shared directory for .tablepro files. Connections appear read-only in the sidebar with per-user passwords
  • Environment Variables (Pro): Use $VAR and ${VAR} in .tablepro connection files, resolved at connection time
March 26, 2026
v0.24.2

New Features

  • Enum/Set Picker: Edit enum and set columns with a dropdown picker for PostgreSQL custom enums, ClickHouse Enum8/Enum16, and DuckDB ENUM types
  • Boolean Picker: MSSQL BIT columns and MySQL TINYINT(1) columns now use a boolean toggle instead of manual text entry

Improvements

  • Correct type classification for ClickHouse Nullable()/LowCardinality() wrappers, MSSQL MONEY/IMAGE/DATETIME2, DuckDB unsigned integers, and parameterized MySQL integer types

Bug Fixes

  • XLSX export producing corrupted files that Excel cannot open
  • Deep link cold launch missing toolbar and duplicate windows
March 26, 2026
v0.24.1

Bug Fixes

  • Keyboard shortcut hints in the welcome window footer no longer overflow and truncate when space is limited
March 26, 2026
v0.24.0

New Features

  • Multi-select Connections: Select multiple connections in the Welcome window with Cmd+Click and Shift+Click, then bulk delete (⌘⌫), move to group, or multi-connect
  • Reorder Connections: Drag to reorder connections within groups and reorder groups in the Welcome window
  • Built-in Plugins: ClickHouse, MSSQL, Redis, XLSX Export, MQL Export, and SQL Import now ship as built-in plugins (no separate installation needed)

Improvements

  • Large document safety caps for syntax highlighting (skip files >5MB, throttle >50KB)
  • Lazy-load full values for LONGTEXT/MEDIUMTEXT/CLOB columns in the detail pane sidebar

Bug Fixes

  • SSH profile connections displaying incorrect host/username on the Welcome window home screen
  • Saved connections disappearing after normal app quit (Cmd+Q) while persisting after force quit
  • Crash when disconnecting an etcd connection while requests are in-flight
  • Detail pane showing truncated values for LONGTEXT/MEDIUMTEXT/CLOB columns, preventing correct editing
  • Redis hash/list/set/zset/stream views showing empty or misaligned rows when values contained binary, null, or integer types
March 24, 2026
v0.23.2

Bug Fixes

  • MongoDB Atlas connections failing to authenticate (#438)
  • MongoDB TLS certificate verification skipped for SRV connections
  • Active tab data no longer refreshes when switching back to the app window
  • Undo history preserved when switching between database tables
  • Health monitor now detects stuck queries beyond the configured timeout
  • SSH tunnel closure and schema restore errors during reconnect now logged instead of silently discarded
  • Memory not released after closing tabs
  • New tabs opening as separate windows instead of joining the connection tab group
  • Clicking tables in sidebar not opening table tabs
March 24, 2026
v0.23.1

New Features

  • SSH Test Connection: Test SSH connectivity directly from the SSH profile editor before saving

Improvements

  • Faster type-aware sorting and lower memory usage with adaptive tab eviction
March 22, 2026
v0.23.0

New Features

  • Redis Key Tree: Browse Redis keys grouped by namespace with collapsible tree view in the sidebar (#418)
  • Keyboard Focus Navigation: Navigate connection list, quick switcher, and database switcher using Tab, Ctrl+J/K/N/P, and arrow keys
  • MongoDB SRV Support: Connect using mongodb+srv:// URIs with SRV toggle, Auth Mechanism dropdown, and Replica Set field (#419)
  • Database Type Badges: Connection form shows all available database types with install status badges (#418)

Improvements

  • MongoDB authSource now defaults to the database name per MongoDB URI spec instead of always “admin”

Bug Fixes

  • Fixed DuckDB TIMESTAMPTZ, TIMETZ, and other temporal columns displaying as null (#424)
  • Fixed onboarding “Get Started” button not rendering on macOS 15 until window loses focus (#420)
  • Faster MongoDB sidebar loading with estimatedDocumentCount and smaller schema sample
March 22, 2026
v0.22.1

New Features

  • Row Numbers Column: Show or hide row numbers in the data grid via Settings > Editor
  • Persistent Column Layout: Column widths and order are saved per table across tab switches, view toggles, and app restarts

Bug Fixes

  • Fixed incorrect version displayed for installed registry plugins (#410)
  • Fixed dangling pointer in release builds due to incorrect buffer handling
  • Fixed AI provider connection test error handling (#407)
  • Fixed use-after-free crash in Redis plugin
March 21, 2026
v0.22.0

New Features

  • Export Query Results: Export the results of any SQL query directly to CSV, JSON, SQL, XLSX, or MQL files via right-click context menu or File > Export Results
  • Amazon DynamoDB Support: Connect to DynamoDB with PartiQL queries, AWS IAM/Profile/SSO authentication, GSI/LSI browsing, table scanning, capacity display, and DynamoDB Local support
  • SSH Tunnel Profiles: Save SSH configurations once and reuse them across multiple connections
  • Ctrl+HJKL Navigation: Arrow key alternative for keyboards without dedicated arrow keys
  • Pro License Gating: Safe Mode (Touch ID) and XLSX export now require a Pro license

Bug Fixes

  • Fixed high CPU usage (79%+) and energy consumption when idle (#394)
  • Fixed etcd connection failing with 404 when gRPC gateway uses a different API prefix
  • Fixed data grid editing not working in query tabs (#383)
March 19, 2026
v0.21.0

New Features

  • Cloudflare D1 Support: Connect to Cloudflare D1 databases directly from TablePro
  • Autocomplete Match Highlighting: Matched characters in autocomplete suggestions are now shown in bold
  • Autocomplete Loading Indicator: Loading spinner while fetching column metadata

Improvements

  • Refactored autocomplete popup to native SwiftUI with visible selection highlight, native accent color, and scroll-to-selection
  • Autocomplete now suppresses noisy empty-prefix suggestions in non-browseable contexts (e.g., after SELECT, WHERE)
  • Autocomplete ranking stays consistent as you type with unified fuzzy scoring
  • Increased autocomplete suggestion limit from 20 to 40 for schema-heavy contexts
March 19, 2026
v0.20.4

Improvements

  • Improved performance for foreign key fetching, query history, tab persistence, and sidebar rendering

Bug Fixes

  • Fixed SQL syntax error when editing columns with reserved keyword names (e.g., database, table, order) in MySQL, PostgreSQL, and SQLite
  • Fixed high CPU usage and memory leaks at idle
  • Fixed architecture-specific update delivery
March 18, 2026
v0.20.3

New Features

  • iCloud Keychain Sync: Optionally sync connection passwords via iCloud Keychain across your devices

Bug Fixes

  • Fixed Use ~/.pgpass setting not persisting when saving a PostgreSQL connection
March 18, 2026
v0.20.2

Bug Fixes

  • Fixed Safe Mode badge not displaying for silent level
  • Fixed Safe Mode level not reflecting live toolbar changes
  • Fixed ~/.pgpass password lookup using SSH tunnel host instead of the original host
March 17, 2026
v0.20.1

Bug Fixes

  • Fixed plugin registry compatibility with PluginKit version 2
March 17, 2026
v0.20.0

New Features

  • Turkish Language: Added Turkish (Türkçe) as a new language option in Settings > General
  • etcd v3 Support: New database plugin with prefix-tree key browsing, etcdctl syntax editor, lease management, watch, mTLS, auth, and cluster info
  • Save Changes Button: New toolbar button for committing pending data edits
  • Connection Delete Confirmation: Confirmation dialog before deleting a connection
  • Unsaved Edit Protection: Confirmation dialog before sort, pagination, filter, or search discards unsaved edits

Bug Fixes

  • Fixed SSH tunnel crashes caused by concurrent libssh2 calls on the same session
  • Fixed unsaved cell edits lost when switching tabs, sorting, paginating, filtering, or switching apps
  • Fixed auto-reconnect and health monitor silently discarding unsaved changes
  • Fixed SSH tunnel recovery failing after tunnel death due to stale driver state
  • Fixed health monitor ping interfering with active user queries
  • Fixed connection test not cleaning up SSH tunnel on completion
  • Fixed test connection success indicator not resetting after field changes
  • Fixed SSH port field accepting invalid values
  • Fixed DROP TABLE and TRUNCATE TABLE sidebar operations producing no SQL for plugin-based drivers
  • Fixed foreign key navigation arrows not appearing after switching databases with Cmd+K on MySQL
  • Fixed sidebar not refreshing after creating or dropping tables
  • Fixed dropping a table disconnecting the database when the dropped table’s tab was active
March 16, 2026
v0.19.1

Bug Fixes

  • Fixed SSH tunnel connections timing out when connecting through SSH
  • Fixed plugin metadata dispatch failing for externally installed plugins
  • Improved SSH public key authentication error messages with detailed failure reasons
March 15, 2026
v0.19.0

New Features

  • iCloud Sync: Sync connections, groups, tags, settings, and query history across Macs with per-category toggles, conflict resolution, and real-time status indicator (requires Pro license)
  • SQL Favorites: Save frequently used queries with optional keyword bindings for autocomplete expansion
  • Copy as JSON: Copy selected rows as JSON from context menu and Edit menu
  • Help Menu: Quick links to website, documentation, GitHub, and sponsor page
  • BLOB Hex Display: View BLOB data as hex dump in the detail view sidebar

Bug Fixes

  • Fixed SSH agent connections failing when socket path contains ~ (e.g., 1Password agent)
  • Fixed Keychain authorization prompt appearing on every table open
March 14, 2026
v0.18.1

Bug Fixes

  • Fixed plugin download counts resetting to zero when a new plugin version is released
March 14, 2026
v0.18.0

New Features

  • Theme Engine: 4 built-in themes (Default Light/Dark, Dracula, Nord) with full color and font customization. Import/export themes as JSON
  • Theme Registry: Browse, install, and update community themes from the plugin registry
  • Cassandra & ScyllaDB Support: Connect to Cassandra and ScyllaDB databases via a downloadable plugin
  • SSH Two-Factor Authentication: TOTP support with auto-generate and prompt modes for SSH connections
  • SSH Host Key Verification: Fingerprint confirmation dialog for new and changed host keys
  • Keyboard Interactive SSH: Support for keyboard-interactive authentication method
  • Column Visibility: Toggle columns on/off via status bar button or header context menu
  • Copy as SQL: Copy selected rows as INSERT or UPDATE statements from the data grid context menu
  • PostgreSQL .pgpass Support: Automatic password lookup from ~/.pgpass for PostgreSQL and Redshift connections
  • Pre-connect Script: Run a shell command before each connection via Connection > Advanced
  • Custom Plugin Registry URL: Configure a private/enterprise registry URL for plugin distribution

Improvements

  • MSSQL, MongoDB, Redis, XLSX export, MQL export, and SQL import extracted into downloadable plugins. MySQL, PostgreSQL, SQLite, CSV, JSON, and SQL export remain built-in
  • Redesigned Plugins settings with master-detail layout and download counts
  • All database-specific behavior now driven by plugin metadata instead of hardcoded switches, enabling third-party database plugins
  • Connection form fields, sidebar labels, and SQL dialect features are now fully plugin-driven
  • App-level appearance mode (Light, Dark, Auto) independent of theme selection
  • MSSQL query cancellation and lock timeout support

Bug Fixes

  • Fixed plugin icon rendering not supporting custom asset images alongside SF Symbols
March 11, 2026
v0.17.0

New Features

  • DuckDB Support: Connect to .duckdb files, query CSV/Parquet/JSON files via SQL, schema navigation, and extension management
  • MongoDB Auth Database: Configure authSource to authenticate against any database instead of the default admin
  • Safe Mode Levels: 6 per-connection 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
  • Preview Tabs: Single-click opens a temporary preview tab, double-click or editing promotes it to a permanent tab
  • Import Plugin System: SQL import extracted into a .tableplugin bundle with support for .sql and .gz compressed files
  • Open SQLite from Finder: Double-click .sqlite, .sqlite3, .db3, .s3db, .sl3, and .sqlitedb files to open them directly
  • Plugin Install Prompt: Automatic prompt to install missing driver plugins when connecting to an unsupported database type

Improvements

  • Oracle and ClickHouse shipped as downloadable plugins, reducing app bundle size
  • SQLite driver extracted from built-in bundle to downloadable plugin
  • Export plugin options (CSV, XLSX, JSON, SQL, MQL) now persist across app restarts
  • Plugins can declare settings views rendered in Settings > Plugins
  • True prepared statements for MSSQL and ClickHouse, eliminating string interpolation
  • Batch query operations for MSSQL, Oracle, ClickHouse, and SQLite, eliminating N+1 patterns
  • Unified error formatting and localized error messages across all database drivers
  • Standardized parameter binding with type-aware numeric handling and NULL literal support

Bug Fixes

  • Fixed MongoDB Read Preference, Write Concern, and Redis Database not persisting across app restarts
  • Fixed DELETE and UPDATE queries using all columns in WHERE clause instead of primary key for PostgreSQL, Redshift, MSSQL, and ClickHouse
  • Fixed SSL/TLS always being enabled for MongoDB, Redis, and ClickHouse connections
  • Fixed Redis sidebar click showing data briefly then going empty
  • Fixed MongoDB showing “Invalid database name” when connecting without a database name
  • Fixed result truncation at 100K rows being silently discarded instead of reported to UI
March 9, 2026
v0.16.1

Bug Fixes

  • Fixed stale filter causing repeated errors when restoring tabs after switching database or schema
  • Fixed sidebar showing old tables during database/schema switch instead of a loading indicator
  • Fixed sidebar search field disappearing when no tables match filter on macOS 15 and earlier
  • Fixed disabled plugin database types still appearing in connection form picker
  • Fixed main window not closing before reopening welcome screen on connection failure
March 9, 2026
v0.16.0

New Features

  • Plugin System: All 8 database drivers and 5 export formats extracted into .tableplugin bundles loaded at runtime. Enables third-party plugins
  • Plugin Marketplace: Browse, search, and install plugins from the GitHub-hosted registry with checksum verification
  • Settings > Plugins: Manage installed plugins: enable/disable, install from file or marketplace, view details
  • ClickHouse Support: Query ClickHouse databases with progress tracking, EXPLAIN variants, TLS/HTTPS, server-side cancellation, and Parts view
  • Startup Commands: Run custom SQL after connecting (e.g., SET time_zone) via Connection > Advanced tab
  • Chinese Simplified Localization: Full zh-Hans translation for the entire app UI

Improvements

  • Reduced memory by ~80-130 MB per connection: eliminated dedicated ping driver, lazy plugin loading, RowBuffer deduplication, metadata driver consolidation
  • Consolidated per-editor NSEvent monitors into shared singleton (O(n) to O(1) per event)
  • Reorganized project into domain-specific subdirectories

Bug Fixes

  • Fixed inspector separator bleeding into toolbar area with default connection color
  • Fixed inspector toggle lagging due to synchronous UserDefaults writes during animation
March 8, 2026
v0.15.0

New Features

  • Oracle Database Support: Connect to Oracle databases via OCI (Oracle Call Interface)
  • Database URL Scheme: Open connections directly from terminal with open "mysql://user@host/db" -a TablePro. Supports MySQL, PostgreSQL, SQLite, MongoDB, Redis, MSSQL, and Oracle
  • SSH Agent Authentication: Use SSH Agent for tunnel authentication, compatible with 1Password SSH Agent, Secretive, and ssh-agent
  • Multi-Jump SSH: Chain multiple SSH hops (ProxyJump) to reach databases through bastion hosts. Configure jump hosts in the connection form or import from ~/.ssh/config

Improvements

  • Reduced app binary size by ~55% by replacing CodeEditLanguages xcframework (38 grammars) with a local package compiling only SQL, Bash, and JavaScript

Bug Fixes

  • Fixed memory leak where session state objects were recreated on every tab open, causing 785MB usage at 5 tabs
  • Fixed per-cell field editor allocation in DataGrid creating 180+ NSTextView instances instead of sharing one
  • Fixed NSEvent monitor not removed on all popover dismissal paths in connection switcher
  • Fixed race condition in FreeTDS disconnect() where dbproc was set to nil without holding the lock
  • Fixed JSON encoding and file I/O blocking the main thread in TabStateStorage
  • Fixed MySQL/MariaDB getting BEGIN instead of START TRANSACTION in table operations
  • Fixed port resetting to default value when editing a connection with a custom port
  • Fixed data races in MainContentCoordinator, LibPQConnection, and VimKeyInterceptor
  • Fixed SSH askpass script written with world-readable permissions
  • Fixed welcome screen showing blank panel when connections have orphaned group IDs
  • Fixed multiple tabs auto-executing queries simultaneously on connection restore
  • Fixed unescaped identifiers in MySQL SHOW CREATE TABLE queries allowing SQL injection via table names
  • Fixed QueryResultRow equality ignoring cell values, preventing SwiftUI from re-rendering updated rows
  • Fixed Cmd+Delete in sidebar search clearing the query editor
March 6, 2026
v0.14.1

New Features

  • PostgreSQL Database & Schema Switching: Switch databases and schemas for PostgreSQL connections via ⌘K
March 5, 2026
v0.14.0

New Features

  • Microsoft SQL Server Support: Connect to SQL Server 2017+ databases via FreeTDS with schema browsing, table structure, indexes, foreign keys, and paginated queries
  • Edit and Delete Without Primary Key: Edit and delete rows in tables that don’t have a primary key

Bug Fixes

  • Fixed MSSQL connection losing selected database after disconnect and reconnect when no default database is configured
  • Fixed DELETE operations on tables without a primary key being silently dropped when row data is missing
  • Fixed high CPU and RAM usage on app launch from blocking storage init, unsynchronized health monitors, and excessive retry loops
  • Fixed slow database switcher loading by replacing N+1 metadata queries with single batched queries
  • Fixed slow Redis key browsing by pipelining TYPE and TTL commands in a single round trip
  • Fixed slow SQL export startup by batching COUNT(*) queries and dependent lookups
  • Fixed slow AI Chat schema loading by fetching all foreign keys in a single bulk query
  • Fixed O(n) string operations causing high CPU in geometry parsing, Redis driver, and autocomplete scoring
March 4, 2026
v0.13.0

New Features

  • Redis Support: Connect to Redis databases with key-value browsing, database-level sidebar (db0-db15), TTL management, and interactive CLI
  • TablePlus-compatible URLs: Open databases via command line with open -a TablePro "postgresql://user@host/db", supporting schema switching, table opening, filters, color, and environment tags

Bug Fixes

  • Fixed sidebar search field and main content area background colors not blending with macOS vibrancy
  • Fixed POINT and geometry columns showing blank values in MySQL and wrong type label in sidebar
March 3, 2026
v0.12.0

New Features

  • Amazon Redshift Support: Connect to Amazon Redshift data warehouses
  • Deep Links: Open connections, tables, queries, and import connections via tablepro:// URLs
  • Copy as URL: Right-click a connection to copy its details as a connection string (e.g., mysql://user:pass@host/db)
  • Auto-show Inspector: Automatically open the right sidebar when selecting a row (Settings > Editor)
  • Homebrew Cask: Install via brew install --cask tablepro

Improvements

  • ENUM and SET columns now open their picker on single click with a chevron indicator, matching boolean column behavior

Bug Fixes

  • Fixed “Table not found” error when switching databases within the same connection (Cmd+K) while a table tab is open
  • Fixed right sidebar state not persisting across native window-tabs
March 2, 2026
v0.11.1

Bug Fixes

  • Fixed MySQL second tab showing empty rows when macOS merges tab groups
  • Fixed MongoDB tab name showing “MQL Query” instead of collection name when using bracket notation
March 2, 2026
v0.11.0

New Features

  • Environment Color Indicator: Subtle toolbar tint based on connection color for at-a-glance environment identification
  • SSH Tunnel URL Import: Import database connections from SSH tunnel URLs (e.g., mysql+ssh://, postgresql+ssh://)
  • Connection Groups: Organize database connections into folders with colored headers

Improvements

  • Toolbar now uses native macOS overflow behavior with History/Export/Import in the secondary action menu
  • Redesigned right sidebar detail pane with compact field layout and type-aware editors

Bug Fixes

  • Fixed toolbar briefly showing “MySQL” and missing version info when opening a new tab
  • Fixed keyboard shortcuts not working after connecting from the welcome screen until a second tab was opened
  • Fixed toolbar overflow menu showing only one item when the window is narrow
  • Fixed AI chat showing “SQL” label and missing syntax highlighting for MongoDB code blocks
March 1, 2026
v0.10.0

New Features

  • Multiple Database Connections: Open separate windows for different database connections, each with independent session isolation
  • MongoDB Support: Connect to MongoDB databases with collection browsing, document viewing, and MQL export
  • Import from URL: Import database connections directly from connection strings (e.g., postgresql://user:pass@host:5432/db)
  • Custom About Window: New About window with version info and quick links to Website, GitHub, and Documentation

Improvements

  • Release notes now shown in the Sparkle update window

Bug Fixes

  • Fixed new row (Cmd+I) and duplicated row not appearing in data grid until manual refresh
  • Fixed PostgreSQL SSH tunnel connections failing with “no encryption” due to SSL config not being preserved
  • Fixed PostgreSQL SSL sslrootcert passed unconditionally, causing certificate verification failure in Required mode
February 28, 2026
v0.9.2

Bug Fixes

  • Fixed app bundle not ad-hoc signed. Signing step was unreachable when no dylibs were bundled
February 28, 2026
v0.9.1

Bug Fixes

  • Fixed Sparkle auto-update failing with “improperly signed” error. Release ZIPs now preserve framework symlinks and include proper ad-hoc code signatures
February 28, 2026
v0.9.0

New Features

  • Vim Mode for SQL Editor: Full Vim keybindings with Normal/Insert/Visual modes, motions (w, b, e, ^, _), operators, and :w/:q commands. Toggle in Editor Settings
  • PostgreSQL Schema Switching: Browse and switch between schemas (public, auth, custom schemas) via ⌘K database switcher

Improvements

  • Query history operations converted to native Swift async/await for faster response
  • Export and Import services consolidated to reduce UI update overhead
  • App startup uses structured Task-based retry loops instead of dispatch chains

Bug Fixes

  • Fixed cell edit showing modified background (yellow) but reverting to original value after pressing Enter
  • Fixed undo on inserted row cell edit not syncing data correctly
  • Fixed Vim Escape key not working when autocomplete popup is visible
  • Fixed Copy/Cut (⌘C/⌘X) not working in SQL editor
  • Fixed Vim yank/delete not syncing to system clipboard
  • Fixed multiple Vim motion and visual mode selection issues
  • Fixed event monitor and memory leaks in SQL editor lifecycle
  • Fixed unbounded memory growth from tab registry, sorted row cache, and schema provider retention
  • Fixed background tabs retaining full result data indefinitely
  • Fixed crash on macOS 14.x caused by missing libpq symbol. Now uses vendored static libraries
  • Fixed duplicate tabs when inserting SQL from AI Chat or History with multiple windows open
  • Fixed various coordinator lifecycle issues (teardown, destroy, cancellation)
  • Fixed DataGridView unnecessary column reconfiguration on every version bump
  • Fixed ConnectionHealthMonitor slow failure detection. Now supports immediate health checks
February 27, 2026
v0.8.0

New Features

  • Native macOS Window Tabs: The tab bar is now rendered by macOS itself. Identical to Finder, Safari, and Xcode tabs with automatic dark/light mode support, drag-to-reorder, and “Merge All Windows” for free
  • Independent Tab Windows: Each tab is a full independent window with its own sidebar, editor, and state. No more shared state between tabs

Improvements

  • Tab Switching Performance: Schema is now cached per connection so new native tabs reuse the already-loaded schema instead of re-fetching from the database (saves 500ms–2s per tab)
  • Background Schema Loading: Schema loads concurrently. Table data appears immediately while autocomplete schema loads in the background
  • Sidebar MVVM Refactor: Sidebar table list migrated to a testable SidebarViewModel architecture with extracted TableRowView and context menu components
  • Window title updates dynamically after in-place navigation (sidebar click, FK navigation)
  • 10+ SwiftUI rendering optimizations to prevent O(N) view cascades across windows

Bug Fixes

  • Fixed sidebar losing keyboard focus (arrow key navigation) after opening a second table tab
  • Fixed sidebar active state flash when clicking a table that opens in a new native window tab
  • Fixed sidebar losing active state when opening a second table in a new native window tab
  • Fixed sidebar not refreshing after switching databases via Cmd+K
  • Fixed Cmd+W in empty state doing nothing. Now closes the connection window and disconnects
  • Fixed Cmd+K database switch flooding all windows with error alerts
  • Fixed clicking a table in the sidebar replacing the current tab instead of opening a new one
  • Fixed Cmd+W on any tab disconnecting the entire session
  • Fixed Cmd+T from empty state creating two native tabs instead of one
  • Fixed native tab title showing “SQL Query” instead of the table name
  • Fixed Cmd+W on the last tab disconnecting the session instead of returning to empty state
February 25, 2026
v0.7.0

New Features

  • Combined Search & Filters: Quick search and filter rows now work together. When both are active, conditions are combined with AND for precise data discovery
  • Foreign Key Navigation: FK columns display a clickable arrow icon in each cell. Click to jump directly to the referenced table, pre-filtered to the related row

Improvements

  • Instant Metadata Loading: FK arrows, column info, and row counts now load on a dedicated parallel connection, eliminating the 200-300ms delay on initial table load
  • Instant Pagination: Approximate row count from database metadata displays immediately with data; exact count refines silently in the background
  • Syntax highlighting added to Import SQL file preview
  • XLSX export enforces Excel’s 1M row limit per sheet with reduced memory usage
  • Multiline cell editing now uses a scrollable overlay editor for better navigation
  • MySQL result fetching switched to streaming mode to reduce memory for large result sets
  • 30+ internal performance optimizations across SQL editor, tab switching, data grid, exports, and persistence

Bug Fixes

  • Fixed AND/OR filter logic mode being ignored in query execution
  • Fixed filter panel state (filters, visibility, search, logic mode) not preserved when switching tabs
  • Fixed FK navigation filter being cleared when switching to a new tab
  • Fixed PostgreSQL and SQLite LIKE/NOT LIKE expressions missing ESCAPE clause
  • Fixed SQLite regex filter silently falling back to LIKE substring match
  • Fixed PostgreSQL SQL export: newline/tab escaping, missing enum types, missing DROP IF EXISTS for types and sequences
  • Fixed memory management issue in PostgreSQL C connector (free vs deallocate)
  • Fixed FTS5 search errors from special characters like *, OR, AND
February 23, 2026
v0.6.4

Bug Fixes

  • PostgreSQL SQL Export: Fixed DDL export failing for all PostgreSQL tables with “Failed to fetch DDL” error
February 23, 2026
v0.6.3

Improvements

  • Welcome window now uses native macOS frosted glass translucency
  • Improved tab switching performance by caching row providers and change managers across render cycles

Bug Fixes

  • MySQL/MariaDB Timeout: Auto-detect server type to use the correct timeout variable (max_execution_time for MySQL, max_statement_time for MariaDB)
  • DataGrid Scrolling: Row view recycling, O(1) string length checks, cached fonts, reduced compositing overhead, deferred accessibility labels
  • Eliminated selection sync feedback loop causing redundant updates during tab switch
  • Reduced SwiftUI re-render cascades by batching state mutations during tab switch
February 23, 2026
v0.6.2

Improvements

  • Replaced generic SwiftUI colors with native macOS system colors for proper dark mode, vibrancy, and accessibility adaptation
  • Use semantic label colors (quaternaryLabelColor, tertiaryLabelColor) instead of hardcoded opacity
  • Use native shadowColor instead of Color.black for shadows
  • Replaced iOS-style Capsule badges with RoundedRectangle for native macOS look
February 23, 2026
v0.6.1

Performance

  • 45 performance fixes across the entire codebase, covering memory, CPU, data handling, network, and I/O:
    • Memory: Reference-based row buffers, index-based sort cache, streaming XLSX export, driver-level row limits (100K cap), removed redundant string copies, weak references in schema provider, undo stack depth cap, dictionary-based pending changes, weak self in Task captures, clear cached data on disconnect, AI chat message cap
    • CPU: Removed expensive Unicode operations in database drivers, cached 100+ regex patterns in SQL formatter, async Keychain reads, cached frequently-used regex patterns, O(1) change lookup index
    • Data: Auto-append LIMIT for unprotected queries, row limit caps for all drivers, batch column fetching via INFORMATION_SCHEMA, index permutation sort cache, cached row provider, clipboard 50K row cap, Int-based row IDs replacing UUID
    • Network: Phase 2 metadata cache, connect timeout for PostgreSQL, query cancellation via mysql_kill/PQcancel/sqlite3_interrupt, loading guard for sidebar, reuse cached schema for AI
    • I/O: Throttled history cleanup, async history storage migration, consolidated onChange handlers
February 22, 2026
v0.6.0

New Features

  • Inline AI Suggestions: Ghost text completions in the SQL editor. Triggers automatically on typing pause, Tab to accept, Escape to dismiss
  • Schema-Aware Completions: Inline suggestions use actual table and column names from your connected database (cached with 30s TTL)
  • VoiceOver Accessibility: Added accessibility labels to data grid, filter panel, toolbar buttons, editor tab bar, and sidebar controls

Improvements

  • Migrated notification observers to async sequences for modern Swift concurrency
  • Migrated tab state persistence from UserDefaults to file-based storage in Application Support for faster app launch
  • Refactored menu and toolbar commands to @FocusedObject pattern. Direct method calls instead of global notifications
  • Redesigned connection form with tab-based layout (General / SSH Tunnel / SSL/TLS / Advanced)
  • Revamped connection form UI to native macOS grouped form style with automatic label alignment
  • SQLite connections now only show relevant tabs (General and Advanced)
  • Added async/await wrapper methods to query history storage

Bug Fixes

  • Fixed thread safety race condition in SQLite driver. Serialized all handle access with a dedicated actor
  • Fixed SwiftUI sheet presentation reliability. Consolidated multiple .sheet modifiers into a single .sheet(item:)
  • Fixed SSH tunnel setup blocking the UI. Replaced synchronous process waiting with async port probing
  • Fixed potential deadlocks in MySQL and PostgreSQL connection cleanup
  • SQL editor now respects the macOS accessibility text size preference with live updates
  • Fixed retain cycle in update checker and leaked observer in SQL editor coordinator
  • Eliminated tab switching delay. Kept NSViews alive across switches, moved I/O to background threads
  • Reduced tab-switch CPU spikes from 40-60% to ~10-20% by eliminating redundant data grid reloads
  • Table open now shows data instantly. Metadata loads in the background without blocking the grid
  • Eliminated 20-80ms overhead when clicking an already-open table in the sidebar
  • Fixed Keychain writes silently failing. Return values are now checked and logged
  • Added proper service identifiers to all Keychain queries to prevent collisions with other apps
  • Fixed leaked async tasks in import dialog and AI provider settings
February 19, 2026
v0.5.0

New Features

  • AI Chat Panel: Right-side panel for AI-assisted SQL queries with multi-provider support (Claude, OpenAI, OpenRouter, Ollama, custom endpoints). Includes schema-aware context, markdown rendering, and code blocks with Copy/Insert to Editor buttons
  • AI Provider Settings: Configure multiple AI providers in Settings > AI with API key management, endpoint configuration, model selection, and connection testing
  • AI Feature Routing: Map AI features (Chat, Explain Query, Fix Error, Inline Suggestions) to specific providers and models
  • Per-Connection AI Policy: Control AI access per connection (Always Allow, Ask Each Time, Never) in the connection form
  • Keyboard Shortcut Customization: Rebind any menu shortcut in Settings > Keyboard via press-to-record UI with conflict detection and “Reset to Defaults”
  • Structure View Undo/Redo: Full undo/redo support (⌘Z / ⇧⌘Z) for all column, index, and foreign key operations in the structure editor
  • Structure View Type Picker: Database-specific type picker popover: searchable, grouped by category, supports freeform input for parametric types like VARCHAR(255)
  • Structure View Dropdowns: YES/NO dropdown menus for Nullable, Auto Inc, and Unique columns
  • Tab Reuse Setting: Opt-in option in Settings > Tabs to reuse clean table tabs when clicking a new table in the sidebar
  • Switch Connection Shortcut: ⌘⌥C to quickly open the connection switcher popover
  • SQL Autocomplete Enhancements: New clause types (RETURNING, UNION, OVER/PARTITION BY), smart clause transitions, qualified column suggestions in JOINs, compound keywords, richer column metadata, keyword documentation, and expanded function/keyword coverage

Improvements

  • Migrated 5 NSPopover controllers (Enum, Set, TypePicker, JSONEditor, ForeignKey) to SwiftUI with shared PopoverPresenter utility
  • Replaced AppKit history panel (5 files) with single pure SwiftUI HistoryPanelView
  • Replaced ExportTableOutlineView (757 lines) with SwiftUI ExportTableTreeView (~146 lines)
  • Replaced KeyEventHandler NSViewRepresentable with native .onKeyPress() modifiers
  • Improved layout architecture. Eliminated KVO observation hacks and recursive view tree traversal
  • Structure tab grid columns now auto-size to fit content on data load
  • SQL autocomplete now uses 50ms debounce and optimized fuzzy matching

Bug Fixes

  • Fixed structure view undo/redo not working. Undo-delete no longer duplicates rows, and undoing deletion of unsaved items works correctly
  • Fixed structure view save button remaining enabled when validation errors exist
  • Fixed structure view incorrectly handling multi-column foreign keys and column renames on MySQL/MariaDB
  • Fixed PostgreSQL DDL tab missing constraints and primary key detection in structure grid
  • Fixed SQL injection vulnerability in driver schema queries with special characters in table/database names
  • Fixed SQL editor undo/redo (⌘Z / ⇧⌘Z) being blocked by responder chain mismatch
  • Fixed SQL autocomplete issues: subquery clause detection, block comment handling, database-specific types, schema suggestions after CREATE TABLE, function completion inserting incomplete parentheses
  • Fixed data grid column order flashing/swapping when sorting
  • Fixed “Copy Column Name” and “Filter with column” context menu copying sort indicators
  • Fixed AI chat “Ask Each Time” policy silently falling through to “Always Allow”
February 16, 2026
v0.4.0

New Features

  • SQL Preview: Review all pending SQL statements before committing changes with a new toolbar button (eye icon) or shortcut (⌘⇧P)
  • Multi-Column Sorting: Shift+click column headers to add columns to the sort list; regular click replaces with single sort. Priority indicators (1▲, 2▼) shown in headers
  • Copy with Headers: Copy selected rows with column headers as the first TSV line via ⇧⌘C or the data grid context menu
  • Column Width Persistence: Resized columns retain their width across pagination, sorting, and filtering reloads within a tab session
  • Dangerous Query Confirmation: DELETE/UPDATE statements without a WHERE clause now prompt a confirmation dialog summarizing affected queries
  • SQL Editor Horizontal Scrolling: Long lines scroll horizontally without word wrapping
  • Find Panel Scroll-to-Match: SQL editor find panel now scrolls to each match during navigation

Improvements

  • Raised minimum macOS version from 13.5 (Ventura) to 14.0 (Sonoma)
  • Changed Export/Import keyboard shortcuts from ⌘E/⌘I to ⇧⌘E/⇧⌘I to avoid conflicts with standard text editing shortcuts
  • URLSession now waits for network connectivity in analytics and license services
  • Improved SQL statement parser to handle backslash escapes within string literals, preventing false positives in dangerous query detection

Bug Fixes

  • Fixed SQL editor not updating colors when switching between light and dark mode
  • Fixed sidebar retaining stale table selections and pending operations for tables removed since the last refresh
February 14, 2026
v0.3.2

Bug Fixes

  • Fixed launch crash on macOS 13 (Ventura) x86_64 caused by accessing NSApp.appearance before NSApplication is initialized during settings singleton setup
February 14, 2026
v0.3.1

Bug Fixes

  • Fixed syntax highlighting not applying after paste in SQL editor by deferring frame-change notification so the visible range recalculates after layout
  • Fixed data grid not refreshing after inserting a new row
February 13, 2026
v0.3.0

New Features

  • Language Setting: Choose between System, English, or Vietnamese in Settings > General with full Vietnamese localization (637 strings)
  • ENUM/SET Column Editor: Double-click ENUM columns for a searchable dropdown, SET columns show multi-select checkboxes with OK/Cancel buttons
  • PostgreSQL Enum Support: User-defined enum types resolved via pg_enum catalog lookup
  • SQLite Pseudo-Enum Detection: CHECK constraint-based enum detection for SQLite columns
  • Connection Health Monitoring: Automatic 30-second health checks with exponential backoff auto-reconnect (3 retries)
  • Anonymous Usage Analytics: Opt-out toggle available in Settings > General > Privacy

Improvements

  • Migrated Libs/*.a static libraries to Git LFS tracking to reduce repository clone size
  • Replaced filter { }.count with count(where:) across 7 files
  • Replaced print() with Logger in documentation examples
  • Aligned Xcode SWIFT_VERSION build setting from 5.0 to 5.9

Bug Fixes

  • Fixed launch crash on macOS 13 caused by missing asyncAndWait symbol in CodeEditSourceEditor 0.15.2
  • Fixed SQL injection vulnerability in PostgreSQL pg_enum lookup and SQLite sqlite_master queries by escaping single quotes
  • Fixed ENUM column nullable detection to use actual schema metadata instead of heuristic rawType check
  • Fixed PostgreSQL primary key modification to query actual constraint name from pg_constraint
February 11, 2026
v0.2.0

New Features

  • SSL/TLS Connection Support: Secure connections for MySQL/MariaDB and PostgreSQL with configurable modes (Disabled, Preferred, Required, Verify CA, Verify Identity) and custom certificate file paths
  • CSV Clipboard Paste: RFC 4180-compliant CSV parser with auto-detection of CSV vs TSV format when pasting from clipboard
  • Explain Query: New button in the SQL editor toolbar and menu item (⌥⌘E) for viewing query execution plans
  • Connection Switcher: Quick-switch popover for active and saved connections directly from the toolbar
  • Date/Time Picker: Dedicated date picker popover for editing date, datetime, timestamp, and time columns in the data grid
  • Read-Only Mode: Connection-level read-only toggle with toolbar badge and full UI enforcement. Disables editing, row operations, and save changes
  • Query Timeout: Configurable execution timeout in Settings > General (default 60s, 0 = no limit) with per-driver enforcement via statement_timeout (PostgreSQL), max_execution_time (MySQL), max_statement_time (MariaDB), and sqlite3_busy_timeout (SQLite)
  • Foreign Key Lookup: Searchable dropdown for FK columns showing values from the referenced table with both ID and descriptive display column
  • JSON Column Editor: Popover editor for JSON/JSONB columns with pretty-print formatting, compact mode, real-time validation, and explicit save/cancel buttons
  • Excel Export: Export to .xlsx format with a lightweight pure-Swift OOXML writer. Supports shared strings deduplication, bold headers, numeric type detection, and multi-table export to separate worksheets
  • View Management: Create View (opens SQL editor with template), Edit View Definition (fetches existing definition), and Drop View from sidebar context menu

Bug Fixes

  • Fixed crash on launch on macOS 13 (Ventura) caused by missing Swift runtime symbol
  • Fixed redo functionality in data grid (⌘⇧Z now works correctly)
  • Fixed redo stack not being cleared when new changes are made
  • Fixed canRedo() always returning false in data grid coordinator
  • Wired undo/redo callbacks directly to data grid for proper responder chain validation
  • Fixed MariaDB connection error 1193 “Unknown system variable ‘max_execution_time’” by using the correct max_statement_time variable
  • Query timeout errors no longer prevent database connections from being established

Improvements

  • Replaced all print() statements with structured OSLog Logger across 25 files for better debugging via Console.app
February 9, 2026
v0.1.1

New Features

  • CodeEditSourceEditor Migration: SQL editor now powered by tree-sitter via CodeEditSourceEditor for improved syntax highlighting and performance
  • Multi-Statement Execution: Execute multiple SQL statements in a single run
  • Show Structure: Right-click any table in the sidebar to quickly view its structure
  • Improved Filter Panel: Redesigned filter UI for a better experience
  • SwiftUI Tab Bar: New pure SwiftUI editor tab bar replacing the AppKit implementation
  • GPL v3 License: Project is now licensed under the GNU General Public License v3
  • Auto-Update: In-app updates via Sparkle 2 with EdDSA signing. Check for updates from the TablePro menu or Settings > General

Bug Fixes

  • Fixed MySQL 8+ connections failing with caching_sha2_password plugin error by rebuilding libmariadb with the auth plugin compiled statically
  • Fixed Delete key on data grid rows incorrectly marking the table as deleted
  • Downgraded all APIs to support macOS 13.5 (Ventura)

Maintenance

  • CI release notes now read from curated CHANGELOG.md instead of auto-generating from commits
  • Removed redundant prepare-libs CI job, speeding up the build pipeline by ~5 minutes
  • Added SPM Package.resolved for CodeEditSourceEditor dependencies
  • Updated build and test commands with -skipPackagePluginValidation
February 8, 2026
v0.1.0
The first public release of TablePro: a native macOS database client built with SwiftUI and AppKit.

Features

  • Multi-Database Support: Connect to MySQL, PostgreSQL, and SQLite databases
  • SQL Editor: Full-featured editor with syntax highlighting, autocomplete, and line numbers
  • Data Grid: Browse and edit table data with sorting, filtering, and pagination
  • SSH Tunneling: Secure database connections via SSH tunnels
  • Query History: Track and replay your SQL queries
  • Table Structure: View and modify table schemas, indexes, and constraints
  • Import/Export: Import SQL files and export data in CSV, JSON, and SQL formats
  • Keyboard Shortcuts: Keyboard navigation for power users
  • Native Tab Bar: AppKit-powered tab bar with drag-to-reorder support
  • Dock Menu: Quick access to welcome window and recent connections
  • License Activation: RSA-signed license verification with offline support

Performance

  • Optimized SQL editor for large files with viewport-only syntax highlighting
  • Native AppKit tab bar for lightweight tab management
  • Efficient data grid rendering for large result sets
  • Lightweight memory footprint with native Apple frameworks