Skip to content

Releases: k2b-dev/rsql

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 10:03

Full Changelog: v0.4.0...v1.0.0

v1.0.0-rc.1

v1.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Jul 16:43

Full Changelog: v0.4.0...v1.0.0-rc.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 26 Jul 16:13

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@ValentinKolb ValentinKolb released this 29 Apr 22:43

Breaking

  • foreign_keys is now optional in NamespaceConfig. Send it as false to explicitly disable; omit to apply the default (true). Previously an explicit false was silently flipped to true.

Fixed

  • Atomic update operators ($increment, $multiply, $append) now reject non-numeric / non-marshalable operands instead of silently coercing in SQLite.
  • Schema migrations (add_columns / drop_columns / rename_columns) keep the persisted table_schema metadata in sync, so post-migration row inserts honour the updated pattern / min / max / options.
  • FTS index creation validates each user-supplied column name before joining it into the bare-name CREATE VIRTUAL TABLE column list.
  • namespace.Manager.Close() is idempotent (sync.Once) and getOrOpen rejects work after shutdown.
  • service.CreateNamespace rolls back the registry record, the open handle, and the on-disk file when DB initialisation fails.
  • mapErr now uses errors.Is(err, sqlite.ErrValidation) instead of substring-matching the message text.

Removed

  • MaxOpenNamespaces config option (was parsed and validated but never enforced).

Container

ghcr.io/valentinkolb/rsql:v0.3.0 · :latest

v0.2.0

Choose a tag to compare

@ValentinKolb ValentinKolb released this 29 Apr 21:40

Added

  • Streaming CSV export per table (GET /v1/:ns/tables/:table/export?format=csv) with full filter parity to the rows endpoint.

Breaking

  • Audit-meta passthrough wire key renamed meta → _meta in request bodies, SSE events, and changelog entries.
  • Reserved column names: id, created_at, updated_at, _meta, and any leading-underscore name are rejected on create / add / rename / drop.

Container

ghcr.io/valentinkolb/rsql:v0.2.0 · :latest

v0.1.0

Choose a tag to compare

@ValentinKolb ValentinKolb released this 29 Apr 18:59

First release of rsql.

What it is

Multi-tenant SQLite HTTP server. Each namespace is one isolated SQLite database file, exposed over a REST API.

Endpoints

  • Namespace lifecycle: create, list, update config, delete, duplicate, export, import (.db or CSV)
  • Schema: tables, views, indexes including FTS5
  • Rows: list, get, insert, update, delete, bulk update/delete
  • Filter grammar on row lists (status=eq.active, or=(...), like, is.null, etc.)
  • Read-only SQL endpoint (SELECT / WITH, single or batch, parameter binding)
  • SSE change stream per namespace, optionally filtered by table
  • Bearer-token auth, Prometheus metrics, optional pprof

Container image

```
ghcr.io/valentinkolb/rsql:v0.1.0
ghcr.io/valentinkolb/rsql:latest
```

Source

```
go install github.com/ValentinKolb/rsql/cmd/rsql@v0.1.0
```

Notes

Pre-1.0. The HTTP API is stabilising; breaking changes between minor versions remain possible until v1.0.