Changelog
Honest notes on what shipped — API, dashboard, and docs.
Updated branding
- Launched the Bauhaus / building-block visual language across marketing and product UI
- Ink CTAs, hard shadows, DM Sans + IBM Plex Mono, and the shared Logo treatment
- Replaces the older green / Geist branding on public surfaces
Webhook match filters
- Webhooks can match an entire verified domain, listed subdomains, or listed from addresses
- Does not consume extra domain slots — still one verified parent per webhook
- API: optional matchMode, matchHosts, and matchFroms on create/update
`html` and `text` accepted as send body aliases
- POST /api/email/send accepts Resend-style `html` or `text` in addition to canonical `message`
- Makes migrating from Resend easier — fewer hard fails when the field isn’t renamed yet
- `message` remains the preferred field; first usable string among message → html → text wins
Forms product removed
- Removed dashboard Forms UI, public form pages, and all /api/forms endpoints
- Form submission data remains in the database for historical access
- Canonical POST /api/email/send is unchanged
Templates product removed
- Removed email templates CRUD, send-from-template APIs, builder UI, and public v1 templates endpoints
- Database: dropped email_templates; kept historical email_logs.template_id without FK
`from` is required on send
- Breaking: POST /api/email/send (and aliases / test) now require `from` in the request body
- Custom domains still need verification; `sent-with@mail.notify.cx` remains allowed as the Notify platform sender
- OpenAPI, docs, SDKs, and the API contract freeze updated to match
Docs knowledge graph & site integrity
- Expanded framework guides, migrations, use cases, and recipes for common transactional jobs
- Added honest compare pages (including Postmark) with clear “choose Notify if / choose them if” guidance
- Removed Forms and React Email guides from public docs — Notify is send, webhooks, and logs
Marketing and docs aligned to the email API
- Rewrote marketing site around transactional send + observe (SEO/AEO FAQs, compare pages, MCP overkill page)
- Documented canonical POST /api/email/send across docs and OpenAPI
- Added password-reset guide, DNS guides (Cloudflare, Route 53), error catalog, and Resend/SendGrid migration docs
- Removed deprecated template documentation from the public docs surface
Product focus: send and observe
- Sunsetting path for newsletter, automations, segments, analytics, and scheduled-email surfaces
- Dashboard support ticket flow and domain verification UI improvements
- Allow sending from subdomains of a verified parent domain
- Raised practical message size handling (5k character limit fix)
- Free-plan older-logs upgrade tease when history exists beyond 48 hours
Platform and delivery groundwork
- Restored Notify as email infrastructure with domain-first sending and Stripe Billing
- Node 24 runtime for Vercel and current supabase-js engine requirements
- Ongoing domain verification and deliverability improvements