v1.1.0 — multi-user accounts & email
Adds multi-user accounts with roles, SMTP email (password reset and optional verification), and a self-service Profile page — plus repo-wide linting and UI polish. The controller runs the new database migration automatically on start: no breaking changes, and your existing first account keeps its admin role.
Added
- Multiple users with roles. Invite people as admin / operator / viewer with one-time invitation links (copy or emailed). Operators run backups and restores; only admins configure instances, destinations, schedules and settings. Role checks are enforced server-side on every mutating action, and the UI hides controls and pages a role can't use. Invitations are single-use, expire after 48h, bound to the invited email, and stored only as a sha256 hash; the last admin can't be demoted or removed. New Users page and a public
/invite/<token>acceptance page. See docs/accounts.md. - Email (SMTP). Optional password reset (a Forgot password? link on sign-in) and soft account verification — configured from Settings → Email or via
SMTP_*env (config-as-code), with a built-in test that verifies the connection. The dev compose ships Mailpit to test every flow offline. See docs/email.md. - Profile page to change your name, email and password from the UI.
- ESLint across the monorepo and generic root scripts (
npm run lint/typecheck/test), with CI updated to match.
Fixed
- Closed JSX whitespace gaps that glued words after bold/inline tags.
- Fixed a horizontal overflow on mobile when a long copyable link was shown.
Upgrading
- The controller applies the new
Invitationmigration (0015) automatically on start. No breaking changes; the first account keeps its admin role, and email stays optional. Pull the new images below (or:latest).
Images
Published to the GitHub Container Registry — also tagged :1.1 and :latest:
docker pull ghcr.io/holo795/cbm-controller:1.1.0
docker pull ghcr.io/holo795/cbm-agent:1.1.0