// changelog

Every shipped line,
dated and explained.

Public release log for the VoltMail platform — every API change, every dashboard ship, every quiet fix. RSS & JSON feeds wired in for your changelog reader.

LATEST · v2.4

Dedicated IP warming, automated.Apr 22, 2026

read →
Subscribe:RSSJSON Feed@voltmail14 releases
14 releases

v2.4

MAJORlink

Dedicated IP warming, automated.

A full re-think of how we ship reputation to customers on Pro Max. Drop a domain, we provision an IP, warm it from 50 → 100k over six weeks without you babysitting a single send.

// deliverability

  • NEWAuto-warmup curves

    Six pre-built schedules — conservative, balanced, aggressive, plus three industry presets for transactional, marketing-mix, and announcement-only senders. We pause warming on any complaint spike above 0.05%.

  • NEWPer-ISP reputation graph

    Live (not 24h-lagged) reputation at Gmail, Microsoft, Yahoo, AOL, Mail.ru, and Apple iCloud. Dashboard plots a 30-day rolling line per ISP plus an aggregate.

    View module
  • IMPROVEDBounce → suppression latency

    p95 from bounce event to global suppression list write dropped 4.2s → 0.6s.

// domains

  • NEWDual DKIM rotation

    Two selectors swap quarterly. We auto-promote the inactive one once you publish the second TXT record. Zero-downtime rotation, no scheduled maintenance.

  • NEWBIMI + VMC support

    Upload a VMC certificate, we publish the BIMI record. Logo lights up in Gmail, Apple Mail, Yahoo, and Fastmail inboxes that render it.

  • FIXEDCNAME flattening on Cloudflare

    Pre-validation now follows ALIAS records before scoring DNS health.

v2.3

MINORlink

Plans v2 — proration math customers can audit.

// plans & billing

  • NEWSelf-serve plan switching

    Upgrade or downgrade mid-cycle, see exact proration before confirming. We display credit + chargenow + net due, with a plain-English explanation generated server-side.

    Plan module docs
  • NEWOptimistic locking on plan edits

    Two admins editing the same plan no longer silently overwrite each other — second save returns 409 with a "refresh required" hint.

  • NEWDiscount windows

    Schedule "Black Friday" discounts months in advance with discountStartsAt / discountEndsAt. We flip the public catalog at the second.

  • IMPROVEDVolume calculator on /pricing

    Slide your real send volume; we pick the plan and show competitor math live.

// plans — subscriber notices

  • NEWPRICE_INCREASE / LIMIT_DECREASE / FEATURE_REMOVED detection

    Edits to a published plan auto-detect subscriber-negative diffs and email affected team owners 30 days before the version is enforced.

v2.2

MINORlink

Webhooks: signed, replayable, observable.

// webhooks

  • NEWHMAC-SHA256 signing

    Every delivery carries an X-VoltMail-Signature header. Rotate the secret with one click — old + new accepted for 24h.

  • NEWDashboard replay

    Pick a delivery range, pick events, replay to any active endpoint. Idempotency keys prevent duplicates downstream.

  • NEWDead-letter queue

    After 5 attempts over 3 hours, deliveries land in the DLQ. Inspect headers + body, retry individually or bulk.

    Webhook module docs
  • IMPROVEDRetry backoff

    Tier-based — Free: 3× over 1h. Pro: 5× over 3h. Pro Max: 5× over 24h with intelligent jitter.

v2.1

MINORlink

API keys you can audit at a glance.

// api keys

  • NEWPermission scopes

    send:write, logs:read, domains:admin, webhooks:write, etc. Mint a key for exactly the surface area your script needs.

  • NEWIP allowlists

    Bind a key to specific CIDR ranges. CI keys can't leak to a laptop and run unrestricted.

  • NEWLast-used tracking

    Find stale keys at a glance. Revoke the ones you forgot about.

    API key module
  • SECURITYGitHub Secret Scanning integration

    Leaked tokens revoked within seconds of GitHub's notification. Owner gets a Slack DM + email with the offending repo.

v2.0

MAJORlink

The rewrite ships. New core, same API.

Three months of rebuild. New Postal cluster on bare-metal, new BullMQ worker pool, new event pipeline. p99 send latency dropped 612ms → 187ms.

