- Feature: Amazon SES integrations can isolate their sending reputation. Notifuse provisions a tenant per integration with its own suppression list and associates the configuration set and sender identities with it, so one workspace's bounces can no longer pause sending or suppress recipients for another. Sends moved to the SES v2 API, which is the only place the tenant parameter exists. Isolation can be switched off again at any time — sends revert to the shared reputation on the next message, while the tenant keeps its suppression list for when it is switched back on. An existing tenant and configuration set can be used instead under Advanced, and everything is off by default — AWS bills per tenant per month (#400)
- Fix: Emails sent with both CC and BCC through Amazon SES dropped their CC recipients. The attachment path wrote a
Cc:header but built the envelope from the To and BCC addresses only, so the CC recipients were never actually delivered to — the message looked correct in the inbox of everyone who did receive it. - Fix: Amazon SES sends no longer look up the configuration set on every message. AWS allows that call once per second per account and region, so any send rate above one per second was throttled, and a throttled lookup silently sent the message with no configuration set at all — losing its delivery, bounce and complaint tracking. The name is now recorded when webhooks are registered, and the lookup that remains for older integrations is memoised and de-duplicated.
- Fix: Updating an email integration through the API no longer erases server-managed SES state.
workspaces.updateIntegrationreplaced the whole provider object, so any client whose payload omitted them wiped the inbound topic ARN — breaking stop-on-reply — along with the configuration set and tenant names. These fields are now preserved server-side. - Fix: Unregistering webhooks on an Amazon SES integration no longer deletes the configuration set when a tenant sends through it, which would have made every subsequent send fail. Deleting the integration now removes the whole set of provider resources — the configuration set and, for a Notifuse-managed tenant, the tenant itself — in the order AWS requires, so nothing is left billing after the integration is gone. Reading webhook status also no longer crashes when the configuration set exists with no event destination, which is the normal state of an operator-supplied one.