Changelog
New features and changes, newest first, grouped by the day they shipped. Fixes ship as they are ready and are not listed one by one. To report a security issue, see Security. Subscribe to the changelog feed.
- The Free plan now includes 5,000 emails a month, up to 170 a dayProduct ·
57201d40
- The Free plan now includes 3,000 emails a month, up to 100 a dayProduct ·
ec5df5fc
- Connecting an MCP client takes about 15 ms, down from about 2 secondsMCP ·
faaa3c53 - Received mail has its own permission, inbound:read: full-access keys hold it, sending keys do not, and a sending key can still reply to a message it was handed (receiving is not open yet)Agents ·
3b2ea00e - Delete a template from the console, and a preview names any variable a row is missingTemplates ·
40137f62 - Choose Free, Starter, Pro or Scale when you sign up, and see what each plan gives in Settings → BillingPlans ·
9b5f4af0
- Opt-in overage on paid plans: keep sending past your monthly inclusion up to a ceiling you set, billed per 1,000 emails, with notices at 80% and 100%Plans ·
f93b0501 - Choose a TLS mode per domain: try TLS and fall back to plain, or deliver only over TLSDomains ·
250197af - Each domain shows a timeline of its checks: when a required record was found, and when one went missingDomains ·
4c80b093 - Free is a plan: 1,000 emails a month, up to 100 a day, 1 sending domain, no card and no expiryPlans ·
c0947214 - Audience, Broadcasts and Automations in the console: contacts, segments and topics, sending or cancelling a broadcast, and each automation’s runsBroadcasts ·
6547d761
- Send a test email to yourself before your domain’s DNS is set upGetting started ·
eaef0fcd
- A two-screen add-domain wizard that separates the records a domain needs from the ones it only recommendsDomains ·
28ef60d4
- A pending domain is rechecked for you, and an agent can wait for verification with wait_for_domainDomains ·
3ccd5afe - Request bodies written for Resend’s API are accepted as they areMigration ·
220703e0 - MCP tools for metrics, request logs, broadcasts and automationsMCP ·
d51b2dd8 - Agent inboxes: read received mail, group it into threads and reply, over the API and MCP (receiving is not open yet)Agents ·
fe1fcd27 - The console works on screens narrower than 1,024 pxConsole ·
77ec2add
- Open a support request from the console and follow the conversation thereSupport ·
6fde43cf
- The Resend-compatible client returns { data, error } instead of throwing, as Resend’s SDK doesMigration ·
36d3cb3f - Per-key request rate limits, with the remaining allowance in each response’s headersBudgets and limits ·
9153c4c6 - Choose a US or EU region for each domain, and a tracking hostname per domainDomains ·
1f1a563c - Sign out your other sessions from Settings → SecurityConsole ·
a03b924b - A spam complaint reported by a mailbox provider suppresses the address and sends an email.complained eventDeliverability ·
9503ab74
- An AgentiSend skill that teaches coding agents the APIAgents ·
bac10ebe - The CLI adds webhooks listen, doctor, profiles and shell completionsSDKs and CLI ·
e7ed731c - Two-step sign-in with an authenticator app and recovery codes, and an account setting that requires it for everyoneConsole ·
cca24d92 - A local MCP server you start with npx, for clients that run tools on your machineMCP ·
5dec62cf - An agent can ask a person to approve a send with a tool, and list what is waitingApprovals ·
d096f598 - explain_email tells an agent why a message was not delivered and which calls fix itMCP ·
369fda40 - preflight_email checks a send against every rule without sending itMCP ·
3055624c - whoami: an agent reads its account, scopes, budget and stop state in one callMCP ·
ed498efd - An audit log of the changes made on your account, in SettingsConsole ·
25a1ed42 - Team members with Owner, Admin and Viewer roles, invited by emailConsole ·
7d8a6f9d - A public status page with 90 days of availability historyStatus ·
27220ca3 - Notifications in the console, with a bell and preferences per typeConsole ·
6dd155ab - A log of your API requests, filtered by date and status, at GET /logsAPI ·
31f9a650 - Read the mail that arrives at your domains over the API: the message, its source and its attachmentsAgents ·
89ba1127 - Declare what a custom event looks like, and a payload that does not match is refused with the field namedAutomations ·
e6c3c5fa - Automation runs keep the outcome of every stepAutomations ·
9a049211 - The endpoints a Resend integration already calls, so moving over is a base URL and a keyMigration ·
dee9c319 - Subscription topics: a contact opts in or out per topic, and a send to a topic carries its own one-click unsubscribeAudience ·
b39b38a8 - Docs generated from the API itself: reference, errors, events, guides and searchDocs ·
2989a1a0 - One pagination format on every list endpointAPI ·
cea71ef3 - A template editor with versions, a diff between any two and rollbackTemplates ·
7d64f7b8 - Metrics broken down by domain and by API key, with an event filterConsole ·
ce576614 - The Trust screen: your standing, the thresholds it is measured against, sample messages and how to appealTrust ·
94666eba - Rotate an API key with a 0, 1 or 24 hour grace period, and see each key’s requests over 30 daysAPI keys ·
6162db12 - Webhook delivery history, replay over a time range, and signing-secret rotationWebhooks ·
6ccdf94a - A deliverability screen: the thresholds, each bounce class and what to do about itDeliverability ·
bbc8f333 - The Agents screen: every key’s budget and state, the approval queue and an account-wide kill switchBudgets and limits ·
15ecd705 - Simulated sends do not use your budgetBudgets and limits ·
724fc66e
- Marketing and transactional mail are separate streams, so an unsubscribe from a campaign never stops a password resetDeliverability ·
5afe264d
- Domain connect: the API detects your DNS provider from its nameservers and returns the records to addDomains ·
157c5cbc - GET /usage: each key’s budget, and the account’s sends, bounces and complaints over 24 hours and 30 daysAPI ·
5b5fe90e - POST /emails/lint scores a message’s content before you send itDeliverability ·
eb011d10 - GET /emails/{id}/explain: what happened to a message and how to fix itAPI ·
c76d2284 - POST /emails/preflight runs every check on a send without sending itAPI ·
52f8427e
- The agentisend CLI, with output an agent can parseSDKs and CLI ·
29082a30 - A Resend compatibility client, so existing code moves over without a rewriteMigration ·
dc02196a
- Every new API key has a budget from the startBudgets and limits ·
58e4b7a0 - Loop detection, spend ceilings and a kill switch for agentsBudgets and limits ·
51b605b6 - Templates with versions, rendered by the APITemplates ·
dd954702
- Every error says whether a retry can succeedAPI ·
fe68ba13 - A typed Node client, with a quickstart run by the test suite against a local AgentiSend serverSDKs and CLI ·
86446a85 - Sign in with a one-time code sent by email, no passwordConsole ·
1cbca286 - Signed webhooks, retried when your endpoint fails, with failed deliveries kept for replayWebhooks ·
a6740030 - Connect an AI client to MCP with OAuth, approving exactly what it may doMCP ·
5178cd4a - Bounces are classified, and a hard bounce suppresses the addressDeliverability ·
9b8c8269