Release notes in reverse chronological order. We version semver-ish: major.minor.patch. Every entry is a real diff we deployed.
2026-05-12
v0.4.0· Per-tenant OAuth, full at-rest encryption
AddedPer-tenant Google OAuth — each workspace points NeverSpam at its own Google Cloud project, so the consent screen carries the customer's name and Workspace admins can approve it without trusting a shared client.
AddedAES-256-GCM at-rest encryption for all sending-account credentials (SMTP password, IMAP password, refresh tokens, Instantly API keys).
ChangedConnection setup wizard rewritten — five steps, inline DNS checks, copy-paste callback URL.
2026-05-08
v0.3.0· Bulk import, scheduler improvements
AddedBulk CSV import for SMTP accounts — paste up to 250 senders at once, validation runs server-side, errors return inline.
AddedPer-account daily cap override on the Warmup page.
ChangedSend window default tightened from 6 AM–8 PM to 9 AM–5 PM in the account's declared timezone.
2026-04-28
v0.2.2· Scheduler dedup, Heroku worker fix
FixedScheduler could enqueue duplicate sends when the worker dyno restarted mid-tick. Added a unique index on (campaign_id, seed_account_id, scheduled_for_minute) and idempotency keys on the send path.
FixedBounce blacklist entries older than 60 days now correctly expire on the nightly job (was holding them indefinitely).
ChangedWorker logs now include the campaign slug, not just the UUID. Easier to grep.
2026-04-22
v0.2.1· Stripe portal, trial banner
AddedStripe customer portal link from Billing — manage card, plan, and cancellation without contacting support.
AddedTrial countdown banner on the dashboard during the 7-day free trial.
FixedCard-failure state correctly pauses warmup and surfaces a top-of-page banner with the update-payment CTA (previously sends continued silently for ~6 hours).
2026-04-15
v0.2.0· Inbox-placement reporting
AddedInbox-placement report on the Warmup page — per-provider breakdown (Gmail, Outlook, Yahoo, iCloud, other) for the last 7 days, sampled from seed folder checks.
AddedReply-rate seed signal — a small percentage of seeds now reply with short canned replies. Closes the loop on the "engagement" signal mailbox providers score.
ChangedRamp curve smoothed: day 1 starts at 8 sends instead of 12 to reduce first-day complaint risk on fresh domains.
2026-04-09
v0.1.3· Template paste-from-Instantly flow
AddedTemplate editor accepts pasted HTML from Instantly with merge fields preserved ({{firstName}}, {{company}}, etc.). Merge fields render with a configurable per-tenant first-name corpus during warmup.
FixedSubject lines containing curly quotes (Apple Mail / Notes paste) no longer break the MIME boundary.
2026-04-03
v0.1.2· SPF/DKIM/DMARC inline checks
AddedDNS posture check on the Connections page — SPF, DKIM, DMARC lookups run live, results cached for 1 hour.
FixedDMARC parser handled subdomain policies incorrectly — sp= now correctly inherits when absent.
2026-04-01
v0.1.0· Private beta
AddedNeverSpam private beta opens. Template-based warmup against a 100K+ real-seed pool. Gmail OAuth, SMTP, and Instantly integration on day one.