Railbase
← Changelog
Core release

Railbase core v0.5.13

Every transactional email path is now guaranteed to send, proven via MailHog (12 flows green end-to-end), and unified onto a single DRY enqueue path (`jobs.EnqueueEmail`).

Gaps closed (created a token/record but never emailed):

  • App-user invite — now sends the `invite` template per invitee.
  • 2FA recovery codes — `2fa_recovery` was never sent; now emailed at TOTP enroll-start + regenerate, on both admin and app-user surfaces.
  • Tenant member invite — new `tenant_invite` template + send.

Bug fixed: admin forgot-password refused with "mailer is not configured" whenever the mailer was env-configured or dev auto-detected (it trusted only the `mailer.configured_at` flag). It now gates on the live mailer's actual delivery capability.

Unification: auth flows (password reset / verification / email-change / OTP) moved from in-handler sends to the async, retry-backed queue — no more 500s on a transient SMTP hiccup. Welcome / admin-broadcast / new-device payloads now share one wire contract.

Full audit + matrix: docs/MAILER-AUDIT.md. 85 Go packages pass.

Verify downloads against `checksums.txt`.