Skip to content

Release history

E2a releases

All releases

13 shown

No immediate action
v1.4.1 New feature

Comprehensive SLOs

Review required
v1.4.0 Breaking risk
Auth

OIDC parity + config URL + autopilot

Config change
v1.3.0 Breaking risk
Auth Breaking upgrade

Self‑send screening + domain capabilities

No immediate action
v1.2.2 Mixed

MCP hardening + e2a doctor + test coverage

No immediate action
v1.2.1 New feature

PROXY protocol + SDK parity

No immediate action
v1.2.0 Mixed

messages.delete + monitoring fixes

Review required
v1.1.0 Breaking risk
Auth RBAC Dependencies

River refactor + ID standardization + template beta

No immediate action
v1.0.8 New feature

SDK timeout, plugin manifests, UI package

No immediate action
v1.0.7 Mixed

conversation_id auto-gen + base64 reject + content scan flag

Security behavior changed
v1.0.6 Breaking risk
Auth

Metadata-only email.received + encrypted DKIM

v1.0.5 Breaking risk
⚠ Upgrade required
  • Update client SDKs to version 4.0.0 (npm @e2a/[email protected], PyPI e2a 4.0.0).
  • Modify domain record handling logic to query the unified `dns_records` array by `purpose` instead of the deprecated separate fields.
Breaking changes
  • `GET/POST /v1/domains` now returns a single `dns_records` array with `purpose` fields, replacing the old separate MX/TXT/DKIM objects and `sending_dns_records` array; SDKs must be updated to @e2a/[email protected] (npm) or e2a 4.0.0 (PyPI).
  • Domain verification now requires an inbound MX record (`inbound_mx.status: "verified"`) instead of TXT ownership only.
Notable features
  • Signed pagination cursors using HMAC for tamper‑evidence.
  • Web UI renders email bodies as HTML and adds light/dark/system theme toggle in the sidebar.
Full changelog

Highlights

Breaking — domain DNS records unified (#304)

GET/POST /v1/domains now returns one purpose-tagged dns_records array (each record has type, name, value, priority, purpose, status), replacing the old dns_records.{mx,txt,dkim} object + the separate sending_dns_records array. The MAIL FROM records are returned in the same array at registration when the sending feature is enabled, and every record carries a per-record status. purpose/status are open sets — tolerate unknown values.

  • SDKs bumped to 4.0.0 (@e2a/[email protected] on npm, e2a 4.0.0 on PyPI). DomainView consumers must address records by purpose instead of dns_records.mx/.txt/.dkim.
  • Verification now requires the inbound MX (was ownership-TXT only), so inbound_mx.status: "verified" is honest and verified truly means the domain can receive mail.

Other

  • Signed pagination cursors (HMAC) — list cursors are now tamper-evident (#302).
  • Web: render inbound + outbound email bodies as HTML (#307); light/dark/system theme toggle in the sidebar (#306).
  • Internal: piguard-eval offline evaluation harness (#305).

Full diff: v1.0.4...v1.0.5

Monitor
v1.0.0 Breaking risk
Auth Crypto / TLS

GA /v1 API stability

No immediate action
v0.2.0 New feature

End‑to‑end gateway + dashboard settings

Beta — feedback welcome: [email protected]