Changelog

Honest notes on what shipped — API, dashboard, and docs.

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

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
  • Rewrote changelog from real shipping history; removed fake status and security marketing pages
  • 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