Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 09:39
· 2 commits to main since this release

Polish of the base product, and fixes from using it on real projects.

Added

  • Structure editing: create tables; add, rename, retype (with USING), drop columns, NOT NULL and
    defaults; rename, comment and move tables; indexes (ordered columns, unique, method, partial,
    CONCURRENTLY), unique and check constraints and foreign keys with NOT VALID and validate. Every
    change shows the exact SQL and its warnings before running; drops ask for the typed name.
  • Columns: hide, reorder (drag or keyboard), resize, "Reset view"; saved per connection and table
    together with pinned columns and rows.
  • Rectangular selection, copy as TSV/CSV/JSON/INSERT, paste from a spreadsheet into the change queue
    (one undo step, extra rows inserted on request, invalid values marked and blocking save).
  • Table tabs (close, close others, reorder, Alt+W), favorites and recents per connection, also in ⌘K.
  • SQL editor tabs per connection and :name parameters sent as bound parameters.
  • Settings screen: general, connections, security (change password), SQL editor and about; settings
    defined by environment variables are locked; grid density.
  • Row selection with a click, a resizable table list, context menus in the table list, the SQL history
    and saved queries, and an own checkbox with 24 px targets.
  • Free mode: private saved queries per user and server (snippets/.private/), and a session menu with
    "Switch connection" and "Disconnect", each confirmed.
  • GRESBASE_DB_NAME and GRESBASE_DB_USER fix the database and user of the connection forms; with host,
    database and user fixed, free mode only asks for the password.
  • GRESBASE_TRUSTED_PROXIES: behind those proxies the sign-in limit uses the client IP from
    X-Forwarded-For.
  • Setup token: the log carries a /setup#token=… link, and gresbase setup-token prints the token
    inside the container.
  • Long SQL queries, CSV imports and structure changes stay alive behind Nginx or Cloudflare with
    heartbeats; no proxy timeout to raise.

Changed

  • Initial JavaScript halved (510 → 275 KB gzip) by loading heavy screens on demand; tablet layout fixes.
  • A typed value that does not fit its column now blocks save instead of failing on the server.
  • Tables with a primary key show the newest rows first by default.
  • Licensed under Apache 2.0.

Fixed

  • The SQL editor selection was hidden by the active line.
  • Single accent border on the cell editor; flags with the same size; the row panel footer stays at the
    bottom.
  • Own message for the host_not_allowed connection failure.
  • A relative GRESBASE_DATA_DIR no longer shows the "data is not persistent" warning.

Security

  • A role with default_transaction_read_only could lift it from the SQL editor (SET … = off); the
    editor now treats that role as read-only.
  • The sign-in limit counts only failed attempts.
  • The "data is not persistent" warning now detects an anonymous volume, the container layer and tmpfs,
    and says when the data would be lost.