Changelog

Every feature, improvement and infrastructure move we have shipped — newest first.

62 entries

  1. A sending domain can only be verified once

    Improved

    A domain another account has already verified is refused when you add it, with an explanation, rather than failing silently later.

  1. Broadcasts

    New

    Write a broadcast, pick an audience, and send — with a test send that puts the real message in your own inbox first.

  2. Map CSV columns when importing contacts

    New

    Match the columns in your file to contact properties before the import runs, instead of renaming headers to suit us.

  3. Remove several contacts at once

    New

    Select multiple contacts in an audience and remove them in a single action.

  4. Sending domains say why they were refused

    Improved

    A rejected domain now explains the actual reason instead of returning a flat "Invalid domain name".

  1. Verification starts the moment a domain is added

    Improved

    Adding a sending domain kicks off the DNS check immediately — no separate "verify" step to remember.

  1. An event timeline on every message

    New

    The email detail page shows the full history of a message, and explains failures and suppressions in plain language.

  1. Non-terminal delivery states are explained

    Improved

    A message sitting in a deferred or queued state now says what that means and what happens next.

  1. One-click DNS with Domain Connect

    New

    If your domain is at a supported DNS provider, we write the DKIM, SPF and Return-Path records for you.

  2. Time to delivery, per mailbox provider

    New

    Analytics break down how quickly Gmail, Outlook and the rest accept your mail, so a slow provider is visible.

  1. Support page

    New

    Docs, status and a contact form that reaches a human, in one place.

  2. The MCP server is in the official registry

    Improved

    eusend is listed in the MCP Registry, so clients can discover it by name.

  1. Hosted unsubscribe page

    New

    One-click unsubscribe lands on a branded page we host, so a broadcast never needs an unsubscribe route of your own.

  1. Claude Code plugin

    New

    A skill that teaches Claude how eusend actually behaves — the API, the error codes, the domain setup.

  1. Bounce diagnostics on the message

    Improved

    The receiving server's own response is returned on the email, and sends stopped by a suppression are recorded rather than dropped.

  1. Tracking controls

    New

    Set open- and click-tracking defaults for the organization, and override them per broadcast.

  1. Open signups

    New

    The waitlist is gone. Create an account and send your first email in minutes.

  2. Email tags

    New

    Tag a send, filter by tag in the dashboard, and get the tags back on the webhook payload.

  3. Rotate a webhook signing secret

    New

    View the signing secret and cycle it from the dashboard — both secrets verify during the overlap, so nothing drops.

  4. Bounce reasons in plain English

    New

    The email detail page translates the provider’s SMTP response into what actually went wrong and what to do about it.

  5. Daily digest email

    New

    One morning summary of the previous day’s sending, per organization.

  1. Suppressions

    New

    A suppression list you can search, filter, export and clear — in the dashboard, the API and the SDKs.

  2. Scoped API keys

    New

    Issue a key that can only send, or one restricted to a single sending domain.

  3. Notification emails can be turned off

    Improved

    Per-notification control over what eusend sends you.

  1. Sign in with Google and GitHub

    New

    OAuth sign-in alongside email and password.

  1. Delayed bounces are counted

    Improved

    Out-of-band bounces that arrive hours after the send now land on the message and feed reputation, instead of vanishing.

  1. Custom Return-Path and DMARC alignment

    New

    The Return-Path record is surfaced with your other DNS records, and alignment turns itself on once it resolves.

  1. DPA and sub-processor list

    New

    A data processing agreement you can sign, and a published list of every sub-processor we use.

  1. MCP server

    New

    Send mail, manage domains and read your logs from Claude, Cursor or Codex, without leaving the editor.

  1. Python and Go SDKs

    New

    Typed clients for both, documented alongside the Node.js SDK.

  2. Rebuilt docs

    Improved

    The documentation moved to Fumadocs — full-text search, and copyable snippets in every language.

  1. Stronger signup screening

    Improved

    Disposable-address and blocklist checks at signup, so the shared sending reputation is not spent on throwaway accounts.

  1. Polar is now our merchant of record

    Improved

    Billing, invoices and EU VAT are handled by Polar.

  1. Documented rate limits

    New

    Per-key rate limiting, with the limits written down in the reference.

  1. Send your first email before touching DNS

    New

    Every new account gets a sandbox sending domain and a runnable snippet, so the first send works before any records exist.

  1. Blog

    New

    Engineering notes and product updates, at /blog.

  1. Round-the-clock monitoring

    Infrastructure

    Every scheduled job reports a check-in, so a cron that stops running pages us instead of going quiet.

  1. Attachment storage moved in-house

    Infrastructure

    Attachments are stored on our own S3-compatible storage in the EU.

  1. Natural-language scheduling

    New

    Pass `scheduledAt: "in 2 hours"` or "tomorrow at 09:00" and we parse it.

  2. batch.send in the SDKs

    New

    Send up to a hundred messages in one call from any SDK.

  1. Everything runs on our own EU hardware

    Infrastructure

    The last managed queue dependency moved to self-hosted Valkey. Queues, database and MTA all sit in the EU on machines we control.

  1. Attachments

    New

    Attach files to any send, from the API or the SDKs.

  2. Scheduled sends

    New

    Set a send time on an email or a broadcast and we hold it until then.

  3. llms.txt

    New

    /llms.txt and /llms-full.txt, so a coding assistant can read the entire product in one fetch.

  1. Guides

    New

    Warming up a new domain, and step-by-step migrations from SendGrid, Postmark, Mailgun and SES.

  1. Domain warm-up

    New

    A staged ramp for a new sending domain, so volume grows at a rate inboxes accept.

  1. New broadcast editor

    New

    Write a broadcast in a rich-text editor and send it to an audience.

  1. Complaint feedback loops

    Improved

    Abuse reports from mailbox providers are ingested automatically and land on the message and the suppression list.

  2. MTA-STS enforced

    Infrastructure

    Mail to and from eusend requires TLS, published as an enforced MTA-STS policy.

  1. Deliverability monitoring

    Infrastructure

    Queue depth and deferral rates are watched continuously, and alert us before a provider’s throttling becomes your problem.

  1. Our own mail infrastructure

    Infrastructure

    eusend moved off Amazon SES onto KumoMTA running on our own European hardware. Every message now leaves from IPs we control and warm ourselves.

  1. Two-factor authentication

    New

    Turn on TOTP two-factor authentication from account settings.

  1. SMTP relay

    New

    Point WordPress, Django, Rails or anything else at our SMTP host instead of rewriting it against the API.

  1. Throwaway signup addresses refused

    Improved

    Accounts created from disposable email domains are blocked at signup.

  1. Node.js SDK

    New

    A typed client covering emails, domains, audiences, broadcasts and API keys.

  1. Templates

    New

    Save a message once and reuse it across sends.

  2. Idempotency keys

    New

    Retry a send safely — the same Idempotency-Key never delivers the same message twice.

  1. Organizations

    New

    Several workspaces per account, with keys, domains and logs scoped to each.

  1. Audiences and contacts

    New

    Keep contacts in lists, with unsubscribe state tracked per contact.

  2. Team management

    New

    Invite teammates, assign roles, remove members and transfer ownership.

  1. The email API

    New

    The first release: send a message with one POST, read back everything you sent, and send in batches.

  2. Webhooks

    New

    Delivery, bounce and complaint events pushed to your endpoint as they happen.