← Blog

Changelog

Changelog

A running log of what landed on SNDR, in plain language. Newest at the top.

FA
Fahad Alarifee
Founder
May 15, 2026 · 3 min read

This is the ongoing changelog. We update it whenever a customer-visible change ships. RSS coming soon — for now bookmark this page or follow @usesndr on X.

May 15, 2026

  • Sign in with Google and GitHub. Existing accounts sign in directly; new ones get a one-screen "choose a password" step so every account stays password-backed. Buttons only show when the provider is configured.
  • Admin suspend now takes a reason. Whatever the operator types lands verbatim in the suspension email — no more generic "admin action" boilerplate.
  • Lifting a suspension sends a notification email. Symmetric with the suspend notice so users are not left guessing whether they are back online.
  • /status replaced its hardcoded badges with live probes that run from the visitor browser every 30 seconds. The fake 90-day uptime grid and the fictional incident history are gone.
  • Removed the SES email-provider stub that silently dropped outbound mail when mis-configured. EMAIL_PROVIDER=ses now errors at boot with a clear message.

May 14, 2026

  • Settings → Notifications toggle now persists. The "Product updates" switch was front-end-only before — flipping it did nothing. Backed by a real preference on the user record.
  • Settings → Send reset link actually sends. The endpoint had been generating a single-use token but never emailing it. Now goes out through Resend with a 30-minute one-shot link.
  • Contact addresses across the site consolidated to sndr@rkiza.sa while we finish wiring our own inbound MX. Social links in the footer point at the real GitHub / X / LinkedIn profiles now.

May 13, 2026

  • Prorated Pro → Scale upgrades. Existing subscribers no longer get a fresh checkout when they switch tier — Paddle is asked to charge only the difference for the remaining cycle, against the saved card.
  • Plan-change feedback in the dashboard. After an upgrade we show a green banner and reload so the active-plan badge updates without a manual refresh.

May 12, 2026

  • Billing flipped from SAR to USD via Paddle as Merchant of Record. See the post on "Why SNDR bills in USD through Paddle" for the rationale.
  • Inline checkout. New /checkout route inside the dashboard renders Paddle.js with the SNDR shell so customers never leave our domain to pay.
  • Migration ledger. Schema migrations now track which files have been applied so stateful ones (like the USD pricing reset) never re-fire on redeploy.

Earlier

  • Workspace switcher in the sidebar with create-new-workspace flow.
  • Chip-tagged To input on the send-email modal — typed addresses auto-commit on Enter, Tab, comma, or space, so no recipients silently dropped on the floor.
  • Per-MTA delivery analytics and webhook delivery retries with HMAC signatures (12 attempts, exponential backoff with jitter).
  • First-party security upgrades from the Aikido scan — Go 1.25, patched x/crypto + x/net, SSRF defenses on outbound webhook delivery.

Continue reading