Changelog

Every notable shipping moment, in chronological order. Subscribe via RSS.

2026-05-08 Feature Security

Email verification banner + forgot password flow

The customer dashboard now shows a yellow banner above every page until you've clicked the verification link in your welcome email — with a one-click "Resend email" debounce so you don't double-tap. Forgot-password and self-serve reset flow ship at the same time.

  • 4-mode auth state machine (login / signup / forgot / reset, auto-routes on ?reset_token=…).
  • Settings → Security panel: change password, enroll 2FA (TOTP + QR), disable 2FA.
  • New GET /v1/me endpoint returns account + verification state — fixes a long-standing 401-on-page-load.
2026-05-07 Reliability

Per-container memory limits + watchdog v2

Every service in the production stack now has mem_limit, healthcheck, and restart: unless-stopped. A per-minute watchdog cron tails Docker for "Up (unhealthy)", "Exited", or "Restarting" states and auto-recovers. Compose images pinned to specific minor versions to prevent surprise breaking changes (looking at you, Caddy 2.10).

  • 15 services, 14 GB total memory budget, json-file logging capped at 30 MB per container.
  • Daily verifier checks: data-plane health, disk pressure, backup freshness.
  • Static sites bind-mounted from /opt/esp-platform/apps/marketing so a container recreate doesn't wipe them.
2026-05-07 Fix

32 MB inbound message size limit

Cloudflare Email Worker → /v1/inbound/cf-worker path was rejecting messages above 8 MB. Real Gmail forwards routinely exceed that. Bumped to 32 MB after CF Analytics confirmed all errors were size-related.

2026-05-06 Feature

Klaviyo migration toolkit

One script, end-to-end. scripts/klaviyo-to-relayly-migrate.py reads from Klaviyo's REST API and writes ready-to-import CSVs + SQL for lists, profiles, list memberships, segments (predicate-translated), templates, and campaigns. Runbook 13 walks the full cutover.

2026-05-05 Feature

Multi-provider import — Mailchimp, SendGrid, Klaviyo, Constant Contact, ActiveCampaign, HubSpot

Auto-detects competitor CSV shapes and normalizes into Relayly's schema. scripts/import-contacts-csv.sh is idempotent — re-runs deduplicate via (account_id, email).

2026-05-04 Feature

RFC 8058 one-click List-Unsubscribe — on every send

Gmail and Yahoo's bulk-sender requirements (5,000+ emails/day) now mandate one-click unsubscribe. Every Relayly send now carries List-Unsubscribe-Post: List-Unsubscribe=One-Click by default. The receiving endpoint marks the recipient suppressed within 100 ms.

2026-05-02 Feature

Custom Return-Path + tracking domains per customer

Stronger DMARC alignment by routing bounces through your own subdomain. Set up via Domains → DNS → Advanced with a single CNAME.

2026-05-01 Feature

Dedicated IP marketplace + OVH rDNS automation

Order a dedicated IP from the Scale dashboard. We provision the IP, set rDNS, add it to your warmup pool, and start the 14-day curve. Median time from click to first send: 4 minutes.

2026-04-28 Feature

SAML 2.0 + OIDC SSO + SCIM 2.0

Enterprise-tier identity. SAML XML-DSig signature verification, OIDC JWKS-based id_token verification, SCIM 2.0 user provisioning. Tested against Okta, Azure AD, and Google Workspace.

2026-04-25 Feature

Drag-drop email designer (MJML-based)

The block editor everyone expected. Output is MJML, which compiles to email-safe HTML at send time — so what you preview is what every Outlook installation sees.

2026-04-22 Feature

Send-time optimisation — per-recipient best hour

Marketing campaigns now learn each recipient's best engagement window. Start with a default and watch the histogram tighten over the first three sends.

2026-04-19 Feature

Predicate-based segments

JSON-DSL segments — {"all": [{"list_member_of": "abc"}, {"event_within_days": {"event": "opened", "days": 30}}]}. Saved segments evaluate live against your contact base; campaigns target the live count, not a frozen snapshot.

2026-04-15 Feature

FBL ingest — Yahoo CFL, Microsoft JMRP, Google Postmaster

Spam complaints from major providers now flow into the suppression list within minutes of the user pressing "Spam". Postmaster Tools dashboards are auto-registered when you verify a sending domain.

2026-04-12 Feature

MTA-STS + TLS-RPT publishing

Auto-publishes your mta-sts.relayly.io policy and _smtp._tls TLS-RPT records — zero customer action required. Bumps deliverability scores at Gmail and Yahoo.

2026-04-08 Feature

Provider-aware routing GA

The deliverability brain. Mailbox-provider classifier (10+ providers) + per-(IP × domain × provider) reputation tracking + auto-routing around throttled IPs. Visible in Deliverability → IP pools.

2026-04-01 Feature

BHS Canada region online

Second region: OVH BHS, Quebec. Per-send region pinning available from today.

2026-03-15 Feature

v1 launch — Gravelines region, 5 IPs, REST + SMTP

The first send. POST /v1/email/send, smtp.relayly.io:587, customer dashboard, webhooks, free tier, four pricing tiers. Months of build, one button.