• v0.15.0 cf5ba3bcaf

    vmanne-poc released this 2026-10-26 09:14:37 -04:00 | 0 commits to main since this release

    Phase 13: A/B testing, project API keys, API sending providers, and MJML. PR #69.

    Upgrading: back up the database first. Two additive migrations run on start (ab_testing, api_keys). New runtime dependency: mjml 5.4.1 (exact, MIT).

    Added

    • A/B testing (#20): variants B–D (subject, preview text, content), a 1–50 % test group, automatic winner by opens or clicks after a wait, or a manual pick; the rest get the winner. Per-variant report section and variant test sends.
    • Project API keys (#29): created by owners in Project settings, shown once, stored hashed, revocable, per-key rate limit. Authorization: Bearer postak_… on the project's contacts, groups, segments, campaigns and read-only senders/templates routes.
    • API sending providers (#49): Amazon SES (API v2), SendGrid, Mailgun, and Postmark senders over HTTPS, no provider SDKs.
    • MJML (#50): MJML campaigns and templates, compiled in a sandboxed worker with size and time limits.

    Changed

    • Campaign and template routes accept JSON bodies up to 4 MB with a Bearer header; nginx limits writes to them to 5 per second per address.
    • Temporary MJML compiler failures answer 503 and are retried during delivery.
    • The visual email builder (#19) moved to Phase 14 (v0.16.0).

    Tests

    Backend unit 366/366, e2e 67/68 (known-flaky sign-in rate-limit test), frontend 159/159. Smoke 55/55.

    Not verified: real delivery through SES API, SendGrid, Mailgun or Postmark (no credentials), and MJML rendering in real mail clients.

    See CHANGELOG.md for details.

    Downloads