Repository navigation
Releases: amtzespinosa/gresbase
Releases · amtzespinosa/gresbase
Release list
v0.4.0
Search all tables at once.
Added
- Global search: a term in every table the role can read (text with
ILIKE, exact numbers, uuids and
dates), and in the names of tables, views and columns. Results stream table by table with progress
and can be canceled; a row opens its table filtered to it, with the matching column highlighted.
Schemas can be limited and stay in the URL; large tables are opt-in; a table that is too slow can be
retried with more time. It works read-only, in free mode and behind Nginx or Cloudflare.
Changed
- The Studio edition moves to v0.5 in the roadmap.
- The cell editor is the cell itself: grown over its neighbours, on a light background with a rounded
2 px accent border, and no field box inside. - Signing out asks first, and says when unsaved grid changes would be lost or an open SQL transaction
rolled back.
v0.3.0
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 NULLand
defaults; rename, comment and move tables; indexes (ordered columns, unique, method, partial,
CONCURRENTLY), unique and check constraints and foreign keys withNOT VALIDand 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
:nameparameters 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_NAMEandGRESBASE_DB_USERfix 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, andgresbase setup-tokenprints 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_allowedconnection failure. - A relative
GRESBASE_DATA_DIRno longer shows the "data is not persistent" warning.
Security
- A role with
default_transaction_read_onlycould 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.