Today we are releasing SequelPG v0.1.5 — the biggest update since the initial launch. This release replaces the plain text editor with a proper SQL editor, adds SSH tunnel support for secure remote connections, introduces the app icon throughout the interface, and includes several quality-of-life improvements.

Here is everything that changed across versions 0.1.3 through 0.1.5.

A real SQL editor

The headline feature in v0.1.5 is the new SQL editor. The previous plain TextEditor has been replaced with a custom NSTextView-based editor built specifically for writing SQL. It includes three key capabilities:

  • Syntax highlighting — SQL keywords, strings, comments, numbers, and operators are highlighted with distinct colors that adapt to light and dark mode. Highlighting updates in real time as you type, powered by a token-based system in a custom NSTextStorage subclass.
  • Autocompletion — As you type, the editor suggests completions from SQL keywords and your actual database metadata, including schema names, table names, and column names. This means you can reference the correct identifiers without switching back to the structure view to check a column name.
  • Query formatter (Beautify) — Click the Beautify button to automatically format your SQL with proper indentation, line breaks, and uppercase keywords. The formatter also auto-quotes mixed-case identifiers for PostgreSQL compatibility, so queries work correctly with case-sensitive table and column names.

The editor is built from five new Swift files: a tokenizer and formatter (SQLFormatter), an adaptive color scheme (SQLSyntaxColors), a live-highlighting text storage (SQLTextStorage), a completion provider that pulls from both keywords and database metadata (SQLCompletionProvider), and the SwiftUI wrapper (SQLEditorView).

SSH tunnel support

SequelPG now supports SSH tunneling for connecting to databases behind firewalls or accessible only through bastion hosts. This was one of the most requested features, and it is available starting in v0.1.3.

SSH settings are integrated directly into both the start page and the connection form sheet. You can configure:

  • SSH host and port
  • SSH username
  • Key file authentication (e.g., ~/.ssh/id_rsa)
  • Password authentication (stored securely in Keychain)

Under the hood, SequelPG uses a new SSHTunnelService actor that manages the system ssh binary for local port forwarding. The tunnel is established automatically when you connect and torn down cleanly when you disconnect. SSH passwords are stored in the macOS Keychain under a separate key per connection profile.

App icon and visual polish

SequelPG now has a proper app icon — a PostgreSQL elephant with a <SQL> tag, generated at all required macOS sizes. The icon appears in the Dock, in the menu bar, and on the start page (replacing the previous generic SF Symbol placeholder).

SequelPG app icon

Disconnect menu and keyboard shortcut

You can now disconnect from a database and return to the start page via File > Disconnect or the keyboard shortcut Cmd+Shift+W. The AppViewModel has been moved to the App level to support menu commands properly.

Keychain password caching

Previously, switching between connections triggered repeated Keychain reads. In v0.1.4, an in-memory password cache was added to ConnectionListViewModel so the Keychain is only read once per profile per session. This eliminates unnecessary permission prompts and speeds up connection switching.

Empty query results fix

A bug where SELECT queries returning zero rows showed “Query executed successfully” instead of column headers has been fixed. SequelPG now resolves column names from table metadata via information_schema, so you always see the result structure even when there are no matching rows.

What is next

We are continuing to build SequelPG into the PostgreSQL client we want to use every day. Coming up:

  • Query history and saved queries
  • Table data export (CSV, JSON)
  • Schema visualization
  • Multi-tab query editor
  • Improved filtering and search in Content view

SequelPG is open source on GitHub. Download the latest release from the releases page, report issues, or contribute directly. We would love your feedback.