1.2.7
October 30, 2026
Fixes
API
- Account deletion keeps the subscription Deleting an account no longer cancels the team subscription when another member has joined and the team stays.
- Child teams follow the parent Removing someone from a parent team removes them from child teams that copy members. A role or note change on the parent shows up on those child teams.
- Deleting a child team frees a slot Deleting a child team frees that slot on the parent plan, so you can create another child team afterward.
- Member notes can be cleared Clearing a member note and saving now removes the note.
- Cloudflare client IP Rate limits and staff access trust a Cloudflare visitor header only when the connection came from Cloudflare.
- Email change confirmation Changing your email asks for your current password, replaces any older confirmation link, and signs out other sessions after the new address is confirmed.
- Invite emails name the team A team invite email includes the team name. The email is sent only after the invite is saved.
- Notification email confirmation The confirmation email for a notification address opens a link that verifies the channel.
- Notification rule channels A notification rule delivers only to channels and members that belong to the same team.
- One address, one account Sign-in, sign-up, and email changes treat an address as the same mailbox regardless of letter case, so one inbox cannot open two accounts.
- Previous billing period Previous period on the usage page shows the billing period that ended when the current one started, including yearly plans and periods that begin on the 31st.
- Production email delivery Password resets, invites, and other mail are sent on Fly and Railway when debug mode is off. Development environments still skip delivery.
- Production webhook addresses Production rejects private and non-HTTPS webhook addresses, including when the environment name is blank, prod, or mixed case.
- Recovery codes are single-use A recovery code can sign you in once. A second attempt with the same code is rejected, including when two sign-ins overlap.
- Redis connection URL A rediss:// URL turns TLS on, and a redis:// URL leaves it off. A database URL applies its sslmode the same way.
- Removed members can rejoin You can add someone again after you remove them from a team, and you can send a new invite after you cancel the previous one.
- Seat counts on renewal Team and Enterprise renewals keep the current seat count. Enterprise renewals keep the current child team count.
- Revoked API keys Revoking an API key stops it right away. A request already in progress cannot turn that key back on.
- Seat count matches the member list Removing a member, leaving a team, or deleting an account no longer drops the membership when the seat count cannot be updated.
- Webhook delivery address Webhook delivery connects to the address that was checked for that send.
- Webhook redirects A webhook that responds with a redirect stays undelivered and is retried.
- Webhook address changes Changing a webhook URL marks the channel unverified until a test send to the new address succeeds.
Frontend
- Email confirmation after sign-in Opening a change-email link while signed out takes you back to that confirmation after you sign in.
- Inbox unread list The notification bell lists unread items and can load the next page when more unread notifications remain.
- Stay signed in through a network error A failed connection while refreshing your session keeps you signed in. The app signs you out only when the session itself is no longer valid.
- Two-factor sign-in The authenticator and recovery-code tabs no longer send both codes at once, so a leftover authenticator code does not block a recovery code.
- Zero limits on the usage page A feature with a limit of zero shows none remaining on the usage page. A feature with no limit shows as unlimited.