// email send

  • NEWIdempotency keys

    Pass an Idempotency-Key header; we cache the response for 24h. Retry the same job a thousand times, deliver exactly once.

  • NEWBatch sending

    Up to 100 personalized recipients per request, individually tracked, single atomic call. Rate limits scale per tier.

  • NEWReact Email at send time

    Drop a .tsx file, we render server-side, inline styles, test against 90+ clients. No separate template system, no WYSIWYG.

    Templates module
  • IMPROVEDMedian send latency

    API → SMTP accepted: 612ms → 187ms (p50). p99 down to 412ms.

// events

  • NEWNine event types

    queued · sent · delivered · opened · clicked · bounced · complained · deferred · unsubscribed.

  • NEWZod-typed payloads

    Every webhook payload bundled with a runtime Zod schema in our SDKs.

// logs

  • NEW90-day retention on Pro Max

    Full-text search across subject, headers, recipients, tags, metadata.

  • NEWSMTP-level traces

    See the actual 220 / 250 / 550 conversation with the receiving MTA.

v1.18

MINORlink

Suppression management, no more vendor lock-in.

// suppression

  • NEWPer-account + per-list scopes

    Global blocklist for spam-trap hits; per-list opt-outs for product-specific unsubscribes.

  • NEWCSV import / export

    Bring your suppression history from Postmark, SendGrid, Mailgun. Or take ours when you leave.

    Suppression module

v1.17

BETAlink

Inbound email parsing — public beta.

// inbound

  • NEWMIME → JSON parsing

    Receive replies as structured JSON: headers, body parts, stripped signatures, threaded history, attachments.

  • NEWReply-stripping heuristics

    Quoted history detection across 12 mail clients. Get the actual reply, not the entire thread.

v1.16

MINORlink

Teams + RBAC.

// teams

  • NEWRoles

    Owner, Admin, Member, Viewer. Per-workspace scopes, per-project scopes on Pro+.

    Team module docs
  • NEWInvite flows

    Email or Slack DM invitations with optional auto-join domains.

  • NEWMulti-workspace

    One account, N workspaces. Separate sending, billing, and people. Built for agencies.

v1.15

PATCHlink

Notification preferences + quiet hours.

// notifications

  • NEWPer-category preferences

    Mute the categories that don't matter. Keep the ones that do.

  • NEWQuiet hours

    Per-user, per-timezone. Operational alerts still page you; informational ones queue.

  • NEWSSE stream for in-app bell

    Dashboard bell updates without polling.

    Notification module

v1.14

PATCHlink

Activity log — every action, exportable.

// activity log

  • NEWPer-user + per-team feeds

    Filter by actor, resource, action, IP, time window. Saved filters per workspace.

  • NEWExport API

    Stream a year of audit log as JSONL or CSV. Powered by an async export job — no timeouts on big ranges.

    Activity module
  • SECURITYPII redaction

    Admin-only redaction tool for GDPR / SOC 2 evidence requests.

v1.13

MINORlink

Auth + 2FA.

// auth

  • NEWTOTP 2FA

    Authenticator-app codes via WebAuthn-compatible flow.

  • NEWRecovery codes

    Ten single-use recovery codes generated at enrollment. Re-roll on demand.

  • NEWSession list

    See every device + IP, revoke individual sessions or "logout all" with one click.

  • SECURITYFresh-auth gating

    Sensitive operations (rotate key, change billing) require re-auth within the last 5 minutes.

    Auth module docs

v1.12

PATCHlink

Contact lists + custom fields.

// contacts

  • NEWCustom fields

    TEXT, NUMBER, BOOLEAN, DATE. Validated at write time, indexed for filter queries.

  • NEWBulk upsert API

    Up to 10k contacts per request, single atomic call.

  • NEWCSV import job

    Async, resumable, with per-row error reporting.

    Contacts module

v1.11

PATCHlink

Analytics dashboards.

// analytics

  • NEWCustom dashboards

    Pin metrics, time-series, top-N tables. Per-team, savable, shareable.

  • NEWThreshold alerts

    Email / Slack / webhook on bounce-rate ≥ X%, complaint-rate ≥ Y%, etc.

    Analytics module

v1.10

MAJORlink

Initial public release.

// foundation

  • NEWSelf-hosted Postal cluster

    Bare-metal VPS, four nodes, multi-region failover.

  • NEWREST API + four SDKs

    Node, Python, Go, Ruby. Idempotent, versioned, typed.

  • NEWSOC 2 Type II

    Signed observation period; full report under NDA.

We ship most weeks.
Don't miss the good ones.

RSS, JSON Feed, weekly email digest, or @voltmail on Twitter — pick your favourite, we won't mind which.