Skip to content

Changelog

Release notes for the ReflexDB engine and control plane. Engine and control plane versions are released independently.


Instances can now be deployed to eu-west-1 (Ireland) or us-east-1 (Virginia). Choose a region per instance at creation time, or set a default on the connection.

  • Region is selected in the Add Instance form
  • The control plane routes all build and deployment operations to the correct region automatically
  • Multi-region is available on Team plan and above

ReflexDB can now connect to MySQL databases that are not publicly accessible, via an SSH bastion host.

  • Configure SSH credentials (host, port, user, private key) per connection
  • The key is stored encrypted at rest — never exposed in logs or API responses
  • A Test Connection preflight runs before any provision or rebuild to catch connectivity issues early
  • Supports RSA, Ed25519, and ECDSA keys in OpenSSH format

See the SSH tunnel setup guide for configuration instructions.


Team plan accounts can now add multiple members:

  • Invite team members by email from Settings → Team
  • Invitees receive an email and can accept with their existing account or a new one
  • Seat limits are enforced per plan
  • Any team member can create connections, databases, and instances; billing stays with the account owner

Two-factor authentication is now available for all accounts:

  • Enable in Account settings → Two-factor authentication
  • Scan the QR code with any TOTP app (Google Authenticator, Authy, 1Password, etc.)
  • MFA is optional; enforcement per team is planned for Business and Enterprise plans

Connections — decoupled source databases

Section titled “Connections — decoupled source databases”

The data model now separates connections (MySQL server credentials) from databases (schema configs and instances):

  • One connection can serve multiple databases with independent schema configs
  • Connection credentials are edited in one place and apply to all associated databases
  • Changing connection credentials offers an option to reconfigure all running instances immediately

Each build now records:

  • Duration — wall-clock seconds from queue to completion
  • Compute tier — build instance size selected based on schema complexity
  • Estimated cost — per-build cost in cents, visible in the build history panel

The dashboard now shows a 30-day uptime percentage on each instance card, derived from the monitoring poll history.


Long-lived rmk_... bearer tokens can now be created from Settings → API Keys. These authenticate against the control plane API (api.reflexdb.cloud/v1) and support the same operations as the dashboard.

See the Control Plane API reference for the full endpoint list.


Outbound webhooks can be configured from Settings → Webhooks:

  • Events: database.status_changed, build.completed, build.failed
  • Payloads are HMAC-signed — verify the signature with the secret shown at creation
  • Delivery history and retry controls are available per subscription

COUNT(*), COUNT(field), SUM(field), and AVG(field) are now supported.

Non-aggregate fields in the selection act as implicit GROUP BY keys. Aggregates can also be used inside embedded reverse relations (e.g. count of child rows per parent).

See the Aggregations reference.

The where key on both the root config and individual table entries lets you bake SQL predicates into the snapshot at load time:

where: "deleted_at IS NULL"
where_columns: [deleted_at]

See the Row predicates reference.

Tables, columns, and relations can now be renamed in the generated API without changing the MySQL schema:

field_aliases:
name: display_name
author: writer

See the Field aliases reference.

OpenAPI spec — alphabetical model ordering

Section titled “OpenAPI spec — alphabetical model ordering”

Models in the per-instance OpenAPI spec (GET /openapi.json) are now emitted in alphabetical order, making generated client code deterministic across rebuilds.