Your app's name on its emails, and a signal for a user's first sign-in
2.2.0 is in release candidates. The full notes for each one are in CHANGELOG.md on GitHub, and the blog walks through what they change for your app.
- New
Account emails with your branding
Password resets, verification links, magic links, the welcome email and the failed payment reminder carry your app's name, and your logo and colour once you set them. A Sender setting holds the From name, a Reply-To address and a support address.
- New
Your own transactional emails, sent by key
Write a template in the panel, preview it, send yourself a test and publish it, then send it from your backend with rekey.email.send(). It goes out through your own Resend or SMTP account, with typed variables, an idempotency key, and one-click unsubscribe for notification mail.
- New
Onboarding signals and lifecycle webhooks
isNewUser on every sign-in result. Webhooks for a user's sign-ins (with firstSignIn), organization invitations, a trial starting, and a trial ending in three days. A setting for when the welcome email goes out: at sign-up, once verified, or never.
- New
Sign-up rules by email domain
Allow a list of domains, block a list, or refuse disposable inboxes. Existing users keep signing in, and users your team creates or imports are not checked.
- Improvement
Two-factor codes work once
A TOTP code, a sign-in challenge or a backup code is accepted once, including when several requests race to spend it. A reused code does not count toward the MFA lockout.
- Improvement
Billing that is harder to get wrong
Partial refunds add up and a refund past the payment is refused. A second checkout for a plan that is being paid is refused, so a double click does not make two subscriptions. The free default plan must actually be free.
- New
A checkout page with your branding (beta)
For PayPal subscriptions only for now. Off by default, switched on per Application and separately for Test and Live. Card details stay in PayPal's window.
- New
Support console, teammate scopes and imports
Help a customer from their end-user page, restrict a teammate to part of the workspace, decide which emails Rekey sends, import users with their existing password hashes, and sell through a provider Rekey never sees.
- Improvement
A panel that keeps up, and free trials once per buyer
Per-caller rate limits stop the panel freezing when you click through tabs quickly. Free trials are sellable again, one per buyer per Application by default.
