Skip to content

0.18.2

Choose a tag to compare

@cevheri cevheri released this 09 Oct 19:49
· 388 commits to main since this release
Immutable release. Only release title and notes can be modified.

LibreDB Studio 0.18.2 is a patch release.
Databend now shows its official icon, a new connection starts unlabelled instead of Local, Generate Test Data leaves foreign keys out and keeps unique values distinct, and a Source tab re-reads its object when you open it again.
The rest is a run of fixes across PostgreSQL and its relatives, the wire-compatible engines, the MySQL family, MongoDB, Redis and Oracle, most of them from community contributors, and a forty-fifth local model for the agent.
The Helm chart gained three optional values for extra volumes and extra manifests since 0.18.1.
There is no security fix in this release, and nothing to do before upgrading.

Databend's official icon

Databend shows the official icon-only mark from the Databend brand assets, in its original colours, in place of the warehouse drawn for Studio: on the login page, in the connection picker, the sidebar and everywhere else the engine icon appears.
The Databend team asked for it after testing Studio against Databend Cloud (databendlabs/databend-docs#3512).

New connections start unlabelled

A new connection now starts with Environment set to Other, which shows no badge, instead of Local, which put a LOCAL badge in the header and the sidebar on every connection nobody labelled (#1604).
Editing a connection saved without an environment no longer labels it Local.
A connection that already has a label keeps it, and picking Local by hand works as before.

Generate Test Data

The dialog leaves foreign-key columns out of the generated INSERT and lists the columns it skipped and why, instead of writing values the foreign key refused (#1610, part of #1400).
Values written into a primary-key or unique column are now distinct: text values carry a token of their own per run, so a second run no longer collides with the first, and numbers and other formatted values stay distinct within a run.
A MongoDB collection with a unique index gets the same treatment.

Source tabs re-read

Opening an object whose Source tab is already open re-reads it, so a change made by another client shows up (#1594, closes #1407).
The tab header has a refresh control and shows when the document was read; both it and the stale banner's Read again are disabled while the tab has unsaved edits.

Also in this release

Studio

  • On connect, the object inventory is read once instead of twice, and on Trino, SQL Server and DuckDB only for the pinned catalog instead of every schema of every catalog (#1592, closes #1402).
  • A read-only connection no longer offers per-row maintenance, such as Load and Release on a Milvus collection, in Admin > Operations, Monitoring > Tables or the object tree's row menu; the server already refused it, and the dialog closed with nothing said (#1611, closes #1418).
  • The ER diagram keeps column types as the engine spells them, enum values included, and labels each relation with its kind when the diagram holds more than one kind, such as tables and views (#1559, closes #1442).
  • Schema Diff on Oracle writes the NULL or NOT NULL of a MODIFY only when the nullability changes, so a type or default change on a column whose nullability stays the same is no longer refused, such as with ORA-01442 on a NOT NULL column (#1617, closes #1240).

PostgreSQL and its relatives

  • The Monitoring Overview's Tables tile counts base tables only, matching the object tree's Tables folder; on RisingWave and Materialize it counted materialized views too, so the figure can fall after the upgrade (#1615, closes #1439).
  • Table statistics are sized by relation id, and a size the engine refuses is left out on its own, so the read no longer fails on CockroachDB and RisingWave (#1507, closes #1436).
  • The Overview counts and the Triggers folder leave out tables an extension owns, such as PostGIS's spatial_ref_sys, as the schema folders already did (#1600, closes #1599).

Wire-compatible engines

  • Schemas an engine keeps for itself are hidden from the tree, Monitoring, Docs, the ERD, autocomplete and the agent's inventory: RisingWave's rw_catalog, Materialize's mz_unsafe and mz_catalog_unstable, TiDB's METRICS_SCHEMA and its upper-case system schemas, OceanBase's oceanbase, SingleStore's cluster and memsql, ScyllaDB's audit and system_replicated_keys keyspaces and its $paxos tables, and OpenSearch's security-auditlog-* indices (#1598, closes #1428).
  • MongoDB's Monitoring > Tables skips system.* collections, so it agrees with the Overview count (#1598).

MySQL family, MongoDB and Redis

  • On Vitess, which refuses to explain a statement that names no table, Explain is measured against a table of the session's database instead of being turned off (#1609, closes #1393).
  • Test Connection to a MongoDB port where nothing listens fails at the request's query timeout instead of the 30-second server selection bound, and a failed connect no longer leaves a half-open client that a retry reported as connected (#1591, closes #1573).
  • Analyze on a Redis connection shows the server's INFO metrics in the Operations tab, one row per section, key and value, instead of a toast with a line count (#1608, closes #1453).

The agent

  • One more local model is measured for the agent, taking the roster to 45: laguna-xs-2.1:latest, which clears all six agent surfaces five times in a row (#1624).
  • Two per-model settings join the agent's tuning: compareHoldLimit, how many times a run that reports without comparing the plans it read is asked to compare them, and unreadStopAsks, how many times a run that stopped without a tool call is asked again. Both default to one, so no model measured before moves (#1624).

Documentation

  • A Korean README (#1524, closes #596).
  • The README links the Oracle node-oracledb guide, the Apache Kafka wiki and the Apache Cassandra ecosystem page, which list LibreDB Studio (#1607, #1603, #1606).
  • The Elasticsearch and OpenSearch provider docs cite code by name, and a stale limitation about aliases and data streams is gone (#1601, closes #1547; #1619, closes #1613).
  • docs/API_DOCS.md says that skipObjectScan defers the catalog and not the Keys panel, with a test that holds it (#1616, closes #1169).

Helm chart: 0.1.81

Tracks app release 0.18.2; no template, value or default moves in this version.
Chart 0.1.80, published since 0.18.1, added extraVolumes, extraVolumeMounts and extraObjects, all empty by default, so an existing install renders as before: they mount extra volumes into the app container, such as a private CA trusted through NODE_EXTRA_CA_CERTS, and ship extra manifests with the release (#1605, closes #1526).
artifacthub.io/containsSecurityUpdates is false.

helm repo add libredb https://libredb.org/libredb-studio/
helm upgrade --install libredb-studio libredb/libredb-studio --version 0.1.81

Contributors

The Databend icon and the unlabelled new connection are by @cevheri.

Full changelog: 0.18.1...0.18.2