Skip to content

v1.1.0 — queued sending: any list size on any plan

Choose a tag to compare

@pfstr pfstr released this 23 Jul 07:47
· 3 commits to main since this release

Campaign sends now go through a background queue instead of one long request:

  • POST /api/send queues and returns immediately; a minutely job delivers SEND_BATCH emails per run (default 40 — sized for the free plan). A 1,000-recipient campaign completes in ~25 minutes on the free plan.
  • Atomic claims (no double-sends), crash recovery after 10 minutes, up to 3 attempts per recipient.
  • Unsubscribing also cancels queued-but-undelivered emails to that address.
  • Optional sendEmailBatch() hook in src/email.ts: one API call for up to ~1,000 emails — with it even the free plan finishes big lists in minutes.

Changed: POST /api/send now returns { ok, queued }; the cron runs every minute (RSS check keeps its 15-minute cadence). Migration 0003 is append-only and applies automatically on your next deploy — see Updating.