Docs

Changelog

What shipped, grouped by the day it landed. Generated from every release commit so far — nothing here is written by hand, so nothing is left out because somebody forgot.

  • Newonboarding email triggered by state, with RFC 8058 one-clickAPI · 54e498c
  • Fixedregenerate the derived surfaces on the M4.3-M4.9 baseProduct · a3aeea8
  • Newgenerated Go and PHP clients from openapi.json, with a smoke gateSDKs and CLI · aa6e219
  • Newthe AgentiSend skill, with generated referencesBudgets and limits · 0029734
  • Newfull Resend compat surface, complete client groups, honest rate-limit fieldsSDKs and CLI · 0923793
  • Newwebhooks listen, doctor, profiles, completions, agent-shaped outputSDKs and CLI · 8ff4839
  • Newgenerated MCP page, real JSON-RPC codes, honest scope catalogueMCP · b87a517
  • Newlocal stdio server with the launcher artifact gateMCP · 0566b1d
  • Newresources and prompts — the reference and the proceduresMCP · 49d34d6
  • Newcatalogue completion — 34 tools, one source, idempotency declaredMCP · 6c500f9
  • Newrequest_approval and list_agent_actions — asking a human is a toolMCP · 9191a7e
  • Newexplain_email — the fix comes back as calls, not proseMCP · 079f023
  • Newpreflight_email — test a send for free, against every gate (M5.23)MCP · 4e1e1c5
  • Newwhoami — identity, scopes, budget and stop-state in one read (M5.22)MCP · 564f3a9
  • Fixeda 500 is non-retryable on both surfaces (owner's call)API · 1698f06
  • Newtenant audit log in settings (M4.9)Product · 43164d6
  • Newteam, roles and invites — owner, admin, viewer (M4.8)Product · 7d8a6f9
  • Newmount the operator surface at /admin (M4.7)Product · 4690f8e
  • Fixedan honest reason token on a 402, and one name for the cursorMCP · 02bf3ea
  • Newan empty scope grants nothing, plus two sentinels (M5.21)API · f25c791
  • Newfour sentinels, and the three bugs they caught (M5.20)MCP · 496b9da
  • Newwhy_was_this_not_sent, worded once across tool and console (M5.19)MCP · d201835
  • Newcontrol-plane read tools, and refusals that stay distinct (M5.18)MCP · c9a0e8c
  • Newshape-based output scrubbing and an explicit result cap (M5.17)MCP · cac3807
  • Newa wrapped input schema advertises its fields (M5.16)MCP · 739473a
  • Newone send costs one unit of one meter, whichever door (M5.15)MCP · 4a711ae
  • Newasymmetric rate-limiter failure policy (M5.14)MCP · a58bc3d
  • Newbound the session table and bind teardown to the transport (M5.13)MCP · a7ae9d7
  • Newrefuse batched JSON-RPC after auth, give /mcp its own body limit (M5.12)MCP · c976193
  • Newlegal and policy pages, branded errors, stale-bundle recovery (M4.6)Product · 48741f1
  • Newpublic status page with availability history (M4.5)Product · 27220ca
  • Newnotification emails gated on type, linking the console (M4.4)API · 028c368
  • Newnotification recorder, bell and preferences (M4.3)Product · 6dd155a
  • NewSvix-compatible signature headers, opt-in per endpoint (M5.11)API · fe1d874
  • Newattachment bytes outlive the send and are retrievable (M5.10)API · 870f3a4
  • Newthe request log reader — GET /logs with date and status filters (M5.9)API · 31f9a65
  • Newthe inbound read API — received mail stops being write-only (M5.8)API · 89ba112
  • Newpublish GET /status in the OpenAPI documentAPI · fdf9456
  • Fixeda topic opt-out refusal names the endpoint that governs itAPI · 4283937
  • Newthe custom-event registry — a typo stops being a silent 202 (M5.7)API · e6c3c5f
  • Newautomation runs — every step outcome, kept (M5.6)API · 9a04921
  • Newthe verbs a Resend integration already calls (M5.5)API · dee9c31
  • Newsubscription topics, topic-scoped sends and one-click opt-out (M5.4)API · b39b38a
  • Fixedopenapi spec generation leaves crypto state aloneAPI · cf02f2c
  • Newagent quickstart, transparency page, crawlability gate (M4.2f)Product · eef7792
  • NewJSON-LD, canonical, OG per route, .well-known and facts endpoints (M4.2e)Product · 1d84c77
  • Newrobots, sitemap, noindex on private surfaces (M4.2d)Product · 9cf37dc
  • Newllms.txt and llms-full.txt generated with derived numbers (M4.2c)Product · a1fbe90
  • Newmarkdown twin for every public route (M4.2b)Product · e80278a
  • Newdocs site generated from the API — reference, errors, events, guides, search (M4.1)Product · 2989a1a
  • NewResend error-code aliases for find-replace migrations (M5.3)API · 0501b7d
  • Newone pagination envelope on every list endpoint (M5.2)API · cea71ef
  • Newidempotency and rate-limit headers declared and emitted everywhere (M5.1)API · bebd1a5
  • Newproduct captures from the seeded console demo (M3.14)Product · 86f8645
  • Newsettings — usage, integrations, connection, appearance, policy, account (M3.13)Product · 85926cc
  • Newtemplates — editor, versions, diff, rollback (M3.12)Product · 7d64f7b
  • Newmetrics — grouped breakdowns, event filter, low-sample state (M3.11)Product · ce57661
  • Newtrust — ladder, thresholds, samples, appeal SLA, export (M3.10)Product · 94666eb
  • Newapi keys — rotate with grace, typed-confirm revoke, usage columns (M3.9)Product · 6162db1
  • Newwebhooks — endpoints, deliveries, replay range, secret rotation (M3.8)Product · 6ccdf94
  • Newdomains — add-domain stepper, explicit region, tracking defaults (M3.7)Product · 1cb6592
  • Newdeliverability screen — thresholds, bounce classes, remediation (M3.6)Product · bbc8f33
  • Newagents fleet, approvals, global kill switch (M3.5)Product · 15ecd70
  • Fixeda row click opens the peek, it does not select (§4.4)Product · d85edb8
  • Newsimulation sends consume no budget (M3.4b, F11)API · 724fc66

  • NewPostiz colour pattern and a live product frame (M3.15b)Product · e1d9a3b
  • Newemails screen to spec, email events + search (M3.4)Product · 47f8e06
  • Newthe landing shows the console — tabbed product frame, facts strip, audiences (M3.15)Product · ead7e60
  • Newsession cookie authenticates resource routes alongside bearer keys (M3.3b)API · 59674cb
  • Newauth screens, route guard, demo mode, first-run (M3.3)Product · 0ecc523
  • New⌘K object search and recents (M3.2 part C)Product · 3d771e6
  • Newtopbar, nav order, keyboard map, lazy routes (M3.2 part B)Product · fb3cd4b
  • Newurl state, density, recents (M3.2 part A)Product · 837b30a
  • Fixedfonts actually load, selectable rows click, skeleton timer stable (M3.1 review)Product · d44f30d
  • Newdesign system v2 foundation (M3.1)Product · 5be0561

  • Newposition for developers AND agents; make every advertised path realProduct · fdcfb10
  • Newrewrite the copy in Resend's registerProduct · 79e2500
  • Fixedcode blocks no longer overflow the page before shiki loadsProduct · 0a73255
  • Newthe house theme and flow — navy ground, ember accent, plain languageProduct · e07f588

  • Newmessage streams — marketing can no longer sink transactional (PRD B5)API · 5afe264
  • Fixedthe page no longer scrolls sideways on a phoneProduct · 6422653
  • Newscroll-driven story, a statement moment, one scroll clockProduct · f231e28
  • Fixedbatch sends stop re-reading account state per itemAPI · 1c396e4

  • Newrewrite the remaining jargon for a non-technical readerProduct · 749d149

  • Fixedreveals can no longer strand content invisibleProduct · c2974f3
  • Newthe day spine — our own flow, and GSAP for the revealsProduct · 6bb08ee
  • New2026 type system + plain-language rewriteProduct · 171fc7b

  • Newnew identity — paper, ink, ember; Fraunces + Instrument SansProduct · 20757c5
  • Newcentered pattern heroProduct · 4482798
  • Fixedabove-the-fold arrivals use clock-based CSS, not rAFProduct · 7a3d12b
  • Newthe house depth system — fleet hero panel, aurora, grain, glow rings, LenisProduct · 0c02cf5
  • Newthe signature demo plays — shiki duotone code, NumberFlow numeralsProduct · c7498ef
  • Fixedload the real fonts, one header voice, spec-violation cleanupProduct · 71ab1b8

  • Newdomain connect — NS-based provider detection with the record set attachedAPI · 157c5cb
  • NewGET /usage — the bill, made legibleAPI · 5b5fe90
  • NewPOST /emails/lint — the Insights linter, scored placement feedbackAPI · eb011d1
  • NewGET /emails/:id/explain — machine-readable remediation on every outcomeAPI · c76d228
  • NewPOST /emails/preflight — every gate, reported before the sendAPI · 52f8427
  • Newwire the ported packages — transient-503 classification + the NDR bounce pathAPI · ead9c32

  • Fixedcommit the SUPER_ADMIN_EMAIL key the admin ladder readsProduct · 47b5a39
  • Newthe audit log API (V3) — every recorded action, visibleAPI · a310671
  • Newthe public status endpoint (B9) — per-component, honest about unknownsAPI · 4708ae8
  • Newthe agentisend CLI — machine-readable agent surface (M1)SDKs and CLI · 29082a3
  • Newcompat-resend — the from-Resend migration shim (ENGINEERING §6)SDKs and CLI · dc02196
  • NewL5 content scanning — credential harvest refuses, warnings eventAPI · cb33409
  • NewRFC 8058 one-click unsubscribe — the bulk-sender mandate, honoredAPI · 89b2bea
  • Newthe account lifecycle — sandbox by default, risk-scored auto-approval, admin ladderAPI · f8f5b2a
  • NewF7 complete — segment.joined/left via membership snapshots, scheduled cadenceAPI · 1553209

  • Newthe live-API lane — every screen can talk to the real APIProduct · 040150c
  • NewGET /metrics — console figures come from the event spine (F3 parity)API · 8a787da
  • NewB6 — warmup-backed dedicated IPs with a published ramp curveAPI · 74baffd
  • NewB7 — pre-send verification as a quality gateAPI · be0c0e4
  • Newinbound receiving — store-and-webhook on the event spineAPI · f6d5a7f
  • NewF7 — automations with versioned enabling and a custom-event intakeAPI · 8ed131c
  • NewF14 — broadcasts with snapshot content, rename/archive anytimeAPI · 766c83a
  • NewF6 — dynamic segments evaluated live, never snapshotsAPI · 7a53b87
  • NewF10 — contacts with auto-created typed propertiesAPI · 89cca14
  • NewV2 foundations — marketing tables, inbound, dedicated IPs, 11 event typesAPI · 527c423
  • Fixeddeliverability rates serialize in the contract's snake_case shapeAPI · eb5c8bc
  • Newthe running server is now the whole product — SMTP, ingest, trust sweepAPI · 3e74356
  • NewB3 deliverability panel — real rates, snapshots, honest placeholdersAPI · bccc01e
  • Newprovider-event ingest — the delivery half of the catalog now has a producerAPI · 534aa35
  • NewB8 human approval queue — held sends are recorded, decided, never lostAPI · 5e48d4c
  • NewSMTP relay — key-as-password, one accept pathAPI · 136bdf6
  • NewF5 template version API mounted — list/diff/rollback/render over real tablesAPI · 6408a65
  • NewF8 — cancel/reschedule both ways, raw MIME/.eml, bulk cancel, CSV exportAPI · dcff3d9
  • Newopen/click tracking — signed pixel + click proxy with link rewriteAPI · 6136be6
  • Newthe trust ladder — published thresholds, enforcement, appeals (B1)API · 4d459f9
  • Newsuppression layers — address/domain/global, partial-drop sends, REST APIAPI · fc78201
  • Fixeddurable attachments on the running server + boot recovery for stranded 202sAPI · cc2df54
  • NewGoogle sign-in over OAuth 2.0 with PKCEAPI · 821b88d
  • Newrelease scheduled emails when they come dueAPI · 3394eb3
  • Fixedsurface catalog errors on the MCP path + fold the dev-gate flag into configAPI · a12c812
  • Newwire the MCP OAuth 2.1 authorization server end to endAPI · aed4748
  • Newmount the remote MCP endpoint — the agent entry point existsAPI · e5cb72a
  • Newsame primitive/motion/chart system as landingProduct · a837363
  • Newmount passwordless auth so sign-up existsAPI · 7e6be4f
  • Newhero sign-in — email plus Continue with Google, on the one motion systemProduct · 7e5f8af
  • Newdesigned OG images, 404 page and a print stylesheetProduct · 238b9b0
  • Fixedevery text pair passes WCAG AA in both themes + a gate that keeps itProduct · 8b16840
  • Fixedmono fallback metrics load, no shift on font swapProduct · fa88309
  • Fixedamber means attention only, never decorationProduct · 8c56dde
  • Newreputation chart carries its threshold and scaleProduct · dc5498c
  • Fixeddark: utilities follow the theme class, not the OSProduct · 6168aef
  • Newloop detection on the send pathAPI · 9edd003
  • Newdrizzle WebhookStore adapter for @agentisend/webhooksAPI · 3baf2a1
  • Newbudgets on by default for every new api keyBudgets and limits · 58e4b7a
  • Newwebhook attempt log and endpoint failure countersAPI · 0b012ba
  • Newinstrumentation identity across landing + console — replaces the default dev-tool templateProduct · 173f8c9
  • Fixedlive-journey findings — tolerate body-less json POSTs, bound DNS lookups, 400 for malformed jsonAPI · a56524b
  • Newcarry attachments to the transport and refuse unverified domainsProduct · c7d5ea0
  • NewM2.6 retention policy — 90d default, account tiers, batched purge with dry-run + auditAPI · 83fb070
  • NewM2.5 metrics screen + perf budgets enforced in CI (PRD F12)Product · c050860
  • NewM2.4 Python SDK — stdlib-only client, pinned OpenAPI parity, quickstart executed in CISDKs and CLI · 4302ffd
  • Fixeda published default pepper is the same as no pepperProduct · 17dafc3
  • NewM2.5 metrics dashboard with an enforced performance budgetProduct · 44cb327
  • NewM1.1 key auth ported — HMAC-SHA256 at rest, paste normalization, scopes + expiryAPI · 9c54864
  • Fixedadd the missing lockfile importer and a type-only importProduct · c41979c
  • NewM2.2 loop detection, spend ceilings and kill switchBudgets and limits · 51b605b
  • NewM2.3 pricing page and machine-readable /pricing.json from one sourceProduct · 9d69c4b
  • NewM2.1 template store, rendering and the version APITemplates · dd95470
  • NewM1.12 MCP install UX + llms.txt + docs twinsMCP · d262301
  • Fixedtype-safe indexed access in the seeded backfillProduct · fa39fcd

  • NewM1.2 retryability contract across the whole error catalogProduct · fe68ba1
  • Fixedgreen the gatesProduct · 467fa6b
  • NewM1.11 console scaffold — shell, palette, emails, domains, keys, webhooks, agents, trustProduct · d1e99d5
  • NewM0.14 typed client and a README quickstart that CI runsSDKs and CLI · 86446a8
  • NewM0.13 domains with DKIM keygen and pluggable verificationAPI · b4a097b
  • NewM1.8 passwordless codes + PG-backed sessionsAPI · 1cbca28
  • NewM0.12 limits, kill switch and trust standingAPI · f6136d7
  • NewM0.11 event spine, webhook outbox, replay and dead-lettersAPI · 0894727
  • NewM1.4 outbox + deliverer + HMAC signing + DLQWebhooks · a674003
  • NewM0.10 batch send with partial-failure semanticsAPI · 5589056
  • NewAgentiSend marketing page per LANDING.md (amber direction)Product · 0336ace
  • NewM0.9 emails send/get/list with filtersAPI · c2dd1e5
  • NewM1.8 rate limiter + safeReturnTo (ported)API · a53528c
  • NewM1.6 registerTool wrapper + request context + audit log + first toolsMCP · ab6dd38
  • NewM1.7 OAuth 2.1 + PKCE + DCR + opaque reference tokensMCP · 5178cd4
  • NewM1.9 admin auth + action log + alert foldingProduct · 4015324
  • NewM1.10 error-classification + system-logger (ported)Product · 6763d58
  • NewM0.8 idempotency middleware on every mutating route (PRD F1)API · dde144a
  • NewM0.7 API keys + bearer authAPI · 7809543
  • NewM0.6 Fastify skeleton — health, registry-driven OpenAPI 3.1, catalog error envelopesAPI · 560dd43
  • NewM1.3 keyset paginationProduct · 3ce5707
  • NewM1.5 bounce classification + suppressionDeliverability · 9b8c826
  • NewM0.5 Drizzle schema (18 tables, 13 enums), SQL migration, PGlite test harnessAPI · a5db554
  • NewM0.4 Transport interface, FakeTransport, SesTransport, WeightedRouterProduct · a01f9da
  • NewM0.3 domain types, event taxonomy, ApiError + error catalogAPI · 7eccba4
  • NewM0.2 zod-validated env loaderProduct · fb1b4df