Changelog
Wat er recent gebeurde
Een tijdlijn van releases over alle projecten. Updates worden via de adrifact-sdk vanuit elk project automatisch hierheen gestuurd.
API + SDK live
Wat is nieuw
- API endpoints op /api/projects en /api/projects/[slug]/releases`n- Per-project bearer-token auth
@adrikesteren/adrifact-sdkpublished op GHCR/changelogtijdlijn pagina- Release notes via markdown
Bring-your-own-domain only — platform-domein gereserveerd
Customers kunnen niet meer via
@thatsmymail.comversturen. Dit beschermt de reputatie van het platform-domein voor de aankomende mailbox-app en voorkomt dat één klant met crappy lijsten de deliverability van iedereen omlaag trekt.Wat verandert
POST /v1/auth/signupmaakt geen default sender meer aan — klanten registreren en verifiëren zelf een domein voordat ze kunnen mailenPOST /v1/sender-domainsgeeft403 reserved_domainvoorthatsmymail.com,thatsmymail.nl, en alle subdomeinen daarvanPOST /v1/messagesmet eenfromop@thatsmymail.comfaalt nu met400 sender_domain_not_verified(bestaande rij staat opdisabled)- Env-var
TMM_DEFAULT_SENDER_DOMAINhernoemd naarTMM_BOUNCE_DOMAIN— alleen nog gebruikt door smtp-out voor de VERP envelope return-path (bounces+<id>@thatsmymail.com)
UI-aanpassingen
- Dashboard, Settings → Sender Domains, en Send Test pagina hebben nieuwe lege-state copy die uitlegt dat een eigen geverifieerd domein verplicht is
- Send Test blokkeert helemaal als er nog geen verified domain is
SDK hernoemd + GitHub repo + git-pull deploy flow
SDK rename (breaking)
@adrikesteren/thatsmymail-client@0.2.0→@adrikesteren/tmm-customer-sdk@0.1.0- Class
ThatsMyMailClient→TmmClient, errorThatsMyMailError→TmmError baseUrlis nu optional in de constructor — defaulthttps://api.thatsmymail.com. Alleen overriden voor lokaal dev of staging.- Migratie-tabel in de SDK README.
GitHub repo + deploy
- Repo live op adrikesteren/thatsmymail-customer (private).
/opt/tmmop de productie-server is nu een git checkout met read-only deploy key — toekomstige deploys zijngit pull && docker compose build && up -d.
Productie-launch op Hetzner
Eerste productie-deploy van het That's My Mail platform.
Wat draait er
- Postgres + Fastify HTTP API + Next.js admin UI + SMTP-out worker + SMTP-in DSN listener, allemaal in Docker Compose
- Hetzner Cloud (ARM64 cax21) met cloud-init bootstrap en UFW dichtgezet
- Caddy als reverse proxy met automatische Let's Encrypt certs voor
app.thatsmymail.comenapi.thatsmymail.com - rDNS / PTR records op zowel IPv4 als IPv6 wijzen naar
mta1.thatsmymail.com
Features in v0.1.0
- Customer self-signup met email + argon2id-gehashed wachtwoord
- HMAC-signed customer API (SigV4-stijl) —
POST /v1/messagesmet idempotency keys - Direct-to-MX delivery met DKIM signing via mailauth
- Postgres
FOR UPDATE SKIP LOCKEDworker queue, exponential backoff, per-domain concurrency limits - Per-API-key sliding window rate limiting + suppression list voor harde bounces
- Customer webhook delivery met Stripe-stijl
t=...,v1=...signatures - Body retention cron (24u TTL), idempotency GC, audit log
- 38 unit tests groen