Section V · Changelog Encrypted Postgres backups Read the changelog
dbcrate

v0.5.3

2026-05-09

Beta

Schedules start firing. The agent is pinned to a database.

Agent

Added

  • AddedHeartbeat dispatch: pending jobs are parsed from the heartbeat response and run through the worker pool. No long-poll, no side channel.
  • Addedrun_probe command handler for live database-connectivity checks; the dispatcher maps it through the same lifecycle as backup and restore.
  • Added--log-level flag with debug-level wire tracing for heartbeat and /config.
  • AddedSOPS-managed key material for builds; the published binary registry is now sourced from a static-musl bash matrix.

Changed

  • Changed/config wire shape: expected_postgres_versionpostgres_major (nullable). The probe-result contract carries the detected major back.

Control plane

Added

  • AddedSchedule firing wired end-to-end. Schedule rows synchronise into the django-q2 scheduler on signal, a boot check refuses to start if the two have drifted, a scheduler heartbeat gates /readyz for the first three minutes, and a missed-fire detector flips stale QUEUED runs so the next cron tick can pick them up.
  • AddedCron → Job dispatch and pending-jobs in the heartbeat response.
  • AddedAgent ↔ database pinning. Each database is pinned to a single agent in its organisation. The dispatcher refuses to send work to any other agent, and /config narrows to the agent's pinned databases only.
  • AddedOn-demand “Run backup now” from the database detail page, async, with a flash, hidden until the pinned agent has been heard from.
  • AddedFirst-run welcome pages on databases, agents, backups, and storage when an organisation has no rows yet, with the next CTA inside the empty-state hero.
  • AddedRedesigned backups list and detail: window / outcome / database facets, cross-field search, fixed-layout responsive rows, and a presigned download link for the encrypted object.
  • AddedNewsreader / Inter / JetBrains Mono self-hosted across the console, theme-aware wordmark and favicon on every page, and the canonical overview dashboard built from real organisation data.

Fixed

  • FixedUser-defined schedules that never fired because of a stale next_run and a leftover second cluster. Q2 is collapsed to one cluster, and Schedule changes drive the row directly.
  • FixedEmpty-list pages no longer issue duplicate queries; an EXISTS-first short-circuit short-circuits the empty case.

All releases