# Changelog | Plunk

Features and improvements we have shipped, newest first. Plunk is open source, so the full commit history is on GitHub: https://github.com/useplunk/plunk/commits/next

## October 2026

- **[Renewed SMTP certificates load automatically](https://send-docs.akmarketingseo.com/self-hosting/docker)** (Oct 14): The SMTP relay on self-hosted instances picks up renewed TLS certificates within a minute, without restarting the container.
- **Analytics by stream and period** (Oct 9): Analytics splits into overview, deliverability, engagement, and audience tabs. Filter by period or by transactional email, campaigns, or workflows, and see every rate next to the period before.
- **[Build workflows through the MCP server](/features/mcp)** (Oct 6): Your agent can create workflows with every step type, connect branches, and check a workflow for errors. It asks you to confirm before enabling one that sends email.

## September 2026

- **[Uploads in a folder of a shared bucket](https://send-docs.akmarketingseo.com/self-hosting/environment-variables#storage-minio)** (Sep 27): Self-hosted instances can store uploads under a folder in the S3 bucket, and Plunk only makes that folder publicly readable.
- **[Plain text alternative on every email](https://send-docs.akmarketingseo.com/guides/list-hygiene#plain-text-alternative)** (Sep 21): Plunk sends a plain text version alongside the HTML of every email, generated from your content. Spam filters score HTML-only messages more harshly, so this lifts deliverability without any change to your code.
- **[Contacts behind campaign stats](https://send-docs.akmarketingseo.com/concepts/campaigns#stats)** (Sep 19): Click a campaign's bounce, spam report, or unsubscribe count to see the contacts behind it. A contact who unsubscribes twice from the same email counts once.
- **[Safe bounce testing with the SES simulator](https://send-docs.akmarketingseo.com/guides/list-hygiene#testing-bounces-and-complaints-safely)** (Sep 19): Emails to the Amazon SES mailbox simulator trigger events, workflows, and webhooks like any other, but never count toward your bounce and complaint rates.
- **Welsh translations** (Sep 19): Unsubscribe and preference pages are now available in Welsh.
- **[Snooze instead of unsubscribing](https://send-docs.akmarketingseo.com/concepts/contacts)** (Sep 11): Contacts can pause your emails for 2 weeks, 1 month, 6 months, or 1 year instead of leaving for good. Plunk resubscribes them automatically when the snooze ends.
- **Delete your account** (Sep 5): Delete your account from the account page once you have left or deleted every project.
- **Archive campaigns** (Sep 5): Hide campaigns and drafts you no longer need from the campaign list. Their stats are kept, and you can restore them.

## August 2026

- **Cancelled campaigns return to draft** (Aug 30): Cancelling a campaign drops its unsent emails and turns it back into an editable draft.
- **Subscribe and unsubscribe events** (Aug 21): Plunk tracks an event whenever a contact subscribes or unsubscribes, so workflows can trigger on it.
- **[MCP server](/features/mcp)** (Aug 17): Connect Claude, Cursor, or any MCP client to your project. Your agent can manage contacts, draft campaigns, and send email, and it asks you to confirm before sending a campaign.
- **API rate limits for self-hosted instances** (Aug 13): Turn on rate limits, with burst allowances, for the track, send, and contact endpoints.
- **[Liquid-aware template editor](https://send-docs.akmarketingseo.com/guides/template-language)** (Aug 10): The editor flags Liquid syntax errors as you type, highlights logic tags, and inserts ready-made if, case, and for blocks from a menu.
- **One-click unsubscribe** (Aug 9): Marketing emails include the RFC 8058 headers, so the unsubscribe button built into inboxes works without opening a page.
- **Insert steps anywhere in a workflow** (Aug 4): Add a step between two existing steps, or disconnect and reconnect branches, without rebuilding the workflow.
- **Swedish translations** (Aug 4): Unsubscribe and preference pages are now available in Swedish.

## July 2026

- **[Liquid templating](https://send-docs.akmarketingseo.com/guides/template-language)** (Jul 26): Subjects and bodies render with LiquidJS, so templates get conditionals, loops, filters, and fallback values on top of plain variables.
- **Headers per email type** (Jul 11): Marketing, transactional, and headless emails each get only the standard headers their type calls for.
- **Idempotency keys for sends and events** (Jul 10): Retry requests safely. A key reused within 24 hours is rejected, so the same email or event is never sent twice.
- **[90-day email body retention](https://send-docs.akmarketingseo.com/guides/data-retention)** (Jul 10): Plunk deletes rendered email bodies after 90 days. Stats and activity are kept.

## June 2026

- **Japanese translations** (Jun 21): Unsubscribe and preference pages are now available in Japanese.
- **Normalized contact emails** (Jun 15): Differences in letter case or stray whitespace no longer create duplicate contacts.
- **Tables with filters and bulk actions** (Jun 11): Contacts, templates, campaigns, and workflows share one table with sorting, faceted filters, and bulk delete.

## May 2026

- **Preview campaigns as a contact in the segment** (May 25): Preview as now lists contacts from the campaign's segment, so you check the email with data from someone who will receive it.
- **[Custom MAIL FROM subdomain](https://send-docs.akmarketingseo.com/self-hosting/environment-variables#aws-ses)** (May 11): Self-hosted instances can choose the subdomain used as the MAIL FROM domain for verified domains.
- **Variables in webhook steps** (May 10): Use contact and event data in the URL, headers, and body of a workflow webhook step.
- **Duplicate a workflow** (May 9): Copy a workflow with all its steps and branches, then edit the copy.
- **Change subscriptions from a workflow** (May 9): The Update contact step can now subscribe or unsubscribe the contact.
- **[Free email tools](/tools)** (May 6): Check SPF, DKIM, DMARC, and MX records, inspect email headers, or test an email for spam.
- **[Segments built from segments](/features/segments)** (May 4): Filter on membership of another segment, or on events a contact has not triggered recently. A win-back audience takes 2 rules.
- **Paste contacts into a static segment** (May 1): Paste a list of email addresses to add the matching contacts to a static segment in one go.

## April 2026

- **Configurable attachment limits** (Apr 29): Self-hosted instances can raise the attachment size and count, up to the 40 MB that SES allows.
- **[Remove contact fields with null](https://send-docs.akmarketingseo.com/concepts/contacts)** (Apr 27): Set a field to null to remove it from a contact. Empty strings are ignored, so they never overwrite existing data.
- **Command palette** (Apr 24): Jump to any page, recent item, or project from anywhere in the dashboard.
- **Guided onboarding** (Apr 19): New projects start with a short checklist based on what you use Plunk for: campaigns, transactional email, or automations.
- **Email IDs on webhook events** (Apr 13): Delivery, open, and bounce events include the ID returned by the send request, so you can match each one to its email.
- **[Headless templates](https://send-docs.akmarketingseo.com/concepts/templates)** (Apr 2): Send your own HTML without the Plunk footer. Unsubscribed contacts are still skipped.

## March 2026

- **Chinese translations** (Mar 24): Unsubscribe and preference pages are now available in Simplified, Traditional, and Hong Kong Chinese.
- **Italian translations** (Mar 18): Unsubscribe and preference pages are now available in Italian.
- **[Multi-branch conditions](/features/workflows)** (Mar 11): A condition step can split into as many branches as you need, like a switch statement, with a default branch for everything else.

## February 2026

- **Static segments** (Feb 23): Add contacts to a segment by hand. Its members only change when you change them.
- **Spanish, Polish, and Czech translations** (Feb 19): Unsubscribe and preference pages are now available in Spanish, Polish, and Czech.
- **Change a workflow trigger** (Feb 18): Switch an existing workflow to a different trigger event without rebuilding it.
- **[Inbound email](/features/inbound-email)** (Feb 17): Receive email at any address on your domain. Senders are added as contacts, and every message triggers an event and a webhook.
- **Custom recipients in workflows** (Feb 17): Send a workflow email to your team or any other address, not only the contact.

## January 2026

- **[Inline images](https://send-docs.akmarketingseo.com/api-reference/public-api/sendEmail)** (Jan 31): Attach an image with a Content-ID and reference it from your HTML. It appears in the email body instead of as an attachment.
- **Bounce and complaint filters** (Jan 21): Filter the activity feed to bounces and complaints, the events that affect your sending reputation.
- **Portuguese and Bulgarian translations** (Jan 15): Unsubscribe and preference pages are now available in Portuguese and Bulgarian.
- **Older-than segment filter** (Jan 12): Match contacts whose date field is more than a set number of days, weeks, or months in the past.
- **Disable signups on self-hosted instances** (Jan 12): Block new account signups so only existing users can sign in.

## December 2025

- **Email previews in activity** (Dec 29): Open any sent email from a contact's page or the activity feed to see exactly what they received.
- **[Email verification endpoint](https://send-docs.akmarketingseo.com/api-reference/public-api/verifyEmail)** (Dec 24): Check an address for valid syntax, disposable domains, plus-addressing, and MX records before you add it.
- **Translated unsubscribe and preference pages** (Dec 21): Set a language per project, or per contact with a locale field, and these pages follow it. Plunk supports 17 languages today.
- **Bulk actions on contacts** (Dec 18): Select contacts across pages, or every contact at once, then subscribe, unsubscribe, or delete them together.
- **Security center** (Dec 11): See your project's bounce and complaint rates next to Plunk's thresholds, with a warning well before a rate is high enough to disable the project.
- **Campaigns from templates or past campaigns** (Dec 10): Start a campaign from a template, or duplicate a campaign you already sent.
- **HTML code editor** (Dec 9): Hand-written HTML templates open in a CodeMirror editor with syntax highlighting and code folding.

[Pricing](/pricing) | [Documentation](https://send-docs.akmarketingseo.com)
