Skip to content

1.1.0

Choose a tag to compare

@elomariamin elomariamin released this 21 Sep 16:55
· 150 commits to main since this release

Bud TMP v1.1.0

This release adds Cloudron packaging and first-run
setup, per-station enrolment keys, custom runs, PDF reports, and a link from
every run back to its Bloom suite.

Added

  • Cloudron package — runs under Cloudron's read-only root filesystem with data and generated secrets in /app/data; PostgreSQL and local-storage addons, optional mail; minBoxVersion 9.1.0; CI smoke-tests the image against the Cloudron contract.
  • First-run setup — GET /api/setup/status and POST /api/setup create the first administrator, hand over the runner registration key, and confirm by email.
  • Per-station enrolment keys — minted on the Test Stations page, pinned to the first station that registers, shown once, stored as a SHA-256 digest. Stations are named at mint time and renamable.
  • Custom runs — a test catalogue and Custom Run screen; a selection spanning two stations becomes one queued run per station; a station polls POST /api/runners/claim-run and executes the selected tests.
  • Run ↔ Bloom link — a run links back to the Bloom test suite holding its synced test cases, shown on the run detail, the run list and the dashboard.
  • Dashboard filters — by time range, Test Station and suite, plus run search and a location filter.
  • PDF reports — GET /api/reports/test-runs.pdf (dashboard selection) and GET /api/reports/test-runs/{run_id}.pdf (single run), with download buttons on both screens.
  • Run artifacts — list and download a run's files; the upload allowlist adds CSV, SVG, PDF, pcap/pcapng, gzip, tar, GIF and WebP (HTML stays refused).
  • Release pipeline — tested images are promoted by digest to v1.1.0/1.1.0/1.1/1/stable; a published version is never overwritten; an SBOM is attached.

Changed

  • Destructive actions (removing a station, revoking a key) confirm in a dialog; station row actions moved to a … menu, keys added with +.
  • RUNNER_API_KEY removed from .env.example and the README; the teststations table and its endpoints removed; ALM renamed PLM.
  • Transactional mail uses Bud's own colours; the frontend is split by route.
  • Coverage measures threads and greenlets; the CI gate is 85%.
  • Dependency updates — React 19, React Router 8, Node 24, and pinned backend dependencies; the audit carries no exception.

Fixed

  • Constraint violations answer 409/422 with the request id; unhandled errors return the request id in the body.
  • Run list search and the location filter apply on the server; latest_per_suite uses a window function.
  • Summary tiles count test cases and assertions separately; counters exclude runs in progress.
  • Cloudron mail uses the STARTTLS port; delivery failures return 503 naming host, port and TLS mode.

Security

  • Revoking an invitation revokes its link.
  • Result uploads authenticate with the station's own key; get_uploader_entity no longer reads the request body.

Upgrade notes

  • Stations enrolled before 1.1.0 re-register once against a key minted by an administrator; RUNNER_API_KEY is no longer read.

Full changelog: https://github.com/MbedLabs/bud/blob/main/docs/CHANGELOG.md