SoliDB blog

Release notes and deep dives

What changed in each release, why, and how to use it — with queries you can paste into a running server.

33 new SDBQL functions, and FOR x IN anything

SoliDB 1.2.2 and 1.3.0 add date series, lookup maps, object diffs, accent folding, IBAN and SIRET checks, banker's rounding — and FOR now accepts any expression after IN.

jemalloc now serves RocksDB, and /metrics says where memory goes

Until 1.1.0, RocksDB's block cache, table readers and memtables lived in glibc arenas that jemalloc's tuning never reached. What changed, the new per-component gauges in /metrics, and the knobs that bound memory.

SoliDB 1.1.0: the collections you can no longer write by name

1.1.0 puts SoliDB's own collections in three tiers behind one check, makes Lua scripts write as their caller, and gates the admin console. Each one closes a real finding; here is what a Write user now sees.

SoliDB 0.34.0: a cluster that actually spans machines

Before 0.34.0 a multi-machine cluster came up and replicated nothing. What was broken, --host vs --advertise, the now-mandatory keyfile, and a three-node setup on three machines.

Columnar collections now take FILTER, SORT and joins in SDBQL

In 0.33.0, FOR reads columnar collections like any other source, so FILTER, SORT, joins and subqueries work on them. Four aggregate bugs that returned wrong numbers instead of errors are also fixed.

Backing up SoliDB: checkpoints, dumps, and when to use each

0.33.0 adds POST /_api/backup, an instant RocksDB checkpoint of the whole instance, next to solidb-dump's portable JSONL. What each does, what it can't do, a decision table, and a runbook.