Releases ·

Roastwarden 0.14.0

rustRoast now has a licence: the GNU AGPL, version 3 or later, the same as Artisan. Settings → About links it, the source code of the running version and the notices of every library and font inside. Release images also run on arm64 (a Raspberry Pi), and each release carries a compose bundle to install it with.

Added

  • Licence: AGPL-3.0-or-later (owner, 2026-10-31). LICENSE, the licence in every crate and the dashboard's package.json, a README section, and Contributing: contributions are AGPL with a sign-off and a grant that lets the maintainer also license them commercially.
  • Third-party notices in the image: /licenses/server.txt (every Rust crate with its licence, the crates' NOTICE files, the label fonts; cargo-about, scripts/notices.sh) and /licenses/dashboard.txt (every npm package in the bundle; apps/dashboard/notices.js), beside /licenses/LICENSE.txt. Settings → About links them and the source of the running revision (source_url in GET /api/about and roast status, with licence).
  • Licence checks: cargo deny check licenses in CI's Audit job (deny.toml), and the dashboard's build fails on a bundled package under a licence not allowed.
  • arm64 images (Next 64): a release tag publishes the image for linux/amd64 and linux/arm64 (a Raspberry Pi 4 or 5), built on the amd64 runner with no emulation (Rust cross-compiles; the runtime stage only copies). Pushes to main stay amd64, so deploys do not wait for it.
  • A compose bundle with each release: rustroast-compose-vX.Y.Z.tar.gz (the compose file pinned to the release, the Mosquitto config, .env.example, the licence) beside the roast binaries; the release notes name the image. docker-compose.yml takes RUSTROAST_IMAGE and RUSTROAST_VERSION.

Changed

  • The image's runtime is assembled without running commands on the target: the rustroast user (same uid, 999) and the CA certificates come from a native stage; curl stays in the amd64 image only (the owner's deploy script uses it).